Foucault Pendulum With LEGO and Arduino

by stoppi71 in Workshop > Science

98 Views, 2 Favorites, 0 Comments

Foucault Pendulum With LEGO and Arduino

Foucault-Pendel_108.jpg
Foucault-Pendel_38.jpg
Foucault-Pendel_150.jpg

A Foucault pendulum is a long, heavy pendulum used to provide the first direct demonstration of the Earth's rotation. It is named after the French physicist Jean Bernard Léon Foucault (1819–1868). He first publicly demonstrated the experiment in 1851 at the Panthéon in Paris, using a 67-meter-long wire and a 28-kilogram sphere.

On January 3, 1851, Foucault conducted an experiment in the cellar of his home in which he set a two-meter-long pendulum swinging just above the floor and precisely marked its path. He observed that the pendulum's plane of oscillation was slowly rotating. Gravity, which acts only vertically, could not have caused this rotation, and no other external force was acting upon the pendulum. Thus, it was not the pendulum itself, but the floor—and by extension the Earth—that was changing its orientation. Strictly speaking, the pendulum traces a rosette-like path with extremely narrow petals relative to the ground, creating the appearance of a planar pendulum whose plane of oscillation is slowly rotating. The Foucault pendulum thus provided the first genuine proof of the Earth's rotation.

In this experiment, I aim to replicate a Foucault pendulum using the simplest possible means and thereby demonstrate the Earth's rotation—not merely qualitatively, but quantitatively as well. If the pendulum were located at the North Pole, for instance, the Earth would rotate beneath it over the course of a day (specifically, in 23 hours and 56 minutes). Consequently, the pendulum's plane of oscillation would exhibit an angular velocity of ω_earth = 2π / 86160 rad/s = 360° / 86160°/s. At the equator, however, the angular velocity would be zero, because the component of the Earth's angular velocity (which points along the axis of rotation) perpendicular to the ground is zero at that location. For any given latitude φ, the relationship is: ω_pendulum = ω_earth · sin(φ).

Supplies

Foucault-Pendel_11.jpg
Foucault-Pendel_42.jpg
Foucault-Pendel_44.jpg
Foucault-Pendel_46.jpg
Foucault-Pendel_67.jpg
Foucault-Pendel_49.jpg
Foucault-Pendel_06.jpg
Foucault-Pendel_96.jpg
Foucault-Pendel_98.jpg
Foucault-Pendel_05.jpg
Foucault-Pendel_90.jpg
Foucault-Pendel_92.jpg

For this experiment, you need

* LEGO parts, including worm gears and spur gears

* Stepper motor & stepper driver, f.e. the easydriver

* Arduino with 16x2 I2C display and push buttons

* line-Laser

* Plumb bob, string and a nail

* Door frame

Physical Background

How it works

• Inertia: According to the law of inertia, a freely swinging pendulum maintains its plane of oscillation in space, regardless of how the suspension point moves.

• Earth's rotation: As the Earth rotates beneath the pendulum, the pendulum's plane of oscillation appears to shift slowly (clockwise in the Northern Hemisphere).

• Dependence on latitude: At the North and South Poles, the plane rotates a full 360 degrees per day; at the equator, no rotation occurs. The further one moves away from the poles, the slower the visible rotation becomes. Specifically, the following relationship applies to the angular velocity ω at which the Foucault pendulum's plane of oscillation rotates:

ω = ω_earth · sin(φ). Here, ω_earth is the angular velocity of the Earth's rotation (period = 23 h 56 min = 86160 s), i.e., ω_earth = 2π / 86160, and φ is the geographic latitude. For my location in Graz (φ = 47°), the angular velocity ω is therefore 0.0000533 rad/s = 0.003056 °/s = 0.183 °/min.

The Experimental Setup

Foucault-Pendel_13.jpg
Foucault-Pendel_15.jpg
Foucault-Pendel_17.jpg
Foucault-Pendel_19.jpg
Foucault-Pendel_21.jpg
Foucault-Pendel_23.jpg
Foucault-Pendel_25.jpg
Foucault-Pendel_27.jpg
Foucault-Pendel_37.jpg
Foucault-Pendel_29.jpg
Foucault-Pendel_31.jpg
Foucault-Pendel_33.jpg
Foucault-Pendel_59.jpg
Foucault-Pendel_61.jpg
Foucault-Pendel_63.jpg
Foucault-Pendel_65.jpg
Foucault-Pendel_84.jpg
Foucault-Pendel_69.jpg
Foucault-Pendel_71.jpg
Foucault-Pendel_73.jpg
Foucault-Pendel_75.jpg
Foucault-Pendel_77.jpg
Foucault-Pendel_79.jpg
Foucault-Pendel_81.jpg
Foucault-Pendel_83.jpg
Foucault-Pendel_86.jpg
Foucault-Pendel_100.jpg
Foucault-Pendel_104.jpg
Foucault-Pendel_102.jpg

I came across a great video here: youtube. I want to adopt the method shown in it for determining the positional angle of the plane of oscillation, but I will use as often in my projects LEGO parts. The BrickLink order cost me a total of 35 euros. I am using two worm-and-gear combinations. I bonded the Lego axle to a flexible stepper motor coupling. The two gears have 40 and 24 teeth, respectively. Therefore, the gear reduction ratio is 1/40 × 1/24 = 1/960!

Each time I press the step-button, the stepper motor will execute a single quarter-turn (90°). This corresponds to a rotation of the entire assembly by just 0.09375°. So, after 10 minutes, I should need to perform approximately 1.836 / 0.09375 ≈ twenty quarter-turns (i.e., 20 button presses)...

I am using a plumb bob as the pendulum weight. You can get one of these - along with the line laser - quite cheaply on Amazon.

If the laser apparatus is misaligned - meaning the pendulum's plane of oscillation does not yet match the orientation of the LEGO arm - the shadow gap cast by the pendulum cord will drift left and right around the reference line on the screen. If the LEGO arm and the pendulum are correctly aligned, the shadow gap of the pendulum-string will remain stationary directly over the reference line on the screen.

Originally, I had planned to manually rotate the LEGO gear by 90° each time and keep a running count of the rotations. However, there are easier ways to do this, or better yet, ways to automate the process. All that is required is an Arduino with a 16x2 display, a stepper motor driver, and a stepper motor. A push-button is used to rotate the stepper motor by 90° increments. The number of rotations, n, is shown on the display, along with the elapsed time, t, in seconds. A second push-button resets both n and t to zero.

Procedure: Set the pendulum in motion. Then, using the push-button to move in 90° steps, align the Lego arm parallel to the plane of oscillation. Next, press the reset-button to reset the rotation count and the timer to zero. Wait for a set period - for example, 15 minutes - and then use the step-button to realign the Lego arm parallel to the plane of oscillation.

Once this is done, record the displayed values ​​for n and t. This allows you to calculate the angle covered, φ = n · 90° / 960, over the time t. The angular velocity of the pendulum is then given by: ω_pendulum = φ/t = n · 90° / (960 · t).

After the measurement is complete, a third push-button (labeled "return" in the circuit diagram) can be pressed to drive the stepper motor in reverse. This returns the Lego arm to its starting position, ready for further measurements.

Experimental Results

Foucault-Pendel_108.jpg
Foucault-Pendel_87.jpg
Foucault-Pendel_88.jpg
Foucault-Pendel_134.jpg
Foucault-Pendel_147.jpg
Foucault-Pendel_153.jpg
Foucault's famous pendulum experiment with LEGO & Arduino - Foucaultsches Pendelexperiment

Unfortunately, the pendulum does not behave as expected. The hope was that it would oscillate within a plane that rotates slowly due to the Earth's rotation. Instead, it exhibits significant lateral oscillations, resulting in elliptical paths. This makes it nearly impossible to determine the position of the plane of oscillation. In only one measurement so far did the pendulum - after around 2400 seconds - still possess a distinct plane of oscillation (perhaps by chance?). I required n = 139 90-degree turns of the stepper motor to realign the Lego arm parallel to the plane of oscillation. This allowed me to determine the angular velocity of the rotation. The angular velocity I calculated, 0.005°/s, differed significantly from the reference value (0.003°/s). However, for the reasons mentioned above, I cannot place much trust in this partially successful measurement; it is quite possible that the elliptical path simply vanished for a brief moment by pure coincidence. At the very least, the direction of the drift was correct (clockwise in the Northern Hemisphere when viewed from above) 😉.

I also experimented with other mounting methods for the pendulum cord, but none yielded the desired results. Ultimately, I reverted to the standard setup - simply tying the cord to a nail - and managed to obtain some usable data.

Here is my best measurement: After approximately t = 3500 seconds, the stepper motor required n = 137 90-degree turns to realign the Lego arm parallel to the plane of oscillation. This corresponds to an angular velocity of 0.0037°/s. The theoretical value for my location in Graz is 0.0031°/s. I can certainly live with this 19% deviation, especially given that online sources frequently highlight the challenges associated with short, lightweight Foucault pendulums.

If you are interested in more exciting physics experiments, here is my

Homepage: link

Youtube-channel: link

Stay curious...