This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Holding Torque in PMSM Motor Control - Sensored

Dear Friends,

I'm working on PMSM Motor Control Project (with Encoder + FOC). 

For that, I've imported the HVPM Sensored code from control-suit.

Now everything working fantastic, except for some issues.

As I'm giving some load when the motor rotating in Full FOC (BUILDLEVEL = 4, lsw = 3), the motor drags only few Amps Current, but at some higher speed, the motor gives full holding Torque, and drags enough current to reach for highest Duty Cycle. 

How can I solve this? I need Constant Holding & Rotating Torque at every speed. 

pid1_id.Kp = _IQ(1.0);
pid1_id.Ki = _IQ(T/0.04);
pid1_id.Kd = _IQ(0/T);
pid1_id.Kc = _IQ(0.2);
pid1_id.OutMax = _IQ(0.30);
pid1_id.OutMin = _IQ(-0.30);

// Initialize the PID_REG3 module for Iq
pid1_iq.Kp = _IQ(1.0);
pid1_iq.Ki = _IQ(T/0.04);
pid1_iq.Kd = _IQ(0/T);
pid1_iq.Kc = _IQ(0.2);
pid1_iq.OutMax = _IQ(0.8);
pid1_iq.OutMin = _IQ(-0.8);

Should I increase the 

pid1_iq.OutMax = _IQ(0.8), 

pid1_iq.OutMin = _IQ(-0.8);

pid1_id.OutMax = _IQ(0.3);

pid1_id.OutMin = _IQ(-0.3);         values up to _IQ(1.0)?

  • Chinmay

    Tuning Speed loop is always challenging task. Success of level-4 depends upon how good the current loops are tuned in level-3.

    Good way to tune current loop in level-3 is to run motor with some load and give step input of Iq-ref and observe the response of iq-fb and id-fb via PWM-DAC. You should see iq-fb should follow the iq-ref and id-fb should remain close to zero. Once this is done, current loop is tuned properly and you can proceed for speed loop tuning.

    The PI limits value of D and Q axis current control depends upon the motor parameters, but you can try to keep Q axis close to +/- 0.9 and D-axis close to ~ +/-0.5

    For tuning PI loop constant KP/KI refers to PI tuning section of below url:

    http://processors.wiki.ti.com/index.php/TMS320C2000_Motor_Control_Primer

    Best Regards

    Milan-Motor Application Team

  • Thanks Milan.