Modeling scalar control of PMSM

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 PMSM Model block The Inverse Park Transform block The Inverse Clarke Transform block Ther results are following

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.

• Have you tried with the power invariant Clarke transform? – a concerned citizen Feb 12 at 7:59
• @a concerned citizen Thank you for your reaction. Do you mean changing the gains in the Inverse Clarke Transform block? – Steve Feb 12 at 21:02
• Yes, but now I realize the matrix is only for displaying the currents. Maybe there are similar scaling coefficients that need to be added when using the dq equations? – a concerned citizen Feb 13 at 7:39
• As far as I know the Park transformation only realizes rotation of coordinate system via multiplying by $e^{j\phi}$ and does not change module of the space vector. – Steve Feb 13 at 10:42
• Yes, but you don't only apply the Park transform to get to the dq-reference frame. That is, it's not a simple matter of multiplying with a sin/cos and adding/subtracting in a 3phase to a 2phase, the Clarke matrix, or, at least, the coefficients are also there. That $e^{j\phi}$ has meaning in an orthogonal system, not a 3phase, so you first apply 3->2 and then sin/cos, unless you complicate with doing it directly, but even then you have scaling coefficients. That's what I referred to when I mentioned the scaling coefficients. But I am also not sure, that's why I'm stuck with comments. – a concerned citizen Feb 13 at 13:24