How to make batteryless electronic dice

There has been a lot of interest in muscle powered electronic devices, due in large part to the success of Perpetual Torch Perpetual Torch, also known as battery-less LED torch. The battery-less torch consists of a voltage generator to power the LEDs, an electronic circuit to condition and store the voltage produced by the voltage generator and high efficiency white LEDs.

The muscle powered voltage generator is based on Faraday's law, consisting of a tube with cylindrical magnets. The tube is wound with a coil of magnet wire. As the tube is shaken, the magnets traverse the length of the tube back and forth, thus changing the magnetic flux through the coil and the coil therefore produces an AC voltage. We will come back to this later in the Instructable.

This Instructable shows you how to build an electronic, batterless dice. A photograph of the built unit is seen below

Faraday For Fun: An Electronic Batteryless Dice

Step 1An Electronic Dice


An Electronic Dice
  • dice1.JPG
  • dice2.JPG
Instead of a traditional dice, it is nice and cool to use an electronic dice. Usually such a dice would consist of an electronic circuit and a LED display. The LED display could be a seven segment display that could display numbers between 1 and 6 as seen below or perhaps, to mimic the traditional dice pattern, it could consist of 7 LEDs arranged as shown in the second figure. Both the dice designs have a switch, which the user has to press when she/he wants to "roll the dice" (or "roll the die"?). The switch triggers a random number generator programmed in the microcontroller and the random number is then displayed on the seven segment display or the LED display. When the user wants a new number, the switch has to be pressed again.

Step 2Power Supply for the Dice


Power Supply for the Dice
  • power_supply1.JPG
  • power_supply2.JPG
Both the designs shown in the previous step need a suitable power supply which can be derived out of a wall wart, a suitable rectifier, smoothening capacitor and an appropriate +5V regulator.


If the user desires portability of the dice, then the wall wart transformer should be replaced with a suitable battery, say a 9V battery.


Other options for the battery exist, for example, to be able to operate the dice from a single AA or AAA battery, a normal linear regulator will not work.


To derive +5V for the dice operation, a suitable boost type DC-DC converter must be used. Figure illustrates a +5V power supply suitable for the dice operation from a wall 9V battery and the other figure shows the schematic for a +5V power supply from a 1.5V AA or AAA type battery using a TPS61070 boost DC-DC converter.

Step 3Free Power: Use your Muscles...



Free Power: Use your Muscles...
This step describes the muscle powered voltage generator. The generator consists of a Perspex tube of 6 inch length and an outer diameter of 15 mm. The inner diameter is 12 mm. A groove of about 1 mm deep and 2 inches long is machined on the outer surface of the tube. This groove is wound with about 1500 turns with 30 SWG magnet wire. A set of three rare-earth cylindrical magnets are placed in the tube. The magnets are 10 mm in diameter and 10 mm in length. After inserting the magnets in the tube, the ends of the tube are sealed with circular pieces of bare PCB material and glued with a two part epoxy and with some shock absorbing pads inside (I used IC packaging foam).


Such a tube is available from McMaster (mcmaster.com), part number: 8532K15. Magnets can be bought from amazingmagnets.com. Part # D375D.

Step 4Voltage Generator Performance


Voltage Generator Performance
  • coil_oc_voltage.JPG
  • coil_sc_current.JPG
How well does the muscle power voltage generator work? Here are some oscilloscope screen shots. With gentle shakes, the generator provides about 15V peak to peak. The short circuit current is about 680mA. Quite sufficient for this project.

Step 5Dice Schematic


Dice Schematic
  • dice_sch.JPG
  • coil_pulse.JPG
This step shows the circuit diagram for the dice. It consists of a rectifier diode bridge circuit to rectify the AC voltage produced by the Faraday generator and filtered with a 4700uF/25V electrolytic capacitor. The capacitor voltage is regulated with a LDO, LP-2950 with a 5V output voltage, which is used to provide supply voltage to the rest of the circuit, consisting of a microcontroller and LEDs.


I used 7 high efficiency 3-mm blue LEDs in transparent packaging, arranged in the ‘dice’ form. The LEDs are controlled by an 8-pin AVR microcontroller, the ATTiny13. The voltage output from the faraday generator is a pulsed output. This pulsed output is conditioned with the help of a resistor (1.2KOhm) and a Zener diode (4.7V). The conditioned voltage pulses are sensed by the microcontroller to determine if the tube is being shaken. As long as the tube is shaken, the microcontroller waits. Once the user stops shaking the tube, the microcontroller generates a random number, using an internal 8-bit timer operating in free running mode and outputs the random number between 1 and 6, on the output LEDs. The microcontroller then again waits for the user to shake the tube again. Once the LEDs display a random number, the available charge on the capacitor is sufficient to light the LEDs for an average time of about 10 seconds. To get a new random number, the user must shake the tube a few times again.

Step 6Programming the Microcontroller


Programming the Microcontroller
  • dice_code_flow.JPG
  • fuse1.JPG
  • fuse2.JPG
The Tiny13 microcontroller operates with an internal RC oscillator programmed to generate128KHz clock signal. This is the lowest clock signal that the Tiny13 can generate internally and is chosen to minimize the current consumed by the microcontroller.


The controller is programmed in C using the AVRGCC compiler and the flow chart is shown here.


The fuse bits for the controller are also shown here.


I used STK500 to program my Tiny, but you can refer to this Instructable if you prefer an AVR Dragon programmer.

Step 7Control Software

/*Electronic battery Less Dice*/
/*Dhananjay Gadre*/
/*20th September 2007*/
/*Tiny13 Processor @ 128KHz internal RC oscillator*/
/*7 LEDs connected as follows
LED0 - PB1
LED1, 2 - PB2
LED3, 4 - PB3
LED5, 6 - PB4


D3 D2
D5 D0 D6
D1 D4


Pulse input from coil is on PB0
*/


#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
#include<avr/pgmspace.h>

const char ledcode[] PROGMEM= {0xfc, 0xee, 0xf8, 0xf2, 0xf0, 0xe2, 0xfe};

main()
{
unsigned char temp=0;
int count=0;

DDRB=0xfe; /*PB0 is input*/
TCCR0B=2; /*divide by 8*/
TCCR0A=0;
TCNT0= 0;

PORTB=254; /*disable all LEDs*/

while(1)
{
/*wait for pulse to go high*/
while ( (PINB & 0x01) == 0);
_delay_loop_2(50);

/*wait for pulse to go low*/
while ( (PINB & 0x01) == 0x01);
_delay_loop_2(50);

count=5000;
while ( (count > 0) && ((PINB &0x01) ==0))
{count--;
}

if(count ==0) /* no more pulse so display a random number*/
{

PORTB=0xfe; /*all LEDs off*/
_delay_loop_2(10000);

temp=TCNT0;
temp= temp%6;
temp =pgm_read_byte(&ledcode[temp]);
PORTB=temp;
}
}
}

Step 8Assembling the Circuit


Assembling the Circuit
  • bl_dice1_front.JPG
  • bl_dice_complete_front.JPG
  • bl_dice2_back.JPG
  • bl_dice_in_tube.JPG
Here are some pictures of the assembly stages of the electronic dice. The electronic circuit is assembled on a perfboard narrow enough to go in a perspex tube. An identical perspex tube as used for the voltage generator, is used to enclose the electronic circuit.

Step 9Completed Assembly



Completed Assembly
The Faraday Voltage generator and the electronic dice circuit are now connector together, mechanically and electrically. The output terminals of the voltage generator tube are connected to the 2-pin input connector of the electronic dice circuit. Both the tubes are tied together with a cable tie and for extra safety, glued together with a 2-part epoxy. I used Araldite Araldite. 

Step 10Using the Batteryless Electronic Dice

Once the assembly is complete and the two tubes are secured together, the dice is ready for use. Just shake it a few times and a random number would appear. Shake it again and another random comes up. A video of the dice in action is here, also posted in this Instructables video:



Step 11References and Design files


References and Design files
  • new_BL_Dice_PCB.JPG
This project is based on my previously published articles. namely:
1. "Power Generator for Portable Applications", Circuit Cellar, October2006
2. "Kinetic Remote Control", Make:, November 2007, Issue 12.


The C source code file is available here.


Since the project was first prototyped, I made PCB using eagle. Here is how it looks now. Eagle schematic and board files are here. Please note that compared to the prototype, the components on the final PCB are arranged slightly differently.


Update (15th September 2008): BOM file added

FFF_BOM.pdf(612x792) 16 KB
FFF_BOM.pdf(612x792) 16 KB


Please leave Comments.........
0 Comments
Disqus
Fb Comments
Comments :

0 comments:

Post a Comment