3 - Moment of Inertia
Home Up

 

 

SOFIA

Home Page
Table of Contents
Background             
Astronomy
Mount
Infrared
Balancing
Experiments
1 Balance and Torque
2 Center of Mass
3 Moment of Inertia
4 Handy Board
5 Auto / Manual
6 Light Sense
7 Track Control
Interactive-C Code
   

 

Moment of Inertia

Introduction:

The concept of the "moment of inertia" or "rotational inertia" is valuable to us because it identifies a characteristic sluggishness of rotating systems in motion. For our class project it defines mathematically the observation that the Meter-Stick & Fans system is initially hard to move and then, once moving, is rather difficult to stop at a certain desired angle, because objects in motion have a tendency to stay in motion and objects at rest tend to stay at rest. The quantified moment of inertia (which we’ll label "Im") helps us describe the responsiveness of the system. The response of this physical system is a classical one since it can be described as a pendulum with distributed mass. We will use the measure of the Im in the design of its control system in experiment 7.

The Meter-Stick & Fans system has an Im which won’t allow changes to take place rapidly and its response time constant is directly proportional to Im. How is Im defined? The formal definition is that Im equals the summation of each point of mass times the square of its distance from the axis of rotation. Using metric units, the moment of inertia is measured in kilogram-meters squared (Kg m2).

Objectives:

In this experiment you will:

1. Be introduced to the theory of the moment of inertia ( Im).
2. Mathematically calculate the Im of the Meter-Stick & Fans system (with fans and platforms).
3. Measure the Im of the system using the formula for the period of a pendulum.
4. Mount an analog sensory device on the meter-stick to sense an angle, and measure period accurately using the Handy Board.
5. Utilize the Handy Board to run an experiment that tests the responsiveness of the system with changing Im.

Procedure:

First, the meter-stick system needs to be set-up with the fans on either end and the platforms mounted that will hold the extra weight while maintaining the center of mass. This system should be used to calculate an initial value of Im. To calculate an approximate value for the Im of your system treat the fans and platforms as massive particles at the center of mass of each object. For a system made up of individual point masses Im = ∑ miri2 , where each mi is at radius ri. We shouldn’t neglect the effect that the stick itself has on the moment of inertia. To calculate the moment of inertia for rigid bodies like the meter stick we must use integral calculus, but lucky for you, the dirty work has been done for several common rigid bodies. These bodies have formulas that were derived from integration. A thin rod with its center being the axis of rotation is one of these bodies that can closely approximate the meter-stick. The formula for this rigid body is [(1/12)mL2]. Where m = mass, and L = the stick length ( 1 meter). The fans, platforms and added weights can be approximated as point masses at their own center of mass and with each radius measured from there to the system center of rotation (Cr).

The Im for the pendulum system can also be measured experimentally as follows: For small motions its swinging motion can be described as the oscillations of a linear system where the period of oscillation (T), in seconds, is determined by three terms: the total mass (mt), the offset of the system center of mass (Cm) from the Cr, and Im.

(1) T2 = 4π2 Im/(mt*g*l)
where g is the gravitational constant (mt*g = weight)
and l= Cr – Cm (mt*g*l can be measured as in experiment #2)

Rewriting this equation give s the moment of inertia directly:

(2) Im = T2*mt*g*l/(4π2)

Using equation 2, compute the value of Im and then compare it to the estimate as calculated above. Now, add a couple weights to the system, taking care to keep the center of mass of the total system approximately the same (keep l constant). Re-calculate the approximate moment of inertia and then measure it again, using equation 2. Compare your results and try to explain what they mean and how they relate to motion of your Meter-Stick & Fans as torque is briefly applied.*

Since the period is several seconds we can measure it manually by eye with a stop watch, but to measure the period more accurately we can use the clock in the Handy Board and a proximity sensor to trigger the "start and stop" at a given angle. The 'stop-watch.c' program is below. It is designed to compare the value of analog port 2 against a threshold of nominally 100. The sensor is taped to the side of the meter stick facing down as shown in the figure below, and connected to input #2.

 

 

Position a small flat surface (~4 x 4 cm) under the sensor so that when the system tilts down about 5 degrees then sensor comes within 1- 2 cm of the surface. The sensor_test.c program (The same as in experiment 4, but with a different input port.) can be used to adjust the flat so that the sensor readings will cross the threshold as the system swings up and down. The 'stop-watch.c' program reads the clock when the sensor is greater than the threshold, then waits until it is less than the threshold and finally prints out the difference in clock readings when the sensor is greater than the threshold a second time.

Now that you have a measure of Im, we can see how its value effects the response of the system to a step change in torque created by a fan. Following the assumptions described in the time-angle.c program notes, you can adjust the system to three different angles to get the sensor readings given in the program and measure each angle relative to a horizontal plane using the same method as in experiment 2. The actual angles are not important as long as the difference between them is on the order of a few degrees, but if you pick angles with different sensor values, be sure to change the numbers in the declarative statement at the beginning of the program. Record the times and angles for at least two values of Im and plot the angles versus time for each case. Is the angular change a linear function of time? ( A couple extra points could be added to the program if you want to better estimate the function.) What happens when Im is increased? Can you write an equation for the initial response to the fan torque, given these data and the values of Im which you have measured?

--------

* How the mass is distributed on the pendulum system determines its period of oscillation. If the system center of mass , Cm, is shifted up and Im increases, the period increases, and if Cm shifts down the period may decrease, even with some increase in Im. Thus if an added mass is placed at a short radius, but well below the Cm, the period should decrease. If the same added mass is raised and increased in radius the period should increase. (be careful not to cause the Cm to shift above the Cr or the pendulum will not balance. Why?) As you shorten the distance between Cr and Cm it becomes increasingly more difficult to balance the system. Why?

/* sensor_test_input2.c Simple Analog Sensor Test on input '2' , version 1.3 tlg, 8/16/98*/

 

 

void main()

{

printf("Plug in port '2'\Hit STOP = stop\n");/*note less than 16

characters / line*/

sleep(2.0); /*time to read message*/

/*Display sensor loop*/

while(!stop_button()){

printf("Sensor = %d ", analog(2));

printf("\n");

msleep(100L);

}

beep();

} /*Note two nested tasks,"main (always required for C)", and "while" */

 

------

/* Stop_watch.c   Read time between points where a sensor [analog(2)]has positive-going values greater than a threshold. */

 

float start_time; /* holds the timer value at start*/

int thres = 100; /* threshold value used to start/stop clock */

 

void main(){ 

        /*wait for start*/            

  printf("Stop Watch ---- - waiting - \n");                    

  while(1){

       while(analog(2) >= thres);  /*wait for sensor to go low */

         while(analog(2) < thres);                     

        start_time = seconds();                   

        beep(); /*beeps optional*/

        while(analog(2) >= thres);  /*wait for sensor to go low */

while(analog(2) < thres); /*wait for second crossing of threshold*/                    

        printf("%f seconds-- \n", seconds() - start_time);

beep(); beep(); /*beeps optional*/

}

   }

 

----

/*time-angle.c Howdy!  This program is designed to measure the time it takes

 the fan to push the balancing beam through a specified  angular displacement.  6/29/99 cjh.*/

/* Configuration assumed: a proximity sensor is calibrated with beam angles calculated for

* values of 230, 215, and 188; fans are connected to motor(0) & motor(3), and initialized to

* run at 30% power each.  The starting proximity value and the fan torque are set while reading

* values on the display.  The proximity value is set to a value just greater than 230 with

* placement of a trimming mass on the beam and/or adjusting the height of the flat under the

* sensor.  The fan torque is set from the knob on the Handy Board.  Then the a switch on port 10

* is pushed to begin the measurement (a switch on a cable is used so that the start will minimally

* disturb the balance).   The first two times are automatically read from the display, the third

* time is displayed after the switch is pushed again.  To repeat the test, push the stop button on the

* Handy Board. 4/20/00 tlg */

 

int angle1 = 230, angle2 = 215, angle3 = 188;

float time, time_one, time_two, time_three;

void main ()

{  motor(0,30); motor(3,30);

    while (1)

        {printf("Push switch #10 for torque resp\n");

    sleep(2.0);      /*Greeting, and instructions*/

    while (!digital (10))

        {printf("fan = %d sensor=%d\n", knob(),analog(2));

            sleep (0.3);      /*This loop sets the sensor value you wish to shoot for,

               and the fan torque to apply, e.g. motor(3,85);*/

         }

          time = seconds (); /*set reference time */ 

     while (175  <  analog (2))

        {

            motor(3,knob ());

            if (analog (2) <= angle1) /* assumes starting angle gives a value > angle1*/

                time_one = seconds() ;

             if (analog (2) <= angle2)

                time_two = seconds ();

            if(analog (2) <= angle3)

                time_three = seconds () ;

          }

 

       time_one = time_one - time;

       time_two = time_two - time;

       time_three = time_three- time;

    printf("T1=%f T2=%f \n", time_one, time_two); /* reads time to 230, & 215 */

        motor(3,30);

        beep ();

        while (!digital(10)); /* push start_button to read time to 188 */

        printf("T3=%f\n", time_three);

        sleep(0.5);

        while (!stop_button()); /*push stop_botton to repeat or redo test */

    }

}

 

 

 

To request information on this web site in a Section 508 accessible format, please contact access@mail.arc.nasa.gov.