假定前一节的任务已经成功完成,本节将验证 FCL 执行的 dq 轴电流调节。可以选择两种电流控制器之一:PI 控制器或复杂控制器。可以在调试窗口中设置控制器的带宽。
注: 在此构建中,控制是基于转子的实际位置进行的;因此,如果命令的 IqRef 较高并且电机上没有负载,则电机能够以更高的速度运行。TI 建议在测试之前在电机上增加一些机械负载,或者应用较低的 IqRef 值。当命令电机运行时,电机将进入初始对齐阶段,在该阶段中,电角和编码器角度计数将设置为零。
如果编码器是 QEP,则 QEP 计数将设置为零。电机将会基于强制角度运行,直至收到 QEP Index 脉冲为止。然后,电机可以基于其自身的角位置以完全自控模式运行。
如果编码器是绝对编码器,则对齐时的角度将为初始角度 (initTheta),该角度此后会用作确定位置的参考。对齐完成后,电机可以立即基于其自身的角位置以完全自控模式运行。
以下初始步骤可以帮助评估此构建级别;
- 打开 fcl_f2838x_tmdxiddk_settings_cpu1.h 并通过将 BUILDLEVEL 设置为 FCL_LEVEL3 (#define BUILDLEVEL FCL_LEVEL3) 来选择 3 级增量构建选项。
- 通过将 FCL_CNTLR 设置为 PI_CNTLR 或 CMPLX_CNTLR,可以将电流环路调节器选为 PI 控制器或复杂控制器。
- 将 CURRENT_SENSE 选为 LEM_CURRENT_SENSE
- 根据耦合到电机的编码器,将 POSITION_ENCODER 选为 QEP_POS_ENCODER 或 T_FORMAT_ENCODER。
- 每个 PWM 周期可以对电流和位置反馈进行一次或两次采样,具体取决于采样方法。在单采样方法中,采样与载波最大值同步,在双采样方法中,采样与载波最大值和载波零值同步。示例中通过将 SAMPLING_METHOD 选择为 SINGLE_SAMPLING 或将 SAMPLING_METHOD 选择为 DOUBLE_SAMPLING 来完成此采样方法的选择。最大调制指数从 SINGLE_SAMPLING 方法中的 0.98 变为 DOUBLE_SAMPLING 方法中的 0.96。如果 PWM_FREQUENCY 从 10kHz 改变,则最大调制指数也会改变。如果使用的是 T-format 编码器,请选择 SINGLE_SAMPLING,且 PWM 频率不超过 10kHz。如需更多信息,请参阅 Topic Link Label5.1.3.3。
- 右键点击工程名称,然后点击 Rebuild Project(重建工程)。编译完成时,点击 Debug (调试)按钮,重置 CPU ,重新启动,启用实时模式,然后运行。
在软件中,要添加、调整或监视的关键变量汇总如下:
- maxModIndex:最大调制指数
- IdRef:用于更改 d 轴电流(标幺值)
- IqRef:用于更改 q 轴电流(标幺值)
- FCL_params.WccD:d 轴电流环路的推荐带宽
- FCL_params.WccQ:q 轴电流环路的推荐带宽
- fclLatencyInMicroSec:显示 ADC 采样与 PWM 更新之间的延迟(以 µs 为单位)
- fclClrCntr:这是一个标志,用于清除变量 fclLatencyInMicroSec 并使其刷新
- runMotor:这是一个标志,用于运行或停止电机
图 8-1 显示了 3 级方框图。
关键步骤解释如下:
- 在“Watch”(观察)窗口中将 enableFlag 设置为 1。在“Watch”(观察)窗口中看到 isrTicker 变量递增,可确认中断正常运转。
- 验证 maxModIndex 值是否为 0.96(双采样方法)或 0.98(单采样方法)。
- 将 speedRef 设置为 0.3pu(如果基速不同的话,设置为其他合适的值),将 IdRef 设置零,并将 IqRef 设置为 0.03pu(或其他合适的值)。使用 QEP 编码器时,speedRef 仅在收到 QEP Index 脉冲之前用于强制模式运行电机。此后会根据电机的转子位置来控制电机。另一方面,使用绝对编码器时则没有这种强制模式,电机在对齐后立即根据转子位置运行。
- 将自耦变压器/直流电源的电压逐渐增加至特定的电压,例如额定电压的 20%。
- lsw 是一个状态机变量,表示与正交编码器交互的功能状态。其各种状态如下:
- lsw = ENC_ALIGNMENT --> 将电机的转子锁定为与定子 A 相对齐
- lsw = ENC_WAIT_FOR_INDEX --> 电机处于运行模式并等待 QEP Index 脉冲的第一个实例(仅在使用 QEP 编码器时适用)
- lsw = ENC_CALIBRATION_DONE --> 电机处于运行模式 -(表示出现 QEP Index 脉冲,并在使用 QEP 时完成校准或在使用其他编码器时完成校准)
- 将 runMotor 标志设置为 MOTOR_RUN 以运行电机。
- 请注意,lsw 状态按顺序自动增加(代码在 FCL 库中)
- 使用连续刷新功能在“Watch”(观察)窗口中检查 pi_id.fbk,查看其是否可以跟踪 IdRef。
- 使用连续刷新功能在“Watch”(观察)窗口中检查 pi_iq.fbk,查看其是否可以跟踪 IqRef。
- 若要确认这两个电流调节器模块,请尝试不同的 pi_id.ref 和 pi_iq.ref 值,方法是分别更改 IdRef 和 IqRef 的值。
- 通过调整 FCL_params.wccD 和 FCL_params.wccQ 的值,为电流环路尝试不同的带宽。带宽的默认设置是采样频率的 1/18。
- 如果可以固定电机轴,则可以在 0.5 与 –0.5 之间来回更改 IqRef 值,以便研究环路带宽带来的影响。
- 降低总线电压、使控制器脱离实时模式并进行复位,从而使系统安全停止。现在,电机停止运转。