假定前一节的任务已经成功完成,本节将验证速度 PI 模块和速度环路。当命令电机运行时,电机将进入初始对齐阶段,在该阶段中,电角度和位置编码器角度值将设置为零。确保稳定对齐后,电机开始运行。
- 打开 fcl_f2838x_tmdxiddk_settings_cpu1.h 并通过将 BUILDLEVEL 设置为 FCL_LEVEL4 (#define BUILDLEVEL FCL_LEVEL4) 来选择 4 级增量构建选项。
- 通过将 FCL_CNTLR 设置为 PI_CNTLR 或 CMPLX_CNTLR,可以将电流环路调节器选为 PI 控制器或复杂控制器。
- 将 CURRENT_SENSE 选为 LEM_CURRENT_SENSE
- 根据与电机相连的编码器,将 POSITION_ENCODER 选为 QEP_POS_ENCODER 或 T_FORMAT_ENCODER。
- 将 SAMPLING_METHOD 选为 SINGLE_SAMPLING 或 DOUBLE_SAMPLING。如果使用的是 T-format 编码器,请选择 SINGLE_SAMPLING,且 PWM 频率不超过 10kHz。如需更多信息,请参阅 Topic Link Label5.1.3.3。
- 右键点击工程名称,然后点击 Rebuild Project(重建工程)。编译完成时,点击 Debug (调试)按钮,重置 CPU ,重新启动,启用实时模式,然后运行。
在软件中,要调整的关键变量汇总如下:
- speedRef:用于更改转子速度(标幺值)。
- IdRef:用于更改 d 轴电流(标幺值)。
- IqRef:用于更改 q 轴电流(标幺值)。
图 9-1 显示了实现方框图。
关键步骤可解释如下:
- 在“Watch”(观察)窗口中将 enableFlag 设置为 1。在“Watch”(观察)窗口中看到 isrTicker 变量递增,可确认中断正常运转。
- 将 speedRef 设置为 0.3pu(如果基速不同的话,设置为其他合适的值)。
- 向“Expressions”(表达式)窗口添加 pid_spd 变量
- 逐渐增加自耦变压器上的电压以获得适当的直流总线电压。
- 将 runMotor 设置为 MOTOR_RUN
- 请注意,状态机变量 (lsw) 会按顺序自动增加,其状态如下:
- lsw = ENC_ALIGNMENT --> 将电机的转子锁定为与定子 A 相对齐
- lsw = ENC_WAIT_FOR_INDEX --> 电机处于运行模式并等待 QEP Index 脉冲的第一个实例(仅在使用 QEP 编码器时适用)
- lsw = ENC_CALIBRATION_DONE --> 电机处于运行模式 -(表示出现 QEP Index 脉冲,并在使用 QEP 时完成校准或在使用其他编码器时完成校准)
- 使用持续刷新功能来比较该速度 (speed1.Speed) 与“Watch”(观察)窗口中的 speedRef,查看速度是否几乎相同。
- 若要确认此速度 PID 模块,请尝试使用不同的 speedRef 值(正值或负值)。可以调整 P、I 和 D 增益来获得满意的响应。
- 在超低速度范围内,速度响应的性能严重依赖于位置编码器提供的转子位置角精度。
- 降低总线电压、使控制器脱离实时模式并进行复位,从而使系统安全停止。现在,电机停止运转。
图 9-2 显示了同步坐标系中定子电流的磁通分量和扭矩分量。