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. 2. 3. 4. 5. 6. No load current Stall current Stall torque Current due to different load. Change in current due to change in torque Change in rpm due to change to input frequency. Equipment: 1. 2. 3. 4. 5. 7. One PC running Matlab (any version) One power supply with a supply voltage of 6v at 1 amps. One multimeter with a current rating of 10Amp One Arduino uno One C-clamp 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 <http://barraganstudio.com> // 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 int pos = 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____ 2. 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 Current Torque used Mean(A) .83 lb 0.125 .83 lb*cm 1.23lb 0.32 1.23lb*cm 1.78lb 0.4 1.78lb*cm SERVO MG 995 Torque (lb*cm) Peaks are holding current, Dips are lower ends of oscillation Current (Amps) %%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) Torque (lb*in) HOLDING CURRENT Oscillatory current, low Current (Amps) %%% 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.