Small servo twitch
jmknapp
Posts: 7
Hi,
I'm driving a couple of Parallax standard servos with an Adafruit motor shield and Arduino Mega. This is for a heliostat that uses a mirror to direct solar rays to a given fixed direction--ideally. Problem is that irregularly every 5-20 seconds or so, one or both of the azimuth/elevation servos will twitch about half a degree in a random direction, so the light beam in practice dances around in about a +/- half-degree pattern. This is using the Arduino servo library that uses the high-precision timers, and on a scope the pulse width appears constant.
Is this an inherent problem with the servos, that there's some unavoidable noise in the potentiometer readings or something, or is there a way to prevent it?
I'm driving a couple of Parallax standard servos with an Adafruit motor shield and Arduino Mega. This is for a heliostat that uses a mirror to direct solar rays to a given fixed direction--ideally. Problem is that irregularly every 5-20 seconds or so, one or both of the azimuth/elevation servos will twitch about half a degree in a random direction, so the light beam in practice dances around in about a +/- half-degree pattern. This is using the Arduino servo library that uses the high-precision timers, and on a scope the pulse width appears constant.
Is this an inherent problem with the servos, that there's some unavoidable noise in the potentiometer readings or something, or is there a way to prevent it?
Comments
DS8231 Ultra-precision servo
Per Mike, steppers don't twitch and start at $2.50 : http://www.ebay.com/itm/Stepper-Step-Motor-DC-28BYJ-48-5V-ULN2003-Driver-Test-Module-Board-5-Line-4-/370817548738?pt=LH_DefaultDomain_2&hash=item565672c1c2#ht_4859wt_928
Info at http://forums.parallax.com/showthread.php/141149-3-Stepper-Motor-amp-Board?highlight=stepper+motor
I was going to suggest a digital servo that the deadband could be modified, such as:
http://www.servocity.com/html/hs-7966hb_servo.html
with this programmer:
http://www.servocity.com/html/hpp-21_servo_programmer.html
I had a similar problem with servo hold, and this combination worked for me.
http://www.futaba-rc.com/servos/digitalservos.pdf
At 5.6 degrees per step, wouldn't that stepper require gearing way down to get, say, 0.1 degree resolution? Trying to avoid a lot of mechanical complexity... Maybe I'll try a digital servo with the suggested programmer. Thanks for all the help.
Stepper motors are designed to allow precise open loop control, but they can drift from where you think they are over time due to missed steps. An end of limit stop is a good idea because you can more the stepper to a known home position and zero out any accumulated error. The stop usually has a limit switch to sense that the mechanism is in place. For sun tracking I imagine an at night rest position would be the idea way to do this.
These steppers are so cheap that buying a couple is low risk. Odds are you'll find some purpose for them.