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.

[参考译文] RS Online价值不稳定,为什么?

Guru**** 2561700 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/635891/rs-online-value-is-not-stable-why

您好,TI:

 以下代码用于Rs Online, Rs重新校准的初始值约为10.5欧姆,但在该值之后,Rs_Online会更新该Rs值,该值跳转到18.01 ,有时在刷新并将其值更新为3.48 欧姆后。  如果我使用此值计算电机温度,则温度可能在-150 至180 C之间,这是不可接受的。  

您知道为什么会发生这种情况吗?  

感谢您的帮助!

void runRsOnLine (CTRL_handle handle)
{
CTRL_Obj *obj =(CTRL_Obj *) handle;

//执行rs联机代码
if (gMotorVars.Flag_Run_Identify == true)
{
IF (EST_getState(obj->estHandle)== EST_STATE_ONLINE)
{
float_t RsError_Ohm = gMotorVars.RsOnLine_Ohm - gMotorVars.Rs_Ohm;

est_setFlag_enableRsOnLine(obj->estHandle,true);
est_setRsOnLineId_Mag_PU (obj->estHandle,_IQpumpy (gMotorVars.RsOnLineCurrent_A,_IQ (1.0 /用户_IQ_FULL比例当前_A));

IF (ABS (RsError_Ohm)<(gMotorVars.Rs_Ohm * 0.05))
{
est_setFlag_updaters(obj->estHandle,true);
}
}
否则
{
est_setRsOnLineId_Mag_PU (obj->estHandle,_IQ (0.0));
est_setRsOnLineId_PU (obj->estHandle,_IQ (0.0));
est_setRsOnLine_PU (obj->estHandle,_IQ (0.0));
est_setFlag_enableRsOnLine(obj->estHandle,false);
est_setFlag_updaters(obj->estHandle,fals);
est_setRsOnLine_qFmt(obj->estHandle,EST_getrs_qFmt(obj->estHandle));
}
}

return;
}// runRsOnLine()函数结束 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    根据电动机规格,通过gMotorVars.RsOnLineCurrent_A设置足够的注射电流,不要以低速运行电动机。