Controlling servo torque

duty cyclepwmsensorservotorque

TL;DR : Can I control a servo's torque by PWM'ing a PWM ?

I'm thinking about buying a dynamixel AX18 and I would like to be control it's output torque.

If I modulate the input command, I expect the torque to be linear to the duty cycle. But I don't know if this would work on a servo, as the gears and it's internal controller might get in the way.

I would like to make a closed loop with a force sensor, in order to control the torque. I would have to identify the parameters of the servo to get the Kt gain.

Is this solution plausible or am I missing something?

Best Answer

Easiest way to measure torque is to measure the motor current.

Since you can't do this without disassembling the servo, recognise that the servo electronics will be relatively efficient, so measure the overall current taken by the servo : when active, 90% or more of that will be motor current. (You can subtract the current taken at idle, to improve accuracy if you want).

It would be a good idea to add decoupling across the servo, to ensure that you are measuring the average current rather than the short term high current pulses generated by the PWM controller.

Now, instead of setting the servo value directly to the desired position, you can control the slew rate and thus the torque by gradually increasing (or decreasing) the servo position in small steps until it reaches the desired position, monitoring servo current as you do so.

Related Topic