Misc. Improving the accuracy of a grandfather clock

  • Thread starter Thread starter Ifor Bach
  • Start date Start date
Ifor Bach
Messages
6
Reaction score
0
TL;DR Summary
I intend to phase lock the pendulum to an accurate off-air standard as non invasively as possible.
The idea is to use water to shift the centre of gravity of the pendulum by a small amount. The pendulum rod will have a tube closed at the bottom and open at the top. A second similar tube will be mounted nearby and will act as a reservoir.

The water will be transferred using a peristaltic pump driven by a stepper motor and will travel via a thin flexible silicon tube. A loop arrangement will minimise friction at the pendulum's fulcrum. The silicon tube will extend to the bottom of the tubes and as the total quantity of water will be slightly less than the volume of one tube, limit switches will not be needed. If something goes wrong and all the water from one tube is pumped to the other, the pump will simply pump air thereafter which will bubble up through the full tube but cause no spillage.

An optical detector will monitor the swing of the pendulum, and this signal will be compared with an accurate off-air standard by a microprocessor which will generate the appropriate pulses to drive the stepper motor in either direction.

My problem is how to stop the system 'hunting'. Ideally I'd like the system to settle down to a steady state. Can anyone suggest a simple algorithm that will adjust the frequency of adjustments and the amount of water transferred to achieve this over time.
 
Physics news on Phys.org
Based on your description, I'm not sure how your pump can both speed up and slow down the pendulum.

But, in broad terms, what you are attempting to implement is a PID Controller.
PID: proportional, integral, derivative

I took a peak at this 22-minute video and (based on the first 90 seconds), it seems to address your topic of interest.
 
Ifor Bach said:
TL;DR Summary: I intend to phase lock the pendulum to an accurate off-air standard as non invasively as possible.

The water will be transferred using a peristaltic pump driven by a stepper motor and will travel via a thin flexible silicon tube.
An interesting project and would look good as a 'mechanism'. However, the long pendulum system has been developed over the centuries to optimise accuracy. The (however) light and flexible tube will be interfering with that already excellent design. To get the best out of a system, I'd have thought that you need absolutely minimal interaction with the pendulum motion. I would have thought that nothing should be affecting the motion of the pendulum. An occasional 'nudge' from a normally disconnected source would produce the natural timing of the clock with only ,say, a puff of air, to add or subtract a miniscule dose of energy to the oscillator.
Ifor Bach said:
TL;DR Summary: I intend to phase lock the pendulum to an accurate off-air standard as non invasively as possible.

My problem is how to stop the system 'hunting'.
Absolutely. There are many systems for negative feedback to control position, speed, frequency etc.. To reduce your 'hunting' effect you need to aim at stability. I remember, many years ago, trying to make a phase lock look work properly and it is not easy until you get into control theory. Nowadays, it's easy to approach using a program running on a microprocessor.

You describe the mechanism for adding and subtracting energy but what actual control mechanism (the brain) are you planning?
 
Th old clock is already more accurate than I am or need to be. It is not, however, accurate to one second in over a hundred million years and it is simply a fun project to get a 250 year old clock to that level of accuracy.

The fact that I have loop of silicone rubber tubing bridging the fulcrum doesn't seem to have any noticeable effect on its accuracy. I tried this as an initial check on the feasibility of the project. But as I will be adjusting the phase of the pendulum with a one second pulse from an off air standard, it would not matter much if it did. I will adjust the centre of gravity to get a one second pulse in phase with the accurate off-air one.

The 'brain' is a microprocessor. I have an Arduino, and a selection of PIC chips from other projects and will use one of them/. The idea is to compare the phase and if the pendulum advances on the 1 second pulse, it will pump out a little water, effectively lengthening the pendulum and its period, until it falls back into sync. If it slows down, the reverse process takes place. The pump and the stepper motor allow extremely fine control of the amount of water moved. The energy to drive the pendulum comes from the weights as now and I will have to wind it weekly as I do now.

A previous contributor - Scott - has recommended a short video on a PID controller. I have come across it for temperature control where it is often used, and as he observes seem applicable here too. I will look at it indue course. It will be implemented in the processor of course and I anticipate having to fiddle about with different approaches until the system is stable. I will add a display to monitor its behaviour.

I have enormous respect for the craftsman who made the clock. It is simple, clever and accurate and I do not want to modify it in any way. This seems the least invasive approach given my skills and facilities. I will remove it all when I've shown it works and leave the old gent to his peaceful second by second measurement of the centuries.
 
The OP wants this to look like it is telling time based on the natural periodic swinging of the pendulum - with minimal changes to the clock. And, I am guessing that he also wants it to appear as though there are no external timing devices that are controlling the clock.

I would not use fluids in the design. It should be possible to place a permanent magnet at the end of the pendulum and to place a small electromagnet at the base - just clear of that swinging magnet.

In situations like this, you generally adjust the natural frequency of the device (in this case the swinging pendulum) to be off-frequency. When you do this, the problem is not one of determining which direction to push the frequency, but rather only by how much to push that frequency.

So, start out with a pendulum that is slow even with the extra weight of the permanent magnet. As the magnet swing past the electromagnet, it is detected and the electromagnet can give it a tug. If the device is set up correctly, that tug can not only adjust the speed of the pendulum, but power it as well. So, you shouldn't need to wind the clock - just keep power going to your timing circuit.

If you have looked into PID controllers, you should know the next step. You need an up/down counter. It will get incremented every time it thinks that a swing should have happened (the crystal clock - or whatever), and decremented every time it detects a swing. Then it will determine the amount of accelerating "tug" that will be applied as the magnet approaches the electromagnet. The more time it needs to make up, the more of a tug.

If the acceleration is gradual enough, there will be no "hunting" - instead, it will just asymptotically approach the correct rate of swinging. If you want better than gradual - or if you want to avoid it being some rough number (like roughly 30) swings late, then you need to look into PID loops, implement the PID loop, and then experiment. With a PID loop, you can should be able to: get the frequency lock; have it track as temperature, humidity, and age changes; and to resync promptly when disturbed.

In industry, there is some arithmetic to getting the initial PID parameters. But then those parameters are "tuned" by trial and error. Any attempt to get ideal PID parameters on the first shot would require a more precise model of the pendulum, tug-circuit, and frictions than you have available.
 
I don't want to do it the way you suggest. My first thought was to use a tiny stepper motor and gear assembly and a 'lead screw' to move a weight up and down the pendulum rod, and actually build an assembly. However it reuired four wires for the stepper motor drive and another four for limit switches and it looked messy. A simple class tube looks much easier and as the quantity is limited no limit switches are needed.

Using a stepper motor and a peristaltic pump is attractive as I can move fluid by a fraction of an ml (it is a 200 step/rev motor) or several ml/sec. I am prepared to try various approaches which is in principle easy to do in a microprocessor.
 
If you want the pendulum escapement to click synchronously with the start of the one second NMEA string from a GPS receiver, you will have to adjust the pendulum period to compensate for the influence of all physical variables.

The tick and the tock sounds, of the escapement on a two-second-pendulum, are not equally spaced in time. You will need to measure the tick or the tock, or sense the swing of the pendulum past the vertical in one particular direction. It would be good to track the time difference in milliseconds between the zero crossing of the pendulum and the GPS reference. The control system should aim to bring that rapidly towards zero, then settle quickly at zero.

Ask yourself what the highest frequency component of the possible changes are. The control system must outperform that fastest change. The temperature of the air and pendulum rod will be important, as it quickly changes in length. Least important will be the changes in g, as the Earth tide changes, due to the position of the Moon and Sun.

I would hesitate to use pumped water, as the control system would not be able to learn, since it could never be sure of the exact position of the changing mass of water.
 
I don't need to know where the water level is. I merely need to know whether to increase it or decrease it to synchronise the pendulum to the one second accurate pulse.

Similarly the tick and tock is irrelevant too. The clock is already adjusted so they are symmetrical and I see no reason for this to change. I believe horologists call this being 'in beat'

Changes in temperature are slow, compared to the speed of the microprocessor. As this is the case I do not intend to adjust on every swing of the pendulum. I may well wait an look at every tenth beat or even once a minute. Any adjustment will be tiny and slow,
 
Ifor Bach said:
I don't want to do it the way you suggest.

Air will not "bubble" through the tubing readily. Any bubble will tend to move with the water. Water can move across the bubble through evaporation and wetting the tube. Of course, the water itself can hold some dissolved air.

Most importantly, you need to concern yourself with the "range of control".

To recover from being disturbed, you probably want it to affect at least a full minute within a few hours - a change in period of about +/-0.5 percent. But once it is synced up and running, it will only need to compensate for temperature, humidity, and aging over the course of days - say to within a minute per day, about 0.07 percent. And that 0.07 percent correction should be selectable to within 0.001 percent of the full range.

So the mass you are moving should be about 1 percent of the mass of the pendulum's mass (allowing for distance to the fulcrum) and should be adjustable in increments of 0.001 percent of that mass. And, it should be expected to normally live in the approximate middle of that range.

Of course, if your use case is not as I described, apply the appropriate arithmetic.

With these numbers in hand, you can select the sizes of your tubing, the dimensions of you peristaltic pump, and what kind of gearing you will need to convert one stepping motor step to one 0.001% unit of control.

And then think about controlling that pump. The normal thing to do in this kind of control is to put the entire control range on one side of zero. In your case, it would mean designing your system so that the motor only ever moves in one direction. Otherwise, you will sometimes need to reverse the direction of the stepping motor to your peristaltic pump - a process that will involve multiple sources of play that would need to be modeled by your uproc.
 
  • #10
Ifor Bach said:
I don't need to know where the water level is. I merely need to know whether to increase it or decrease it to synchronise the pendulum to the one second accurate pulse.
A very small DC electric motor on the back of the pendulum could move a fixed mass between two limits, in half a turn. That would speed up, or slow down the clock. A physical stop with limit switches would be on the motor, to reduce power, with diodes to allow recovery in the other direction. Clock fast, or clock slow, decides polarity of voltage to the motor. Very low power. Only two thin wires are needed on the pendulum rod. Duty cycle near zero depends on length error of the pendulum, that can be corrected. If you sample the pendulum position optically, on the pulse from the GPS NMEA, then you need no microcontroller, stepper drive electronics, or pump.

A PID controller needs to know the magnitude of the error, at least in milliseconds, and it needs to apply a known correction force.

Did you see this...
Baluncore said:
Some clocks were deliberately designed to run fast, then they are held waiting at a defined point, until a master clock pulse arrived, to release their gear train, hence the term "waiting train" clock.
 
  • #11
Ifor Bach said:
Changes in temperature are slow, compared to the speed of the microprocessor. As this is the case I do not intend to adjust on every swing of the pendulum. I may well wait an look at every tenth beat or even once a minute. Any adjustment will be tiny and slow,
You can look at it on every swing. But under normal conditions, it will not result in any control change.
Each time you detect a swing, you can check whether that swing occurred within the expected range of times. As several seconds go by without a swing, you will make corrections aimed at recover the missed swings within some period - perhaps over the next hour or two.
 
  • #12
.Scott said:
Air will not "bubble" through the tubing readily. Any bubble will tend to move with the water. Water can move across the bubble through evaporation and wetting the tube. Of course, the water itself can hold some dissolved air.

Most importantly, you need to concern yourself with the "range of control".

To recover from being disturbed, you probably want it to affect at least a full minute within a few hours - a change in period of about +/-0.5 percent. But once it is synced up and running, it will only need to compensate for temperature, humidity, and aging over the course of days - say to within a minute per day, about 0.07 percent. And that 0.07 percent correction should be selectable to within 0.001 percent of the full range.

So the mass you are moving should be about 1 percent of the mass of the pendulum's mass (allowing for distance to the fulcrum) and should be adjustable in increments of 0.001 percent of that mass. And, it should be expected to normally live in the approximate middle of that range.

Of course, if your use case is not as I described, apply the appropriate arithmetic.

With these numbers in hand, you can select the sizes of your tubing, the dimensions of you peristaltic pump, and what kind of gearing you will need to convert one stepping motor step to one 0.001% unit of control.

And then think about controlling that pump. The normal thing to do in this kind of control is to put the entire control range on one side of zero. In your case, it would mean designing your system so that the motor only ever moves in one direction. Otherwise, you will sometimes need to reverse the direction of the stepping motor to your peristaltic pump - a process that will involve multiple sources of play that would need to be modeled by your uproc.
Under normal circumstances I think the water trasnfer pipe will be entirely full of water. No air. Air would only get in if all the water in ten tube on the pendulum were exhausted and air would be sucked in. This would be a fault condition only.

The stepper motor operate at 200 steps per rev. I have no idea how much water the peristaltic pump will move in one step but it will probably be a tiny part of one ml. It will however be capable of running at a thousand steps a second so can also shift a lot of water fast.

I can adjust the range of control by choosing the diameter of the tube on the pendulum. I will measure the period when the tube is full of water and when it is empty to make sure this brackets 1 second.

After that it is a matter of adjusting various software parameters and control methods until it works as intended.
 
  • #13
Ifor Bach said:
The stepper motor operate at 200 steps per rev. I have no idea how much water the peristaltic pump will move in one step but it will probably be a tiny part of one ml. It will however be capable of running at a thousand steps a second so can also shift a lot of water fast.
I think you already realize that putting this into high-speed mode will never be required.
But let's check that pump you plan on using:

Let's say that your pendulum is effectively a mass of 1Kg at the distance of where your water (ie, your control mass) will end up. Given the assumptions I made in the last post, you will need to be able to adjust the pendulum water across a range of 10 grams in about 100ugram steps. So the volume of water in a single step of your stepping motor would ideally be no more than about 0.0001cc (0.1ul). Let's say that your pump has a wheel circumference of 10cm. So one step will be 1/200 of that diameter or 0.05mm. So the cross-section of the inner diameter of your tube should be no more than 0.0001cc/0.00005cm=2sq cm.

I think you should be fine.
 
  • #14
I had convinced myself of this, but your confirmation is a welcome boost to my confidence. Thank youj.
 
  • #15
.Scott said:
I would not use fluids in the design.
It all depends on what theOP wants the result ing system to look like. This will affect the final choice.

An alternative, least invasive, method:
I have a short pendulum clock which is spring driven. The varying tension in the spring has a significant effect over the run-down, unlike the constant torque driver of the falling mass (the loop of chain is a clever idea). My spring clock has a compensating mechanism called a Fusee movement. The power drive goes through a profiled conical drum which varies the torque to compensate for the falling spring tension. Time keeping is not impressive; around a minute a week but the Fusee improves it a lot compared with another clock I have without a Fusee.. My point is that varying the drive torque will affect the pendulum rate with very little actual contact with the sensitive oscillator. This is a general principle of making highly accurate oscillators; stand off the oscillating part from the power supply.

Fine peed adjustment of long case clocks can be achieved by varying the mass of the falling weight. Weight could be added or subtracted using many methods. The time constant relating period to the weight would be very long (hours) so the weight adjustment mechanism could 'chase' the falling weight and deposit or remove small loads.

I'd be interested in how the OP is measuring the pendulum period; he describes 'hunting' and that isn't surprising. My earlier remarks about control loop design are relevant - although the use of a processor means the parameters are much easier to vary, these days.
 
Back
Top