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.

TMS320F28069M: InstaSPIN-FOC lab05b est speed too high

Part Number: TMS320F28069M


Greetings! I am running ACIM with InstaSPIN-FOC. Lab05a is working properly and I am controlling Iq_ref in order to control the motor speed. But when I moved to lab05b I am not able to run motor. The PID settings are the same as lab05a, only speed PID is added and the values are by default. I made a comparison between the sygnal values of lab05a and lab05b using figures 25 and 26(lab`s doc). So here is how i extract some values:

 /*internal variables*/
IqRefHolder=CTRL_getIq_ref_pu(ctrlHandle);
IqHolder=CTRL_getIq_in_pu(ctrlHandle);
IdRefHolder=CTRL_getId_ref_pu(ctrlHandle);
IdHolder=CTRL_getId_in_pu(ctrlHandle);
AngleHolder=EST_getAngle_pu(obj->estHandle);
VqHolder=CTRL_getVq_out_pu(ctrlHandle);
VdHolder=CTRL_getVd_out_pu(ctrlHandle);
EstSpeedKrpm=EST_getSpeed_krpm(obj->estHandle);
Spd_out=CTRL_getSpd_out_pu(ctrlHandle);
/*PIDs*/
IdKi=CTRL_getKi(ctrlHandle,CTRL_Type_PID_Id);
IdKd=CTRL_getKd(ctrlHandle,CTRL_Type_PID_Id);
IdKp=CTRL_getKp(ctrlHandle,CTRL_Type_PID_Id);

IqKi=CTRL_getKi(ctrlHandle,CTRL_Type_PID_Iq);
IqKd=CTRL_getKd(ctrlHandle,CTRL_Type_PID_Iq);
IqKp=CTRL_getKp(ctrlHandle,CTRL_Type_PID_Iq);

SpdKi=CTRL_getKi(ctrlHandle,CTRL_Type_PID_spd);
SpdKd=CTRL_getKd(ctrlHandle,CTRL_Type_PID_spd);
SpdKp=CTRL_getKp(ctrlHandle,CTRL_Type_PID_spd);

A few things draw my attention. Even when the IqRefHolder=IQ(0.0)(CTRL_getIq_ref_pu(ctrlHandle)) the motor is running on lab05a. On lab05b the spd_out sygnal goes up to 0.13 but it doesn`t change the Iq_ref(if i am extracting this value with the correct function -> CTRL_getIq_ref_pu(ctrlHandle)). Iq_ref stays 0.0 according this, but still the motor doesn`t spin.

Second the estimator speed EstSpeedKrpm=EST_getSpeed_krpm(obj->estHandle); goes up to 0.13(nevertheless the SpeedRef_krpm is set to 0.09) and drops to 0. But the motor is not spinning. In lab05a this value is about 0.47-0.5 with Iq_ref set to 0. So I think the estimator is running.

Am I monitoring the correct sygnals? Is the only chnage between lab05a and lab05b is the added speed controller it should work. But it seems there is a difference. In lab05a the Force angle is not even active. 

Can you advice me which sygnals should I monitor? Am I extractiong the correct values. Do the values I have monitored correspond to the values from figures 25 and 26?

Thanks!

  • Hi Pavlin,

    Please watch the variables in the function "CTRL_runOnLine_User()" in "ctrl.h", where you can get the knowledge of the control calculations well.

    When the speed control is enabled, the "iq_ref" should be connected to the output of the speed control loop, which is "spd_out" in your defined signals.

    Thanks,

    Jiaxin