Church Clock Tower - Stepper Motor RPM / Timing control


I am a tinkerer with the Arduino platform…which has led me to an interesting project. A friend was contacted by a local church to attempt to get the 1920’s era steeple clock going again. Since he new I fiddled with Arduino’s, I was drug into the project.

Scope: the old clock motor was a DC motor and is long gone… so we have no idea exactly how fast it turned…we believe it to be 1 RPM at the main clock input. I have a stepper motor being driven with a Sparkfun Easy driver and a toothed belt driving a larger gear which will attach to the clock input. While I can control the speed of the stepper by adjusting the delay’s…it is not quite accurate enough.

My thought was to attach a IR beam switch and run the gear slightly fast… and then compare elapsed time to the 60,000 millisecond interval and calculate a delay (interval-elapsed time=delay. this in theory would keep the clock adjusted roughly every minute. It is how the clock was modified with the old motor except it would stop every five minutes… and since it is not currently running … we have no idea how accurate this was. I have spent the better part of two days researching and attempting numerous code schemes without success.

Question: Am I thinking of the right process…and just need help with code…or is there a much better idea?

Any input or assistance would be greatly appreciated as I think I am in over my head.

Get an RTC (real time clock) chip and use that as your timing source. The clock inside the Arduino which operates delay() is not accurate at the level required to operate a clock.

Alternatively, use a GPS shield to get an accurate timebase from the GPS system. This is more accurate than the rotation of the Earth itself.

GCrosby: Scope: the old clock motor was a DC motor and is long gone.. so we have no idea exactly how fast it turned...we believe it to be 1 RPM at the main clock input.

Count gear teeth if you can. Once you have the numbers, simple arithmetic will reveal the required RPM.

If you can't count gear teeth, then you could always try turning the main clock input manually and see what happens.

Anyway, I believe it highly unlikely that a DC motor was used for a clock, unless there was something else controlling it. An AC motor is much more likely, because then you can use the mains frequency for timekeeping.

Edit: I believe you did say that something else was controlling the DC motor.

Personally, I would go with an AC motor, for the reason I stated. Except in case of a power outage, the AC motor will keep excellent time: it is the power company's job to make sure of this.

Did the old clock mechanism with the DC motor have a pendulum and escapement mechanism for regulating time? If so can that be used with the new motor ?

A common way to run electric clocks was with a synchronous AC motor that kept time according to the mains frequency. The Electric utility keeps the accumulated frequency accurate over long periods so clocks stay accurate.

Could you get a modern electronic clock and sync the big clock to it with some form of servo system?