Controlling the holding torque of a stepper motor

I want to be able to dinamically control the holding torque of a stepper motor such as https://www.pololu.com/product/2267.

I want to use the stepper to simulate the reaction force of an elastic system to a force applied to a lever mounted on the motor shaft. I want to make this without any move command transmited to the stepper motor, I only want to modulate the holding torque as a function of the angle of the rotation of the motor shaft resulted from the torque applied with the lever to the motor shaft.

Using an Arduino Leonardo, what driver/controller for stepper motors should I use and what should I have to take into account when using such driver/controller?

Hello.

The holding torque of a stepper motor is proportional to the current through the coils, so if you use a driver that has an electronically controllable current limit, it should also be possible to control the torque. We have a few products that have electronically controllable current limits. Our AMIS-30543 Stepper Motor Driver Carrier has an SPI interface that should work with your Arduino Leonardo and it is possible to change the current limit for the driver via that interface. Also, all of our Tic stepper motor controllers have I2C and serial interfaces that allow the current limit setting to be changed dynamically and should work with the Leonardo.

In general, the position of the shaft of a stepper motor will deflect as torque is applied and when the torque reaches the holding torque, the motor will skip steps. In general, every 4 full steps of a stepper motor is electrically identical, so the skipping behavior will not be especially smooth.

-Nathan

1 Like