ZHDU069 March 2026 MSPM0G1507 , MSPM0G1519 , MSPM0G3507 , MSPM0G3519
FOC 算法有两个 PI 控制器,分别用于 Id 和 Iq,以实现磁通和扭矩的独立控制。Kp 和 Ki 系数对于两个 PI 控制器而言是相同的,可在根据表 7-5 进行配置。电流控制环路的输出用于生成要施加到电机的电压信号 Vd 和 Vq。电流环路的输出被钳制到电源电压 VM。首先执行 Id 电流 PI 环路,然后检查 Id 电流 PI 环路 Vd 的输出是否饱和。当电流环路的输出饱和时,积分被禁用以防止积分饱和。
| 变量 | 说明 |
|---|---|
| pUserInputRegs->systemParams.currLoopKp | 用户为闭环扭矩控制设置的比例增益(浮点型) |
| pUserInputRegs->systemParams.currLoopKi | 用户为闭环扭矩控制设置的积分增益(浮点型) |
FOC 应用支持根据电机参数(电阻和电感)自动计算电流环路 PI 参数。默认情况下,在算法中,电流环路带宽设置为 FOC 环路频率的 0.03 倍。例如,如果用户将 FOC 环路设置为 10kHz,则默认电流环路带宽为 300Hz。
将表 7-5 中所述的变量设置为 0 即可启用 PI 参数自动计算。然后,用户可以根据表 7-6 获得计算出的 PI 参数。
| 变量 | 说明 |
|---|---|
| pUserStatusRegs->currentPI.Kp | 只读。电流环路的比例/积分增益。 该值从以下变量传递:pUserInputRegs->systemParams.currLoopKp / currLoopKp(如果其中一个具有非零值)。 如果 pUserInputRegs->systemParams. currLoopKp / currLoopKp 均为零,则该值由 FOC 算法生成。 |
| pUserStatusRegs->currentPI.Ki |
获得表 7-6 中所示的自动计算出的 PI 参数后,用户可以将计算出的参数值设置为 PI 参数的初始值,如表 7-5 所示。然后,用户可以根据实际控制性能进行手动参数调优。
由于电机转速和电流基于 PU 值,因此用户在 pUserInputRegs 中设置的电流环路 PI 参数与 PI 控制器计算中使用的实际 PI 参数之间存在比例因子关系。