Happy to be criticised! If I've got something wrong it needs to be fixed. […]
[…]
So the time the beam remains broken depends on how far the bob moves past the beam and takes to swing back to uncover it. The time is measured with high resolution, and, because pendula are isosynchronous, the time is proportional to amplitude. What I call 'Relative Amplitude' is the ratio between time beam is broken and period.
.
I must then point out that [although probably trivial at this stage in your project] you are working under a false premise:
Despite what that nice Mr Galileo thought [when using his own pulse as the reference]:
The pendulum is NOT an isochronous device
[and yes, I have gently corrected your terminology]
That is why some of us are obsessed with the desire to maintain a near-constant arc.
Historically; using a very small angle of swing has proved to an effective fudge … but the limiting case would be a stationary pendulum !! … John Harrison grasped-the-nettle, but some of his writings are barely coherent and people chose to follow the other path.
I've had another go allowing for Poisson, not quite because I haven't allowed for the change in wall thickness, but the amended results are steel 950.00297 Pa, PVC 950.131331.
Main dimensions are 127mm OD, 3 mm wall, end plates assumed rigid and fixed to the end of the shell but shell able to freely expand/contract radially.
Interesting side issue, blood vessels have a high Poissons ratio so that they do not get longer under internal pressure. This is so that they don't go slack/tight as your heart beats.
Posted by Michael Gilligan on 15/12/2022 15:07:44:
Posted by SillyOldDuffer on 15/12/2022 12:26:31:
.
Happy to be criticised! If I've got something wrong it needs to be fixed. […]
[…]
So the time the beam remains broken depends on how far the bob moves past the beam and takes to swing back to uncover it. The time is measured with high resolution, and, because pendula are isosynchronous, the time is proportional to amplitude. What I call 'Relative Amplitude' is the ratio between time beam is broken and period.
.
I must then point out that [although probably trivial at this stage in your project] you are working under a false premise:
…
The pendulum is NOT an isochronous device
[and yes, I have gently corrected your terminology]
…
MichaelG.
Fortunately not working under a false premise – I meant to say not isosynchronous, thus making two mistakes with one word! Might be a record, even for me…
It is true that the period changes with amplitude, but up to quite a high amplitude like 6* it closely follows a -A^2/16 correction law (i.e. the relative rate is multiplied by (1-A^2/16) IIRC). A in radians. So I would guess that it should be possible to work out the appropriate correction; or build the measured period into the calculation.
"John Haine asked how they got better than 4uS accuracy from GPS. If they used a Mega 2560 I think I know the answer. "
That wasn't really my question. Actually they publish the code on Github and the relative timing is done by a Nano. The micros() time is taken when interrupts occur on 2 pins and they are compared. micros() has a resolution of 4us I think, at least on the Nano. But my main concern is the fact that the Nano is comparing the phase of two asynchronous processes, except in the case when the pendulum is exactly at 0.5Hz. So the phases will slowly slide past each other, and while they are nearly in-phase I'm not sure what the interrupts do, but anyway you would see big phase jumps as well as the slow roll. I guess it might be possible to post-process the data in the Mega but they don't say anything about that.
Wow yes. I don't know what the interrupts would do in those conditions. Bigger processors can do clever stuff like prioritised queuing, assuming that would help, but small Arduinos are simple, probably first come first served, and maybe the second comer is ignored. I think you're right to be concerned. I'll look at the code to see if I can make sense of it. Might experiment too.
Confirmed Nano is 4uS. Actually micros() clocks in 4uS steps on any Arduino with a 16MHz oscillator, which is most of them.
Michael mentioned John Harrison ‘grasping the nettle’ of circular error in pendulums but he took a rather different path to achieving near constant rate.
Most methodologies are concerned with independently reducing errors from temperature ,barometric pressure etc to small values which is laudable but has its limits. Harrison decided to use circular error to compensate for residual errors due to atmospheric pressure by ensuring that the two effects as near as possible cancelled. By introducing cheeks either side of the suspension spring on his pendulum clock he could control the degree of circular error by controlling the curve profile of the cheeks. Again there was a limit but I find it a fascinating approach.
Do keep up the good work on this most interesting thread.
Mumford compared the period of his clock with a super-accurate electronic clock and adjusted the amplitude to keep them in synch. I must admit that using a super accurate electronic clock to make a pendulum super accurate doesn't fill me with glee.
… I must admit that using a super accurate electronic clock to make a pendulum super accurate doesn't fill me with glee.
I know what you mean, but isn't that how all pendulum clocks are set up and adjusted? Are clockmakers cheating whenever they use another clock to check results? Aren't the sun and star transits just the original super-clock?
In my defence, the purpose of the super-accurate stuff is to identify what causes my pendulum to run badly. In the end-game the Arduino is only supposed to count and maintain pendulum pulses, compensate for environmental factors, and then display HHMMSS. The clock is supposed to be free-standing. If I can get to that stage there will be no GPS, NTP or statistical analysis going on.
If I only wanted a super-clock, the Arduino simply has to count GPS PPS and decode them to HHMMSS. Not difficult, and all done with electronics and software unless I chose to drive a set of hands with a motor pinched from a kitchen clock. Much less interesting I feel than what I'm actually attempting, even if the experiment fails.
Mumford compared the period of his clock with a super-accurate electronic clock and adjusted the amplitude to keep them in synch. I must admit that using a super accurate electronic clock to make a pendulum super accurate doesn't fill me with glee.
.
Perfectly reasonable provided that the electronic clock is a confined to being a “tester” or a “setter-upper-er” … but if the accuracy relies upon the electronics during its normal going, then the mechanical bits become just a fancy motor.
It’s feasible, but takes a long-long time, to check and adjust a clock using “star transits” [*]
The ultimate goal for Dave’s experiments should perhaps be to “teach” his pendulum to go well … and then finally unplug the Arduino and the reference clock.
MichaelG.
.
I think I have just reworded much of what Dave had already written
The clock to which I referred had the super accurate clock ck permanently in the loop so it could continually adjust amplitude to keep the pendulum time correct. As long as SOD's setup measures full cycle time and beam interrupted time it won't matter if the Arduino internal clock drifts a bit. I doubt it would matter even if he isn't measuring cycle time as that will change very little as long as amplitude is under some sort of control. I wanted to have the processor only doing logic, hence I have a second end of travel sensor. I will admit that the processor governs how long the impulse lasts, but if that was a bit off it would only affect how frequently it missed an impulse. If it got a long way off it could go awry I suppose, ie too short an impulse every time so that it eventually stopped. This has never happened and it's been going for a very long time now.
I've had another go allowing for Poisson, not quite because I haven't allowed for the change in wall thickness, but the amended results are steel 950.00297 Pa, PVC 950.131331.
Main dimensions are 127mm OD, 3 mm wall, end plates assumed rigid and fixed to the end of the shell but shell able to freely expand/contract radially.
Interesting side issue, blood vessels have a high Poissons ratio so that they do not get longer under internal pressure. This is so that they don't go slack/tight as your heart beats.
No-one spotted the incorrect units, I seem to have swapped to mBar. Perhaps you were all too polite to mention it.
The clock to which I referred had the super accurate clock ck permanently in the loop so it could continually adjust amplitude to keep the pendulum time correct. […]
.
As you simply referred to Mumford, Duncan … could you please give us something more specific
I am currently assuming that you mean Bryan Mumford, of MicroSet fame, but what is it that particularly disturbs you ?
No-one spotted the incorrect units, I seem to have swapped to mBar. Perhaps you were all too polite to mention it.
To be honest, Duncan; once you began using Pascals, I glazed-over a bit … but I thought you started-off with mBar, and had changed units for your own comfort.
A few people have controlled amplitude to adjust rate to match a reference clock. The snag with it is the long time constant. Prof. Robertson's Clock at Bristol University has an ingenious mechanism to directly vary the apparent gravity to the pendulum over a small range by adjusting the tension in a spiral spring. This adjusted the rate in steps of 0.1 s/day. Stepping was controlled by a "three state phase detector" built out of relays that compared the phase of a local pendulum pulse with the 10.00 am Greenwich time pulse distributed by telegraph. The clock is ticking again but alas the relays and time pulse are long gone and the regulator has an open-circuit coil anyway.
What's difficult about Pascal's? Simply one Newton per square metre. 100,000 Pascal's is one bar, so 100 Pascal's is a millibar. Would you prefer the really logical Torr, which is one millimetre of Mercury, 1/760 of an atmosphere. Can't even call itself an imperial unit.
I am aware of the Robertson clock. That at least would continue to keep good time if it lost its periodic correcting signal. The other clock I referred to had an accurate clock connected all the time, so you might as well have just used the electronic clock. This is from memory, I'm not going googling to find a reference. This is not the same as the microset.
Had a go at what happens when an Arduino Nano gets two interrupts at the same time. I strapped the External interrupt pins 2 & 3and fed them pulses with a Function Generator. Two interrupt service routines update the same variable, and the main loop shows which one got there first. Four possibilities:
Both interrupts are ignored
One interrupt is is ignored and the other processed
Both interrupts are processed correctly
Both interrupts are processed, but the variable is corrupted
Here's the program:
Results depend on how fast the interrupts arrive.
Up to 5kHz, the Interrupt on Pin 3 is reliably detected, and that on Pin 2 is ignored,
At 10kHz, problems appear. In addition to 237085 Pin 3 detections, there were 79 pin 2 hits, plus 13 corrupt results. Corruption occurs when the results of one process are being printed, and the check value is changed mid-flight by another interrupt.
The problem gets worse with increasing frequency.
At about 250kHz interrupts arrive faster than they can be processed, and the serial link fails.
If processing in main loop is minimised, rarely using the serial link, single interrupts are detected reliably at 1 megahertz, but it's very difficult to process them usefully. There aren't enough microseconds before the next interrupt arrives.
I think John is correct there's a phasing problem in the Horological Journal code. It's imperfect in that a pendulum or GPS tick would kludge if they coincided. However, with GPS interrupting at 1Hz and the pendulum at 2Hz, my gut feel is the risk of a collision is low, perhaps only causing grief once in a blue moon. Might never have happened in testing, or, depending on how the data is processed, the effect wasn't noticed in the statistics. Collecting the data once in 15 seconds would tend to hide glitches too.
Have to go out now, the car is covered in ice, and it's extra cold. No wind fortunately,
… That at least would continue to keep good time if it lost its periodic correcting signal. ….
Actually no, that was something he didn't realise. If the Greenwich pulse failed the regulator would decide the clock was running too fast and make a correction every day to reduce its rate. So missing one of two days wouldn't be a problem but a prolonged outage would be. In fact the clock turned out to be very sensitive to barometric pressure because he didn't realise by how much and how quickly this could change so errors of up to 5s/day could build up. When you consider that the clock controlled a bell that could be heard over a large part of Bristol this could be embarrassing!
Thanks for doing those experiments Dave, very illuminating! Small point, a seconds pendulum would be interrupting at 0.5Hz…
isn't the potential problem though that if the pulse rates are nearly harmonically related, when they do clash they will continue to for some time while they slide past each other? For a clock that is very nearly correct that could persist for many seconds perhaps during which one loses readings.
I have 3 nanos, I could set up 2 as pulse generators and run the "HJ" code on another…
Simply that they are too small to be conveniently useful for most things that interest me … any unit that requires expressing in Mega or Giga terms before it becomes practical seems daft.
MichaelG.
.
P.S. __ Now that you have done your big calculations: Do you have an answer to the question of whether a ‘tank’ made from [say] plastic underground-drainage pipe would suffice ?
The other clock I referred to had an accurate clock connected all the time, so you might as well have just used the electronic clock. This is from memory, I'm not going googling to find a reference. This is not the same as the microset.
.
Bit pointless carping on about it then
MichaelG.
.
Edit: __ Please give us a clue though …
You attributed it to Mumford … how confident are you ?