Hello,
I have bought two AS3103PG analog servos, supposed to be continuous rotation. I connect one of them to an Arduino UNO as a normal servo: GND, 5V and pin 9. Load the program and it only turns angles. I have tried different approaches (all of them are similar) like:
int pin = 9;
int stop_position = 95;
int velocity = 95;
Servo servo;
void setup() {
servo.attach(pin);
}
void loop() {
servo.write(90);
delay(2000);
servo.write(0);
delay(2000);
servo.write(180);
delay(2000);
}
I find that the servo turns quickly some degrees and stops during the rest of the delay. And every cycle the positions are the same.
Am I doing anything wrong or there is some issue with the servos?
A spec I found for that servo, quotes the time / 60˚ even though it says it's a continuous servo. Since continuous servos have an adjustable speed, the time / 60˚ is meaningless, which made me wonder it it really is continuous?
Your findings indicate it's not.
Try the sweep example in the IDE at File > Examples > Servo and see what happens.
The current from the Arduino 5V regulator may not be enough to run the servo, you need an external 5 - 6V supply with supply - to Arduino GND, have you tried any settings between wide assed open and dead stopped, like 80 or 100?
Hello,
I tried the sweep program, with different delays, and it works. So I opened the servo case and found a potentiometer. Then the servos are not continuous. Tomorrow I will try to get resistors and solder them instead of the potentiometer, and hope it works.
Regards
Rafael