You are here

How Can You Calculate Step Motor Trajectories?

by Jeff Kordik

Step motor motion is conceptually simple: Just rotate the stator field and the rotor will follow, so long as you don’t expect it to violate the laws of physics.  An easy but unpleasant way to violate said laws is to ask for more acceleration than the motor can achieve.  So how does one perform step motor trajectory calculations? As we learned in the post Dynamic Torque & Step Motor Sizing, maximum acceleration is determined by torque divided by inertia.


Since torque is limited and inertia is fixed, acceleration must also be limited.  That means you must accelerate the motor and load to speed at a controlled rate, then decelerate it to a stop and the end of the move.  The result is a trapezoidal shaped motion profile.


Since velocity is the rate of change of distance, and acceleration is the rate of change of velocity, all you need is a little calculus to compute the rotor position and velocity at any given time during the acceleration ramp: integrals

When do you stop accelerating?  When you reach the commanded velocity.  That happens when at the time


And at distance


When should you being decelerating?  Well, you certainly don’t want to wait until you’ve reached the target distance, or you will overshoot your objective.  If we employ the acceleration formula presented above, the distance required to decelerate is


where Ad is the deceleration rate.  Why not use the same deceleration rate as we used to accelerate?  In short, because friction hinders the motor from accelerating, but helps it stop.  So typically, for maximum throughput, deceleration is set to a higher rate and acceleration. Since we must allow for the distance deceleration Dd, we’ll begin our ramp down at the position


If all that algebra and calculus looks a bit daunting, fear not.  Modern, intelligent step motor drivers can do all the math for you.  Just tell the drive the acceleration, velocity and distance you need, and it stands at the ready to perform any move on command.  This form of commanding is also known as “AVD Go”, and a good quality driver can accept those commands in real time over a multitude of popular industrial networking protocols including Modbus, CANopen, EtherNet/IP and specialized, proprietary streaming command languages such as Applied Motion Products SCL.  AVD Go moves can also be incorporated into stored programs, including the popular, motion specific Si Programmer and Q languages. So what are you waiting for?  Put away that slide rule and start shopping for a high performance step motor solution that fits your needs and your budget.  

News Tags: