请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
您好,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()函数结束