Go Down

Topic: hacked servo keeps turning without PWM signal (Read 331 times) previous topic - next topic

the_mechanic

Nov 02, 2018, 08:48 pm Last Edit: Nov 02, 2018, 08:50 pm by the_mechanic
Hi folks. I'm currently trying to develop my electronic skills and thought the arduino would be a nice platform to do so. I'm currently trying to gain experience in controlling servos and motors.
I've got one of those big chinese DH-03X servos lying around for a project, that I wanted to first learn how to control. I got rid of the potentiometer and used 2 10k resistors instead for continous turn.

I wrote a little program that creates 500 to 2500usec pulses on the output the servo is connected to. I did that to test servos (see where their extremes and zeros are) and find out at which specific pulse width the servo turns at which speed and in which direction.
"Funny" thing is, the moment I disconnect the control wires it still keeps spinning with the last set speed/direction until I disconnect the power source or reapply a pulsed signal with proper lengh.

Is this normal behaviour for servos, to keep spinning if the pulse width of the control signal is outside the "normal" range of 500 to 2500 or 1000 to 2000us range, instead of just stopping and waiting for a "proper" pulse?

I guess it's not THAT big of a deal, however I would prefer a servo to stop if it's control signal is compromised, instead of needing a constant ~1500us pulse for it to freeze.

slipstick

I've never used a DH-03X servo but many hobby servos do operate with "hold last position on signal loss". For a hacked continuous "no-longer-a servo" I guess that translates to "hold last speed".

Steve

the_mechanic


MarkT

Is this normal behaviour for servos, to keep spinning if the pulse width of the control signal is outside the "normal" range of 500 to 2500 or 1000 to 2000us range, instead of just stopping and waiting for a "proper" pulse?
Yes, its essential in fact for most servos.  When flying an RC plane you can get signal drop-out due to
multipath reception or obstacles, the last thing you want is for the plane to react to loss of command
by changing its control surface positions or throttle.

Typical behaviour for an RC servo is to hold last command for a while, or indefinitely.

Since this is a continuous rotation robotics servo, however, you are right, this is the wrong behaviour.
I can't find any matches for "reprogram DH-03X", looks like it wasn't very cleverly designed...

However in a typical robotics application you'd never just remove control signals for no reason, so I guess
it doesn't affect most use cases.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

Go Up