The number servowrite() to stop continous servo motor is changed !!!

I have successfully modified the regular servo motor into a continuous servo motor (by following the tutorial on the internet, I removed the potentiometer and I replaced it with 2k2 ohm resistor).

I need a continous servo motor because it is easier to control with ON-OFF using EMG muscle sensor. Instead of a potentiometer, I use a piezoelectric disc as feedback to stop the motor at a certain position.

At first my experiment was successful, the modified continous servo motor successfully calibrated to stop by entering the number on servowrite (). But after the motor moves for a while, and the motor starts to warm up, suddenly the motor can not stop.

After I review with the code for motor calibration then I find the number to stop the motor on servowrite () changed (from the original 101 to 97). I suspect this is a result of the motor being hot and the resistor getting hot, so the resistor value is changed.

There is a solution to avoid this (without having to buy an original continous servo motor)?

Thank you very much.

I removed the potentiometer and I replaced it with 2k2 ohm resistor).

I would normally expect there to be two resistors, forming a potential divider.

Kind of like this:
out15.png

Totally correct!
But my problem is the number to stop servo is changed!

First time
myservo.write(101); //first trial this number make the servo stoped

After several time
myservo.write(97); //after several time I need to change the number to stop servo, Number 101 is no longer able to stop the servo (the servo still moving in slow speed).

continous_servo_fist_time.ino (182 Bytes)

continous_servo_serveral_time.ino (284 Bytes)

How are you powering the ex-servo?

I using an external power source, 7.5 V.

Up Up

Please see reply #4