- 将交流电源输出设置为 0V (50/60Hz),打开交流电源,将输入电压从 0V 缓慢增加至 220V 交流。
- 必须在头文件 (user_mtr1.h) 中记录所需的电机参数,如以下示例代码所示。如果用户不太了解电机参数,那么在参考设计中实现了 FAST 估算器的情况下,可以使用电机识别来获得电机参数。
#define USER_MOTOR1_Rs_Ohm (2.68207002f)
#define USER_MOTOR1_Ls_d_H (0.00926135667f)
#define USER_MOTOR1_Ls_q_H (0.00926135667f)
#define USER_MOTOR1_RATED_FLUX_VpHz (0.381890297f)
- 将 userParams_M1.flag_bypassMotorId 值更改为“false”以启用电机识别,如以下电机示例代码所示。
// true->enable identification, false->disable identification
userParams[MTR_1].flag_bypassMotorId = false;
- 根据电动的规格在 user_mtr1.h 中设置正确的识别变量值。
#define USER_MOTOR1_RES_EST_CURRENT_A (1.0f) // A - 10~30% of rated current of the motor
#define USER_MOTOR1_IND_EST_CURRENT_A (-1.0f) // A - 10~30% of rated current of the motor, just enough to enable rotation
#define USER_MOTOR1_MAX_CURRENT_A (6.5f) // A - 30~150% of rated current of the motor
#define USER_MOTOR1_FLUX_EXC_FREQ_Hz (40.0f) // Hz - 10~30% of rated frequency of the motor
- 重新构建工程并将代码加载到控制器中,通过点击 按钮来运行工程,或点击 Debug 选项卡中的 Run → Resume。经过固定的时长后,systemVars.flagEnableSystem 需要设置为“1”,这意味着偏移校准已完成并且浪涌电源继电器已开启。电机故障标志 motorVars_M1.faultMtrUse.all 需要等于“0”,否则请按照节 3.3.4.1中所述检查电流和电压检测电路。
- 在 Expressions 窗口中将变量 motorVars_M1.flagEnableRunAndIdentify 设置为“1”(如图 3-36 所示),此时可以执行电机识别,整个过程需要大约 150s。motorVars_M1.flagEnableRunAndIdentify 等于“0”后,就表明已识别了电机参数。使用 user_mtr1.h 中新定义的电机参数记录监视窗口值,如下所示:
- USER_MOTOR1_Rs = motorVars_M1.Rs_Ohm 的值
- USER_MOTOR1_Ls_d = motorVars_M1.Ls_d_H 的值
- USER_MOTOR1_Ls_q = motorVars_M1.Ls_q_H 的值
- USER_MOTOR_RATED_FLUX = motorVars_M1.flux_VpHz 的值
- 成功识别电机参数后,将 userParams_M1.flag_bypassMotorId 设置为“true”,重新构建工程并将代码加载到控制器中。
- 再次将变量 motorVars_M1.flagEnableRunAndIdentify 设为“1”以开始运行电机。
- 将变量 motorVars_M1.speedRef_Hz 设置为不同的值,并观察电机转轴转速的变化情况。
- 要更改加速度,请为变量 motorVars_M1.accelerationMax_Hzps 和 motorVars_M1.accelerationMax_Hzps 输入不同的加速度值。
- 现在可以在将 motorVars_M1.flagEnableRunAndIdentify 设置为“0”之前停止控制器,并终止调试连接。通过首先点击工具栏上的 Halt 按钮 或点击 Target → Halt 来完全停止控制器。最后,通过点击 或点击 Run → Reset 来重置控制器。
- 通过点击 Terminate Debug Session 或点击 Run → Terminate 来关闭 CCS 调试会话。