I have two Continuos Rotation Servos of the same type (SpringRC SM-S4303R).
When I do Servo.Write(180), one of them turns clockwise, the other counter-clockwise.
One of them must be right, the other one must be wrong and I would like to fix it.
Unfortunately the documentation of the Servo library only states that 0 being full-speed in one direction, 180 being full speed in the other, and a value near 90 being no movement. It does not say whether 0 should turn clockwise or counter-clockwise. Consequently I don't know which servo is OK and which is faulty!
So my two questions are:
Should Servo.Write(0) rotate the shaft of the servo clockwise or counter-clockwise, when I look at the servo from above?
How can I permanently fix the rotation direction of the faulty servo? Would it work if I just changed the polarity of the motor inside the servo housing?
Just change your code to make the servos go the way you want?
to be honest... I have a total of 4 servos of the same type.
Three of them turn CCW, one turns CW when I do a servo.Write(180).
So the majority of the servos agreed that it is correct to turn CCW. I then opened the faulty servo and reversed the polarity of its motor. After this, it happily turns CCW like the other ones.
I then opened the faulty servo and reversed the polarity of its motor.
It it was working, but just doing the opposite, then it's probably not faulty. It's just that somebody at the factor didn't follow the instructions when connecting things together.
There is no standard for what "angle" equates to CW or CCW movement. Different types of servo will often do different things. But it is fairly reasonable to expect several examples of the same servo to behave the same way.
OTOH at the price we pay for servos these days you can't expect a lot of quality control.
** general point **
If the servo has a feedback pot just reversing the motor connections won’t work , you need to reverse the pot too.
Never just reverse the outside connections to the servo