Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

Stepper motor acceleration 2

Status
Not open for further replies.

ElronMcK

Structural
Oct 2, 2020
20
0
0
US
Hello EE friends,
I have a NEMA 34 stepper motor. I use it to drive a small shake table (single axis horizontal motion) using a simple harmonic sine function.
1.8 deg/full step.
Driver setting = 400 steps/rev (0.9 deg/step) "half steps"
60V, 7 Amps
Max Pull Out Torque = 87 in-lb (about 980 N-cm)
Ball screw 12mm dia, 4mm pitch
Controller is a Teensy 4.1 (like a super fast Arduino)
Per my simple math, the motor is way oversized for the loading (considering inertia).
Input is "smooth" sine wave. To be very clear, at 2.9 Hz, it switches rotational direction (CW to CCW) about 6 times per second
Here's my problem.
I can run the shake table up to 2.9 Hz at 5mm amplitude horizontal motion at low load or high load (20 lbs or 200 lbs). This equates to about 18,800 pulses / second peak (12,000 pulses/second average from min to max amplitude). Which is about 53 micro-seconds per pulse max. Which is 47 rpm max. Seems low - I can spin the motor much faster if not using a sine wave.

Above 2.9 Hz output with A=5mm, the motor loses synchronization and starts to lock up. Independent of load. Or I can run 5 Hz at A=2mm
I have also tried 800 pulses / rev. Similar lock up results

Questions:
1. What is the physical limit for pulses / second?
2. What can I do to get to 6 Hz at A= 10mm? I don't believe this is a load (inertia) problem per my math (motor locks up at 1% of capacity).


 
 https://files.engineering.com/getfile.aspx?folder=5a84480d-ad62-408c-b742-7186d4e7c7be&file=Shake_table_setup.jpg
Replies continue below

Recommended for you

Steppers are incredibly complicated, and never really behave like 'normal' motors.

ISTR:
Al Leenhouts sold steppers for a lifetime, and wrote a useful book or two to fund his retirement, good for 'practical' analysis.

Some University of New Hampshire people wrote more theoretical stuff about 'phase plane analysis', which may be helpful in going beyond the 'practical' stuff.


There ain't no free lunch.






Mike Halloran
Corinth, NY, USA
 
I think there is a reason shaker tables often use servo systems - putting an accelerometer on the table and using that as the error source.
 
I agree with 3DDave; use a servo drive.
I'll go farther; don't just plug in a servomotor and a ballscrew. Use a voice coil instead.



Mike Halloran
Corinth, NY, USA
 
Thanks guys for the quick replies.
I may have to break down and get the Leenhouts book.

Let's say - hypothetically, of course - that I've already got a stepper motor (and not the appropriate servo) and everything is nearly perfect, except I can't make the system oscillate above 3 Hz (for 5mm amplitude), and there almost no load on the system. What would you do next for troubleshooting?

Most of the discussion about stepping ramp functions are targeted for steppers driving from point A to point B. But my point A and point B are 0.01mm apart.
 
The dynamics of stepper motor torque generation are those of a lightly damped spring. Imagine pulling impulsively on a wheeled cart using a Slinky.

This diagram shows the lightly damped response of a stepper motor to full-step commands (left).

Stepper_Response_Diagram_nf7bkh.gif


If you issue a subsequent step command increment when the response to the present step has bounced back significantly, it is likely to fail, resulting in a stall. So there are certain step frequencies you must avoid.

Often you can just accelerate quickly through the problem frequency or frequencies on your way to high speed. It seems you have noticed this.

Half-stepping improves this a little, but microstepping (say, 64 microsteps per full step) improves this a lot (right plot). Microstepping was basically invented to solve this problem.

Is your drive capable of microstepping? If not, is a microstepping drive otherwise compatible with your application available? This will be the easiest solution.

Curt Wilson
Omron Delta Tau
 
"Is there really much difference between a brushless servo motor and a stepper motor other than the controller?"

Not really. Both are AC synchronous motors. You are correct that the real difference is in the control. We have multiple customers who buy standard stepper motors, add an encoder on the back, and control them as high-pole-count brushless servo motors. They get higher performance and lower waste heat.

Curt Wilson
Omron Delta Tau
 
Real useful info. Thank you all.
Yes, my driver can send up to pulses per second (0.18 deg / pulse).
However, that means that now that the max pulse rate = 94,000 pulses / second --> 10 microseconds per pulse.
I'm completely unanchored here, but that seems high.
But I will re-visit with several different microsteps.

Regarding decelerating, my output motion is about as smooth as you can get: sine wave. At first glance, the acceleration and deceleration can't get any smoother (I think, but I'm listening to hear the contrary). The change in motor rotation (CW to CCW and reverse) occurs gently (unlike seismic data or white noise).
 
However, that means that now that the max pulse rate = 94,000 pulses / second --> 10 microseconds per pulse.
I'm completely unanchored here, but that seems high.

We have many customers who output microstepping pulse trains at over 1 MHz. It's not unusual at all. Of course, you need to check what the maximum frequency your drive can accept is, and make sure your pulse width is short enough that you actually have distinct pulses at the higher frequencies.
 
Status
Not open for further replies.
Back
Top