Measuring Servo's Resistance and Calculating it's efficiency

Discussion in 'The Projects Forum' started by ddang, Aug 3, 2013.

  1. ddang

    Thread Starter New Member

    Aug 3, 2013
    5
    0
    Hi all. I am working on a project. My servo is the main mechanism of actuation. I am trying to find my power input to the system. So I have a few questions regarding servos.

    1) How do you measure the resistance of a servo?
    I know there are 3 pins (2 +/- pins that go to a Power supply and a 3rd pin that goes to a μC). When I put the probes of my multimeter on the +/- pins, I get a 300 ohm reading. When I put it on the + and the 3rd pin (one that goes to the microcontroller) I get a gigantic resistance reading in the MΩ range. Both values seems much too large.

    2) Another question I have is how do I calculate the power input to my system from the servo? I'm guessing this equation should be something like efficiency of the motor multiplied by the power input to the "motor" (not system). But I am unsure how to determine the efficiency of the servo nor how to determine the power input to the motor.


    If anyone has some insight, it would be greatly appreciated.
     
  2. MaxHeadRoom

    Expert

    Jul 18, 2013
    10,566
    2,379
    First why would you want to? and what kind of servo is it?

    What on earth are the points you are measuring? Any details/part No's/schematics?

    What type of drive are you using for the servo and controller feedback device?
    This opens many questions as to what is the motor to load inertia ratio?
    Way more details are required when designing a servo based system.
    Max.
     
  3. ddang

    Thread Starter New Member

    Aug 3, 2013
    5
    0
    I am really knew to using these kind of devices.

    I am using a Savox brushless SB-2272MG servo motor (http://www.savoxusa.com/Savox_SB2272MG_Digital_Servo_p/savsb2272mg.htm).

    The servo is controlled by an Arduino Microcontroller's PWM pin.

    I am trying to measure resistance because I was trying to calculate power using the equation P=I^2*R, where I=current, R=resistance.

    I am not familiar with the "drive" terminology or feedback. Perhaps, pasting my code can answer the question?

    The code is (a lot of the comments NOT updated):

    Code ( (Unknown Language)):
    1.  
    2. // Sweep
    3. // by BARRAGAN <http://barraganstudio.com>
    4. // This example code is in the public domain.
    5.  
    6.  
    7. #include <Servo.h>
    8.  
    9. Servo myservo;  // create servo object to control a servo
    10.                 // a maximum of eight servo objects can be created
    11.  
    12. float pos = 0;    // variable to store the servo position
    13.  
    14. void setup()
    15. {
    16.   myservo.attach(9);  // attaches the servo on pin 9 to the servo object
    17. }
    18.  
    19.  
    20. void loop()
    21. {
    22.   for(pos = 21; pos <=71; pos +=1)  // goes from 0 degrees to 180 degrees
    23.   {                                 // in steps of 1 degree
    24.     myservo.write(pos);              // tell servo to go to position in variable 'pos'
    25.     delayMicroseconds(1660);                       // waits 15ms for the servo to reach the position
    26.   }
    27.   for(pos = 71; pos>=21; pos-=1)     // goes from 180 degrees to 0 degrees
    28.   {                                
    29.     myservo.write(pos);              // tell servo to go to position in variable 'pos'
    30.     delayMicroseconds(1660);                       // waits 15ms for the servo to reach the position
    31.   }
    32. }
    33.  


    The wiring diagram looks something like this, except I am using an external power supply instead of the arduino's 5V pin.
    http://arduino.cc/en/uploads/Tutorial/sweep_BB.png

    There are no other electrical components (resistors, caps, transistors, etc...) in my system.
     
    Last edited by a moderator: Aug 4, 2013
  4. MaxHeadRoom

    Expert

    Jul 18, 2013
    10,566
    2,379
    I realize now these are model/remote control servo's?
    I automatically think of Robotic and motion control servo's so this is a completely different area you are in.
    Max.
     
  5. ddang

    Thread Starter New Member

    Aug 3, 2013
    5
    0
    I'm not sure what the difference is between the two. I'm using the servo to rotate a shaft.
     
  6. MaxHeadRoom

    Expert

    Jul 18, 2013
    10,566
    2,379
    Industrial Robotics and motion control use a controller with PID loop feed back.
    Unless you have a encoder or other such device back to the controlling device with a PID loop arrangement then this would be the difference.
    Max.
     
  7. THE_RB

    AAC Fanatic!

    Feb 11, 2008
    5,435
    1,305
    Here's how I do it; Put a 1 ohm resistor in series with the power pin to the RC servo.

    When the servo is operating (moving or lifting a load etc) use a voltmeter across the resistor, and read the voltage, which gives you the amps or mA drawn by the RC servo. (I = E/1)

    Also measure the voltage from the RCservo power pin to the ground pin.

    Once you have the servo's volts and amps, you know the comsumed power using P = EI.
     
  8. ddang

    Thread Starter New Member

    Aug 3, 2013
    5
    0
    Thanks.

    Why do you need a resistor to do this?
    I've been measuring the current just by putting my multimeter in series with the motor and power supply, but maybe that's wrong?
     
  9. Sensacell

    Well-Known Member

    Jun 19, 2012
    1,132
    267
    The one-ohm resistor trick is really the same as putting the multimeter in series with the lead, but it's more convenient.

    You can install a few resistors in your circuit and measure the voltage on them without having to break the circuit, it's usually safer when your probe slips off it's not 'hot' to destroy your circuit. I blew too many things up doing it the other way.

    I keep a range of resistors: 1 ohm, 0.1 and .01 around for different current levels.
     
  10. ddang

    Thread Starter New Member

    Aug 3, 2013
    5
    0
    Oh I see. That brings me to my other question of how to measure the motor's resistance. I believe neither of the resistance values mentioned in my original post would be correct if my method of measuring current is correct as the relationship P=IV would give a different power than P=I^2*R.
     
  11. THE_RB

    AAC Fanatic!

    Feb 11, 2008
    5,435
    1,305
    Yes the resistor for measuring current means you don't need two meters to read both amps and volts. You just need a voltmeter and can touch it on two places (while the circuit is operating) to get two readings.

    I think you should forget about the "Servo's resistance". The RC servo is a COMPLETE CIRCUIT with a motor and driven from a driver IC that controls the motor current. The amount of current it draws depends on the servo internal IC workings, and varies with the error at that point in time (distance of the shaft from the desired location).

    You are never going to be able to measure the motor's "resistance" from the input volts and amps readings going into the servo!

    The most useful information is the amount of current it draws during certain loads, assuming your PSU voltage is reasonably fixed.

    If the PSU voltage can vary a lot then you need to read voltage as well, so you can work with consumed power of the servo.
     
    djsfantasi likes this.
Loading...