Experiment and Data Modelling

The apparatus we designed implements the mass-spring-rubber band oscillating system.  A motion sensor is placed underneath the mass to produce plots of position, velocity, and acceleration as a function of time.  The first part of data collection involved just the mass and spring.  Below is a plot of position vs. time for one of the runs using the motion sensor and Data Studio:

 

data-run 8.bmp (530674 bytes)

The pattern appears to be a cosine wave with a constant amplitude and period.  However, the choppy sections of the graph should not be present.  This was one error encountered when using the motion sensor – the distance between it and the bottom of the mass’ oscillation was too close, causing the motion sensor to “bottom out”.  But there is enough information to be able to derive an equation for the motion.  We knew beforehand that the rest position of the mass is at y = .15m.  From that, we can find the amplitude from the graph to be .013m.  The distance between consecutive peaks is a constant .412 sec, which is the period of the function.  From this information, we can derive the position as a function of time to be y(t) = (.013)cos(15.25*t), measured in meters.  We ignore the resting height and center the cosine at y=0 for simplicity.  This signal can be reproduced and plotted using MATLAB:

cos-spring_only.bmp (657334 bytes)

 

 

 

 

Note – a difference between the actual data plots and the reproduced signal is the time interval, which is longer in the MATLAB plot.

 

 

 

 

 

The next set of runs involved the complete system, including the rubber band.  With the presence of the rubber band, we would expect damping to occur and thereby decrease the amplitude of the sinusoidal oscillation.  Below is a plot of position y(t) vs. time for the system:

data-rb run 16.bmp (502734 bytes)

As we can see, the mass attached to the rubber band and spring still appears to oscillate sinusoidally, but with its amplitude decreasing.  The “bottoming out” effect from the motion sensor is present in this plot as well, but again there is enough information to attempt to derive an equation from the data.

One strategy in finding an equation to represent y(t) involves two steps: 

1) Find the equation for the curve that connects each peak
2) Find the period for an undampened sinusoid of the same period. 

This strategy make empirical sense – If we can find an equation to approximate the curve that touches the peaks, this would represent the amplitude that is multiplied by the sinusoid at each point.  From the theoretical solutions to this type of equation, we would expect an exponentially decreasing function multiplied with a sinusoid.  The following table is a list of each peak’s time and amplitude:
          

 

time amplitude

Time shifted to start at t=0-->

Amplitude minus rest position of .142m-->

time amplitude
0.3836 0.167 0 0.025
0.7266 0.164 0.343 0.022
1.0598 0.16 0.6762 0.018
1.3929 0.158 1.0093 0.016
1.7163 0.155 1.3327 0.013
2.0495 0.153 1.6659 0.011
2.3631 0.151 1.9795 0.009
2.6895 0.149 2.3059 0.007
3.0197 0.148 2.6361 0.006
3.3235 0.147 2.9399 0.005
3.6371 0.146 3.2535 0.004
3.9703 0.145 3.5867 0.003

The two columns on the right  are normalized in the sense that time starts at zero, and the amplitude is a measure of distance from the rest position.  Also another important point to note – the rest position in this trial is at .142m, instead of the .15m used earlier.  This is a result of recalibration of the motion sensor but would have little effect on the overall results and shape of the graph.

 

The data from Table 2 produces the following chart in Excel, with the approximate trend line listed as well: 

excel-trendline.bmp (423286 bytes)
Trend line with equation y = .0274e-0.5875t

 

Here is another plot of the data and trend line done in MATLAB:

data-trendline.bmp (667102 bytes)

The blue line is the actual data, and the red line is the exponential curve.  We are satisfied that the trend line equation is an accurate enough approximation of the actual data.   Now we look at step 2) – examining the sinusoidal oscillations. 

 

From the data in Table 1, we used the successive time differences in the peaks to represent the length of individual periods.  Below is a chart of those time differences, in seconds:

0.343

0.3332

0.3331

0.3234

0.3332

0.3136

0.3264

0.3302

0.3038

0.3136

0.3332

                       

 

We notice that the periods are not all of the same length.  However, the equations predict that the period remains the same.  Therefore, we use the average of these time differences as the period, which comes out to T = .326 sec.

 

 

  

For simplicity, we use a cosine with a period of .326 sec to represent the oscillating function.  Then, the overall position function is y(t) = .0274e(-0.5875t)cos(2p/.326t).

 

Below is a plot of the signal y(t) = .0274e(-0.5875t)cos(2p/.326t) derived from the data:

trendline-cos.bmp (633094 bytes)

 

 

 

 

back to main page