
bret.tallent
I have a couple of 9g mini servos attached to my board and I am getting some odd artifact from them. One of them will rotate one direction fine, then as I try to rotate back, about half way through the rotation, it starts to flutter uncontrollably. The second servo opens a gripper but it will not open completely all the time and it never closes completely (always leaves a 1 inch gap). I have tried them both with horizontal and vertical servo controls. I can take some video tonight when I get home and post it.
You can see the PWM that EZ-B broadcasts for Servos by following this link: http://www.ez-robot.com/Tutorials/Hardware.aspx?id=4
Servos are quite simple, but usually ppl use them incorrectly. A servo pulse repeats every 20 ms ... As you can see from the hardware page, i repeat from point to point 20ms, with incredible accuracy. Notice it's accurate to the 8th decimal place (or something like that).
Some servo controllers, well most... don't take the pulse width into consideration for their 20ms loop. For example, if the pulse is 1.2 ms, the total loop time maybe 21.2 ms... then if the pulse is 2ms, the total loop time will be 22ms. That is wrong, and will make servos jitter. The EZ-B does not do that.
For example, this guys video is VERY incorrect. He does it entirely wrong. Watch when he adjusts the servo position, the pulses are pushed further apart from each other. That is because he's not taking in count the high pulse time. Most servo controllers (and arduino) do it this way. Which is why their servos are really glitchy.
If you experience any glitch with the EZ-B, that is due to the servo, not the EZ-B
Out of no where, all of these servos started advertising more range, and therefore needed more than 1ms pulse. Then other R/C receiver and transmitters started making models to be specific to their servos.
Now it is just a mess and servos have different ranges. They all work between 1ms and 2ms, but you won't get the full range offered by the servo.
My solution was to extend the range with the EZ-B. That is why my Pulse Width in the standard servo documentation is less and greater than the standard. If I followed the standard, we wouldn't be able to embrace the full range for our non-standard servos.
I'd rather conform than fight the battle