> I'll tested std servos with update periods of 15 and 10 msec, and they
> > ran fine, and "seemed" to have a lot more torque, but I didn't try it
> > long enuf to notice heating.
>
> Try 4 msec periods. That equates to 250 Hz. Some digital servos run at
> 300+ Hz.
>
> If you don't mind the hack, you can always cut away some of the
plastic
housing of the servo and stick a small heat sink onto the side of the > motor.
>
> > Alternately, I've used 40-50 msec update
> > periods, and the servos went really wimpy. I'm not 100% certain whether
> > the different effects are due to more/less torque per se, or just to
> > different responsiveness in the internal feedback loops.
>
> It has to do with the period of time power is applied to the motor. In
> an RC servo the motor inside is powered only when the servo receives a
> pulse. Between pulses it receives no power. This is why if you remove
> pulses from a servo (we're talking analog here, not digital) they simply
> stop.
>
> Given a maximum 2 msec pulse every 20 msec means the motor is really
> only receiving current 1/10th of the time. Going with a higher frame
> rate may affect the PI loop in the servo, but different brands may
> behave uniquely. I only tried it with some GWS servos, and there was
> some overshoot (expected) in moving from one location to another. Given
> a more intelligent controller, you could build acceleration ramps to
> tackle most of this. This is what goes on inside a digital servo. >
> When the torque isn't needed by the motor you could revert to a 50 Hz
> frame. That would conceivably prolong motor life, and for sure extend
> battery life. Digital servos consume a lot of amps.
>
> -- Gordon
Ok, Gordon, I pulled apart a servo and did some measurements. One of your favorites, GWS [S03TXF]. Found some interesting things.
- The internal electronics holds about 2v "dc" on both sides of the motor winding continuously, with external pulses on or off. At first, I thought this was like active braking, but it doesn't really have any effect, since the motor is stopped anyways.
- I dislodged the motor, so it would run open-loop. In this case, you do see pulses applied to the motor, but only when the pot is near the equilibrium point - ie, balancing the applied pulsewidth from the servo controller. For large offsets of the pot [akin to a modified servo running fast], the pulses go away and you see essentially constant dc voltage, with the average level proportional to the speed the motor is running. Acts like a normal dc speed control. There is some ripple on the dc.
- There is quite a bit of drift on the pot/electronics. If I set the pot to stop the motor, after a minute or so, the motor starts moving again slowly.
- With the motor pushed back in and operating closed-loop, there are no pulses across the motor, when the servo horn is at its holding-position. However, when the servo horn is torqued away from its holding-position a bit, you see fixed-voltage pulses about full +/-2v, and "constant" length = 2-msec long, regardless of update rate from the controller, or whtether it's sending 1, 1.5, or 2-msec pulses. The polarity of the pulse across the motor depends upon which way you push the servo horn.
- If you now push on the servo horn, the servo fights back by increasing the motor-pulses from 2-msec to as long as 10-msec, for really hard torques on the servo horn. This seems to be how it increases holding torque.
- I tried changing the update from the servo controller from 50-msec [20 hz] to 4-msec [250 hz]. Below about 4-msec or so, the internal loop can't stay up with the external pulses, and the control loop crashes. Also, if you push on the servo horn until the motor-pulse is longer than the time between incoming pulses from the external controller, the internal control loop turns bistable, and locks-up on the long pulses - and the servo horn loses its holding capability. This happens with the incoming updates at 7-msec [140 hz] or so, if you push hard enuf on the servo horn. This is obviously the limit for these servos. Beyond some point the internal electronics just can't stay up with the external pulses coming in, and the loop locks up. What fun.
- Unfortunately, it seems to cannot get more torque out of modified servos by increasing the update rate, since when they're open-loop, they're not being pulsed, but rather controlled with dc voltage. [#2, above].
Anything else I should try?
- dan michaels