Massive improvement after moving the electromagnet closer to the bob.
Previously the clock started unreliably when set to deliver one hundred 450mS beats, now the bob crashes hard into the electromagnet when the starter is set to only six 4mS beats!
The run pulse is much smaller too, previously staggered along on 80mS. Now the run value is somewhere between 1.62mS and 1.8mS.
Nothing is ever easy!
1. I want to adjust the impulse so the bob gets up close and personal with the electromagnet without quite colliding. Gap about a millimetre. Mild collisions can just about be heard as slight ticks, but better to see. So I took a video and went through the frames.
Near miss:

Other side:

2. Now realise should have made the magnet drive and sensor output available as test pins on the front panel. An oscilloscope is handy for setting up with the lid on. Also, a multicolour LED would show more status info.
3. A LED flashes on the front panel when the clock is ticking. Worked perfectly before, now flashes erratically even the the oscilloscope shows the impulses are correct. Software bug.
4. The Arduino is programmed to log results to a PC and to accept commands; I can change the impulse. The log looks like this:

First column is the period in microseconds. Second column is the time difference between beats. / Third column is GPS HHMMSS, zero because the module isn’t plugged in. For the same reason col 4 is counting plain seconds rather than UTC – the clock isn’t set yet. When GPS is plugged in, I can command the microcontroller to synchronise within microseconds of UTC, way more accurate than setting hands! Cols 5 and 6 are temperature and pressure, needed for compensation, Col 7 is the impulse value; the number is a counter timer setting, where 400 is 1.62mS,. The last col is the difference between clock and GPS time, not working because GPS isn’t connected.
Ideally the beat difference should always be zero. Therefore next job is to write a PC program that reads the beat time difference value and tunes it to near zero by sending the clock ‘changing impulse’ commands the optimum is found. Beat difference can also be used to govern the clock set to beat several times between impulses. Rising differences mean the bob is losing amplitude.
Better accuracy, I hope, from a clock that can optimise it’s escapement and – potentially – stabilise amplitude on the fly. I don’t believe either is possible mechanically.
Diito temperature and pressure compensation; done by calculation based on a statistical analysis, not mechanically. Seems to have advantages, but the idea may be unsound! This the next experiment.
5. Have to sort out a vacuum valve. Unless someone has a better idea, I’ll try a Presta bicycle valve connected backwards. No ides how to connect it to the plastic 4mm evacuation pipe – probably have to make an adaptor. Then seal the pipe and the access hole. Liquid gasket and hot glue maybe. Whatever, I’m sure it will leak!
Dave