ATmega88 based POV weather station generates its own power

We like POV(Persistence of Vision) projects – specially those with unique ways to transmit energy to the turning row of LEDs (Light Emitting Diodes).

This POV however beats the rest that we have seen so far – this one is a freakin weather station. Instead of displaying graphics this POV displays the current temperature and relative humidity. And the best thing we like about this guy? It generates its own energy!

It uses a stepper motor as a generator, when a stepper motor is turned current flow through its wires. It is then rectified using a set of diodes and stored into a 6 – capacitor charge bank. The Charged stored in the bank is then fed to a  TPS5420 buck converter that outputs 3.5V – just enough to drive the ATmega88 microcontroller and the 8 – LED array. The ATmega88 is operating at 10MHz while it gathers humidity and temperature data from an SHT21 using I2C protocol. To sync when to start displaying, it uses a hall effect sensor from an old floppy drive  - this is used to determine absolute position of the blades. Talk about renewable energy on weather forecasting!

A microcontroller based DDS function generator using an AD9833

First what do we mean by DDS – DDS stands for direct digital synthesis. A DDS chip generates a waveform from an internal ROM with table. The ROM table could contain square, triangular, sawtooth or sine wave forms. A high frequency oscillator is used to drive a DDS chip – the high frequency clock is taken into a large internal divider that in turn would generate clock signals of less than 1Hz. The derived low frequency signal will be used to tell the on-chip digital to analog converter to go to the next value on the ROM table.

A DDS Function Generator

This particular project makes use of the AD9833 DDS sinewave generator from analog devices. A 50MHz clock was used to drive the AD9833 while an ATmega32 was used as the main controller that takes user input though a numeric keypad, displays the current output through a 16×2 liquid crystal display (LCD) and communicates with the AD9833 through 3 wire SPI. The challenge in building the project comes with the fact that high speed waveforms are difficult to amplify and easily gets infested with noise. An LM7171 was used to amplify the 400mV signal to +-15V, the design also includes proper placement of  components such as decoupling capacitors that needs to be very close to the integrated circuits.

 

A microcontroller based automobile digital RPM meter

Some of the smaller cars available today does not have an RPM meter on them – this would be some trouble since you wont be able to determine the actual speed of the car’s engine, thus will have an impact on the fuel consumption since engines are efficient at a certain range of shaft speed.

This project makes use of an AVR microcontroller and a signal conditioning circuit that makes use of an LM324 operational amplifier (Op-Amp). The input signal was taken from the High Voltage (HV line) of the main distributor of the engine. This specific point was chosen since all (gasoline) engines have an HV line. The signal from the HV line is fed into the signal conditioning circuit before being fed to the microcontroller’s PB1 pin. The Timer/Counter1 External Counter Input mode of the PB1 pin is used as an external clocking source for the MCU’s timer1 making it able to do frequency measurements. While another timer (timer0) is used to measure the elapsed time.

If you wonder whats in the HV line that makes it a good measuring point, the HV line is where the spark plug gets its energy from. Thus a spark in the in one of the sparkplugs corresponds to a surge in the HV line – and since the engine’s revolution rate is directly proportional to the number of sparks we can easily calculate the engines rate of revolution by just counting the number of pulse surges in the HV line and how are they distanced from each other.

One thing to note about using the HV lines is that if they are come in contact with ground, or close to it, the engine could stop.

 

Kick start guide for developing and debugging in AVRStudio5

Most of hobbyists like AVRStudio4 and still tries to avoid AVRStudio5 which is heavier in size and still may have some unconvenient bugs. But in general this is great tool with much better editor. If you still hesitate about choosing AVRStudio5, take a look at Pete’s tutorial where he displays how to set up Atmega1284P project.

Probably major disappointment with AVRStudio5 is that it discontinued support of old debuggers like JTAG ICE where you could build clones. If you want to debug your projects you will need a debugger. Pete suggests JTAGICE Mk3. Original one is quite expensive ($300). So Pete gives some tips on how to find decent clone which costs around $80.

Next Page »