必须添加 PI 控制器,以闭合速度环路。这里 PI 控制器的实现与 TIDM-02009 的 C28 程序相似。由于本文中使用的电机是感应电机,因此有另一滑移补偿器件可闭合速度回路。根据终端设备的实际电机拆卸或更换它。此处意在演示如何使用框架。以下行 1 和 2 显示 PI 控制器函数调用,行 3 到 6 显示滑移补偿。由于行 6 中有除法,因此添加了行 4 和 5,以避免除数为零。
- motor1.pi_spd.fbackValue = resolver_omega;
- motor1.pi_iq.refValue = PI_run_series(&(motor1.pi_spd));
- aci1.IMDs += aci1.Kr * (motor1.I_dq_A[0] - aci1.IMDs);
- aci1.IMDs = ((aci1.IMDs < 0.001) && (aci1.IMDs >= 0)) ? 0.001 : aci1.IMDs;
- aci1.IMDs = ((aci1.IMDs > -0.001) && (aci1.IMDs < 0)) ? -0.001 : aci1.IMDs;
- aci1.Wslip = aci1.Kt * motor1.I_dq_A[1] / aci1.IMDs;