Slave Dials are clock movements without the actual time keeping circuit. All they contain is the mechanism to drive the hour and minute hands, which can be advanced by an electric pulse. This pulse is sent by a centralised master time-keeping mechanism. They were often used railway stations or large office building to ensure that all the clocks read the same time. You will still occasionally find such dials at markets, car-boot-sales and disposals.
I like the idea of bringing new life to old technology, and so conceived of the idea of melding the slave dial with a micro-controller and internet connection to create a old style slave dial with atomic clock accuracy.
These steps describe the process I went through, and includes all the schematics and source code. This same technique might also be applied to modern clock movements by bypassing the existing pulse-generation circuit.
Materials
- Arduino with WiFi (I used a YellowJacket board from Async Labs, but you could use any Arduino with WiFi or Ethernet enabled or a suitable shield).
- Stripboard.
- LM317 Regulator.
- TIP31 Transistor.
- 1N4004 Diode.
- Red LED.
- 9V Power Supply.
- DC Power Socket (to suit power supply).
- 0.1uF Capacitor.
- 1uF Electrolytic Capacitor.
- 22R Resistor.
- 3 x 1K Resistor.
- 10K Resistor.
- 100R Resistor.
- Self-adhesive Velcro.
- Electrical Tape.
- Foam (for sound insulation).
Remove these ads by
Signing UpStep 1: Identify Slave Dial Characteristics
In order to drive the mechanism, I needed to know how much voltage had to be applied to the coil to reliably advance the hands, for how long, and how many seconds the hands would advance for each pulse. I was concerned about overdriving (and hence damaging) the coil, but also concerned about under-driving it, resulting in an unreliable movement.
I was able to find some general information on these units on the web (thanks to Google). My thanks to the people who put together the English Clock Systems website. It turns out that most such clocks would advance either 30 or 60 seconds depending on the model. The mechanism was specified as a combined resistance of around 3.5 ohms, and a current rating of 0.3 amps, for an operating voltage of 1.05 volts. IN reality, most such units were driven by banks of old dry-cell batteries with a voltage of 1.5 volts, so that is what I aimed for.
Note that slave dials such as this typically had a "shunt" resister is parallel with the coil. The reason for this was so because these clocks were often wired in series. Without the resister, if the coil on one clock went open circuit, all the clocks would stop working.







































Visit Our Store »
Go Pro Today »




I found it interesting as I had seen your clock in the movie 'Brazil' by one of the Pythons (the one from Minnesota). I made the 'Brazil' comment to one of the RN pilots and he said that many British schools had those clocks. Makes 'Brazil' even more bazzar.
As the owner of a couple of MGs, I'd love to have a Smith's clock. Another reason to travel to England, to go to car-boot sales and such.
Great Instructable. I've a GE clock of this same style that could use your very same modification.
Cheers,
Fin
I gather that the arduino does not actually sense the clock's hand positions, only keeps track of the number of pulses sent to the mechanism. On initial power up I assume that the initial clock position must be defined and input into the arduino firmware. What happens if the mechanism "skips a beat"? Does the operator then have to redefine the hands position manually, mechanically reset it, or can the arduino issue an extra pulse or two to make the clock catch up automatically? Does the mechanism need greasing and/or dust protection to keep it from jamming as "time goes by"? Thanks.
In operation it has been very reliable (at least the mechanical portion). When you consider how they were originally used, it would have been fairly important that they never miss a beat. I did up the voltage to the coil a little to help ensure this, but most likely this was not really needed.
If power is lost and the time falls behind, when powered up the Arduino will fast-forward, sending a pulse every second until its caught up. Its rather funny to watch. Apparently some slave dials supported a reverse mode too, but mine does not.
I used a little light oil on the mechanism itself, but it was in great condition when I got it. It is rather 'chunky' for a clock movement, so it would take a fair bit to jam or damage it. Beyond being flush up against the wall, there is no dust protection (but I doubt much will find its way in).
Thanks for the comment!
Good idea on the foam. The minute by minute jogging of my work clock gets loud when I stay late at night to catch up on paperwork.
When not performing a pulse, the circuit draws around 100mA (I think much of that is the WiFi, and could probably be improved by adding sleep support to the code). When performing a pulse this rises to 200 to 500mA (I can't remember exactly what this figure was). A pulse lasts 200mA, and is performed once every 30 seconds normally, or once a second during a fast-forward.
From Wikipedia (http://en.wikipedia.org/wiki/List_of_battery_sizes) we see that a 9V battery has a capacity of around 565mAh. However if you draw more than a few tens of milliamps, the effective capacity will be far lower. Based on that even ongoing the pulses, you would get only around 5 hours, and probably less.
It may be possible to stretch this significantly; add sleep support to the Arduino and put the WiFi to sleep expect when updating the time from the net (once an hour at the moment). You could also derive a better power supply circuit for the coil (possibly charge a capacitor at a lower current over a longer time). Also, using a switching regulator to more efficiently make use of the 9V (rather than throwing away 4V worth as heat) would help.
Great Job!
KK
However, if anybody just wants an accurate clock, then Radio Controlled clock movements can be obtained in the UK for about £10 or less.
Magnificent reincarnation.
5 of 5 stars