# Electronic – Modeling scalar control of PMSM

controlmodelingmotorsynchronous-motor

I have met with a scalar control algorithm for a permanent magnet synchronous motor. I haven´t heard about it before so I decided to develop a dynamic model to further analyze this control algorithm. Unfortunatelly I haven´t got the Matlab with the SimPowerSystems library so I decided to create this model in Scilab.

I have been using below given equations for PMSM simulation:

$$\\frac{\mathrm{d}i_d}{\mathrm{d}t} = \frac{1}{L_d}\cdot(u_d-R\cdot i_q+L_q\cdot\omega_e\cdot i_q), \\ \frac{\mathrm{d}i_q}{\mathrm{d}t} = \frac{1}{L_q}\cdot(u_q-R\cdot i_q-L_d\cdot\omega_e\cdot i_d – \omega_e\cdot\psi_m), \\ \frac{\mathrm{d}\omega_m}{\mathrm{d}t} = \frac{1}{J}\cdot(1.5\cdot p\cdot\psi_m\cdot i_q – T_l),\\ \omega_e = p\cdot\omega_m\$$

where $$\p\$$ is number of pole pairs

The parameters of the model:

$$\L_d = 1.365\cdot10^{-3}\,H \\ L_q = 1.365\cdot10^{-3}\,H \\ R = 0.416\,\Omega \\ \psi_m = 0.166\,Wb \\ p = 2 \\ J = 3.4\cdot10^{-4}\,kg\cdot m^2 \\ kF= \frac{3.2}{(2\cdot\pi\cdot\frac{1200}{60})^2}\,\frac{N\cdot m}{(rad\cdot s^{-1})^2}\$$

Here is my overall simulation model

The motor is loaded by below given torque

$$\T_l = kF\cdot\omega^2\$$
which is removed in step wise manner at $$\t=0.4\,s\$$

The U/f block

The PMSM Model block

The Inverse Park Transform block

The Inverse Clarke Transform block

Ther results are following

Stator currents

Motor torque

Reference and actual mechanical speed

Stator voltage in q axis

I have doubts about correctness of my model due to the fact that the actual motor speed differs from the reference speed. I expected that they will equal because of the modeled machine is a synchronous motor. Does anybody know where I did a mistake? Thanks in advance for any suggestions.