Electronic – Permanent magnet synchronous motor (PMSM) equivalent circuit

acelectricalltspicemotorsynchronous-motor

I am trying to model a PMSM (permanent magnet synchronous motor) in LTspice and in order to do so I need to form an equivalent circuit. Through some research I believe the circuit should be formed in the dq reference frame as follows:

enter image description here
ref. https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6508040

with a back emf source along with resistor and inductance components.

Using the equations below and through the parks transformation I have made some progress:

enter image description here
enter image description here
enter image description here
enter image description here

I have tried rearranging the equations but the derivatives of the flux $$\frac{d\psi}{dt}$$ being unknown has confused me. Has anyone done something similar or can point me in the direction of some more comprehensive reading than I have found so far.

I have values for Ld, Lq, torque, resistance, initial values for va, vb and vc and the torque constant, voltage constant, speed and number of motor poles. Is this enough to work out the other values in the circuit. Are there any other parameters I require?

Any help would be much appreciated

Best Answer

This might give you an idea of how to do the derivative, you can use laplace transforms in LT spice.

enter image description here

The model will be difficult to run if the model needs to run on more than one frequency

\$\omega_r\psi_d\$ will be a difficult parameter if it needs to vary over the course of the simulation, if it doesn't , just hard code in the parameter with a b-source.

For \$\phi_q=L_q i_q\$a bv source with the parameter of the be source being:

V=omega*((inductorvalue*I(inductor))

Inductorvalue is the value of the inductor I(inductor) is the current through the inductor. Omega could be a .param statement

enter image description here

If omega needs to vary then you will have to find some way to turn it into a voltage signal or current signal (I suppose you could use a circuit of some type) and then turn that into a V(omega) statement.

Related Topic