Running hobby servos at speeds greater than 50Hz.

I've been reworking some of my motor controller code today - and just for s**ts and giggles I decided to try changing the frequency of the PWM pulses going to my servos, which are Hitec HS-81MGs. I've been running them at 50Hz, and their performance has been OK, but not great.

I tried 100Hz and they just completely freaked out - massive oscillations, unable to reach a steady state - completely unstable.

I tried 90Hz, and they were a bit more stable, the amplitude of the oscillations was less, but they never seemed to reach a steady state output.

Then I tried 80Hz. This seems to be the sweet spot for these guys. The torque has increased a very large amount at this speed. Disturbance rejection is much better as well. Oscillations are gone, as long as you slowly change the PWM pulse. A sudden change in the PWM pulsewidth will cause it to oscillate some for a second or two - but it does stabilize. This isn't a problem. After initial power up it oscillates for a couple seconds - but again nothing too bad, and much better than at 100Hz. When gradually turning the servo (linearly increasing the pulse width), the turn seems to be substantially smoother and more accurate than at 50Hz.

So this seems pretty good - but I have a couple worries. First of all

- I haven't measured it yet - but current consumption seems to be substantially higher. I say this because the motors are getting noticeably warm to the touch. Definitely warmer than at 50Hz. When is warm too warm? Also - could this wear the servo out?

Anything else I should know or be worried about? Is all of this normal behavior, and what I should expect from other hobby servos?

Thanks!

-Mike

Reply to
Mike
Loading thread data ...

Servo makes and even models vary, so your findings here are not necessarily reflective of all analog servos. However it serves as a starting point. There may be differences even among the same model if they are made some time apart. More servos are being redesigned to use microcontrollers rather than the older all-analog or analog IC controller, so it's important to test a relatively new servo.

In any case, it's always useful to try increasing the frame rate of servos to improve their torque, and it's a shame more servo controller boards don't have this feature. I've been whining about it for several years. You should also experiment with dynamically changing the refresh rate to see if that helps performance. Most applications do not require high holding torques, you can fall back to lower frame rates. Use the faster rate when the motor is moving a load.

You do have to be careful about the increased current load, and the possible affects the added heat has on the motor itself. Assuming a servo with a standard PM motor, these motor don't use "brushes" per se, but just a copper wire that will probably not last as long at the higher currents. The trade off is higher performance but a shorter motor life. For some applications and budgets this is acceptable.

-- Gordon

Reply to
Gordon McComb

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.