0
$\begingroup$

My students and I are using a Hiwonder LD-220MG digital servo to position a "shoulder" on a robot. robot bulldozer on workbench

We are seeing a behavior (on every one of these servos that we test) that it won't go between arbitrary angle values. If the angle we want to go to is too far from where the servo is currently positioned, then it either ignores the new target value, or very slowly creeps to it if it's not "too far". If the target angle is "close", say within 15 degrees, the servo will correctly and quickly move to the target angle.

So far, we've looked at voltage (right at the top of the spec for the servo), signal quality (nice solid 50Hz square wave coming from a PCA9685 16-Channel 12-Bit PWM Servo Driver), and software (used a hobby R/C tester).

Any and all suggestions appreciated.

$\endgroup$
  • $\begingroup$ contact Hiwonder ... there may be some type of error detection behavior in play ... try issuing the same destination command several times $\endgroup$ – jsotola Jul 25 at 2:35
0
$\begingroup$

Gever, do you have any clue on what type of feedback control you are using? This is usually a PID kind of controller (at least as far as I know). It could be that the once you give a large target position, the controller values get too high, causing an error to your servo. Adjusting the values of the PID (or any kind of) controller parameters would maybe help.

| improve this answer | |
$\endgroup$
  • $\begingroup$ Jelle, thanks for giving it a good think. Since the hobby servos are self-contained, we don't get to tweak the PID... we've got a clunky software work-around going now that we are going to just go with for the pilot launch of our Mars program: tinkeringschool.com/mars $\endgroup$ – Gever Tulley Jul 27 at 17:54
  • $\begingroup$ Allright good to know. Good luck! $\endgroup$ – Jelle Jul 28 at 6:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.