PM Synchronous motor Id-Iq current control

3 replies · 6K views · last reply
awaiting
Messages
24
Reaction score
0
Hi everyone,

I am trying to implement the current control (Id, Iq) of a four pole PM synchronous motor. I am having trouble in making the Iq current follow a set reference.

Block diagram of field-oriented control for a PM synchronous motor: PI current controllers for Id and Iq, inverse Park and Clarke transforms, space vector modulation feeding a 3-phase bridge to the motor, and a position and speed estimator.


I had also implemented a cascaded speed control for a dc motor.

Block diagram of a field-oriented motor current and speed control loop: a speed controller feeds a current controller through Clarke and Park transforms, a low-pass filter, and PWM inverter driving a motor with a load and encoder feedback.


In that case, I adjusted the gains of the PI controller (inner loop/current loop) by stalling the motor and checked if the motor current followed the set reference current. It worked in this way for the dc motor. I thought of doing the same way for Iq but I am not getting the expected results.

In delta configuration of the stator, if I make the integral gain to be zero, the motor does not rotate. The motor starts rotating if I increase the integral gain to 1 and the speed increases as I increase the integral gain and reaches the maximum value depending upon the supply voltage.
If I stall the motor at different speeds, I get different values of Iq, say for 30 rad/s I have a current of 30mA and 60 rad/s, it is 50mA.
The motor current (Iq) is not following the reference current for any change I am making in the Kp and Ki values

Is there any other approach to achieve the PI control for both the currents?

Thanks
 
Your images can only be viewed with an edaboard account.
 
Sorry about that!
Should have checked the links after posting them..anyways they are below..

Fig 1

Block diagram of a sensorless field-oriented control loop for a 3-phase motor, with PI speed and current controllers, inverse Park and Clarke transforms, SVM, 3-phase bridge, and a position and speed estimator.


Fig 2

Block diagram of a cascaded motor speed control loop: commanded speed enters a PI controller (Kc, Kd) producing commanded current, feeding a second PI controller (Ka, Kb) that outputs motor volts to a motor, with motor current and speed feedback through a low pass filter, and motor torque driving a load inertia.
 
Have you checked that the basics of your system work, e.g. making sure you can produce a current vector in the stator-fixed reference frame (αβ-components) that follows some reference? If that works, then you can start worrying about the rotor-fixed reference frame.

In general, if you represent your system as a hierarchy of components, you start at the root, test it through and through, and then you can start building atop of it. In your case, the root could be a sampling system, with the reference-frame transformations built atop of it.