Wednesday, February 21, 2018

Pulse operated slave clocks

I have always been interested in clocks since I was a kid in the 60s. My father and a cousin had a friendly, ongoing, rivalry to develop accurate pendulum clocks. To me it was all a bit strange, but I loved the care and detail that went into creating a pendulum (made out of invar) with its suspension. A special bellows applied the air pressure compensation, and the whole thing was then inside a temperature controlled chamber. It emitted a one pulse per second signal that drove a clock in our dining room. He also built a counter (vacuum tube technology) that would measure the phase offset against the 'pips' that were broadcast on the radio. He reached about a 0.1 second per day level of accuracy -- i.e. about 1 ppm -- which is pretty good.

Fast forward 50 years, and I finally have the time to get his clock display running. This is the clock on the right here. Yes, neither are reading the right time....


The clock on the left came from Ebay, from an Indian seller of marine artifacts that come off ships being broken up for scrap. It takes a 2 pulse per second signal, and needs a bipolar drive.

I designed a small circuit based around an ESP8266 that could drive all manner of pulse based clocks -- it can drive up to 30 volts (though not at much current), and the timing of the pulses is entirely under software control. It has a rechargeable battery to provide time during a power outage (but more importantly, to allow time for the position of the hands to saved to non-volatile storage before shutting down). This means that you don't need to reset the clock after an outage.



There are already a number of mods to the initial design (I got some footprints wrong) and I didn't think about some of the options right. I'm getting close to updating the design to V2 and getting another pack of 10 boards.

All of this is remarkably inexpensive if you are prepared to wait. Aliexpress is my goto source of components, and seeedstudio to build the boards. If the BoM cost for a board is over $15, I would be surprised (I have parts to build roughly 10 -- only because buy smaller quantities than that doesn't save you much.). The aluminium box to hold each board is the most expensive component at around $6 each! I intending to use the PCB process to make the end plates with the labels and the cutouts already in the right place.

Anyway, the results are that I can drive my father's clock (the one of the right) so that it keeps time. However, the old marine clock loses time. This evening, I finally figured out why -- it turns out that the drive is a rotating magnet which is (I think) supposed to be glued to a small plastic gear that drives the rest of the mechanism. While the clock is laying on its back, the magnet rests on the gear, and the mostly keeps time. In any other position, there isn't enough friction, and the hands don't turn. It seems that my next task it to take it to pieces and try and reglue the mechanism.

2 comments:

  1. Hi Philip,

    That's great. Have a look on my slave clock:
    https://github.com/vsky279/secondary-clock-ESP8266
    https://twitter.com/voborsky/status/919644581213474816
    https://twitter.com/voborsky/status/914141160029016065
    https://twitter.com/voborsky/status/913505409356455936

    I think the goal is pretty much the same. Your design is better in term of handling power outage. Fortunately that does not happen so often here.

    Best regards,
    Lukas

    ReplyDelete
    Replies
    1. I like your clock -- and you have done a better job of making the code available. This puts me to shame. My implementation is also based on the Lua firmware.

      We get sufficient power outages (maybe once per month) that having the time wrong after each would make things unbearable (and it wouldn't make the wife happy either).

      Delete