Measuring Servo's Resistance and Calculating it's efficiency

Thread Starter

ddang

Joined Aug 3, 2013
5
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.
 

MaxHeadRoom

Joined Jul 18, 2013
28,702
So I have a few questions regarding servos.

1) How do you measure the resistance of a servo?
.
First why would you want to? and what kind of servo is it?

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.
What on earth are the points you are measuring? Any details/part No's/schematics?

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.
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.
 

Thread Starter

ddang

Joined Aug 3, 2013
5
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.
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):

Rich (BB code):
// 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 
 
float 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 = 21; pos <=71; 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' 
    delayMicroseconds(1660);                       // waits 15ms for the servo to reach the position 
  } 
  for(pos = 71; pos>=21; pos-=1)     // goes from 180 degrees to 0 degrees 
  {                                
    myservo.write(pos);              // tell servo to go to position in variable 'pos' 
    delayMicroseconds(1660);                       // waits 15ms for the servo to reach the position 
  } 
}


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:

MaxHeadRoom

Joined Jul 18, 2013
28,702
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.
 

Thread Starter

ddang

Joined Aug 3, 2013
5
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.
I'm not sure what the difference is between the two. I'm using the servo to rotate a shaft.
 

MaxHeadRoom

Joined Jul 18, 2013
28,702
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.
 

THE_RB

Joined Feb 11, 2008
5,438
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.
 

Thread Starter

ddang

Joined Aug 3, 2013
5
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.
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?
 

Sensacell

Joined Jun 19, 2012
3,453
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.
 

Thread Starter

ddang

Joined Aug 3, 2013
5
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.
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.
 

THE_RB

Joined Feb 11, 2008
5,438
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.
 
Top