David Gonsalez

Course 400D

Report: Servo motor testing and evaluation

MG995 Tower Pro

Servo motor testing.

Purpose and general plan:

The principal purposes of this exercise are to test the following:

  1. No load current
  2. Stall current
  3. Stall torque
  4. Current due to different load.
  5. Change in current due to change in torque
  6. Change in rpm due to change to input frequency.

Equipment:

  1. One PC running Matlab (any version)
  2. One power supply with a supply voltage of 6v at 1amps.
  3. One multimeter with a current rating of 10Amp
  4. One Arduinouno
  5. One C-clamp
  1. One Fish scale

Attach servo motor to the table with C-Clamp as shown

Hooking up The Arduino to the servo motor:

  1. Connect the signal wire of the servo(usually the orange wire) to pin 9 of the arduino
  2. Connect the power and ground (usually the red and brown wire) to the power supply
  3. Connect the ground of the power supply to the ground pin of the arduino( the power supply and the arduino need a common ground to function properly.

Now run code provided below

// Sweep

// by BARRAGAN <

// This example code is in the public domain.

#include <Servo.h

Servo myservo; // create servo object to control a servo

// a maximum of eight servo objects can be created

intpos = 0; // variable to store the servo position

void setup()

{

myservo.attach(9); // attaches the servo on pin 9 to the servo object

}

void loop()

{

for(pos = 0; pos < 180; pos += 1) // goes from 0 degrees to 180 degrees

{ // in steps of 1 degree

myservo.write(pos); // tell servo to go to position in variable 'pos'

delay(15); // waits 15ms for the servo to reach the position

}

for(pos = 180; pos>=1; pos-=1) // goes from 180 degrees to 0 degrees

{

myservo.write(pos); // tell servo to go to position in variable 'pos'

delay(15); // waits 15ms for the servo to reach the position

}

}

Testing current and Torque:

  1. Stall torque

Stall torque__4.5lb*cm_____ Stall Current____.5 A____

  1. Divide the total weight that caused stall by 10 this new fraction of weight will be used to test the change in current due to the change in load.

Actual weight used / Current
Mean(A) / Torque
.83 lb / 0.125 / .83 lb*cm
1.23lb / 0.32 / 1.23lb*cm
1.78lb / 0.4 / 1.78lb*cm

%%rotating servo from 0 degrees to 120 degrees ,,, zero is straight down

%% fixed 5 volts

NoLoadCurrent= [ .07 .12 .13 .11];

Current1 = [.22 .14 .23 .08 .13 .25]; %% .83 lbs

Current2 = [.19 .23 .32 .22 .33 .08 .07]; %% 1.23 lbs

Current3 = [.4 .24 .09 .24 .34]; %%1.78 lbs

%% @ 6 volts

Current4 = [.4 .22 .09]; %% 1.78 lbs

holdcurrent = [.5]; %% 4.5 lbs can only life 4 lbs

%%% servo seems to lift 1.78 lbs with mild issue on the return motion

Transfer Function Estimate:

(0.9333 +/- 0.3293)

------

s + (0.09074 +/- 0.05948)

%%% stepper motor test

%%@ 12 volts

NoLoad = [.354 ] ;

%% .41 lbs

current1= [ .403 .393 ] ;%% first number is hold current second number is ave. continuous

%% .7 lbs

current2 = [ .401 .393]; % ''

%%.9 lbs

current3 = [.404 .394];

%% stall torque 1.12 lbs * inch

StallCurrent= [ .406 .399];

%% fails > 40 rpm

%% @ 9 volts

StallCurrent2= [ .218 ] ; %%.5 lbs

current11 = [ .3 .217]; %% .26 lbs

Transfer Function Estimate

(-0.03976 )

------

s^2 + (3.486 ) s + (0.04942 )

Conclusion: Stepper motor, SM-42BYGO11-25

MAX hold torque, 1.12 lb*in. MAX RPM < 40 rpm.

Current very stable with different loads.