Wilberforce Pendulum + Live-tracking (DEF)

by Ali Alaweh in Teachers > 12

30 Views, 0 Favorites, 0 Comments

Wilberforce Pendulum + Live-tracking (DEF)

coverimage.jpg
Wilberforcependulum intro.jpg

The Wilberforce Pendulum's name might be deceiving because it's not exactly your traditional pendulum. Its basic construction is a spring with an object attached to it.

When you pull down on the spring, it oscillates and after a time it stops oscillating in the vertical direction. Then the object at the bottom will rotate while the spring hangs still! And so the process will continue repeating.

This object has mass naturally but also a specific moment of inertia. This last part is important as it determines whether or not it works.

Supplies

You will need the following materials:

-ITEM bars, of which:

-2x 150cm

-2x 50cm

-2x 40cm

-8x corner piece

-8x ITEM screws

-propeller shaft, size M6 15 cm

-4x M6 nuts

-small screw

-180cm stainless steel wire


The tools needed are:

-3D-printer

-Screwdriver and allen wrench for ITEM

-Tool to make a spring, e.g. turning lathe

-Pliers

-Hammer


For tracking the movement you need:

-Webcam (optionally 2x)

-Laptop with a python program

-Wooden bar of approx. 50cm


For the servomotor:

servo motor tinytronics TD812MG

arduino with wires

tie wraps

Coffee sticks


The Design

design foto.jpg

A Wilberforce pendulum isn't a complex thing to make and does not need to be overcomplicated. First thing we thought about was to make the stand for the pendulum. We made a rectangle using ITEM profiles, where you have two vertical profiles connected to eachother by a profile at the top and bottom. For stability at the bottom we gave the two vertical profiles footing. This was done by attaching the profiles perpendicular to the vertical ones.

The spring would then be attached to the top of the stand, using a 3D-printed piece. For the object at the bottom; it consists of a screw where we will tweak the inertia using nuts. Again, to attach spring and the object we use a 3D-printed tool.

The spring was made using a spring winder (can also be done with a turning lathe).

For style points, we also tracked the motion of the spring using OpenCV and python. We connected a webcam to our laptop, and put the webcam on a stand. This stand was made of wood (rectangle shape and a footing at the bottom attached via screws and wood glue). The height of the webcam can be adjusted simply by taping it on a point on the wood piece.

(For even more style points), we added a servo-motor to the top to give it an extra kick when it oscillations start to slow down.

P.S: For live-tracking use a white background with good lighting.


The Spring

springgg.jpg
Casper DEF.jpg

Time for some handywork. You could purchase a spring, but because that can be risky (and boring) it is better to wind your own. For this spring, stainless steel was used. Our spring is roughly 20 cm in length and 7 cm in diameter but you could make a different one to suit your needs. Changing the length has no effect on After the spring has been wound, bend a hook at each end. The 3d printed pieces will come there later.


We wound our spring with the contraction depicted above. By putting one end in the central tube you can bend the steel in a coil like shape. Once you are happy with the amount of winds you can cut off the end. Aside from this contraption, there are a lot of other ways to make a spring, such as a lathe or other similar contraptions.


Once your spring is finished, it is important that you find out it's spring constant (k). This can be done in a multitude of ways. The easiest way is to hand a couple of different known weights from the spring and measure how long it stretches. From there you can make a graph and calculate the spring constant.

3D-coupling Pieces

koppelstukjes.jpg

We designed two pieces to connect the spring to the stand and to the screw-axis. They are in a T-shape and allow you to clamp the spring between them. The file attached is an STL file that has to be sliced.

The smaller one is for the screw and the bigger one for the spring and stand. For the screw-piece, you fit in the screw that you'll use to adjust the Inertia in the hole at the bottom (the rectangular part of the 3D-piece). You attach the spring to this piece the same way, but for the tiny gap in the square part. And now to make the spring firm, you can add a screw from the top of the square part.

For the bigger one to connect the spring to the stand, you attach the spring this time to the top of the (more) square part. And then on the sides of that you can add the tiny cylinder 3D-print.

And to connect it all, you slide the bigger 3D-piece onto the ITEM profile at the top and put it in the middle.

Do the Math

To make the pendulum work, the frequency of the spring, in the vertical direction, must match the rotational frequency. The derived formulas for the frequencies are ω_spr = √(k/m) and ω_rot = √(c/I), with k and c the spring- and torsion constants, respectively. You have minimal influence on these two, so to get them to match, you can twist the values of I and m. The formula for the inertia is I = ∫r^2 dm. To calculate the total inertia you can use the sum of the smaller parts, so the inertia for the shaft and the nuts and the bolts.

We must say that there will probably be a difference between what you calculate and what works best, as is always the case with these experiments. You have to try a couple of different setups and iterate until you are satisfied with the working.

The Code and Live-tracking

statiefff.jpg

To track the movement, we used a code in python with OpenCV. The code is made, such that it tracks object with a red color. This color can be adjusted in the code itself (part that says lower/upper color). It takes the equillibrium position at the first data point it measures. (So make sure the pendulum is hanging still and that the webcam doesn't pick something else that is red.)

Downloads

Working Video

A working video of the contraption

Servo-Motor

WhatsApp Image 2025-06-20 at 12.54.17_b9898ab1.jpg
WhatsApp Image 2025-06-20 at 12.54.17_b0af0db5.jpg
WhatsApp Image 2025-06-20 at 12.54.17_bb8a6f04.jpg

To make sure the spring keeps oscillating and doesn't eventually stop, we added a servo-motor at the top of the stand. It is connected to an arduino board and a bread board. The arduino board is connected with a battery. We used zipties and tape to attach it to the stand. We used coffee sticks to attach (with tape) to the servo motor for a longer arm.

Downloads