Video tape recorder VFD
Vacuum fluorescence display controlled with an Atmel microcontroller
During my practical training as a radio and TV technician, I scavenged this great VF display from an old video recorder. Somehow it was too good for scrap and I wanted to do something with it.
After a little searching on the net I found out how these displays are controlled. There is a heater which needs about 3 volts. It is connected to the outer two terminals. Both segment and grid are connected to +20 volts. After that the segment lights up.
First I tested it with an old pocket calculator display. The yellow terminals are connected to the heater, the green ones +20 volts.
In order not to need a separate terminal for each segment, identical segments of all display digits are connected to each other. The respective grid can be used to select the corresponding display position. But how can different content be displayed on all digits? The solution is called multiplexing. All grids (and each segment) are controlled very quickly one after the other. Thus, the complete display content appears to the human eye. This task is done by an Atmel microcontroller (AT90S8515).
To control the display I came up with a simple circuit:
Via 10K resistors all segments and grids are pulled to positive operating voltage to make them light up. The transistor switches them to 0 volts and thus off. For each grid and each segment 2 resistors and one transistor are needed. That's a total of 62 resistors and 31 transistors. It would also be possible to use a Darlington transistor array, which combines 8 transistors in one package (ULN2803). There are also integrated VFD driver solutions that have lower current consumption, and require fewer components. However, I had nothing of this in my tinkering box.
After 2 days of work everything was wired:
Now the microcontroller only needs its software. This is written in Basic with Bascom AVR. Turn off all segments and grids, turn on the segments for the letter to be displayed, turn on the grid, wait, turn everything off... And this happens for every single character in a loop.
08/21/05: I improved the source code further, and added a serial interface. The display shows the text received from a PC.