Servos trying to exceed physical stop

Hi, I am using 2 servos for a school robot project and I'm having trouble with the limits of both.

When i set servos --> 0 degrees servo 1 buzzes against the stop, servo 2 is fine . when i set servos --> 180 degrees servo 2 buzzes against the stop, servo 1 is fine.

by trial and error Ive found servo 1 stops at 9 degrees, servo 2 stops at 178

is there anyway to adjust the min/max pulse individually? Its quite critical that i get full 180 degrees from both servos. It seems at the setting that isn't against the stop there is still maybe 10-20 degrees until it hits the opposite stop so a calibration may fix the error? Any hints/tips? thanks in advance

You need to adjust things inside the servo. This might not be possible depending on the design. If not then just restrict the numbers you give it. Use the map function to make this look better in the code.

is there anyway to adjust the min/max pulse individually? Its quite critical that i get full 180 degrees from both servos. It seems at the setting that isn't against the stop there is still maybe 10-20 degrees until it hits the opposite stop so a calibration may fix the error?

Yes, see the reference for the attach command, it allows for a optional min and max argument. However there is no software function to guarantee that any specific servo will be capable of 180 degree travel, that is the function of a specific model servo, some don't have full 180 degree travel period.

http://arduino.cc/en/Reference/ServoAttach

Lefty

is there anyway to adjust the min/max pulse individually? Its quite critical that i get full 180 degrees from both servos.

You may be able to change the min/max servo values (544us/2400us) in the servo library to increase the operating band, then individually account for the expanded band in each servo command. One possible servo internal mod would be to remove the hard stop tab from the servo output shaft (as is done when modifying a servo for continous rotation).