I’m using Hitec servos and I have a project that has the servos running 24X7.
I’m concerned that the servos, even at rest, seem to be ‘working’ and using some power. There’s a bit of a hum. Not a problem but I’m wondering are the Hitec servos intended to run continously. They’re not moving. Only once an hour or so but they are powered up and ready for commands.
The lifetime of the servos is probably dependent on just what your “project” is. I had some servos that lasted ~5years running 24/7 in a pan/tilt cam. In this setup, the servos had no real load to support. If the servos have to actually hold a load, then the lifetime of the servos could be short. If the servos are moving a little to hold position, then the internals may wear out fairly quickly.
You could always hook up a relay to whatever is controlling them, than have the relay turned on from a timer when its time for the servo to move, thus power is applied to the servo only when it is needed.
This is what I did on a project a while back. The micro was waking up once per hour, checking a sensor, moving a servo in response to the reading, and then going into sleep mode for another hour. Rather than keeping the servo awake and powered up the entire time, I would kill the power while it slept, and only turn it on when the micro was in the active mode.
The servo was an old unit that twitched when it first received power, but that was remedied by generating the timing pulses on the signal line prior to turning on the power relay. The slight twitch that remained was taken care of by designing the valve assembly to absorb the slight motion, while still retaining full valve motion.
What servo controller uses a “0 position” “sleep” command? I didn’t see this in the ssc-32 command set. One might send a “#0L” to turn off the pulses to the servo, but not sure how the servo might react to the loss of control pulses.
I’m using Hitec Servos with a Perl / Windows XP interface.
&SSC_MOVE(1,0); is a command to move servo 1 to 0 or all the way right and 127 is the middle and 254 is far left (or left / right, I may have it wrong)
That command is handled by the SSC05.DLL code (SEE). So maybe I’ll run your idea by the Scott Edwards people.
I’ve got a Mini SSC II That I’ve been using 24/7 since ~2001 as a pan/tilt cam controller (bottom). Below is from the user’s manual. A “0” position command to the Mini SSC II is the equvilant of sending a “500” position command to the Lynxmotion SSC-32 controller. One should check the particular servos being used, as an extreme position command may result in the servo hitting its internal rotation hard stop and sitting in a stalled condition.
“With a jumper at ®ange, a position value of 0 corresponds to 0.5-ms pulse; 254 to 2.53ms. A 1-unit change in position value produces a 8-microsecond change in pulse width. Positioning resolution is 0.72°/unit (180°/250).”
I did some looking and found a refrence to the servo “0” position at the bottom of the lynxterm panel in the “ALL=0” button. This appears to have the equivilant effect of sending the discrete “#0L” command to servo 0 where the servo pulses aren’t sent to the servo (I suppose a 0us pulse width is pretty much no pulse at all). With both of these the servo goes limp without any erratic movement.
I’m using the Mini SSCII from my old Lynxmotion robot(but willing to try other things). My comands are going thru the SSC05.DLL Windows API into Hitec Servos. I traded email with Edwards Electronic. They say:
It would be a simple task to modify the code and allow a 0 (or some other value) to be a “sleep” command. but They’d have to rework their stock, etc. And remember, it’s an old product.
With the low cost and expanded capabilities of the SSC32, it’s worth investigating.