Torque control of a stepper in holding configuration using PWM?

I have a stepper motor that I want to use to resist an applied torque with a variable holding torque. I need to be able to control that holding torque without touching my power supply/battery.

Two possible ways to control this suggest themselves. I can run a PWM signal into a low-pass filter, from there into a high-current op-amp, and feed the op amp output to my H-bridge (E: as the motor power source, I mean)... OR I can rapidly cycle the H-bridge's ENABLE pin by putting it on a PWM signal. The latter option seems slightly more insane, but I figured I should check if it might work, just in case.

H-bridge datasheet here: https://www.ti.com/lit/ds/symlink/drv8837.pdf?ts=1612327643674&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FDRV8837

Sounds like a task that is more appropriate for a DC motor.

if the torque of a stepper motor is a fraction too low it will just jump to the next step position and varying the torque won't bring it back.

...R

Data on the stepper motor?

Robin2:
Sounds like a task that is more appropriate for a DC motor.

if the torque of a stepper motor is a fraction too low it will just jump to the next step position and varying the torque won't bring it back.

...R

Yes, that's actually what I want. A little bit of slippage as the torque falls is good. I don't expect induced voltage to be a significant problem, as I'll be slipping a few steps at most. It's not quite supposed to be a brake - I need "pull," "hold in place," and "resist" functionality. I can't think of an easy way to get a DC motor to do all 3.

MarkT:
Data on the stepper motor?

106-13-01 | 106 Series | Hybrid Stepper Motor | Lin Engineering - bipolar hybrid stepper rated for .6 A. And the hypothetical high-power op amp would be https://www.ti.com/lit/ds/symlink/lm675.pdf?ts=1612405824111&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FLM675

Holding torques from a stepper are way larger than the torque they can pull. Typically this means
it will only slip when moving, not when stationary, unless you drop the current significantly.

Your stepper is low impedance and needs current drive - so you'll need a chopper-style stepper driver
with dynamic control of current (not just an adjustment trimmer like the DRV8825 modules).

It's not quite supposed to be a brake - I need "pull," "hold in place," and "resist" functionality. I can't think of an easy way to get a DC motor to do all 3.

This is what servomotors(*) are for, they have control loops to allow any combination of position/speed/torque
control.

For a DC motor you'd need a current sensor to measure the torque, and a PID loop to close the
loop to the motor driver. Add an encoder for speed/position control capability too.

(*) not to be confused with hobby servos, as many people do. Servomotor - Wikipedia

MarkT:
Holding torques from a stepper are way larger than the torque they can pull. Typically this means
it will only slip when moving, not when stationary, unless you drop the current significantly.

Your stepper is low impedance and needs current drive - so you'll need a chopper-style stepper driver
with dynamic control of current (not just an adjustment trimmer like the DRV8825 modules).

Right, I should clarify - I don't need a full simultaneous speed/torque control. When I need to control torque, the motor will be working only as a brake, and when I need to actuate, the motor torque won't be critical. There's another element in the system that controls the load, so the motor only starts having to work hard once it's in position. Dropping the current significantly is exactly the plan for torque control, my thought being that I can just drop voltage to drop current. I agree that a chopper driver is generally optimal for steppers, but I'm working at extremely low speeds and no real dynamic loads. I was under the impression that voltage control would be practical for that use case. If I'm wrong, happy to be told otherwise.

MarkT:
This is what servomotors(*) are for, they have control loops to allow any combination of position/speed/torque control.

For a DC motor you'd need a current sensor to measure the torque, and a PID loop to close the
loop to the motor driver. Add an encoder for speed/position control capability too.

(*) not to be confused with hobby servos, as many people do. Servomotor - Wikipedia

With all the additional sensing and control, I feel like using a brushed DC for position control (and torque control in a static position) is good bit more trouble than it's worth. As for servos - as far as I'm aware, the torque ripple should be worse than steppers just because of the tooth density, at least in a similar size (and price) package, aside from which I'd very much appreciate if you have a recommendation for small torque-controllable servos that are anything less than around $1000.

The problem is most stepper driver modules specifically provide constant current at all times,
only alterable by a trimmer pot.

If you don't use a stepper driver module you'll have the issue of finding an H-bridge that
works at about 4V supply, which is unusual. Also you'll have much less max speed and no
easy microstepping.

While you can probably do what you want its going to be tricky to figure out, and there's no
guarantee the motor you've chosen will have a low enough detent torque anyway, its not
in the data.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.