Help me stall a stepper properly!

Hi,
I have an application where I need to deliberately stall a stepper motor under load. I am thinking about a lead screw clamping mechanism, which would pretty much be like a workshop vice.
The stepper would drive the lead screw until the vice clamps on to an object - so at the start there would be very little torque required, but higher RPM, then when the vice clamps onto the object the load would rapidly increase and the stepper would obviously stall.
What I need to end up with, is the stepper clamping the object with it’s full holding torque.
I am not concerned about keeping track of position or accurate stepping in any way - I just want to clamp.

Now, I am basically familiar with the function of chopper drives and L/R (constant voltage) drives, and appreciate the torque, voltage and rpm trade-off. What I don’t think I understand is how pulse rate would fit into the above scenario.

Can someone please help me understand what would happen if I was to drive a stepper motor basically unloaded, at a reasonably fast RPM, then force it to stall by applying a large load?

What I think might happen is this:
As the load comes on, the required torque would increase. At the point where the torque is higher than the motor can produce (at that certain voltage and RPM), the motor would begin to skip steps.
But what happens then?
My assumption is that the high pulse rate will keep trying to move the motor (but it is stalled), and only with as much torque as it was generating when it was actually spinning at that pulse rate. Is this correct?

If I was to then reduce the pulse rate, my assumption is that the torque would increase as the pulse rate drops. Then finally as the pulse approaches zero, the motor would actually be able to exert it’s full holding torque, and I would finally get my full clamping force. Sound good?

Another important part of this challenge is that I need to do this without a microcontroller, or any feedback! So I am thinking about doing this with an NE555 with some pulse rate ramping, but I just need to get my head around how the stepper might actually behave before I purchase components and start testing.

Any thoughts or suggestions would be very much appreciated!

1 Like

Hey Christopher,

Welcome to the forum!!

This sounds like an excellent project! Lots of gotchas. :smiley:

Does the clamping mechanism have to be electromechanical? Or would it be possible to swap up that system for something along the lines of a ratchet mechanism (having the motor move in 2 directions could cause some complications but if it has to I might have an idea).

The pulse rate mostly comes into effect when the input power (voltage x current) is a limiting factor on the mechanical system. As long as the pulses are moving the rotor with some or 0 time to spare between the pulse moving to another coil it will continue moving as expected.
As soon as the load on the motor exceeds that of the output torque OR the expected velocity is too high the stepper will start skipping.

In your instance, I’m not too aware electrically what will happen although I can imagine a large spike of voltage or/and current when the force is applied, I definitely could be wrong in this aspect and will have to do some more research.
Mechanically, any stored energy in the form of a compliance or inertia will be transferred into the load, this stage shouldn’t be too dangerous as long as there aren’t any large inertias attached to the shaft and the moving parts remain balanced (quite precisely depending on the speed) during the transient period.

PS: one of the excellent tools for avid makers that I recommend checking out is the bond graph: Bond graph - Wikipedia
It allows for multi-domain systems to be modelled simply and easily show the way power moves through a system.

Also I’m interested as to why you arent able to use a microcontroller in this instance, only answer if you are able to of course!

1 Like

Hi Liam,

Thank you very much for your reply!
I have no concern about the mechanical side of things, that is my area so feeling confident. The stepper side of things is new to me :slight_smile:

Whilst it hasn’t been designed yet, I expect I will make it quite low geared - perhaps 40:1 or so. So for every 40 rotations of the stepper, the lead screw rotates once, therefore advancing 2mm (if I use a 2mm thread pitch). So whilst I say the load “comes on fast”, it will not be such an abrupt stop of the stepper as perhaps I might have given the impression.

Really I am just unsure of how the stepper might behave… I know it will stall of course - but my hope is that I can then squeeze more torque out of it by reducing the step rate after it has stalled…

Strictly speaking I could use an arduino to help, but as this is going to be battery back-up operation, and a fail-safe action, I don’t really want to rely on a processor. It also seems like over-kill, I am hoping I can achieve this with some discrete components with the most complex being the stepper motor driver.
The reasons I fell that stepper is best suited is that it will not burn out when stalled, and produces it best torque when stalled, and are cheap of course. Otherwise just a simple DC motor would work. Maybe I just need to use a cheap brushed DC motor and manage its stall current… dunno whether I will get as good torque for the same size motor, and it opens up a different set of challenges.

1 Like

Hi Christopher,

Most Trinamic (TMC****) drivers feature a stall detection feature that you might be able to use to your benefit, to detect the load of the motor approaching a stall, and to hold it there or stop giving it steps.
I haven’t seen it used in an application like yours, but it might be worth looking into (the first half of the video on this page does a good job of showing it)

https://www.trinamic.com/technology/motor-control-technology/stallguard-and-coolstep/

Keen to see your project progress!
-James

1 Like