VFD Alarm Clock

by ChristineNZ in Circuits > Arduino

54400 Views, 227 Favorites, 0 Comments

VFD Alarm Clock

P1050578.JPG

IV-27M Alarm Clock

Project date: March 2019 – May 2019

UPDATE: Added V4 of the software, clock has been running for a year and a half now, without any fault in the display. Two problems happened, one a loose wire contact and the second a HV power supply failure.

Overview

After the successful completion of the XIV Nixie Clock which was Direct/Static Driven, I was keen to start work on a new clock which was based on the Multiplexing(Dynamic) or “MUX” principle of operation, known also as “Muxing”. The new clock would be based on the USSR manufactured IV-27V VFD, 13 element, 7 segment tube. This tube requires a 24V common anode DC supply, which dictates what type of IC chip(s) are needed to support the multiplexing operation. To further understand multiplexing the following Wikipedia articles where of great help:

https://en.wikipedia.org/wiki/Vacuum_fluorescent_d...

https://en.wikipedia.org/wiki/Multiplexed_display

To understand how VFD displays work and what is involved in driving the display using either Direct or Multiplexed driver the following article was very useful:

https://www.noritake-elec.com/technology/general-t...

The clock would have a simple function of displaying Time, Date, Humidity, Temperature, Pressure and an Alarm feature..

Here is a brief summary of how the IV-27M tube works:

The tube is evacuated (vacuum). In the tube is a substrate (anode) (usually based on phosphorus), which begins to shine when "bombarded" with electrons.The electrons come from a heater (cathode), which are in the form of very thin tungsten wires. Between the substrate (anode) and the heater (cathode) a control grid is mounted which is used to turn on and off the individual elements. The tube used here consists of 13 seven-segment displays.

The tube was manufactured in Russia in 1985 and carries the Russian Quality production mark on the rear of the tube. Both tubes I purchased came from an Ebay supplier "nixiestore" who I would highly recommend.

Supplies

1. Arduino Mega 2560

2. MAX6921AWI Chip

3. TSSOP28 PCB board, 28 pin connection

4. IV-27M Russian 13 grid, 7 segment tube

5. BME280 sensor

6. 3W speaker

7. 16x2 LCD display with IC2 connection board

8. Green LED with 330 ohm resistor

9. RTC clock with battery backup

10. 12V to 3.5V Step Down DC-DC Adapter

11. 12V to 24V Boost DC-DC Adapter

12. 12V, 1A power Adapter

13. Two pole switch

14. 16 key keypad

15. Hot Glue, wood for box, felt feet, clear gloss varnish.

16. 30 AWG multi-coloured wire, heat shrink, PCB female connections.

17. Dupont connection wires

18. Plastic stand-offs for support of components

19. Arduino Board two pin Power Input plug

20. Small PCB board and two sets of header pins

Pin Assignment of IV-27M

ex3.JPG
ex4.JPG
IMG_0817.JPG
IMG_0821.JPG
IMG_0818.JPG
IMG_0822.JPG
IMG_0819.JPG
IMG_0820.JPG
ex11.jpg
ex10.jpg

Cathode Heater Voltage

It is very important to use 3.5V. There have been some references to using 5V on the internet. While this could be used it will over-heat the grid heaters. To see this in operation view the IV-27M tube, while it is working, in a darkened room, the two heater lines can clearly be seen glowing red!

Pin-outs

The first part of the project was to determine the pinouts on the IV-27M tube. There are Russian language-based datasheets and numerous Internet based descriptions of the left and right pinouts. Looking at the tube with the digits facing you, the left hand end has 15 pins and the right hand end has 11 pins. I simply soldered coloured 30 Gauge wires to both ends terminating in Dupont breadboard pins. Six of the left hand wires and one of the right hand wires had black heat shrink bands added to each end in order to differentiate them from the other solid colour wires.

The above chart details the 15 pin connections on the left hand end of the tube, and the 11 pins connections on the right hand end of the tube. Note that pins 1 and 2 on the right hand side are not used, pins 4 and 5 also on the right hand side are for the heater.To help wire up the correct tube wire to the appropriate MAX6921AWI connection I have added these connection details in brackets alongside the coloured wire for each of the pin connections.

NOTE: The two new photos show close-ups of the IC Chip. The first photo shows pins 14 through 1 read left to right, so the left most pin 1 is GND. The second photo shows pins 28 through 15 read left to right, so the left most pin 28 is 5V supply.

MAX6921 AWI Pinouts

ex1.JPG
ex2.JPG
ex5.JPG
IMG_0893.JPG
IMG_0897.JPG
ex7.JPG
ex8.JPG

Pin-outs

There are 28 pin-outs on the MAX6921AWI chip all expect "DOUT" and "BLANK" are used in this project. It was not possible to support all 13 grids on the IV-27M with this chip, however for use with a "standard" Hours, Minutes, and Seconds clock it is the chip to use. I purchased this chip rather than the MAX6921AUI version as the solder points on the AUI version of the chip where just too small for me to solder while the larger 1.27mm solder points on the AWI chip where larger. You should check out "You Tube" to see examples of how to solder this chip. Put simply, I added flux to the PCB board, with a small amount of solder on the end of the soldering iron ran the edge of the iron along each of the 28 solder pads.I positioned the chip with all 28 legs over the 28 soldering pads and held in place with tape, I then pressed the soldering iron down onto the edge of each leg until I could see the solder run, (using a magnifying glass helps greatly here). Once complete for all 28 legs I used a continuity meter and tested between the top of each chip leg, as it goes into the chip, and the bottom of each PCB pin which I had previously soldered onto the reverse side of the CB board.I have a new set of chips and boards arriving shortly and will do a video of this soldering and place it here and on "You tube".

Firstly, my great thanks to Kevin Rye for all his help with the understanding and help with how this IC chip works. The attached Fritzing MAX6921 schematic details the connections required to power the 10 grids and 7 segments within each grid. In brief each grid is displayed one at a time with the remainder blank. This is repeated for each of the 10 grids, upwards of 40 times a second. Based on the principal employed in the film industry where 35 frames are displayed per second. Each of the frames is a single still image, however as 35 of these images are displayed every second the human eye cannot distinguish any individual image so these images blur into a moving image. This can be best seen using an iPhone camera to film the displayed characters, the recorded film shows the characters fading in and out.

MAX6921AWI SOLDERING

It is necessary to purchase a TSSOP28 PCB pin converter board, this allows the 28 pins of the MAX6921AWI to be soldered to a PCB board which has 28 traces which in turn attach to 28 header pins, these pins are what are used to attach the wires from the tube, power supply and Arduino Mega board.

NOTE: Use a bread board to accurately position the two sets of 14 header pins under the PCB board, prior to soldering them to the PCB board.

The attached PDF file is the datasheet for the MAX6921 chip, very useful in its details of the chip, how the data is loaded into the chip, and what are its electrical characteristics.

Construction

img1.jpg
IMG_0920.JPG
IMG_0864.JPG
IMG_0924.JPG
IMG_0865.JPG
IMG_0923.JPG
IMG_0898.JPG
IMG_0863.JPG
IMG_0925.JPG
IMG_0940.JPG
IMG_0922.JPG
IMG_0894.JPG
IMG_0895.JPG
IMG_0896.JPG
IMG_0859.JPG
IMG_0860.JPG
IMG_0861.JPG
IMG_0862.JPG
schematic1.JPG
schematic2.JPG

Construction

The clock can be housed in any simple box with the necessary rear cutouts for the power adapter, LCD display, power LED, and BME280. A side cutout is also made to allow for the speaker.

The entire project was bread boarded to start to test connections, once complete the Dupont wires are hot glued to the Arduino Mega 2560 to ensure that there is a solid connection between the wire and the board.

The attached Fritzing diagrams show how the various components are attached to the Arduino Mega and just as importantly how the IV-27M is attached to the MAX6921AWI chip. Each wire attached to the IV-27M was colour coded with similar coloured wires having a black heat shrink band applied to both ends. It is very important to also heat shrink the connections to each of the wires coming out of the IV-27M. Each of the connection wires are terminated with a PCB female pin and heat shrink is applied. I added a small power distribution board which was fed with 12V from the power adapter, which is turn powered the 12V to 24V DC-DC boast converter and a 12V to 5V DC-DC step down converter. This 5V supplied the Arduino Mega board, LCD screen, and speaker. The BME280 and MAX6921AWI both required 3.5V so were powered via the 3.5V output of the Mega board. A single LED lamp was powered via 12V.

Alarm Clock Schematic

(Incorrect MAXIUM chip diagram used, Fritzing system does not have a suitable MAX6921AWI diagram)

MAX6921AWI Schematic

Tube Enclosure

To limit the amount of dust and possible damage to the IV-27M tube I decided to use a glass test tube 20mm in diameter with the bottom removed using a diamond cutting wheel. This must be done with care and wearing the proper protective glasses. The IV-27M tube was placed inside the test tube and sealed at both ends with hot glue before being inserted into the 20mm copper pipes. Again hot glue was used to secure both ends of the test tube, finally the open end of the copper tube was pushed through a 20mm hole made in the top of the box lid.

Finishing Up

The box lid was attached to the box, with wood glue, and the base plate was attached to the bottom of the box using four small wood screws, thus allowing access to the components should the need arise in the future. Felt pads where added to the base plate.

SOFTWARE

IMG_0980.JPG
IMG_0981.JPG
IMG_0982.JPG
IMG_0992.JPG
IMG_0983.JPG
IMG_0986.JPG
IMG_0984.JPG
IMG_0985.JPG
IMG_0987.JPG
IMG_0988.JPG
IMG_0989.JPG
IMG_0990.JPG
IMG_0991.JPG
IMG_0993.JPG
IMG_0994.JPG
IMG_0995.JPG
IMG_0996.JPG
IMG_0997.JPG

SOFTWARE

The software was primarily developed during the Nixie Trilateral Clock project. The new part of the software deals with the generation and display of the characters and numbers. All characters are held in a 10-character array which represents the 10 characters that are displayed on the IV-27M. The software populates a 20-character array which is loaded into the MAX6921 chip one character at a time. Once loaded the MAX6921 uses these 20 characters to determine which of the 7 segments and 10 grids are illuminated.

I have attached two INO Arduino files, the first is the full program file and the second is a calibration / testing program that I used to ensure that the Mega/Chip/IV-27M interface was working correctly.The series of photos showing the back face of the clock show the sequence of displayed values which are used to adjust the RTC clock and to set the Alarm activation time. A WEMOS version of the Arduino board could have been used so that the time and date could be set remotely however I decided that this project should concentrate of the display multiplexing.

It is very important that the software works quickly without any delays, as this effects the resultant display.

The most important parts of the software are as follows:

int dataPinRegister[20] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

void write_loadPin(){

digitalWrite(loadPin, HIGH);

digitalWrite(loadPin, LOW);

}

void write_clockPin(){

digitalWrite(clockPin, HIGH);

digitalWrite(clockPin, LOW);

}

void process_display(){

for (offset = 9; offset >= 0; offset--){

write_character();

write_clockPin();

for (i = 19; i >= 0; i--){ // It is very important to write the values in reverse order into the register

if (i >= 12)

{

dataPinRegister[i] = segmentArray[index][i-12];

}

digitalWrite(dinPin, dataPinRegister[i]);

write_clockPin();

}

write_loadPin();

dataPinRegister[offset] = 0;

if (offset != 0)

dataPinRegister[offset-1] = 1;

else

dataPinRegister[9] = 1;

delay(1);

}

}

Project Overview

IMG_0964.JPG
IMG_0979.JPG

Project Overview

The main reason for this project was to work with and understand the Multiplexing of the IV-27M tube. While this tube has 13 Grids inside it, it can be considered the same as 13 individual VFD tubes such as the IV-11 Russian tubes which will part of my next project. In addition it was necessary to develop software to control the IV-27M tube with its 13 grids and 7 segments per grid. The MAX6921AWI allowed me to use 10 out of the 13 grids which was enough for this project, this was due to the 20 pinouts that where available for use on the chip. Multiplexing was the next step after working with Direct connected tubes as found in my previous Nixie clock projects. This method allows for a significant reduction in the number of connections required and components. There is a lot of miss-information on the net regarding the connections and powering of the IV-27M. For example which end of the tube is considered left or right when viewed from the front or back, and for each end the numbering of the pins. However the main contradiction is the heater voltage, 5V is suggested in some articles, this is definitely wrong, 3.5V is the absolute maximum, anything greater will make the two heater wires glow red!

The following You Tube video shows the clock's construction and video of it in action, (any flickering of the characters is due simply to the camera I was using, the actual characters displayed do not flicker at all).