WOLFRAM SYSTEM MODELER
ClockWithOneHandMain pendulum clock example. Clock has one hand that takes one step each second. The movement is controlled by a counterweight. |
![]() |
SystemModel["IndustryExamples.ConsumerProducts.PendulumClock.ClockWithOneHand"]
This model shows the mechanics of a pendulum clock.
A pendulum clock works by having a pendulum swinging back and forth with a constant period of one second. The pendulum period can be directly determined by the length of the pendulum rod and the gravity affecting the pendulum. The swinging motion pushes on a fork (see graphic), which releases an escapement wheel that is attached to a weight. When the gear is released, gravity pulls the weight down and the gear starts to turn. When the pendulum swings back, the gear is locked once again. The angled cogs and the torque applied to the escapement wheel give the pendulum a small push that returns energy to the pendulum that was lost due to friction.
To simulate the model, perform this step:
Explore how the hand is rotated during one minute. The secondGear.phi_b variable describes the change in degrees, counting from the start of the simulation. After 60 seconds of simulation, the hand will have rotated 360 degrees.
A plot will automatically be displayed when the simulation has finished. You should see the plot below:
Multibody systems have visualizers to show what a real-world system would look like.
To show a 3D animation of the model, follow the steps below:
Using SystemModeler's drag-and-drop functionality, you can expand the model to include a minute hand. First you need to create a new hand. This is done by duplicating the second hand:
Next you need to make the connections to the new hand:
Your diagram should now look something like this:
Now the new hand can be made distinct from the old one:
Repeat the steps in the Simulation section to see the effects of your changes.
![]() |
world |
Type: World |
---|---|---|
![]() |
pendulum |
Type: Body |
![]() |
pendulumRope |
Type: FixedTranslation |
![]() |
revolute |
Type: Revolute |
![]() |
pendulumFixed |
Type: Fixed |
![]() |
escapementFork |
Type: EscapementFork |
![]() |
pendulumDampning |
Type: Damper |
![]() |
escapementWheel |
Type: EscapementWheel |
![]() |
counterweight |
Type: Body |
![]() |
counterweightRope |
Type: Prismatic |
![]() |
counterweightFixed |
Type: Fixed |
![]() |
secondGear |
Type: IdealGear |
![]() |
fixed |
Type: Fixed |
![]() |
secondRevolute |
Type: Revolute |
![]() |
secondHand |
Type: FixedArrow |
![]() |
secondAxis |
Type: FixedRotation |
![]() |
periodCounter |
Type: PeriodCounter |