主题中讨论的其他器件:MOTORWARE、 INA240、 BOOSTXL-DRV8320RS、 DRV8312
SDK v2.01
上次发布的问题 Clarke 变换应如何为快速 FOC 估算器设置 I/V alpha/beta 格式、以生成用于 Park 变换的 θ 角输出。
Lab7的 RsRecalculation 标志= false (labs.h)、我们知道 ADC 偏移计算会自动运行、从而在设置 Online = 0x1之前启用 SYS。
motorVars.flagEnableOffsetCalc = true;
A 相会产生低于(角度)模式的电流形状、表示旁路 RsReCalibration 在闭环之前启用? Lab7在线标志在 mainISR 之前为 false、SVGEN_RUN ()、默认为 Lab7速度控制。 FAST 估算器似乎要求在闭环 SVG_RUN ()期间强制启用 RsRecalibration、否则 A 相电流变为角度而不是正弦?
图10-8显示了绕过偏移和 Rs 重校准时的电流和输出电压波形。

10.4无需重新校准即可启动
这种启动方法是使电机以闭环方式运行的最快方法。 它不会重新校准偏移或电阻。 一旦启用控制器、电机就会闭环运行。 仅当偏移和定子电阻已知时、才应使用此方法。 有关如何在启动时处理满载条件的详细信息、请参阅第14章。 图10-7显示了电机如何在空闲状态后立即以闭环方式运行、而无需任何重校准。
//
//! \brief Initialization values of global variables
//
#define MOTOR_VARS_INIT { \
false, /* flagEnableSys */ \
false, /* flagEnableRunAndIdentify */ \
false, /* flagRunIdentAndOnLine */ \
false, /* flagMotorIdentified */ \
false, /* flagSetupController */ \
true, /* flagEnableForceAngle */ \
\
false, /* flagEnableRsRecalc */ \
false, /* flagEnableRsOnLine */ \
false, /* flagEnableUserParams */ \
true, /* flagEnableOffsetcalc */ \
false, /* flagEnablePowerWarp */ \
true, /* flagBypassLockRotor */ \
\
true, /* flagEnableSpeedCtrl */ \
true, /* flagEnableCurrentCtrl */ \
MOTORCTRL_MODE_SPEED, /* motorCtrlMode */
if(EST_isMotorIdentified(estHandle) == true)
{
if(motorVars.flagSetupController == true)
{
/* Disable Online Rs Recalibration */
//? motorVars.flagEnableRsRecalc = false;
//
// update the controller
// set custom current and speed controllers gains
//
updateControllers();
}
else
{
motorVars.flagMotorIdentified = true;
motorVars.flagSetupController = true;
/* Enable Online Rs Recalibration */
//? motorVars.flagEnableRsRecalc = true;
setupControllers();
}
}




