转至 Run → Resume 或点击工具栏中的 Resume 按钮来运行代码。经过固定的时长后,systemVars.flagEnableSystem 应设置为 1,这意味着偏移校准已完成。故障标志 motorVars_M1.faultMtrUse.all 应等于 0。
将变量 motorVars_M1.flagEnableRunAndIdentify 设为 1。将执行电机识别;整个过程大约需要 150 秒。motorVars_M1.flagEnableRunAndIdentify 等于 0 并且电机停止后,电机参数即被识别。复制“Expressions”窗口中的变量值,替换 user_mtr1.h 中定义的电机参数,如下所示:
- USER_MOTOR1_Rs_Ohm = motorSetVars_M1.Rs_Ohm 的值
- USER_MOTOR1_Ls_d_H = motorSetVars_M1.Ls_d_H 的值
- USER_MOTOR1_Ls_q_H = motorSetVars_M1.Ls_q_H 的值
- USER_MOTOR1_RATED_FLUX_VpHz = motorSetVars_M1.flux_VpHz 的值
成功识别电机参数后,将 MOTOR_IDENT 改回 0 以禁用识别。重新编译并重新加载应用。
电机参数识别完成,或在 user_mtr1.h 文件中正确设置后,再次将 motorVars_M1.flagEnableRunAndIdentify 设置为 1,启动电机。请检查以下各项:
- 使用变量 motorVars_M1.speedRef_Hz 设置目标速度值,并观察电机轴速度如何随设定速度改变。要改变加速度,请在变量 motorVars_M1.accelerationMax_Hzps 中输入不同的值。
- 如Topic Link Label3.3.2 中所述,您可以使用 CCS Graph 工具来监控变量。默认情况下,此构建级别会记录电机角度和电流波形。
- FOC 系统电流控制器的默认比例增益 (Kp) 和积分增益 (Ki) 在函数 setupControllers() 中计算。调用 setupControllers() 后,全局变量 motorSetVars_M1.Kp_Id、motorSetVars_M1.Ki_Id、motorSetVars_M1.Kp_Iq 和 motorSetVars_M1.Ki_Iq 将使用新计算得出的 Kp 和 Ki 增益进行初始化。如图 3-16 中所示,调整 Expressions 窗口中这四个变量的 Kp 和 Ki 值,使电流控制器实现预期的电流控制带宽和响应。Kp 增益会产生一个零点,以抵消电机定子的极点,可以轻松地计算得出。Ki 增益可调整电流控制器-电机系统的带宽。如果需要一个速度控制系统来实现特定阻尼,电流控制器的 Kp 增益将与速度控制系统的时间常数相关。
- FOC 系统速度控制器的默认比例增益 (Kp) 和积分增益 (Ki) 也在函数 setupControllers() 中计算。调用 setupControllers() 后,全局变量 motorSetVars_M1.Kp_spd 和 motorSetVars_M1.Ki_spd 将使用新计算得出的 Kp 和 Ki 增益进行初始化。如图 3-16 中所示,调整 Expressions 窗口中这两个变量的 Kp 和 Ki 值,使速度控制器实现预期的电流控制带宽和响应。与调整电流控制器相比,调整速度控制器的未知情况更多。默认计算得出的 Kp 和 Ki 只作为起点。