Remote Controlled POV Display Using Atmega1284
For our ECE 4760 final project, we designed and implemented a remote controlled persistence-of-vision (POV) display that is able to display multiple patterns based on remote input. The primary components of the display are a rotor and a motor. The rotor is mainly consisted of a row of LEDs and a microcontroller. The microcontroller controls LEDs. The basic theory behind POV is that if LEDs flash at the exact same location on each revolution and the motor is rotating fast enough, human eye is not able to detect the LEDs’ downtime between flashes, and has the perception that they are constantly on. The goal of this project is to implement a portable POV display for home entertainment or decoration. Therefore, weight, size and balance play crucial roles in our design.
High Level Design
The stand of the system is a gift box inside which the DC motor is located. The motor has its shaft sticking out of the box to the middle of box surface. Two layers of coils sit around this shaft. The inner coil closely wraps around a plastic cylindrical structure that can accommodate the motor shaft. This structure is also glued to the bottom of the rotor. When motor spins, it drives the cylindrical structure to spin along, hence the rotor. The rotor has two different circuit boards that are put together with two wood beams glued to them for support. One circuit board is the microcontroller PCB, and the other is a electrical board where LEDs and other circuits are soldered. The roto and the motor can be separated.
There are mainly two parts of the hardware design, motor circuit and rotor circuit. Motor circuit is powered by 5V generator while the rotor circuit is powered by a small transformer which has an outer coil and an inner coil. The rotor sits on the motor’s shaft and the shaft is surrounded by inner coil and outer coil. With the help of transformer, a battery is no longer needed to power rotor circuit, thus cutting down the weight of rotor. Motor circuit sets up the Infrared LED for the Infrared (IR) receiver to detect cycle time, time required for one rotation. It also converts the DC from a DC generator to AC. The AC flows in the outer coil and induces an AC in the inner coil. The rotor takes the AC and does a conversion to DC to power the microcontroller and the LEDs. The rotor also has two IR receivers, one of which is used for detecting a complete cycle and the other one is responsible for receiving remote control.
The software allows us to generate different display patterns: a static heart image, an analog clock, a modifiable digital clock and a rotatable phrase “ECE4760 JS-YC”. All the images are attached in the appendices.
Our POV has a 2-degree resolution. This is achieved by splitting cycle time into 180 time intervals. Every 1/180 of this time, LEDs are switched. There are two files for our software design. One is main.c and the other is IR_Receive.h. IR_Receive.h detects key press from the remote control. Main.c displays according to corresponding key press. There are four timers and two external interrupts used for this project. Two of the timers, timer1 and timer3 are responsible for the 2-degree resolution. Timer0 generates a 1us timebase. Timer2 is used for IR communication between remote controller and IR receiver on the rotor. External interrupt 0 is used to indicate end of cycle and external interrupt 1 is used to receive signals from remote controller.
Our hardware design is primarily consisted of two components and worked on together by both members.
The schematic for motor circuit is attached in appendices. The motor circuit has four parts: 5V DC power supply, motor, infrared transmitter and LC circuit. The motor is connected to the power supply through a diode, preventing the reverse current generated from the motor when shut down from damaging other electrical components in the circuit. The infrared LED combined with the receiver on the rotor side is used to detect the cycle time of rotor. It has a 470 ohm resistor connected to it for protection. The generator is connected to a 470uf capacitor for stabilization. The most important part in the motor circuitry is the LC circuit that converts DC to AC. A LC circuit can store energy oscillating at its resonant frequency 195kHz. The power transistors used in the circuit are there to amplify signals and compensate power loss in the circuit. The outer coil is the inductor in the circuit and it outputs a 5 volt AC voltage. While running, the motor circuit draws 0.35A current while the rotor circuit draws 0.1A current. Hence, the power efficiency of such transformer is calculated to be (5V * 0.1A) / (5V * 0.35A) = 28.6%. As the LEDs on the rotor require little current to function, such an efficiency is sufficient to power all our LEDs and other electrical components. The outer and inner coil are careful chosen insulating copper wires and each wounded to about 60 rounds. The diameters for both coils are about 2 cm. The process of engineering those coils is more of a trial and error process. We made multiple attempts here until our windings can provide enough power.
he rotor circuit has many parts connected together, the microcontroller, LED array, AC to DC convertor, and Infrared receiver.
The schematic for AC to DC conversion circuit is attached in appendices. The four diodes that are connected to the inner coil form a full wave rectifier that is able to convert AC input into voltage with only one polarity. This single polarity voltage gets stored in a 220uf capacitor, and a zener diode works as a voltage regulator to stabilize the output voltage of the capacitor to 5 voltages. The 5 volt DC voltage is fed into the Vcc port of microcontroller to provide power.
The IR receiver corresponding to the IR transmitter in motor circuit is connected to Vcc through a 10k resistance. 10k resistor lowers the current in that branch. The positive lead of the receiver is connected to Vcc via a resistance and the external interrupt port PORTD2 while the negative lead is connected to ground. Under normal operation, the receiver is open. PORTD2 is always high. When it receives from the transmitter, it closes and pulls PORTD2 low. The external interrupt 0 is trigger on falling edge. It is used to calculate cycle time.
|Wires, Resistors, Capacitors||Lab Stock||0||Many||$0.00|
|Gift Box||Dollar Store||$0.99||1||$0.99|
|38K Remote Controller||Ebay||$2.39||1||$2.39|
|38K IR Receiver||Ebay||$11.39||1||$11.39|
|Insolating Copper Coil||Ebay||$10.85||1||$10.85|
|Power Transistor||Lab Stock||0||1||$0.00|
|Other Transistors||Lab Stock||0||4||$0.00|
For more detail: Remote Controlled POV Display Using Atmega1284
Leave a Comment
You must be logged in to post a comment.