Pololu Robotics & Electronics
Menu
My account Comments or questions? About Pololu Contact Ordering information Distributors

Pololu Forum

Support with PowerHD1810MG Servo Motor

I recently purchased multiple PowerHD1810MG Servo Motors but I have not been able to get them to complete a full 180 degree sweep. They come closer to around 160-170 and I got the same outcome when I attached a shield to the Arduino and connected an eternal battery source.

Below is the code I am using.

// Include the Servo library 
#include <Servo.h> 
// Declare the Servo pin 
int servoPin = 9; 
// Create a servo object 
Servo Servo1; 
void setup() { 
   // We need to attach the servo to the used pin number 
   Servo1.attach(servoPin); 
}
void loop(){ 
   // Make servo go to 0 degrees 
   Servo1.write(0); 
   delay(2000); 
   // Make servo go to 90 degrees 
   Servo1.write(90); 
   delay(2000); 
   // Make servo go to 180 degrees 
   Servo1.write(180); 
   delay(2000); 
}

What other troubleshooting methods are recommended?

Hello.

That behavior is normal. Most hobby servos are designed for a standard range of 90° for signal pulses ranging from 1.0 ms to 2.0 ms, and while you can often expand this range some by using shorter or longer pulses, they will typically reach their operating limits before turning a full 180° (and trying to command them past these limits can damage the servo). For the HD-1810MG servo in particular, the datasheet lists a maximum range of approximately 145°.

If you would like more information about how hobby servos work in general, these blog posts might be interesting for you.

- Amanda