my current project - a cheap DIY world time wall clock

Vintage Events and off topic talk

my current project - a cheap DIY world time wall clock

Postby no0207 » Aug Sat 30, 2014 5:05 am

Recently at work I had the honor to visit the IT department in their office. One thing there immediately caught my attention: they have five or six analog clocks lined up on a wall, each of them showing the local time of one of our plants or offices around the globe. Of course nowadays you can have that very easily on the screen of your computer, but the idea to put such a real thing on the wall impressed me very much. What I learned then - what they have is a minimalistic installation - nothing more than simple quartz wall clocks - and whenever somewhere in the world the switch between normal time and daylight savings time happens, their youngest colleague must climb up and adjust that clock.

My immediate thought was that would be a great project for a microcontroller tinkerer like myself - to design a system of wall clocks that perform the same task, but with more automation. Since then I spent a lot of time considering potential solutions and alternatives - there are so many ways one could think of to approach the subject. The configuration I finally came up with is very minimalistic:

Each clock is just a cheap quarz wall clock, frankensteined with an Attiny, V model and 2xAA Batteries. The Attiny is directly attached to the clockwork and pulses it with 2 output pins - simpler is impossible, I found that solution by googeling a little bit. Another input pin of the Attiny is dedicated for input from a kind of serial bus. However as long as no bus wire is connected the clock will just perform like an ordinary quarz clock. BTW this was my first time using an Attiny for something. I was amazed how much of logic fits into its handful of RAM and flash ROM bytes. Moreover this was the first time ever one of my AVR-GCC projects compiled with 0 warnings!!!

Recently I started putting a central control unit together. It is based on an Atmega. I designed and implemented a very simple bus protocol. On one of the pictures you can see a capture on the oscilloscope. Very obviously it is the opening sequence of an hourly ping signal, addressed to clock#1 ;-)

In the meantime the control unit (which can be hooked up to a computer temporarily) can send a handful of commands to the clocks to control them, such as:
(S)topping one or more clocks
(R)estarting them
(G)o to a certain target time, i.e. move the pointers there
(A)djust the clocks internal count variables to its external pointers position

Clock IDs are maskable, so clocks can be addressed one at a time, some dedicated clocks, or a broadcast can be sent to all.
The Oscilloscope proved to be an invaluable tool when developing and testing the bus protocol.

Next step is to add a DCF77 receiver to the control unit. Just bought a cheap radio controlled alarm clock this morning. Will vivisect it next and see if I can get something out of it that would work with an Atmega...
Attachments
experiment.jpg
experimental setup with the control unit and one clock attached to the serial bus
experiment.jpg (176.16 KiB) Viewed 8191 times
no0207
 
Posts: 67
Joined: Nov Sun 04, 2012 11:36 am

Return to Venues, projects and off topic stuff - NO SPAM

Who is online

Users browsing this forum: No registered users and 2 guests

cron