Go Down

Topic: servo library documentation (Read 364 times) previous topic - next topic


In the servo library documentation for the writeMicroseconds function the servo documentation says:

"On standard servos a parameter value of 1000 is fully counter-clockwise, 2000 is fully clockwise, and 1500 is in the middle."

That does not seem to be the case, at least for the two different TowerPro servos I've used.  On them, increasing the pulse width moves the servo arm counterclockwise and decreasing it moves it clockwise.

Also, if that's the standard, why does the attach function default the limits to 544 and 2400?

It also says:

"Note that some manufactures do not follow this standard very closely so that servos often respond to values between 700 and 2300. Feel free to increase these endpoints until the servo no longer continues to increase its range. Note however that attempting to drive a servo past its endpoints (often indicated by a growling sound) is a high-current state, and should be avoided."

I found that driving a plastic geared servo too far can destroy the servo.  On an SG90 the gear attached to the motor shaft is metal - all the others are plastic. Trying to drive it anywhere it can't go, as when restrained by what it's attached to, will result in the metal gear grinding down and melting the plastic gear it meshes with.  High current is a minor problem compared to that.  And note we have yet a third min/max value set.

Finally, there seems to be a great dearth of documentation anywhere on the web for servo min max values.  The servodatabase.com site shows it for at least one model, but the others I looked at say "?(add)" - no help there.  Maybe we could add a link in the documentation to a page where we could add the data we have.  Here's what I have:

Tower Pro SG90:  500us CCW  1500us CW
Tower Pro MG91:  710us CCW  2290us CW

At least, 1500us has represented 90 degrees in both of them :-).

Go Up