SDK V2.01 LAB13:
未记录函数代码 runRsOnline()重校准 SPRUHJ1H–2013年1月–2019年6月修订版。
通过 motorVars.RsOnLine_Ohm ping pongs 值和禁用本地 runRsOnline()调用,对 user.h motorVars.Rs_ohm 进行预生成内联运行时间更新。 SPRUHJ1H 没有提到为了 使更改生效必须通过 EST_setFlag_updateR()更新用户值。 我看到我的内联代码(如下所示)起作用、但仅在第一次电机运行时才起作用、并且它并不总是通过大于5Hz 转子速度的标志正确更新 Rs_ohm。 电阻更新应是有效的电机运行时间分析。
因此,runRsOnline()未能正确校准电阻,电流在电机启动前变为微平,转子急动360°。 但是、在电机运行时更新期间、估算器 ROM 算法并不总是返回正确的电阻或更新 Rs_ohms 校准结果。 如果 RsOnline 算法无提示地更新 user.h motorVars.Rs_ohm ,为什么 runRsOnline()具有电阻测试,如文档所述? 似乎 ROM 算法无提示更新不会回调写入 user.h motorVars.Rs_ohm。 因此、当用户设置标志以更新 user.h motorVars.Rs_ohm 时、ping pongs 2变量值都是错误的。
//
// setup the space vector generator (SVGEN) module
//
SVGEN_setup(svgenHandle, estOutputData.oneOverDcBus_invV);
/* Check rotor speed <1Hz, enable/disable Force Angle */
if((motorVars.speed_Hz < USER_FORCE_ANGLE_FREQ_Hz) &&
(motorVars.flagRunIdentAndOnLine == true)) //(motorVars.flagEnableForceAngle == false) &&
{
/* Enable Force Angle when rotor speed <1Hz */
EST_setFlag_enableForceAngle(estHandle, true);
motorVars.flagEnableForceAngle = true;
/* get the user.h Rs coil ohms*/
//motorVars.Rs_Ohm = USER_MOTOR_Rs_Ohm;
/* set the Estimator OnlineRs update flag */
//EST_setFlag_updateRs(estHandle, true);
/* Enable Online Rs Recalibration flag */
motorVars.flagEnableRsOnLine = true;
/* Enable slow speed estimator Maximum cold starting torque */
EST_setFlag_enableRsOnLine(estHandle, motorVars.flagEnableRsOnLine);
/* Get last Online coil ohms sent to estimator */
//motorVars.RsOnLine_Ohm = EST_getRsOnLine_Ohm(estHandle);
}
//
// run the space vector generator (SVGEN) module
//
SVGEN_run(svgenHandle, &Vab_out_V, &(pwmData.Vabc_pu));
/* Check to disable RsRecalibration */
if(((motorVars.speed_Hz > 5) &&
(motorVars.flagEnableRsOnLine == true) &&
(motorVars.flagRunIdentAndOnLine == true)))
{
/* set the Estimator OnlineRs update flag */
EST_setFlag_updateRs(estHandle, true);
/* Get last Online coil ohms sent to estimator */
motorVars.RsOnLine_Ohm = EST_getRsOnLine_Ohm(estHandle);
/* Disable Online Rs Recalibration flag */
motorVars.flagEnableRsOnLine = false;
/* Disable estimator RsOnline control algorithm */
EST_setFlag_enableRsOnLine(estHandle, motorVars.flagEnableRsOnLine);
}
关于 FW、MTPA:流程图显示了过调制电流重构、但文本从未解释为什么3个电流传感器需要这种重构? 当采样窗口(140ns)奈奎斯特时间比50µs μ s PWM 周期快时、为什么100%占空比需要电流重构?
FW (fwc.h)不会显示任何公式来根据 user.h (USER_MOTOR_LS_d/q_H)确定 FW 模块的 ld/LQ 范围、因此 FW 通过默认表值减慢电机速度。 我假设一些工程师可以使用 FEA 定子电感 CSV 值、但 购买 任何 SPM 电机时不会给出 ld/LQ 表范围。 也许 LAB13 文本应该详细说明如何确定 ld/LQ 表范围、而不是假设读者在同一页上。
我必须是对的、电机200Hz (80Vdc)具有 B 相、C 相的良好正弦波、但 A 相是三角形。 电流重构会严重振荡210Hz、类似于燃烧发动机预点火。
BTW:难以找到 ld/LQ 值的 fwc.h 表。 昨天我找到了它,但今天没有这样的运气。

