By continuing to use this site, you agree to our use of cookies. Find out more
Forum sponsored by:
Forum sponsored by Allendale Jan 24th

Arduino Pendulum Clock Design - Comments Welcome

All Topics | Latest Posts

Search for:  in Thread Title in  
SillyOldDuffer31/08/2020 15:01:11
Moderator
6465 forum posts
1422 photos

A while ago I developed a Pendulum Clock Analyser using a GPS Receiver and Arduino to accurately measure the performance of mechanical pendulum clocks. It was able to detect jitter in individual swings down to about 10 microseconds whilst being able to compare and log differences between pendulum time and GPS time, also logging temperature, humidity and air pressure.

To test the Analyser I made a simple 32g magnet driven bob suspended from a Meccano gantry. Rough as old boots! I was amazed to find it kept time nearly as well as a Quartz Digital Watch, worst run about 18 seconds per month, best about 10 seconds per month.

Reasons thought to be: low temperature coefficient carbon fibre rod; no suspension spring (the pendulum is the spring); ticks detected by breaking a beam, not mechanically; and minimal impulse applied by a electromagnet delivering a timed pulse - just enough energy to keep swinging.

testpendulum.jpg

A theoretical shortcoming is the bob is impulsed at the top of its swing rather than at the bottom, in theory less disturbing. Plus wobbly gantry and pendulum swinging in the open.

I wondered how good a clock built on the same principles could be if specifically engineered for accuracy? Something like: tripod gantry for rigidity; electromagnet impulsing bob at swing bottom and contained in an airtight shield. (Possibly in a vacuum.)

clock3dview.jpg

clockbasedwg.jpg

clocktopsideviews.jpg

clockwithshield.jpg

Pendulum won't be adjusted to a particular period. Rather frequency will be measured accurately and the Arduino programmed to convert ticks into human time.

I don't think it's necessary to temperature compensate the clock. Although Aluminium is proposed for the gantry, I don't believe it will lift the bob high enough on a hot day to disturb the impulse. Or will it?

Operation: when the beam is unbroken as the bob returns, the Arduino is triggered to pulse the electromagnet just before the bob reaches bottom dead centre. The pulse will be calibrated just wide enough for an effective impulse.

Unanswered questions.

  • How can the clock be started, specially if the bob is in a vacuum?
  • Does leaving out the suspension spring improve accuracy?
  • Without a suspension spring, is this a pendulum or a spring clock, and does it matter? (I guess not.)
  • At about 32g the proposed bob is tiny. Does this contribute to accuracy or not?
  • Feels too easy! Am I missing anything obvious?

All comments welcome!

Dave

Edited By SillyOldDuffer on 31/08/2020 15:02:05

Michael Gilligan31/08/2020 16:55:09
avatar
16648 forum posts
725 photos

Looks a great project, Dave

Using Carbon as both suspension spring and pendulum rod should work nicely ... in that configuration.

[obviously it doesn’t work well if the pendulum rod is involved in mechanical duties]

The key to success will, I believe, be to keep the extent of the swing as near constant as possible.

MichaelG.

Michael Gilligan31/08/2020 17:02:21
avatar
16648 forum posts
725 photos
Posted by SillyOldDuffer

Unanswered questions.

  • How can the clock be started, specially if the bob is in a vacuum?

.

Rock the whole structure

If you have a Kinematic base support [point/groove/plane] then it should settle nicely.

MichaelG.

Nicholas Wheeler 131/08/2020 17:19:47
414 forum posts
22 photos

Why not make the gantry legs out of carbon fibre rod instead of metal? Their expansion rate will be much closer to that of the pendulum.

Bazyle31/08/2020 19:00:37
avatar
5575 forum posts
207 photos

Why are you using a rigid pendulum? Would not a fibre tow be adequate? Haing a fixed suspension adds an additional effect to gravity which may not be linear.
You don't want the electromagnet at the BDC but offset a bit, or at least the impulse otherwise it might still be 'on' after passing through BDC. Offset would also provide a way to start it.
How do you check ampliturde?
Have you niticed any difference in day and night measurements owing to the ambient light affecting the trigger point of the IR sensor?

Michael Gilligan31/08/2020 19:09:01
avatar
16648 forum posts
725 photos
Posted by Bazyle on 31/08/2020 19:00:37:

Why are you using a rigid pendulum? Would not a fibre tow be adequate?

.

dont know

By definition ... Surely this cannot be rigid:

[quote]

carbon fibre rod; no suspension spring (the pendulum is the spring)

[/quote]

... ‘though we have no indication of how flexible it is [other than sufficiently to work]

MichaelG.

Bob Stevenson31/08/2020 19:09:27
440 forum posts
7 photos

Really interesting topic!........some points in no particular order;

 

1) You could easily make the design as shown with a vacuumn tube that slides over the gantry and fits to top and bottom plates via 'O' rings.........to start clock just set in motion and then slide the tube over the gantry onto 'O' ring base plate and remove the internal air pressure with small pump/syringe.....start timing.

 

2) electromagent pendujlums are not new and there is quite a lot of material for the searcher.......most everything in clocks has already been done, although there's always a good opportunity for a better implementation!

 

3) As we say with the carbon fibre pendulum rod topic, there is very little expansion due to temperature so making the gantry form CP will make for an excellent set-up.

 

4) Suspension springs are mainly to enable the movement to get a 'good push' between escapement and pendulum......

 

5) Can I have a copy of the Arduino analyser design please?

Edited By Bob Stevenson on 31/08/2020 19:10:29

Edited By Bob Stevenson on 31/08/2020 19:11:00

John Haine01/09/2020 07:58:33
3428 forum posts
184 photos

Dave, that is a very interesting approach. As I've said here before I have an Arduino-controlled version of a Synchronome ("Arduinome" which is working well. It does have a CF rod, but uses a stepper motor to operate the gravity arm every 30s. Sensing is optical, the pendulum period is fixed at just under 2 seconds, and the clock is mainly "rated" by adjusting the modulus of a counter that inhibits the pulse to the dial every so often (currently once every 158 swings). A few thoughts.

  1. The bob weight should be as big as possible to minimise sensitivity to impulse timing variations.
  2. I'm not sure how your rod is made - is it a single fibre in which case this is a gravity pendulum or is it actually a rod, in which case period will be partly determined by its springiness? If the latter, then though the tempco of length may be near zero the young's modulus tempco may not be.
  3. The support needs to be rigid in the plane of swing. I think your design with 3 rods is not ideal - maybe it would be better to use an enclosing tube? Two vertical bars which are as wide as possible in the plane of swing may be better.
  4. It could be worth a look at the "Synchronome1.io" group - a poster there describes a modification where he has a large coil mounted to the side of the iron pendulum bob, attracting it sideways when the impulse is needed. This can equally both impulse the pendulum normally and get it started by applying impulses at the nominal resonant frequency.

I hope this is useful. More anon...

John.

duncan webster01/09/2020 11:14:11
avatar
2853 forum posts
43 photos

When you add energy to a pendulum by giving it a push, whether via an escapement, solenoid or gravity you change the period of that swing. This effect is minimised by impulsing at the time of maximum speed, ie the bottom of the swing. This is all explained with some serious maths in a book The Science of Clocks and Watches **LINK**

This is generally reckoned to be 'a good thing', but to my simple mind as long as whatever you do to the pendulum you do consistently it won't affect the accuracy of a clock over a sensible number of cycles. Some electrically maintained clocks just impulse the pendulum every time and have a magnetic damper at the extreme of travel, they seem to work OK, but offend my finer thoughts.

I think you need some torsional rigidity in a pendulum, otherwise you get a Foucault pendulum. **LINK** Using a single carbon fibre tow doesn't have torsional stiffness, but might be a fun way of indicating the time. However, using 2 strands in a vee shape might work. For good accuracy the pendulum mounting needs to be stiff, if using a tube to hold vacuum perhaps the tube could also be the support.

I've made an electrically impulsed clock which I call the inverse Hipp. A classical Hipp monitors the angle of swing, and when it falls below that desired impulses the pendulum via an electromagnet. This principle was used in the Post Office Type 36 clock, of which hundreds if not thousands were made. Mine is similar, but it monitors the swing using slotted opto switches, and gives the pendulum a push on every swing unless the angle is too much, when it misses one out. Some people query using opto switches on the basis that they are affected by random light sources, I can only say I've never had any trouble, but the clock is not in direct sunlight. I've shone a torch at it at various angles and been unable to make it false trigger. This was made to prove it works, as I have found out as I've leaned more it has several shortcomings, the suspension spring is too long, and it has a steel pendulum for starters. However it's been running for the last 8 years, and I haven't set it correct for a long time (its 2 minutes fast to GMT, not got round to changing it to BST yet). It drives a Gents alternating polarity slave as can be seen.

It's in the workshop as SWMBO has deemed it to be 'ugly', no taste these women!

 

img_3060 (small).jpgimg_3063 (small).jpgimg_3064 (small).jpg

Edited By duncan webster on 01/09/2020 11:14:55

SillyOldDuffer01/09/2020 12:56:55
Moderator
6465 forum posts
1422 photos

Lots of posts and points for me to think about, so Bob Stevenson's request for info about the Clock Analyser first. It's not been written up as a project, but I could provide details if anyone fancies building it.

Processor is an Arduino Mega: similar to Nano or Uno but with more pins and memory. In this case, the extra pins are needed to drive a Sainsmart TFT Touch Screen. The master clock is a GPS module. GPS is the Achilles Heel of the project because it needs a good view of the Satellites. Works fine in my south facing dining room, no signal in my hallway. Not good for a portable analyser that's meant to work on clocks located anywhere in a house.

This picture shows a beam breaker sensor; Bazyle asked about sunlight, which is why the receiver is in a box and the aluminium faces are blued to reduce reflections. The same sensor is used here to pulse the test clock, yellow electromagnet from kitchen clock motor on right. Arduino Nano at left drives the test pendulum, the clock analyser is off-screen.

tftct_sensor.jpg

This is the Clock Analyser:

tftctview.jpg

A TFT screen is mounted on top of the Mega. GPS Module on the breadboard above. The ribbon cables are soldered to a home-made plug header as a prototype / breadboarding convenience: in a real build I'd put the whole lot on Veroboard.

Close of the screen:

tftctscreen.jpg

GPS time and Clock Time (based on counting swings), with difference in seconds. Green OK means GPS has locked on and is producing accurate second pulses.

Period of pendulum in microseconds (not accurate to the last digit)

The graph shows variation in pendulum time per swing. The graph is scaled to exaggerate perturbations, and the display ought to quantify them but deoesn't yet. From memory the difference between longest and shortest swing on this example is about 100uS. Although this pendulum varies swing by swing and has a superimposed cyclic variation, both effects average out.

The red and green lines and 0.4799 figure are tick-tock balance, ideally 0.5

Finally, bottom line shows length of pendulum calculated from simple formula, frequency in Hz from period, and estimated swing angle.

The source code for the analyser is here in Dropbox. The written description (odt document) is out-of-date.

Dave

Edited By SillyOldDuffer on 01/09/2020 13:02:05

Michael Gilligan01/09/2020 18:45:39
avatar
16648 forum posts
725 photos
Posted by SillyOldDuffer on 01/09/2020 12:56:55:

[…]

The source code for the analyser is here in Dropbox. The written description (odt document) is out-of-date.

Dave

.

Minor problem here, Dave

... it may be an Apple ‘Nanny knows best’ issue, but the one thing I cannot see is the source code.

odt document and photos are visible

MichaelG

John Haine02/09/2020 09:14:12
3428 forum posts
184 photos

To monitor my clock I use a "picPET" from Tom Van Baak. This is a PIC processor in an 8-pin DIP with synchronous code that provides time stamps at a serial output of the edges on one of the pins, timed to the accuracy of an external clock. I have a 10 MHz OCXO so the theoretical resolution is 100 ns. Though it isn't locked to "real time" for the purposes of monitoring deviations it is fine. Ideally I could discipline the 10 MHz to GPS but it wouldn't really provide any benefit.

The one I use sends out a "packet" that has the times of two successive edges from the opto, one +ve and the other -ve polarity, depending on the state of another pin. The timestamps are accumulated in a Pi (with some local processing) and files downloaded via Wi-Fi. This arrangement gives much better precision and resolution than possible with an Arduino with its 4 us cycle time. The monitoring is independent of the Arduino controller.

Regarding light sensitivity, I have found this to be quite a problem. The clock was initially running in a room at the front of the house on a backboard screwed to the wall, and during last summer when I looked at it in the morning it was frequently well off time and sometimes stopped. This was due to the morning sun shining directly on the opto and stopping it responding. Earlier this year, the clock now mounted in the kitchen in a case, I found that I was getting occasional spurious readings always around 5 - 6 pm. Careful observation revealed that it was the late afternoon sun shining on the opto. I reduced the size of the window in the case door and this has now been cured. It isn't a visible light problem, it's the sun's infrared, so artificial light may not be a problem.

SillyOldDuffer02/09/2020 09:46:35
Moderator
6465 forum posts
1422 photos
Posted by Michael Gilligan on 01/09/2020 18:45:39:
Posted by SillyOldDuffer on 01/09/2020 12:56:55:

[…]

The source code for the analyser is here in Dropbox. The written description (odt document) is out-of-date.

Dave

.

Minor problem here, Dave

... it may be an Apple ‘Nanny knows best’ issue, but the one thing I cannot see is the source code.

odt document and photos are visible

MichaelG

Looks like I boobed copying the source to Dropbox. There should now be a folder called TFT_ClockTester containing 4 files (3 header files .h, and the Arduino sketch, .ino:

tft_analyser_classes.h
tft_analyser_functions.h
tft_analyser_constants.h
TFT_ClockTester.ino

All text files that can be opened with textedit or similar.

Dave

SillyOldDuffer02/09/2020 10:03:29
Moderator
6465 forum posts
1422 photos

Posted by John Haine on 02/09/2020 09:14:12:

...

Regarding light sensitivity, I have found this to be quite a problem. The clock was initially running in a room at the front of the house on a backboard screwed to the wall, and during last summer when I looked at it in the morning it was frequently well off time and sometimes stopped. This was due to the morning sun shining directly on the opto and stopping it responding. Earlier this year, the clock now mounted in the kitchen in a case, I found that I was getting occasional spurious readings always around 5 - 6 pm. Careful observation revealed that it was the late afternoon sun shining on the opto. I reduced the size of the window in the case door and this has now been cured. It isn't a visible light problem, it's the sun's infrared, so artificial light may not be a problem.

Quick comment 'cos I have to go out shortly, but TV Remotes deal with this problem by modulating the Infra-red beam at 38kHz and then the receiver responds only to the 38kHz signal. Not thought it through, but I worry about how long it takes the electronics to recognise the 38kHz tone rather than a binary on/off. I think the simple solution is a shield.

I intend using a length of 68mm PVC drainpipe as a shield; now realise I must confirm PVC isn't transparent to Infra-red. For all I know PVC is useless in sunshine.

Details, details, details! Design is so difficult.

Dave

 

Edited By SillyOldDuffer on 02/09/2020 10:04:10

Michael Gilligan02/09/2020 11:23:27
avatar
16648 forum posts
725 photos

Posted by SillyOldDuffer on 02/09/2020 09:46:35:

[…]

There should now be a folder called TFT_ClockTester containing 4 files (3 header files .h, and the Arduino sketch, .ino:

tft_analyser_classes.h
tft_analyser_functions.h
tft_analyser_constants.h
TFT_ClockTester.ino

All text files that can be opened with textedit or similar.

Dave

.

All is well now, Dave yes

Thanks

MichaelG.

Clive Steer02/09/2020 14:32:58
27 forum posts

Picking up on the point that the "pendulum" does not have a suspension spring but relies on the carbon rod flexing doesn't this make it more like a tuning fork than a true pendulum. If that is the case then the resonant frequency will be a function of the mass of the bob whereas in a true pendulum clock the timing is largely independent of the bob mass. In some ways the arrangement is a mono resonator whereas a tuning fork is a double resonator with mutual coupling although the "pendulum" support structure could form the other half. Tuning forks can provide excellent time keeping as shown by the Bulova range of watches.

Clive

SillyOldDuffer02/09/2020 22:07:53
Moderator
6465 forum posts
1422 photos

Managed to think about some of the advice today.

I like the idea of supporting the pendulum with a tube but a tripod would allows me so see what I'm doing. Instead I propose to stiffent the tripod with a solid disc on top and one or more collars to prevent splaying.

clockmk2.jpg

Ordered the book recommended by Duncan been pondering the magnet position while waiting to see what is says. The advantage of putting the electromagnet at the side is it can be used to start the clock. (John Haine). But how much does that disturb the timekeepig compared with having the magnet at the bottom. I accept that impulsing the bob at its point of maximum momentum should reduce wobble, but I wonder if a magnetic impulse is so soft it doesn't make mich difference:

clockpulldownorsideways.jpg

When electromagnet 'B' is fired, it creates weak magnetic field becoming stronger as the bob gets closer, until the pulse ends. The bob experiences a short gently increasing tug, which feels far less intrusive to me than anything mechanical. An advantage of B is it pulls the bob to the same point which would tend to stop it doing a Foucault or otherwise wandering off track.

In the alternative, electromagnet 'A' gently accelerates the downswinging bob in the same way, which can't be worse than 'B', and might be much less intrusive..

Both positions must alter the period of the pendulum because the magnetic force is either increasing gravity 'A', or decreasing it 'B'. Which suggests the pendulum will be more accurate when it's period is long compared with the impulse. If so my design is flawed because of I propose a short 230mm rod.

On the plus side, the strength of the impulse can be guaranteed almost identical on each swing because the Arduino's clock produces accurate pulses, potentailly plus or minus 4uS. So the period of each swing will be altered almost identically.

Will order some O-rings tomorrow and think about vacuums, cable feeds and the other comments. Be good to make the basic tripod and test that. Occured to me that the pillars could be ceramic, perhaps repurposed electric fire elements. Ceramics have low temperature corefficients of expnasion.

Dave

SillyOldDuffer07/09/2020 19:24:25
Moderator
6465 forum posts
1422 photos

Quick update, I've built a frame and shield. In 3D CAD:

clockmk2.jpg

And the real one so far:

dsc06305.jpg

I've taken the opportunity to increase the base for stability, and the reinforcing ring is positioned below the centre of gravity.

Also busy reading the book Duncan recommended: 'The Science of Clocks and Watches'. Well-written, and Duncan's link was to the latest version which is annotated to update and clarify Dr Rawlings original.

Many ideas for me to explore. Turns out lots of tiny things I'd never have thought of reduce the accuracy of free pendulum clocks!

Next move, cannibalise and fit the electromagnet from a 5V miniature relay and write the Arduino code needed to start and maintain the pendulum.

Rather than evacuate the shield I'm going to seal the clock and use temperature and barometric sensors inside adjust the rate in software. No idea how well it will work!

Watch this space.

Dave

Martin Kyte07/09/2020 20:50:37
avatar
2130 forum posts
37 photos

Hi S.O.D.

So you asked for thoughts, here are mine.

Just going by your description I would say this is not a pendulum in the sense that the dominant restoring force is the carbon rod spring. It would be interesting for you to measure the static restoring force at the amplitude your clock works at to get a proper comparison. If the restoring force of the rod is large enough it should work upside down.

I have no idea how composite carbon fibre rods compare regarding energy losses with ordinary spring steel but I would hazard a guess that they are quite lossy. Have you measured the Q.

What is your thinking behind a low mass 'bob'

For pendulum clocks barometric pressure causes changes in the boyancy of the bob which affects the weight and thust the resoring force. In precision free pendulum clocks the enclosure acts to ensure a constant barometric pressure and generally were under a partial vaccum. If your clock relies much more on the rod as a spring then I would expect barometric pressure to have less effect. Adding a shield to exclude draughts however is clearly benificial. If you do seal the clock you will find you isolate from barometric variation what you will not do though is isolate from temperature variation which will affect the air friction and hence the damping.

If the clock is indeed mostly reliant on spring force for oscillation rather than a gravity pendulum then the argument for a rod with a low coefficient of expansion is lost as the oscillation frequency is no longer dependent wholy on length but on spring stiffness.

How does the stffness of your carbon fibre rod vary with temperature.?

Interesting experiment.

regards Martin

Michael Gilligan07/09/2020 22:00:51
avatar
16648 forum posts
725 photos
Posted by Martin Kyte on 07/09/2020 20:50:37:

Hi S.O.D.

So you asked for thoughts, here are mine.

Just going by your description I would say this is not a pendulum in the sense that the dominant restoring force is the carbon rod spring. It would be interesting for you to measure the static restoring force at the amplitude your clock works at to get a proper comparison. If the restoring force of the rod is large enough it should work upside down.

I have no idea how composite carbon fibre rods compare regarding energy losses with ordinary spring steel but I would hazard a guess that they are quite lossy. Have you measured the Q.

What is your thinking behind a low mass 'bob'

[…]

.

I may have missed it, but ... has Dave yet disclosed the size of the ‘rod’ and the mass of the ‘bob’ ?

MichaelG.

All Topics | Latest Posts

Please login to post a reply.

Magazine Locator

Want the latest issue of Model Engineer or Model Engineers' Workshop? Use our magazine locator links to find your nearest stockist!

Find Model Engineer & Model Engineers' Workshop

Latest Forum Posts
Support Our Partners
Warco
emcomachinetools
EngineDIY
cowells
ChesterUK
Eccentric July 5 2018
Eccentric Engineering
Subscription Offer

Latest "For Sale" Ads
Latest "Wanted" Ads
Get In Touch!

Do you want to contact the Model Engineer and Model Engineers' Workshop team?

You can contact us by phone, mail or email about the magazines including becoming a contributor, submitting reader's letters or making queries about articles. You can also get in touch about this website, advertising or other general issues.

Click THIS LINK for full contact details.

For subscription issues please see THIS LINK.

Digital Back Issues

Social Media online

'Like' us on Facebook
Follow us on Facebook

Follow us on Twitter
 Twitter Logo

Pin us on Pinterest