Electronic – How to estimate the settling time of the rotor of a stepper motor

motorstepper motor

I'm trying to estimate how long I need my stepper's pulses to be to ensure I don't miss steps and assess how big the vibrations will be because of the ringing (i.e. how fast it can be, considering a fixed end-of-step precision requirement).

I've tried to start from:
Where J is the total inertia (with load).

However, I think that for one step, the torque is $$\tau=cos(\theta)$$
And I don't know how to solve that… I can't take the small angles approximation, otherwise it never stabilizes.

Then how? I've looked everywhere for the equation of the time history of the position of the rotor for a single step, but never managed to find it. That's kind of the fundamentals though, right?

Best Answer

$$\tau=J\frac{d²\Theta}{dt²}+F\frac{d\Theta}{dt}+\tau_L$$ $$\tau-\tau_L=J\frac{d\Omega}{dt}+F\Omega$$ $$\dot{\Omega} + \frac{F}{J}\Omega=\frac{\tau_L-\tau}J$$

Solve the differential equation, \$\Omega\propto pulses/s\$

edit: $$\frac{d²\Theta}{dt²}+\frac{F}{J}\cdot\frac{d\Theta}{dt}+\frac{\tau_L-\tau_nsin(\Theta_{el})}{J}=0$$ \$\Theta_{el}=\dfrac{4\Theta}{fullsetps}\$ ; you can substitute \$\Theta\$

Inital condition: \${\tau_L-\tau_nsin(\Theta_{el_{initial}})}=0\$ , in absence of load torque, the electic angle \$\Theta_{el_{initial}}\$ is zero, since no output torque is produced. This also means that rotor flux is alligned with stator flux.

At time t=0, the stator winding is switched so that \$\Theta_{el}=\Theta_{el_{initial}} + \dfrac{\pi}{2}\$, the stator flux is at 90deg in relation with rotor flux (if we ommit the static load torque, that brings the rotor at initial position different than 0deg )