Adjusting torque of a stepper motor dynamically

Hello!

I have a very unusual question surrounding stepper motors, and I have no idea where on the forum this would go apart from here.

To make a long story short, I've got a project where I'll be using 6 pin stepper motors and potentiometers to give haptic feedback in a suit for a VR tech demo I'm making. It'll be like those haptic feedback gloves you see around, except for the entire body.

However, I'm stuck at a simple problem I did not expect. Stepper motors are excellent at being precise and powerful while holding position, and that's the issue. I need to know (Whether through a hardware interface, or even a smart coding trick with a dual H-bridge driver), if there is a way to affect the torque of the stepper motor dynamically. So that I can feed "10 newtons of force on joint 27" into some magic equation, and have it produce roughly 10 newtons of torque to that body joint.

I have worked with stepper motors before for normal robotics projects, but I've never had to deal with DECREASING the torque of a stepper motor on the fly like that. I've heard that steppers are controlled through current, not voltage, so if I use a current regulator like the LM317 hooked up to my arduino mega, would that work? Or is there something fundamental about stepper motors that makes dynamic torque limiting like this not possible?

Alternatively, is there a type of motor that is designed in such a way to give you this precise torque adjustment that does not hinder movement unless powered? Servo's don't allow for this, stepper motors might be able to, DC motors can but using a standard "Off-the-shelf" DC motor for producing torque seems like a bad idea (They overheat easy if not allowed to rotate).

Effectively, my end goal for this part of the project is to be able to push a packet of data from Unity3D to the arduino (Super simple, built my own library for it) that tells it what forces are on the body at any given time (Minus of course force of gravity), then have an arduino mega apply those forces somehow to the motor (The bit I need assistance with)

I would love any help, be it information on a coding trick to decrease torque of a stepper motor (Maybe some sort of PWM trickery with a dual H-bridge driver), or be it a hardware solution (Some specific motor type, or ideas on current/voltage regulators, or whatever else you can think of)

Any assistance or guidance on the matter would be very helpful!

1 Like

As soon as you reduce the torque/current on a stepper motor, you have eliminated the reason for using a stepper motor, because you are loosing the count of steps that have been made.
Perhaps a redesign with a sensor for the force needed and when the force exceeds a value, step the stepper backwards until the force sensor value goes back to normal.
Paul

Current to a stepper can be modulated with some stepper drivers - its not done with
an external current regulator though, current regulation is internal to a stepper driver.

You need a stepper driver chip or module with current setting Vref pin, and then modulate
the voltage on that pin to control torque.

However the whole question is moot as steppers do not deliver torque, they deliver position.
Furthermore the stepper torque is vastly different once they lose lock and typically will not
regain position control, nor will you know what the position is.

For haptic feedback you need a motor where the position can be changed externally while
the torque is separately controlled - that's definitely not a stepper motor.

Standard DC motors with current sensing and feedback loop can do this - for DC motors
torque depends on current and is independent of position or speed. You'll need encoders
for position sensing, current sensor, and various control loops for torque and position, and
some careful logic to integrate things.

Thanks all for your guidance on my project

I do understand what you mean by stepper motors being for position, not torque, and I agree they wouldn't work.

At the moment I think that the best course of action would be to use a strong but cheap DC motor like the ones at Jaycar and just deal with the heat generated carefully (Probably just apply a maximum current regulator). That way, I can current control the motor to adjust torque (Or even better, just use PWM on a current regulator chip to adjust torque). Speed is not an issue here, since the DC motor will just be for holding torque and applying a force, rather than actual movement as they are more commonly used.

I am aware that technically both voltage and current regulation would work. However, I want current regulation to deal with the heat the motors will generate due to them not being able to spin like normal.

All that's left now is to test with a single motor using these current regulators and a H-bridge circuit, before just building the whole project!

Thankyou everyone!

Haptic feedback normally isn't high power, I don't think you'll need any special cooling - but
what exactly are you trying to do?

You can’t hold a dc motor stationary - it will overheat and burn out .

hammy:
You can’t hold a dc motor stationary - it will overheat and burn out .

Depends on the power dissipated - steppers have the same issue and solve it
by limiting the dissipation so that conduction is adequate to cool it. Highly
efficient DC motors like industrial brushless ones often don't have cooling
fans built in, just rely on conduction same as steppers. Handy for when you
want a waterproof motor for instance.

The back emf of a DC motor essentially reduces the current taken by the motor when rotating , when stationary there is no back emf , so the current ( limited only by resistance of the windings) would need to be reduced by some external control , when the motor is held stationary . That maybe difficult , if it is too low or too high the motor will move one way or the other .

Brushless motors are multiphase synchronous machines fed via invertors from a DC source. There are also permanent magnet DC machines , where the magnets are on the rotor ( these don’t have brushes either )
There may well be some special motors about for this , but there are easier ways ...

Steppers, which inherently have lower torque, do not rely on back emf to control current as they “ step” .

Hydraulic motors and other devices are needed to do what you are asking electrical devices to do.
Paul

Paul_KD7HB:
Hydraulic motors and other devices are needed to do what you are asking electrical devices to do.
Paul

Hydraulic actuator for haptic feedback? Like this? https://www.researchgate.net/publication/224337975_Wearable_haptic_glove_using_micro_hydraulic_system_for_control_of_construction_robot_system_with_VR_environment

Don't know if this is off the shelf, it sounds like research engineering.

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