physics logo
Physics Practicals

Oscillations Module Student Guide

Oscillations Student Guide Feb. 19, 2026, 3:14 p.m.

Table of contents

        Activity 1

    Here is the URL of a Flash animation of two systems executing harmonic motion.

    http://uoft.me/HFMTwoSHM

    Open the animation. In your own words describe which characteristics of these two systems are the same. In your own words describe what is different for these two systems.

     

       Activity 2

    Here is the URL of a Flash animation comparing uniform circular motion to simple harmonic motion:

    http://uoft.me/HFMCircular2SHM

    Open and run the animation.

    1. For an object in uniform circular motion, the angle \(\theta\) as a function of time changes according to:
      \(\theta = \omega t\)
      where \(\omega\) is called the angular velocity. What are the units of \(\omega\) ?

    2. For an object in uniform circular motion, the y coordinate of a point on the object changes as a function of time according to:
      \(y = r \sin(\omega t)\)
      What is the meaning of r ? What are its units?

    3. An object executing Simple Harmonic Motion is described by:
      \(y = r \sin(\omega t)\)

      Note that this is the same equation as in Part B. However in this case \(\omega\) is called the angular frequency. In this case what are the units of \(\omega\) ? In your own words explain why two somewhat different names are used for the same symbol \(\omega\). For Simple Harmonic Motion what name is usually used for r ? What are the units of r ?

     

         Activity 3

    Here is a plot of the position versus time for a particle. Does the motion appear to be periodic? Does the motion appear to be Simple Harmonic? What is the period of the motion? What is the frequency of the motion?






    1.  

    2. Here is another position versus time plot. For values of the time between 0 and 8 s it is identical to Part A. Does this motion appear to be periodic? For the particle of Part A, if you only have data for times between 0 and 8 s can you tell the difference between that motion and the motion shown here?

     

     

     

    1. Here is another plot of the position versus time for a particle. Does the motion appear to be periodic? Does the motion appear to be Simple Harmonic? What is the period of the motion? What is the frequency of the motion? What is the angular frequency of the motion?

       

     

     

    1. Does it make sense to talk about the angular frequency of the motion of Part A? Explain.

     

     

          Activity 4

    Mount the supplied spring on the support and hang the supplied mass from it. Gently lift the mass a small amount and release it, so that it bobs up and down. The oscillations should be small enough so that the motion is smooth and the spring is always vertical and stretched. Position the Motion Sensor under the mass and pointing up at it, as shown.  Open thte PASCO Capstone app called "Motion Sensor".  If you see any data be sure to Delete Last Run. Connect the Motion Sensor yellow to Digital Input 1, and black to Digital Input 2.   Note that the spring has a minimum length at which point all of the coils physically collide with their neighbours.  At this point, the spring no longer obeys Hooke's Law, so Simple Harmonic Motion will not occur.  To prevent this, we recommend you start the motion by lifting the mass gently until just below the point where the spring coils collide, then release the mass gently so that it bobs up and down.

    You may wish to try different settings in the software and hardware.  Note that the Motion Sensor has a switch which adjusts the width of the beam; we have found that the setting with the stick-figure works better than the setting with the cart.  Also, a sampling rate of 25 Hz seems to give the smoothest data, especially when looking at acceleration vs time.  one of the switch settings will probably result in better data than the other. Also recall that the Motion Sensor can only measure distances greater than 0.15 m. This means that for the given coordinate system, if the Motion Sensor is at x = 0 the bottom of the mass must always have a value of x > 0.15 m.

    1. Obtain and print a good plot of x, v and a versus time for a few oscillations.  What is the amplitude, period, frequency, and angular frequency of the oscillatory motion?  You may be able to fit a four-parameter sin-curve \(A \sin (\omega t + \phi)+C\) to each of the plots.   Are the curves well fit by the sine function?  What does the \(\phi\) constant mean in each of the three graphs?  What does the \(C\) constant mean in each of these three graphs?  From the fits determine amplitude, angular frequency, maximum speed and maximum acceleration.  Also compute the frequency in Hz and the period.  

    2. Identify what assumptions you must make to model the motion of mass as Simple Harmonic Motion. (What physical characteristics must the spring-mass system have for the motion to be truly Simple Harmonic and not just approximately so?)

    3. Estimate the spring constant of the spring using a measurement that does not involve simple harmonic motion. Recall that Hooke's Law states that \(|F_{\rm spring}|=k\cdot\Delta x\) , where \(\Delta x\) is the amount the spring is stretched or compressed beyond its equilibrium position.  Unfortunately, for your spring, when no mass is attached to the spring, it is not in true equilibrium, because the coils are physically touching each other, like an unstretched slinky.  (Your spring only obeys Hooke's law for pulling, not for pushing.)  One way to estimate the spring constant for your spring is to measure the equilibrium positions of two different hanging masses, and subtract.  Using this spring constant and the mass which oscillated in part A, what is the predicted angular frequency of the system?  How does this compare with what you measured in part A?

     

        Activity 5

    In Activity 4 a Motion Sensor is used to measure the position versus time for a mass oscillating on a spring. We took about 110 samples every second and, depending on the particular spring and mass used the period of the oscillation was about 0.5 s.

    Imagine we have an ideal spring-mass system oscillating with maximum amplitude \(A = 1 \ {\rm m}\) and angular frequency \(\omega = 6\ {\rm s^{-1}}\) . The motion is:

    \(y = A \sin(\omega t) = \sin (6 t)\)

    1. What is the period of the oscillation?

    2. Imagine we use a Motion Sensor to measure the position once per second and take the first measurement at t = 0 s. Remember that in the above formula the argument to the sine function is in radians. What will be the measured values of y for the first few measurements? Is your results reasonable? Explain. You may find it helpful to draw a rough sketch of y versus t for a few periods of the oscillation and locate on the graph the points where you would have measured the values of y.

     

         Activity 6

    The figure shows the potential energy of a particle attached to a spring for any arbitrary location. Note that the horizontal axis has units of cm.

    The system is given some energy (represented by the horizontal dashed line) and as a result it starts oscillating.

    1. What is the spring’s equilibrium length? What is the value of the spring constant k?

    2. The turning points of the particle are at 10 cm and 30 cm. What is the maximum amplitude of the particle’s motion? What is the particle’s maximum kinetic energy?

    3. Sketch a graph of the particle’s kinetic energy as a function of x. What is the shape of the sketch? Your sketch should include the same numbers that the figure has.

    4. The particle has a mass of 2.0 kg. What is the particle’s maximum speed? Sketch a graph of the particle’s speed as a function of x. What is the shape of the sketch?

    5. If the total energy of the particle is tripled, what will be the value of the maximum speed of the particle?

    6. If the total energy of the particle of Parts A - D is tripled, what will be its maximum amplitude?

     

        Activity 7

    A block of mass M is attached to a spring of spring constant k, and oscillates back and forth with amplitude A on a frictionless surface. At the moment shown the block is at its maximum amplitude and a lump of putty of mass m is dropped from a very small height and sticks to the block. The mass of the spring is negligible.

    What are the new amplitude and frequency of the block plus putty system?

     

        Activity 8

    A vertical massless spring with spring constant k has a platform of mass M  fixed to it. A mass m is sitting on top of the platform, but is not fixed to it. The two masses are oscillating vertically with amplitude A. There is a vertical position, the equilibrium point, where the total force acting on the two masses as a single system, their weight plus the force exerted by the spring, is zero.

    1. Imagine that the oscillation is so extreme that the mass m just loses contact with the platform. Where is this going to occur and why?

    2. What is the value of A when for which the mass m just loses contact with the platform?

     

     

     

     

         Activity 9

    In this experiment you will use a Pasco Rotary Motion Sensor.  The Rotary Motion Sensor is mounted on a support, and has a rod with a mass on it mounted on it. The rod and mass will be the physical pendulum you will study. Also part of the rotating system are the plastic disc on which the rod is mounted and the axel connected to the Rotary Motion Sensor.

    Open thte PASCO Capstone app called "RotaryMotionSensor".  If you see any data be sure to Delete Last Run. Connect the Rotary Motion Sensor yellow to Digital Input 3, and black to Digital Input 4.

    The experiment.

    A. Measure the distance between the mass and the pivot, and make a prediction of T, the period for small angle oscillations.

    B. When the pendulum is at its lowest position, pull it to an angle of less than 10 degrees and release it.  Acquire data for a few oscillations and then stop the recording.  You should print a good graph of data.   You may be able to fit a four-parameter sin-curve \(A \sin (\omega t + \phi)+C\) .  Is the curve well fit by the sine function?  Explain the meaning of the four fit parameters in this case.  Determine amplitude \(\theta_{max}\), angular frequency \(\omega\), frequency in Hz, and the period in seconds.  How does the period compare to your theoretical predication in part A?  

    C. Repeat the procedure of part B, but for 2 or 3 different initial values of \(\theta_{\rm max}\).  In each case, record T and \(\theta_{\rm max}\).  Since it is a rigid rod, you can even experiment with \(\theta_{\rm max} > 90^\circ\)!  For your largest amplitude you try, make a plot of angle versus time for a few good oscillations in which the motion is regular and the amplitude is approximately constant.  What happens to the period as the amplitude of oscillations increases?  

     

        Activity 10

    Find the code pendulum.py on in Appendix 1 below, and download it to your computer.  If you haven’t used Python in a while, it might be useful to go review the Python intro document at https://computation.physics.utoronto.ca/getting-started-python-3-computational-physics-u-t/  .

    Question A: Running code with default values

    Start the Spyder python-editing program, which should be on your desktop, and open the copy of pendulum.py. Use Run / Run Module or press the F5 key on your keyboard to start the simulation. Record the default values of L, θmax, and the output period.  Also make a note of the time-step, dt, which sets the precision of the period output.

    Question B: Simulation of Activity 9 Small Angle experiment

    Modify the code so that it simulates the results of your Small Angle data you took in Activity 9, part B.  Compare the angle vs time plot as well as the period.    How do the results of your numerical simulation compare to the data you collected? 

    Question C: Simulation of Activity 9 Large Angle experiment

    Modify the code so that it simulates the results of the larger angle from Activity 9, part C.  Compare the angle vs time plot for the largest amplitude motion, as well as the periods and amplitudes for all your real life attempts.    How do the results of your numerical simulations compare to the data you collected? 

     

    The original version of this Student Guide was written by David M. Harrison, Dept. of Physics, Univ. of Toronto in May 2008.    Activity 3.A is based on Activity 14.1 Part 3 of Randall D. Knight, Student Workbook with Modern Physics (Pearson Addison-Wesley, 2008). Activity 6 is based on Activities 1.43 Parts 10, 11, and 12 of Knight’s Student Workbook. Activities 7 are 8 are from David Harrison and William Ellis, Student Activity Workbook, 3rd ed. (Norton, 2008), Activities 15.8, 15.9.

     

    Appendix 1 - Listing of Pendulum.py

    Download the code here:  pendulum.py

    # Solve the pendulum using numerical approximation
    # Copyright (c) 2008 David M. Harrison
    # - updated Mar.2 2022 by Jason Harlow
    from pylab import *
    from numpy import *
    
    # The initial angle in degrees:
    thetadegmax = 45
    # Convert this to radians:
    thetamax=(pi/180)*thetadegmax
    
    # The initial angle:
    theta=thetamax
    # The initial angular velocity:
    omega = 0   # released from rest
    
    # Set g and the length of the pendulum
    g = 9.80     #m/s^2
    L = 1.00     #m
    
    # The time step in seconds:
    dt = 0.01
    
    # Initialize the time:
    t = 0.
    
    # We want the pendulum to cross theta = 0 two times going in the negative
    # direction, and then stop the simulation.  That way we can look at the
    # times and figure out the period.  Initialize this counter:
    crosscount = 0
    
    # Below we will want to store the old value of the time.
    # Set it the "impossible" value of -1 initially.
    t_old = -1.
    
    
    # In case you'd like to use Excel or something to make a little graph of
    # angle versus time, let's output a comma separated file as well:
    file = open('pendulum_Output.csv', 'w')
    
    # Run the while-loop for 2.25 full oscillations, or 5 crossings of theta=0:
    while(crosscount < 3):
    
        thetadeg=theta*180/pi    
        print("t = ", t, ", theta = ", thetadeg)
        file.write(str(t))
        file.write(',')
        file.write(str(thetadeg))
        file.write('\n')
        
        # The angular acceleration, i.e. the second derivative of the
        # angle with respect to time.s
        alpha = -(g/L) * sin(theta)
    
        # The new value of the angular velocity
        omega = omega + alpha * dt
    
        # The change in the angle of the pendulum
        d_theta = omega * dt
    
        # A rough and ready way to estimate the period of the oscillation.
        # It the angle is positive and adding d_theta to it will make
        # it negative, then it is going through the vertical
        # from right to left.
        if(theta > 0 and theta + d_theta < 0) :
    
            crosscount = crosscount + 1
            
            # If t_old is > 0, then this is not the first cycle of
            # the oscillation. The difference between t and t_old
            # is the period within the resolution of the time step dt
            # and rounding errors. Print the period.
    
            if(t_old > 0):
                print("Initial Angle = ", thetadegmax, "degrees, Period =", t - t_old, "s")
    
            # Store the current value of the time in t_old
            t_old = t
    
    
        # Update the value of the angle
        theta = theta + d_theta
    
        # Update the time
        t = t + dt
    
    file.close()

     

    last modified: Feb. 19, 2026, 3:14 p.m.