Jump to content
  • entries
    5
  • comments
    402
  • views
    4,065

Longcase Pendulum Clock


Gina

14,590 views

Traditional longcase (grandfather) clock but using 3D printed gears etc.  Also transparent acrylic clockface and mechanism front and back plates to show all the works.  The case is made of wood and pretty much traditional shape.  In addition to the usual hour and minute hands and dial this clock will have a moon globe above the main clock face similar to my moon dial clock.  I may add a small seconds dial if this proves viable.  There will also be an auto-winding mechanism driven from a stepper motor.   I'm hoping to add a striking mechanism once I have the main clock working.

182 Comments


Recommended Comments



Model of clock "works" in case.  The dial isn't really white, it's black but the CAD software adds white lines round everything.

1734231671_Screenshotfrom2018-10-2919-58-02.png.5ec784d028fa9dc9498d506fdfc8d246.png433655012_Screenshotfrom2018-10-2920-04-14.png.c2af4e6b936ffbac0ff3efcfa9a37327.png

Link to comment
Gina

Posted (edited)

Started to look at this project again.  First thing is to get the escape mechanism working - maybe with a test rig.  I have make improvements to my Mini 3D printer giving better results so I might just succeed this time.  Pretty much everything will be printed in PLA.

Plan of stages :-

  1. Get test escapement working.
  2. Take a new pair of acrylic sheets for the front and back plates, drill holes and add ball bearings.
  3. Construct and add the "going train".
  4. Add the gears that drive the hands and the hands themselves.
  5. Add motor-winder for the going train.
  6. Add mechanism to automatically adjust effective pendulum length to regulate the clock.
  7. Add the chiming mechanism.
  8. Add motor-winder for chiming train.

I'm having second thoughts about the moon dial as I already have a moon dial clock in this room.  I would rather concentrate on the case and getting the whole clock looking presentable.

Edited to add extra sections I'd missed out.

Edited by Gina
Link to comment

Printed anchor fine now printing escape wheel (2nd attempt) with 0.3mm nozzle and 0.2mm layers.

Link to comment

Here is a photo of the gears of the "going train" and escapement laid out on the table.  I'm trying a larger escape wheel and anchor to reduce the need for precision 3D printing.

2111910533_GoingTrain01.png.6c02400b8cdb75b8dc97fc113733efcd.png

  • Like 1
Link to comment

Tests with that escapement seem favourable so I'm going ahead with the construction.

Link to comment

Now printing the brackets which hold the bearings for the anchor shaft and pendulum suspension.

Link to comment

Printed the crutch and tried to assemble it all but found the anchor wouldn't fit so redesigned it and just finished printing it.

1213972341_Screenshotfrom2019-05-2313-09-47.png.57014b479b1b66418d207ce7a840174b.png

Link to comment

Going train with escapement assembled into the two acrylic plates.  Unfortunately it's binding somewhere and won't run.  Have to take it apart again and reassemble in stages until I find the problem.  This is the clock mechanism out of the case.  The pink part takes the drive chain.

723799819_GoingTrain02.png.5e01887e23dcf0a1f62c5f85e969c5f5.png

Link to comment

The centre wheel and the intermediate wheel were both at fault and I'm reprinting both.

Link to comment

The gears seem to be alright now but there is still too much friction.  It would need several kilos weight to drive the clock even without the escapement.  I think I need to reduce the gear ratio between chain drive sprocket and centre wheel.

1175281995_GoingTrain03.png.bda86d68469d5e956a9f6906afc58c86.png

Link to comment
Gina

Posted (edited)

Decided to simply go for a 1:4 gear ratio rather than 4:1 on the chain drive to centre wheel gear pair.  The means just 1/16th the weight required but running 16x faster.  This is no problem with the stepper motor drive, in fact it's easier.

Calculating...

  1. The centre wheel turns once per hour so the drive sprocket 4 times an hour or 15m per revolution.
  2. Chain drive sprocket has 18 teeth and motor sprocket 8 teeth.
  3. Motor sprocket wants to turn 18/8 times in 15m or 18x4/8 = 9 times an hour ie. 9/60 = 3/20rpm or 20/3 mins/rev which is 20x60/3 = 400 secs/rev
  4. I expect to use a NEMA17 or maybe NEMA14 stepper motor with 200 steps/rev.
  5. If I were to use 1 step/sec motor speed the motor shaft would rotate at 200 secs/rev
  6. I plan to drive the motor sprocket with a pair of spur gears from the stepper motor so the ratio would be 2:1 - very convenient. 
Edited by Gina
Link to comment
Gina

Posted (edited)

The striking mechanism will also have automatic winding but this case is quite different.  In a period of 12 hours the clock strikes 1+2+3+4+ --- +10+11+12 = 78times.  If the motor winding is constant (easier to implement) the weight will move up and down as the rotation rate of the chain wheel is not only intermittent but varies a lot over the 12 hour period.  The total motion will be 78 units in 12 hours but 12 of those are in the last hour and only one in the first hour, 23 in the last two hours etc.  I think the easiest way of catering for this is allow for the full 78 units of weight drop in the space inside the case.  This allows a considerable safety margin, maybe unnecessarily but is a starting point.

The upshot of the above is that 78 revolutions of the strike wheel would result in in the chain moving twice the weight hight range in the case.

Calculating...

  1. Height of case less height of weight plus pulley/sprocket is around 1.5m
  2. Each chain link pair is 20mm
  3. Using the same design of drive sprocket as the main clock, with 18 teeth, one revolution is 18 x 20 = 360mm
  4. Total chain length for full weight range is twice weight range = 3m
  5. Number of revolutions of striking drive sprocket is therefore 3000/360 = 8.33
  6. Allowing for the full striking sequence within the case height means 78 revs of the strike wheel corresponds to 8.33 revs of the motor sprocket
  7. Gear ratio is 78/8.33 = 9 which conveniently works out as two pairs of gear with 3:1 ratio.

Now for the motor drive gearing...

  1. If I use the same design of motor sprocket with 8 teeth, that's 8x20 = 160mm of chain.
  2. Since the chain would move 3m in the 12 hours driving the strike mechanism then this amount needs winding up in that time.
  3. 3m of chain with 160mm per rev of the motor sprocket means 3000/160 turns of the sprocket in 12 hours ie. 3000/(160x12) = 1000/(160x4)
  4. In one second the sprocket wants to turn 1000/640x3600) revolutions ie. one rev in 640x3600/1000 = 64x36 = 2304 secs
  5. Motor turns once in 200s so we want a gear ratio overall of 64x36/200 = 8x36/25 boiled down to the lowest common factor
  6. That's either a lot of gears or includes a ratchet drive.
Edited by Gina
Link to comment
Gina

Posted (edited)

I had thought of having one winding motor in the middle driving both the going train and the striking train but if the motor is to go behind the back clock plate it can't be in the middle because the pendulum occupies that place.  I could have the motor on the right driving the main winding sprocket and that could go on to drive the strike winding sprocket.  To go behind the back plate it would have to be a NEMA14 as a NEMA17 would be too big.  I shall need to confirm that the NEMA14 is powerful enough to drive the clock. 

Whilst it would save costs a bit to use the one motor to wind both the clock and the striking system, I could save much if not all the reduction gearing by having a separate motor for the striking part.  With a separate motor it could run it much less often and save gearing or even make it match the striking sequence with suitable Arduino code.  Anyway, I can look into that later, as long as I leave room.

Edited by Gina
Link to comment

Made a few tweaks and assembled the mechanism again from chain drive to escapement and pendulum crutch and been testing.  Making progress.  The escapement waggles nicely with a small pull on the chain.  Next job will be to add the pendulum and mount the clock into the case to give the pendulum room to swing.  Then connect a weight to the chain and see if the clock will run and if so how much weight it needs.  I have a variable weight in the form of a one litre screw cap bottle to which I can add water as required.

 

Link to comment

Clock mechanism in case.  The pendulum rod is a steel rod from an ancient wall clock but seems to be too flexible.  I may try a dowel rod instead though the air friction will be much higher.

699466540_GoingTrain05.thumb.png.f5be06ed49a9f25a610db0d3d5557d76.png

Link to comment
Gina

Posted (edited)

Made up a new pendulum with 12mm hardwood dowelling, 3D printed coupling to the suspension spring and a new 3D printed bob.  This should help but there are two adjustments which could do with making variable - the spacing of the anchor from the escape wheel and to get the escapement "in beat" without tilting the whole clock.  (In beat means getting the "tick-tock" equally timed.)

1465442301_GoingTrain06.thumb.png.c6332d1706bfcac2c65fcf7f1625c2c5.png

Edited by Gina
Link to comment

Designed a lever system to adjust the height of the anchor so that I can set the separation of anchor from escape wheel.  I've replaced the original round arbour on the anchor with a square section to avoid the movement I was getting before.  This was intended to allow for getting the clock "in beat" but it was too coarse and also tended to move in use.  I'll think about that adjustment later.  One possibility is bending the crutch as is often done with pendulum clocks to get them "in beat".  With printed plastic this involves heat to soften the plastic.  Alternatively I could replace the plastic with solid wire.

Here are screenshot of the CAD models.  Adjustable suspension, anchor and crutch.

1403989603_Screenshotfrom2019-05-2916-29-01.thumb.png.adbf9182a99862b2c7cf17fc73a9dcdd.png

1858694198_Screenshotfrom2019-05-2916-27-27.png.dcc459e86969ac1951bb53baa7ebe689.png

115360380_Screenshotfrom2019-05-2916-30-14.png.f14ba65a73dc961ba5482eb0f47daaed.png

Link to comment

Going train and escapement.  The moving end of the adjustable suspension lever will have an M6 threaded rod, bearing and thumb wheel to adjust the height.

461170513_GoingTrain07.thumb.png.08cf25f25a4ccb1b9bdf1dff2eec8502.png

Link to comment
Gina

Posted (edited)

Have the clock running after a fashion but it's irregular and doesn't keep going for very long.  A new escape wheel, anchor and adjustable escapement have helped but I still don't think the escape wheel is accurate enough.

1844466427_GoingTrain08.thumb.png.f61f5db44272caf976d6ebc523f96aa2.png

Edited by Gina
Link to comment

Having another look at this project.  The impasse ATM is the escapement.  To date I have not been able to produce an accurate enough escape wheel.  I've worked out that the tolerance required is of the order of 0.1mm and have found this difficult to achieve in a 3D printer.  I may have another attempt with my latest 3D printer.  The problem is that if the teeth are not all exactly the same distance from the centre of rotation and the same shape, the drive is either insufficient to keep the pendulum swinging or the escapement "skips".

One "fudge" I've thought of is to drive the pendulum separately so that the escapement is not required to drive it.  This would mean a far lighter weight would be needed to run the gear train with less tendency to "skip".  Of course, the pendulum would need to be "tuned" fairly accurately to the 2s period of the drive or the two would "fight".  Effectively, the pendulum is a very high Q tuned circuit, albeit a mechanical one.  Apart from getting round the escapement problem, the clock would effectively be a "slave" to the RTC module and stepper motor driver circuit.  I had planned to add an automatic time-keeping system whereby the pendulum length was adjusted to make the clock keep time.  A closed loop control system.  The open loop pendulum drive would be simpler.

I want to get the time-piece part of the clock working so that I can get on with the striking mechanism which intrigues me.

 

Link to comment

I've decided to drive the pendulum rod just below the clock face.  This will consist of a cross-bar connecting rod connected to an offset (crank) bearing on a 64t gear.  A stepper motor will drive this with a 25t gear arranged to drive the pendulum at 2s per cycle.  The electronics will consist of a Real Time Clock module (extremely accurate) driving a TMC2100 stepper driver module.  The latter can provide very quite stepper motor operation (I'm Using one in my Giant 3D Printed Wall Clock).

  • Pulse rate from RTC = 4096 Hz square wave
  • NEMA14 stepper motor has 200 full steps per revolution
  • Microstepping multiplies this by 16x
  • Gear ratio to crank is 25:64 step down.
  • --- Now to the calculation ---
  • 4096/16 = 256.  Equivalent of 256 full steps per second.
  • Seconds per revolution of motor shaft = 200/256.
  • Seconds per revolution of crank = 200/256 x 64/25 = 200/25 x 64/256 = 8x64/256 = 2

Here's a quote from an earlier post with an Arduino sketch.  I can modify this and drive the TMC2100 directly from the RTC module cutting out a number of lines of code.  The Arduino would only be needed to set the parameters in the RTC module.

On 29/07/2017 at 21:20, Gina said:

Here's the new Arduino sketch :-


// Filename :- Pendulum_Clock_v4_with_NEMA14_Auto-winding_2017_07_29
// Software timing from RTC on pin 2 using polling
//
#include <DS3232RTC.h>    //http://github.com/JChristensen/DS3232RTC
#include <Time.h>         //http://www.arduino.cc/playground/Code/Time  
#include <Wire.h>         //http://arduino.cc/en/Reference/Wire (included with Arduino IDE)
//
String VerString = " Pendulum_Clock_v4_with_NEMA14_Auto-winding_29_07_2017";
boolean lastSqWave = 0; 
boolean ledON = 0; 
int count = 0;  // Used to flash LED
int sqwPin = A6;
int dirPin = 8;  // DIRECTION pin
int stepPin = 9; // STEP pin
int ms1Pin = 11;  // Microstepping pin
int ms2Pin = 10;  // Microstepping pin
int ms3Pin = 12;  // Microstepping pin
int ledPin = 13;  // Internal LED pin
//
void setup() {
  Serial.begin (9600);     // Enable Serial Monitor via USB
  pinMode(dirPin, OUTPUT);
  pinMode(stepPin, OUTPUT);
  pinMode(ms1Pin, OUTPUT);
  pinMode(ms2Pin, OUTPUT);
  pinMode(ms3Pin, OUTPUT);
  pinMode(ledPin, OUTPUT);
  digitalWrite(ms1Pin, 1);  //  16x micro-step mode
  digitalWrite(ms2Pin, 1);  //  16x micro-step mode
  digitalWrite(ms3Pin, 1);  //  16x micro-step mode
  digitalWrite(dirPin, 1);
  pinMode(sqwPin,INPUT_PULLUP);   //  RTC timing pin
  Serial.println(VerString);
  setSyncProvider(RTC.get);  // the function to get the time from the RTC
  if(timeStatus() != timeSet) 
      Serial.println(" Unable to sync with the RTC");
  else
      Serial.println(" RTC has set the system time");
  RTC.squareWave(SQWAVE_1024_HZ);    // 1024Hz square wave            
}
//
void runClock(void){
  digitalWrite(stepPin, 1);
  delayMicroseconds(5);     // Make STEP pulse at least 5μs long
  digitalWrite(stepPin, 0);
  count ++ ; // increment count
  if (count > 512) {count = 0; ledON = !ledON; digitalWrite(ledPin, ledON); }  //  
}
//
void loop(){
  boolean val = ((analogRead(sqwPin) > 500));  // read logic level of 1Hz square wave
  if (val != lastSqWave)  { lastSqWave = val; if (val) runClock(); }  //  Call runClock on rising edge of RTC square wave
}
// End

 

Link to comment

This is all that's now required in the sketch and in fact, I don't think it needs either the Serial Monitor  or to get the time from the RTC module.  I shall try it without and leave just the square wave setting.

// Filename :- Pendulum_Clock__v5_with_NEMA14_Auto-winding_29_10_2019
//
#include <DS3232RTC.h>    //http://github.com/JChristensen/DS3232RTC
#include <Time.h>         //http://www.arduino.cc/playground/Code/Time  
#include <Wire.h>         //http://arduino.cc/en/Reference/Wire (included with Arduino IDE)
//
String VerString = " Pendulum_Clock_v5_with_NEMA14_Auto-winding_29_10_2019";
//
void setup() {
  Serial.begin (9600);     // Enable Serial Monitor via USB
  Serial.println(VerString);
  setSyncProvider(RTC.get);  // the function to get the time from the RTC
  if(timeStatus() != timeSet) 
      Serial.println(" Unable to sync with the RTC");
  else
      Serial.println(" RTC has set the system time");
  RTC.squareWave(SQWAVE_4096_HZ);    // 4096Hz square wave            
}
// End

 

Link to comment

It would be helpful if I can drive the auto-winding from the same motor so the next thing is to look at the calculations.

Link to comment
On 25/05/2019 at 14:51, Gina said:

Decided to simply go for a 1:4 gear ratio rather than 4:1 on the chain drive to centre wheel gear pair.  The means just 1/16th the weight required but running 16x faster.  This is no problem with the stepper motor drive, in fact it's easier.

Calculating...

  1. The centre wheel turns once per hour so the drive sprocket 4 times an hour or 15m per revolution.
  2. Chain drive sprocket has 18 teeth and motor sprocket 8 teeth.
  3. Motor sprocket wants to turn 18/8 times in 15m or 18x4/8 = 9 times an hour ie. 9/60 = 3/20rpm or 20/3 mins/rev which is 20x60/3 = 400 secs/rev
  4. I expect to use a NEMA17 or maybe NEMA14 stepper motor with 200 steps/rev.
  5. If I were to use 1 step/sec motor speed the motor shaft would rotate at 200 secs/rev
  6. I plan to drive the motor sprocket with a pair of spur gears from the stepper motor so the ratio would be 2:1 - very convenient. 

If I were to use the same stepper motor for the auto-winding as the pendulum drive the above will need modifying, viz.

  1. The centre wheel turns once per hour so the drive sprocket 4 times an hour or 15m per revolution.
  2. Chain drive sprocket has 18 teeth and motor sprocket 8 teeth.
  3. Motor sprocket wants to turn 18/8 times in 15m or 18x4/8 = 9 times an hour ie. 9/60 = 3/20rpm or 20/3 mins/rev which is 20x60/3 = 400 secs/rev
  4. The crank gear runs at 2s per rev so the drive would want reducing by 200:1.

Seems this calls for a ratchet drive system like I used before.  Not a 200 toothed wheel though!

Edited by Gina
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. By using this site, you agree to our Terms of Use.