This morning's results are revealing. Last night I restarted the clock after finding it was being over impulsed, reducing impulse from 28 to 24.
The second mode of oscillation has almost disappeared, with 4 examples far right bottom when the clock starts.

Some off-centre vibration is expected because the clock auto-starts by applying a 2 second pulse to the electromagnet. The pulse is powerful enough to pull and hold the bob on the pole. When the start pulse ends, the bob swings violently for about 10 minutes, stays somewhat disturbed for about an hour, after which it swings up to the design amplitude, which is small. Or rather that's what I mean the bob to do! (In a an earlier version I attempted to start the clock gently by pulsing the electromagnet weakly at the pendulum's resonant frequency. Worked unreliably when I had to physically move the clock to make software changes. Ought to have another go now the clock doesn't have to be touched, otherwise I have to ignore the first 5000 statistics after a restart.)
Looking at the drift graph shows another problem – steps are back:

The vertical dotted grey line marks midnight.
Steps are caused by the bob not quite breaking the beam reliably. They're caused by the impulse being slightly too weak to pull the bob fully across the beam 100% of the time. Bit of a quandary: increasing impulse causes the amplitude to rise excessively, whilst reduced impulses cause unreliable beam breaking!
What to do about it? Ideas so far:
- Sharpen the beam so the bob breaks it earlier.
- Provide a method of moving the beam sensor so the bob breaks it earlier.
- Go back to governing amplitude, so the bob isn't impulsed above a certain threshold. The code for this already exists, turned off after I discovered my pendulum keeps better time when impulsed lightly on every beat, rather than more powerfully after 'n' beats. I probably need to be more sophisticated, by always impulsing below a minimum threshold, and never impulsing over a certain maximum.
- Tilt the clock slightly so the bob hangs a little closer to the sensor at BDC.
Other suggestions welcome!
Looking at the earlier strange Amplitude vs Temperature graphs showed the Possum look is due to a succession of rounding errors causing the graph software to struggle with a narrow range of quantised data. However, something odd is going on:

The graph above, scaled to hide rounding striping, shows there a weird relationship between temperature and amplitude. The two correlate in a non-linear way. Although amplitude obviously follows temperature, the path is inconsistent. For example, six amplitudes correlate with 13°C.
The effect of temperature on amplitude can also be seen on the next graph, green line:

What fun!
As it's easiest to do, I'm going to tilt the clock slightly.
Dave
Edited By SillyOldDuffer on 09/02/2023 11:40:50