Thursday, 6 March 2014

How to estimate the settling time of the rotor of a stepper 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: $$\tau=J\frac{d²\theta}{dt²}$$ 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?



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 )


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...