Numitron Arduino Clock and Thermometer [120740-I]
Published in the October 2013 Edition PLEASE NOTE:- In some editions fo the Magazine (GB, DE), the Temprature sensor is listed as a DS1820 - This should read DS18B20. The DS1820 is an old part and does not function correctly in this project.
Published in the October 2013 Edition
PLEASE NOTE:- In some editions fo the Magazine (GB, DE), the Temprature sensor is listed as a DS1820 - This should read DS18B20. The DS1820 is an old part and does not function correctly in this project.
The idea of this project is to look for the 'next step' for people who love to use the Arduino platform and to combine Arduino with Electronics.
In the best tradition of these sorts of projects I have decided to go for the classic clock and thermometer and to see if I can strech the Arduino UNO as far as possible.
For the Clock I decided against the traditional 7 segment LED's in favour of something much more beautiful in the form of Ex Russian Numitron bulbs.
So here we have the project, a Numitron bulb, Arduino UNO driven clock & thermometer built on a single board along the lines of traditional electronics builds, no shields, no modules and no plugins.
Courty
Update :7 Sep
Data sheet for the IV-9 Tubes, each filament is 19.5ma which is over 0.5A when everything is on, cant drive these from the Adruino directly so I am planning to use the 74LS47 BCD to 7 Seg TTL chip.
Röhrendaten/ Tube Data | |||
German | English | ||
Typ | Type | IV-9 (ИВ-9) | |
Hersteller | Brand | Reflector/ Sovtec | |
Vergleichstypen | Substitudes | - | |
Symbole | Displayed symbols | 7 Segment, PR | |
Symbolhöhe | Symbol height | 10mm (0.400") | |
Abmessungen | Overall dimensions | 11mm (0.433") dia. X 35mm (1.38") | |
Pindurchmesser | Pin diameter | 0.5mm (0.020") | |
typ. Betriebsspannung | typ. supply voltage | V | 4.5 |
typ. Strom pro Segment | typ. current per segment | mA | 19.5 |
Sockel | Base | TO-100, pin 1 zeigt nach vorne/ TO-100, pin 1 in front | |
Fassung | Socket | Drahtanschluss, keine Fassung erf./ Wires, no socket needed |
Update 10th Sep :
An interesting couple of hours playing with the IV-9 on a test board. a few lessons learned which will go forward into the final build.
1) you can't really multiplex the IV-9, being a tungsten filament bulb its just too slow and ether flickers or it to dim. each channel therefore will need its own driver and control lines. this mean the clock will be 4 digit as this is the limit of control lines I have on the ATMEGA328 chip.
2) The 74LS47 being a "high sink current" device appears to be more than happy driving the IV-9. I have added diodes for each line for a couple of reasons. the first was to help the multiplexing (no longer needed) and the second is to bring the drive voltage down from 5v to 4v to get into spec and to extend the tubes life. they will therefore be staying.
Onward and upwards as time permits
Update 17th Sep :
Having successfully completed the Breadboard tests and convinced myself the project is a 'goer' I decided to move on to a strip board full working model. this gives the opportunity to experiment with the clock and to test out a few other ideas. to keep with the Arduino theme I've chosen components and modules that are easily usable on the Arduino platform and ones that have good and well supported libraries..
For the realtime clock I'm using a 1307 and for the temperature sensing a 18b20, both are staples of the Arduino community.
The next picture is of the 4 x 74LS47's and the diodes going on - i've again gone for simple to understand and by using the 4 x 74LS47's without a latch or multiplexer it will use more pins but will be easier to understand when it comes to coding. each tube has its own BCD lines and each can be directly addressed by toggling the pins HIGH or LOW.
At this point I have also added the socket and supporting components for the Arduino processor
Update 18th Sep :
It works !, well the basic board with one tube works anyway.
to test if all was well I went through the normal checks without the processor and then added the pre-loaded ATMEGA328p with the Arduino UNO bootloader. this gave me the ability to use the Arduino programming console and to use the Seriel Monitor function if needed to debug. this is a very quick way to program and board and to see whats going on but it would be just as easy to add an ISP connector if needed.
To connect the board to the PC I have an eBay USB serial converter used mainly for programming Arduino Mini and Pro boards, these can be purchased for less than £10.00 and are an excellent investment..
Now were happy the logic works I added the rest of the tubes and connected them to IO pins, for the last few connections I used the 'Analog In' pins as they can be re-purposed as Digital Out pins from the software, Tubes 1, 2 & 3 have 4 BCD lines each and tube 4 have just 2 (we only need to show the numbers 1, 2 & 3 on that tube so only need binary digits 00, 01, 10 & 11) the decimal point is in tube 2 and is connected to its own I/O pin
Update 21 Feb 13 :
Firstly, thanks for the mention in the March Elektor magazine Clemens (I think :o) its really good to see Elektor.Labs really taking off. Having been in from the start I think it has massive potential.
Anyway, back to the project… I have indeed finished the project and its been running for 5 months as my bedside clock without a problem.
Further to the article above, I added a DS1307 real time clock chip as standalone the clock wouldn't keep good time, I now use the DS1307 as the source for time within the program.
One interesting find - Deep in the DS1307 datasheet is mention of processor clock noise on the power lines causing fast running, this is an issue I experience early on. Not a massive gain but it was in the order of a few seconds a day, just enough to be annoying. Other projects where I have used DS1307’s have keep time really well so I decoupled the power lines to the DS1307 with a 100pf cap and made sure the crystal was grounded and this seems to have cured the issue.
Just for Clemens, I have uploaded the schematic !
I will upload the code once I’ve cleaned it up, this was intended to be an experementers clock from the off and has proven interesting on the hardware and software front – as mentioned, I developed the software in the standard Arduino IDE and have managed to keep the code standard so anyone with some experience of Arduino will be able to follow the project and hopefully add their own touches and improvements.
If the concept of Arduino powered proper projects as a next step for Arduino fans (and AVR fans) is of interest, I have 5 or 6 other projects that follow the same format (Proper project but Arduino IDE programmed) and I’ll be happy to publish those too.
Please do leave comments and/or get in touch as it’s what make people come back and it’s what will power this community forward …
Update 1st May 13:
Work continues in getting the PCB designs ready (after a minor redesign on the PSU side) but for now i've uploaded a .hex file for the ATMEGA328P, this is enough to get the clock going using an AVR programmer.. i'll publish the Arduino .ino files as soon as the prototype is built and confirmed to be working.
Onward and upward..
Update 2nd Sep 13:
After many weeks work we are finally going to print in the next edition !
Apologies for the large gap in updates, we were working to get the article ready and testing everything before going off for summer. All back and refreshed now.
The good news is that the final design works well via the ISP header and via the Adruino serial interface so hackers of all abilities can get under the bonnet and play with the software. My two prototypes have been keeping good time for a few months now, one in my office and one next to the bed, they do give off a nice warm glow in the dark..
The PCB designs have been finalised, the code updated and the final versions of all the files will appear here soon, any questions/suggestions/hacks ether post them here or email me direct elektor@the-courts.co.uk
Paul
Update 20th Sep 13:
We're in the October Issue ! its cool to see the article in print in the UK edition but also in French, Dutch and Italian !
Hope you enjoy reading about the clock in the magazine.
Paul
Discussie (4 opmerking(en))
Courty 11 jaar geleden
A friend has made a laser cut perspex case for the clock and can make more if needed. if you are intrested in getting a case please email me elektor@the-courts.co.uk
Courty
jerome 11 jaar geleden
Hi everybody.
I changed the DS1820 by an DS18B20. The temperature displayed is wrong. I have 10°C more than the reality.
Did someone has the same problem?
How to resolve it?.
Regards
Algue 11 jaar geleden
Courty 11 jaar geleden
Algue 11 jaar geleden
jerome 11 jaar geleden
Courty 11 jaar geleden
Courty 11 jaar geleden
Nov 13
Judging by the feedback both on here and on email (elektor@the-courts.co.uk), there appears to be quite a few people building the clock which makes it all worthwhile.. Thank You.
I have received a few queries regarding various aspects of building the clock so here are the highlights and points of interest..
The 4v line not getting to 4v is something that’s come up a few times, in a couple of cases it was just that the inductor being physically too small. the one I used is a high current / chunky one and it does appear to make a difference. That said, if you’re in the mid to high 3v’s and the numitrons are bright enough I wouldn’t worry.
The temp reading too high is the most common theme I’ve had back and I believe in most cases it’s easily fixed. The DS18B20 appears to be Extremely sensitive to local heat sources and to its own heat and also appears to hold heat.
Unfortunately nearly every single component on the clock board radiates heat so the reading is always high if its mounted on the board.
First step is to change the 4k7 resistor that feeds the 18B20 to 10k to reduce self heating to the minimum, this is OK as long as you dont put the sensor on a very long cable (>2m).
Next, site the 18B20 off the board on >30cm’s (12”) of cable to get it away from the board completely. This alone will greatly improve the accuracy.
Lastly, the naked 18B20 picks up heat from itself, you and from any other ambient source like the lighting (I have a desk halogen light and you can see a >1-2c different just by turning the light on) – to fix this I put a small heat sink on the 18B20 and its now, having done all of the above, reading a full 4c lower than when I started and agrees with a small glass thermometer next to the sensor. The 18B20 is digital so if the clock is showing a temprature any inaccuracies have to be physical.
For those building the clock, please let me know how you get on and if you get a chance I wouldn’t mind a pic of your version of the clock.. :o)
Again, thanks for all the feedback
Paul
patracy 5 jaar geleden
Courty 11 jaar geleden
janw 11 jaar geleden
I made a numitron clock a few years ago. I did multiplex the numitrons. It is not ideal but doalble. My biggest problem with multiplexing was not the numitrons but the I2C communication. That slowed everything down.
youtube vids:
http://youtu.be/U01K1q5yWDM
http://youtu.be/ZesR6_ZZ9pA
circuit1.jpg (89kb)
circuit2.jpg (79kb)
jerome 10 jaar geleden
Courty 11 jaar geleden
Courty 11 jaar geleden
jerome 11 jaar geleden
jerome 11 jaar geleden
oberwolf 11 jaar geleden
jerome 11 jaar geleden
oberwolf 11 jaar geleden
Courty 11 jaar geleden
Courty 11 jaar geleden
oberwolf 11 jaar geleden
Lucky 11 jaar geleden
jerome 11 jaar geleden
jerome 11 jaar geleden
Courty 11 jaar geleden
jerome 11 jaar geleden
Lucky 11 jaar geleden
jerome 11 jaar geleden
Lucky 11 jaar geleden
jerome 11 jaar geleden
janw 12 jaar geleden
Courty 12 jaar geleden