If i write 1500 microseconds the output of the motor controller is 0V like it should be. Writing 1000 microseconds should give -12V and 2000 microseconds should give an output of 12V.
The problem is that the output is -12/12 V even if i write 1525 microseconds.
Does anybody kbow wha the problem could be?
Thank you
#include <Servo.h>
Servo myservo; // create servo object to control a servo
void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop() {
myservo.writeMicroseconds(1525); // sets the servo position according to the scaled value
delay(2000); // waits for the servo to get there
myservo.writeMicroseconds(1500);
delay(2000);
}
Tried another Hb-25 now. same problem. So it htink there is somethink wrong with the connection or the code. Connected it is like in the manual. Jumper is in place.
Does anybody have a idea why i only get -12 or 0 or 12 V?
If you have an actual servo, you could hook it up to verify those servo.writeMicroseconds are actually putting out the correct values. Better yet, if you have an oscilloscope you could check the pulses that way.
I don't see anything in the code that would cause a problem....
I hooked up a standard servo, an this works. I dont think that both of the HB25s are damaged because the worked fine in other projects.
Connection:
White cable to the arduino digital 9 pin
Black cable is connected with ground. Datasheet says servo ground. What does it mean? Grund of the system? My DC motor has no ground.
The red cabel is not connected,
and - are connected the right way and the dc motor too.
Any more ideas?
Could one of you please write where to connect the three wires red/white/black.