# Micro servo 9 grams

Hello all

How to we calculate the wattage requirement for servos please?

By using Ohms law.

Volts * Current = Watts.

// Per.

The penalty for forgetting OHM'S LAW is a PIE in the EIR. P=I*E => I=P/E=> E= P/I E= I*R => I= E/R=> R=E/I

http://www.ebay.ca/itm/321233936721?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649

Ok now the RC servo has 3 pins and rated 5v How do I measure the resistance please on what pins? Bcc and gnd?

You can't measure the motor resisitance because it is connected to the driver but you can measure the servo current while it's running. Google "how to measure current ".

raschemmel: You can't measure the motor resisitance because it is connected to the driver but you can measure the servo current while it's running. Google "how to measure current ".

Sure. One can measure current however what if the motor amperage exceed the arduino limitation of 40Ma per pin? I guess using a powerful power supply connected directly to the RC servo would then allow me to measure the current before connecting the RC servo to arduino. I am also guessing that to be safe, any type of motor controlled by arduino should be supplied with DC externally and not via arduino. I am new at this however need to research a bit more.

Maybe you should Google "arduino, using servos " before posting on the forum. You will find so many hits that show circuits with the servos running off the arduino. What you are failing to realize is that your comment here :

One can measure current however what if the motor amperage exceed the arduino limitation of 40Ma per pin?

is completely irrelevant because the servo is not powered by the I/O Pins, which, by the way, happen to be TTL signals http://en.wikipedia.org/wiki/Transistor%E2%80%93transistor_logic it is powered by the onboard regulator which can support up to 500mA off the USB connection and up to almost an amp off the external dc power jack. (probably more like 800mA). back to the I/O pins; The I/O pin sends a 5V TTL (0 to +5V) logic signal which is PWM (pulse width modulation) which is decoded (converted from PWM) to a position command) and the servo driver then drives the motor to a position. If you take your servo apart you will find a little tiny potentiometer in there. The servo is reading the voltage of wiper (basically an "val= analogRead(wiper);" and comparing the command that was received with the current postion. If they match, it won't move. If they differ, it will move in the direction necessary to make the difference= 0.

Long story short, Here's too opinions On the LOW side:

Hitec supreme 8 rx, about 15 ma was what I measured CS21 microservo 5ma no load, 120 with rapid movement of servo

On the HIGH side:

Servo current draw varies based on load, model of servo, etc. A typical analog servo draws anywhere from 250-700mA.

As a rule of thumb, I use 700mA as a guide for the 9g parkflyer type (HXT900) servo's I use. So a 2A BEC is good for 3 servo's, and a 3A BEC will handle 4 servo's.

Reference Info: http://www.sengpielaudio.com/calculator-ohm.htm

Long story short, below is the basic way to externally wire a servo power supply (powering even a small 9g servo from the arduino 5v pin can cause issues). Also, if possible power the servo with 6v for better performance (although 5v might prevent the possible gear stripping). You can measure maximum current by using a multimeter in the servo power wire, and carefully have the servo slowly move until it encounters the internal stop and starts to stall. Below is some servo test code that can be used to carefully move the servo up against the internal stop.

// zoomkat 3-28-14 serial servo incremental test code
// using serial monitor type a character (s to increase or a
// to decrease) and enter to change servo position
// use strings like 90x or 1500x for new servo position
// for IDE 1.0.5 and later
// Powering a servo from the arduino usually *DOES NOT WORK*.

#include<Servo.h>
Servo myservo;
int pos=1500; //~neutral value for continous rotation servo
//int pos=90;

void setup()
{
myservo.attach(7, 400, 2600); //servo control pin, and range if desired
Serial.begin(9600);
Serial.println("serial servo incremental test code");
Serial.println("type a character (s to increase or a to decrease)");
Serial.println("and enter to change servo position");
Serial.println("use strings like 90x or 1500x for new servo position");
Serial.println();
}

void loop()
{
while (Serial.available()) {
char c = Serial.read();  //gets one byte from serial buffer
readString += c; //makes the string readString
delay(2);  //slow looping to allow buffer to fill with next character
}
if (readString.length() >0) {
}

(pos=pos-1); //use larger numbers for larger increments
if(pos<0) (pos=0); //prevent negative number
}
(pos=pos+1);
}

if(pos >= 400) //determine servo write method
{
Serial.println(pos);
myservo.writeMicroseconds(pos);
}
else
{
Serial.println(pos);
myservo.write(pos);
}
}
readString=""; //empty for next input
}

Very useful input

Yes. Thank you such much for all your help. I find this website helpful in getting some guidance to get started on a topic. This is why I first need to ask the question to get started in the right direction. Then I can rely on Google for the finer details. Much appreciated. XD

Pierre7:

raschemmel: You can't measure the motor resisitance because it is connected to the driver but you can measure the servo current while it's running. Google "how to measure current ".

Sure. One can measure current however what if the motor amperage exceed the arduino limitation of 40Ma per pin?

That's 40 mA, I don't know what an 'a' is, but 40,000,000 of them can't be right! The unit is "ampere" or "amp", symbol "A", case matters in both. "Ampere" is the name of the man the unit "ampere" was named from (apologies for lack of accents!)

MarkT:

Pierre7:

raschemmel: You can't measure the motor resisitance because it is connected to the driver but you can measure the servo current while it's running. Google "how to measure current ".

Sure. One can measure current however what if the motor amperage exceed the arduino limitation of 40Ma per pin?

That's 40 mA, I don't know what an 'a' is, but 40,000,000 of them can't be right! The unit is "ampere" or "amp", symbol "A", case matters in both. "Ampere" is the name of the man the unit "ampere" was named from (apologies for lack of accents!)

Thanks for the clarification :drooling_face:

Also keep in mind that the actual current drawn by a servo is variable and depends on several things:

Model/size of the servo
Mechanical load attached to the servo
travel distance commanded to move.

The separate power supply or batteries used to power the servo(s) should be sized for the worst case condition that the servo(s) will be subjected to. A current ‘budget’ of 1 amp current capacity per servo is a good starting point.

retrolefty:
Also keep in mind that the actual current drawn by a servo is variable and depends on several things:

Model/size of the servo
Mechanical load attached to the servo
travel distance commanded to move.

The separate power supply or batteries used to power the servo(s) should be sized for the worst case condition that the servo(s) will be subjected to. A current ‘budget’ of 1 amp current capacity per servo is a good starting point.

For sure, I got my eyes on a 12V power supply for my starter project. They are available at 2A, 5A and 10A

Look at the specs for the servo. I think anything more than 6V will fry the servo

[u]Weight (Gram)Operating Voltage SpeedTorque (Oz. In.)Torque (Kg. CM)Dimension (mm) GearsBearings[/u] 9 4.8V - 6V 0.12s/60° ?21 ?1.5 23X12X21.5 Plastic No

Also, metal gear servos can draw more current in lockup/stall