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.

[参考译文] TMS320F28069F:RsOnline 不稳定

Guru**** 2553450 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/952870/tms320f28069f-rsonline-erratic

器件型号:TMS320F28069F

我一直在尝试将 RsOnline 估算值添加到代码中、我发现它计算的值有很大的变化。

我使用的电机是低电阻-电机调优算法将 Rs 选择为0.045欧姆。 该值是相当可重复的。  我想添加在线 Rs 更新以提高低速性能。   当我启用 EST_setFlag_enableRsOnLine ()时,Rs 值在0.99和0.02欧姆之间变化。  下面是一个随时间变化的曲线图、其中电机以恒定负载和2000RPM (233Hz)运行:

我正在寻找有关让 RsOnline 正常工作的建议。  这是 user.h 中的电机参数、以防它有用。

#define USER_MOTOR_TYPE Motor_Type_Pm
#define USER_MOTOR_NUM_POLE_PAIRS (7.0)
#define USER_MOTOR_RR (空)
#define USER_MOTOR_Rs (0.308) //
#define USER_MOTOR_LS_d (0.000309814903) //
#define USER_MOTOR_LS_q (USER_MOTOR_LS_d) // d 和 q 是相同
的#define USER_MOTOR_Rated 磁通 (0.0164) // 320 RPM/V/14p = 0.0134 V/Hz
#define USER_MOTOR_磁 化电流(NULL)
#define USER_MOTOR_RES_EST_CURRENT (2.0)
#define USER_MOTOR_IND_EST_CURRENT (-USER_MOTOR_RES_EST_CURRENT)
#define USER_MOTOR_MAX_CURRENT (10.0)//返回到(40.0)
#define USER_MOTOR_FLUX_EST_FREQ_Hz (30.0) 

我尝试过的:

我已经在500 RPM、1000 RPM 下尝试过这种情况、两者都有类似的响应。

我已将 RsOnline_Current_A 从0.75增加到1.5A  、但没有发生任何变化

启动前的 RsRecalc 提供一个一致的值。

如果我允许算法使用计算出的 Rs 值、那么电机会变得疯狂并停止运行。

有人能帮我确定下一步的位置吗?

谢谢!

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

    在我编写这个代码之后-我决定返回 我的代码所基于的 Lab11A 代码。  此代码起作用!  

    进一步调试、我发现 EST_getRsOnLineId_pu ()在我的代码中返回0、在 Lab11a 代码中返回一个合理的值。  这是因为该行:

    refValue = TRAJ_getIntValue (trajHandle_ID)+ EST_getRsOnLineId_pu (estHandle); 

     将检测电流分量添加到 ID 轴的位置、在该代码中位于错误的位置。  我将其移动到正确状态下运行(如果(EST_getState (estHandle)>= EST_State_MotorIdentified)(代码未添加、现在它起作用!  首先编写此代码的人会混淆添加 RsOnline 组件的位置。

    如果它可能对其他人有所帮助、我会将其保留在发布状态。