This timer, based on ARDUINO Leonardo, measures the pendulum period with a resolution of 4 μs, with the accuracy of the microprocessor quartz (the Leonardo model uses a quartz clock, ARDUINO UNO doesn't and is not suitable as a precision timer). Accuracy is typically within + - 10 μs, but it is easy to calibrate the timer with a more precise external oscillator thus bringing it to 4 μs. It is not impossible, but code-wise more complex, to make the time resolution equal to the clock period (60 ns, successfully tested by the author, or higher with Arduino models with high clock speed).
The measurements are obtained by interrupting the LED light of a commercial photo-interrupter by an obstacle of suitable size (typically 2-3 mm), integral with the lens of the pendulum.
The image shows the sensor arrangement in the case of a Synchronome.
The maximum speed of the pendulum can be measured (accuracy = .01%) In addition to the period. From the speed one can derive the maximum amplitude of the oscillation, the energy and Q of the pendulum.
The same processor can also acquire temperature (+ - 0.1 ° C) and atmospheric pressure (+ - 2mb) at the same time. No previous experience with Arduino programming is required.
As a photo switch we recommend the use of PHOTOINTERRUPT DETECTOR + PHOTOINTERRUPTER BOARD which, powered by the arduino itself, outputs a digital signal compatible with Arduino.
COMPONENTS:
1) ARDUINO LEONARDO + USB cable
2) PHOTOINTERRUPTER DETECTOR + PHOTOINTERRUPTER BOARD recommended + cables for Arduino
3) TEMPERATURE AND PRESSURE SENSOR (optional) recommended SPARKFUN MS5637 + cables for Arduino
4) ARDUINO PROGRAM SET:
a) LEO_Blink - to verify the correct installation of Arduino
b) LEO_BAROM_MS56237 - to check the correct installation of the temperature and pressure sensors
c) LEO_PERIOD & SPEED - timer only
d) LEO_ENCHILADA - timer + temperature and pressure
5) ARDUINO IDE installation microprocessor management / compiler (free)
6) Arduino serial port communication software, TERATERM recommended (free)
7) data manipulation and plotting software, LIBREOFFICE CALC recommended (free)
TIMER OPERATION
Load the LEO_Blink program on Arduino through the Arduino IDE and check its regular operation (IDE).
Wire the Arduino board with the photo-interrupter* as described in the LEO_PERIOD & SPEED code comments
*In order to stabilize power supply line, connect a by-pass capacitor of more than 0.01μF between VCC and GND near the device.
load the LEO_PERIOD_SPEED program through the Arduino IDE, check its operation manually interrupting the photo-interrupter beam, displaying the data on the Arduino IDE Serial Monitor (115200 baud).
The first column in the figure represents the time stamp, communicated by the PC if the "show timestamp" option has been selected, the second column is the half-period of the pendulum oscillation in μs, the third the time of the optical signal interruption in μs .
Position the sensor so that the optical obstacle is centered on the optical beam with the pendulum in the vertical position, measure the half-periods and the interruption time with the pendulum in motion.
ACQUIRE THE DATA TO A TEXT DOCUMENT
Launch Teraterm, close the Arduino IDE serial monitor, check the port to which the arduino is connected on the IDE
check connection with Arduino on TERATERM
the measurements must appear, period by period, on the Teraterm black screen
Create the Teraterm log to give a name to the document in which to insert the collected data and choose the folder where to save it:
As for the Arduino serial monitor, select the presence of the time stamp in the document.
The document will be of type .csv, comma separated values.
The newly created document can be opened by a spreadsheet program, such as Libreoffice CALC
In CALC import window as separators select Comma, Space and the closed square bracket (])
EXAMPLES OF DATA ANALYSIS
Once the data have been collected in a spreadsheet type document it's convenient to put the timer to the test with conventional parameters such as velocity, amplitude and energy.
Lat's split this basic experiment: with the pendulum only, disconnecting to the escapement, and with the escapement that impulses the pendulum.
WITHOUT ESCAPEMENT
This experiment yields the pendulum natural period of oscillation and its dissipative energy losses. Download the doc template.ods if you want to use a page already filled with the formulas mentioned below.
Let's take an example:
in box B2 we introduce the expression Vmax = L / Ls * Flag / (delT / 1000), where L is the length of the pendulum, Ls the distance from the hinge of the pendulum to the light beam of the photo-switch, Flag the diameter of the cylindrical optical obstacle, the black wire in the following figure, and delT the duration of the pulse measured by Arduino in μs.
extending the definition to the entire column G we obtain the speed of the bob at the vertical, as a function of time, in units of half-periods, represented in the graph on the right .
Similarly, in the approximation of small angles, the expression of the column H, angle = 180 / π * Vmax * Av Period / 2 π represents the maximum angle of the pendulum rod in degrees where AvPeriod is the average duration of the period as measured by the timer, B5
Similarly, the expression of column I, below, contains the energy in mJ of the pendulum E = M * Vmax ^ 2/2/1000, where M is the mass of the pendulum (B10) and column J contains the exponential approximation of the energy time decay for a time constant τ (B12). The comparison between the current decay (blue trace) and that of the exponential best fit (red trace) is shown in the graph of the following figure.
In box B14 the average Q of the pendulum is calculated corresponding to the exponential approximation of the column J according to the definition Q = 2 π E / ΔE, where E and ΔE are respectively the energy of the pendulum and the energy lost by the pendulum in a period. In column K the Q is calculated for each half-period, in substantial agreement with the average of the exponential approximation. Τhe point by point Q shows a considerable volatility due to the short time interval for which it is calculated and should be averaged over at least few cycles.
Similarly with what was done for the free pendulum, one can obtain useful physical quantities such as the period and the absolute value of the pendulum beat error, in the figure in columns L and M in μs.
FOURIER ANALYSIS - FFT
It may be advantageous to examine the data collected with the timer as a function of frequency by applying an FFT, Fast Fourier Transform. Periodicities of period fluctuations may be revealed which would otherwise hidden in noise. An example: in the following spreadsheet table the pendulum period data are in column B, their fluctuations in column E.
The graph at the top right shows this data as a function of time, vs clock periods. There is a 'noticeable periodicity' in the period fluctuations, approximately 60 periods wide. What is its exact amplitude? Are there other less obvious peaks?
To answer these questions in column G and H we put a standard CALC function called FOURIER. Since the Fourier transform is a function that operates on complex quantities we have to insert a column, the F, with the imaginary values of the period function, in our case a column of zeros. Having chosen the "polar coordinates" option for the result of the FOURIER function, the amplitude of the transform is in column G is and in column H the phase.
Normally a Fourier transform is represented with the frequency, column C, on the abscissas, in the case of the pendulum it may be more practical to use its inverse, the period, Column D.