Electronic – arduino – Fix continous rotation servo

arduinoservo

I bought a servo that was modified for continuous rotation.

Is it possible to modify it mechanically to behave like a normal servo?

Alternatively, it is possible to drive it as a regular servo?

Best Answer

The way a servo works is generally this: You have a motor that is geared down very low. It usually has physical stops on one of those gears. Also integrated into the gears are a potentiometer. This is generally at the same rotational speed as the output shaft.

The potentiometer gives feedback to the position of the output as the servo turns. It just creates a voltage divider with a value proportional to position of the output shaft. This is then matched by the value sent into the servo as a PWM signal from the receiver (or micro, etc.) The motor turns until these match. PWM = position.

When a servo is modified for continuous rotation, the pot is changed to two resistors and the tab that would stop rotation is broken off. Now the servo tries to move to balance the resistor divider to the PWM signal, but the fixed resistors never change. So you get a continuous rotation with the speed controlled by the difference in PWM signal to center. And the direction is controlled by the side of center the PWM signal sits. Now PWM = direction and speed.

If you found a pot that fits or they left the pot in place with the resistance divider modification, it may be possible to restore the function. You would not have the protection of the tab stopping the motor for turning too much. This means that too far of a rotation would have the possibility of damaging the potentiometer.