I’ve been learning how servos work, and see that they center on a 1500 us pulse width, and typically move 1 degree for each 10 us delta. So, for 180 degree rotation, the pulse width range is 600 - 2400 us.
To extend the range beyond 180 degrees (e.g. in robot arm base), could it simply be a matter of extending the range of pulse widths?
Are there physical limits built into servos that prevent > 180 degree range?
Are there limits in servo control software libraries (e.g. Arduino servo library)? I’ve seen reference to limits of 500 - 2500 us.
From what I know, servos have a little stop on one of their gears which prevents them from rotating more than 180 degrees - you can buy servos that are modified to rotate the full 360 or you can modify the servo you have to allow it to rotate 360 degrees. Here’s something that you might find useful if you want to modify a servo (hackaday.com/2008/07/14/modifying-a-servo-for-continuous-rotation/).
Actually the range each servo has and how much of a delta you need for 1 degree change is different on different servos. But as akdabaous said many have gears/pots that have limits in them of bout 180 degrees. If you try to command the servo to go farther than that it may destroy it. The standard Arduino library does have settable Min/Max values for each servo which it checks your values against. You can also use that to help with the mapping of degrees to pulse width.
For extending the rotation as in a robot arm base, people often use a gearing arrangement,in a 2:1 ratio (i.e., 2 * 180 = 360). Of course, this does reduce the accuracy, as the minimum move is now also multipled by 2
Most Hitec servos can handle 500us to 2500us, which corresponds to -90 to +90 degrees. However, many R/C transmitters only send signals between 600 to 2400us. Most hobby servo controllers can send the full range without the need for servo range extenders.
As was indicated, before, there is usually a small plastic cylinder on the final gear which physically prevents the servo from moving beyond -90 to +90 degrees. Should you file or clip this off, the servo will try to move beyond -90 to +90 and the internal pot would be the next item to stop the motion. When you modify a servo for “360 degree rotation” it’s important to know it should be “continuous rotation” since there is no longer any position feedback - you are essentially controlling a DC gear motor using R/C servo signals.
What I’m after is just a bit more than 180 degrees (say, 240), with the same characteristics of a standard servo (e.g. return to center on a 1500 us pulse).
Buying a continuous rotation servo (or modifying an existing server by removing the physical stop and feedback circuit) wouldn’t meet that need, would it?
No - you lose position feedback with a continuous rotation servo.
A 1500us pulse would simply stop the servo wherever it was.
Smart serial servos can often rotate 240-300 degrees, but are controlled differently than normal R/C servos.
For now, we suggest either the 785HB or a ~2:1 gear ratio.