IV-26 Binary Thermometer
A design for people who don't want to work with high voltages, but likes tubes.
I received last week my IV-26 tubes from Russia.I'm planning to build a nice clock with it, but wanted to test them first. Browsing on the internet i saw just a few binary thermometers all made with LED's. So i get the idea to make one with this IV-26 tube. The part i use are all easily obtainable at your local store of Ebay. The hardware was made in a evening and the program code did take 1 ½ hours. You'll need some time to get used to the binary format, but it is fun.
The above picture shows the working thermometer. My plan is to cut out two layers of plexiglas to protect the electronics.It shows 21 degrees Celcius. Here in the Netherlands we use Celcius scale for temperature measurements. You have to read the temperature form right to left. The MSB is at the left, just like the byte of a microcontroller.The maximum temperature which it can show is 127 degrees. You can rewrite the code to Fahrenheit but then the upper limit is of course 127 Fahrenheit which is 53 degrees celcius. For a sunny day in the summer it will be not enough to measure the temperature in your car with it! But for in home purposes or office and in the shade it will be enough. After i made a protective cover i'm planning to take this termometer to my office. Were all engineers in electronics so everybody must be able to read the temperature from it. Furthermore i want to power it from USB so i can feed it from the desktop computer. With all segments lit it will draw less than 200mA @ 5Volts.
The sensor for the temperature is a one wire device type DS18B20 from Dallas (now Maxim). The 18B20 gives out the temperature in degrees celcius, so no conversion has to be made. I only read the first two registers which contains the temperature and sign. A register contains a byte of data. I'm not reading it's ROM or CRC because i don't need this data and i have juste one sensor to interrogate. I have used this sensor many times and never received errors when operated normally. But if your cable is somewhat longer because you wat to measure the temperature outside, you're free to implement a CRC routine.
As earlier mentioned the tube is a IV-26 type 1. All the dots are seperate wired to the outside world. The tube needs a anode voltage of 25 to 30 Volts to operate correctly. It has no grid, just 7 anodes and one cathode. The cathode is directly heated. This means that the cathode and heater is one piece. The heater need 3,15 Volts for correct operation and draws about 80 milliamperes. Yes,VFD tubes are more powerhungry as LED's but much much better to look at! I placed the datasheet below for reference. This tube can be easily obtained at Ebay. The tube is about 11 cm long and therefore has a good readability. It is possible to use the smaller IVLM-1/7. Besides different pin numbers of the tube you have to adjust the heater voltage accordingly to make it work.
The whole device is powered from a 5 volt adapter. The microcontroller is powered directly from the adapter. The voltage for the heater can be achieved to put 3 diodes in series with it. In my case the diodes take about 0.8 volts each, so the heater in my design runs on 2,7 volts. As you can see at the photo: it's enough and the tube will last longer.. For the 27 Volts i'm using a good old MC34063. It is a simple design and operates without problems.
For the microcontroller i did choose the PIC16F628. The code is very small and written in assembly. PORTB is used to drive a high side driver which on its turn drives the anodes of the tube. The microcontroller reads the temperature from the 18B20. If no sensor is present the temperature will be set at 85 degrees. The same value the 18B20 gives when it is powered and no conversion is done. The following tasks are performed by the 16F628:
Read the temperature every 2 seconds.
Start conversion of a new value.
Round the received value to whole degrees.
Display the temperature.
I thought about it to use a arduino instead, but it needs extra hardware in the form of a 74HC595. It is impossible for Atmel processors to put a byte at once to a port like the Microchip processors. Of course you can switch om each segment one by one. Another reason why i picked a 16F628 is that the Arduino Atmega328 will be overkill for such a application. The schematic is given below and explains itself due to its simplicity. Although i didn't draw (and use) a fuse it will be better to do so. Use a 200 ma slow blow. (You have to take into account that you will have a inrush current from the switch mode power supply.)
(Yes, i have a lousy handwriting, but it is readable).
About the 3 UF4007 diodes: I bougt 200 of them on Ebay at a chinese seller. They were dirt cheap. I needed them for a power supply capable of doing 500 Volts for a Geiger tube. The power supply was working but after 10 to 15 seconds it was sending a pile of smoke to my ceiling and seased operation. The MOSFET as given up its work. Did i use a wrong type of inductor? A wrong value? No, the inductor was ok. Changing the defective part and try again. No success. After a few try's i decided to change the UF4007 for a good MUR160. The power supply worked perfectly without getting hot. The morale behind the story: Watch out for cheap components from China. It can be counterfeit. My UF4007 are counterfeit. They are very slow and have a high Forward voltage (Uf) of 0.8 Volts. But they are ideal for this application. No speed required and if they are going bad only the tube goes dark without further damage.
About the code for the microcontroller: As earlier stated the code is written in assembly. I have decided not to publish the code. If someone want it for reference mail me. Most of the people however are using a higher language like C or BASCOM and are more than capable of making their own.
A multicoloured LED (ahum) behind the tube for positive or negative temperature.
SHT11 as sensor. (Humidity and temperature measurement).