使用 PI 预装载处理永磁同步电机二次起步异响
一、电机二次起步问题1.1 第一次启动 (电机零速启动)在电机零速启动时电机的状态是(电角速度为 0)(反电动势为 0)此时我们的控制刚刚启动给出的其内部的电流环 PI 和输出给定为 0(电流环积分器) 0 0之后积分器和 Uq 输出根据设计上升电机正常启动无问题。1.2 第二次启动 (电机滑行中启动)在电机滑行的状态时电机的状态是(电角速度为 0)(反电动势为 0)根据 q 轴电压方程 (简化、稳态)将其变形得到 q 轴电压 q 轴电流 定子电阻 电角速度 永磁体磁链此时因为我们的 ω 不为 0导致不为 0。但是我们控制器在刚刚启动是将 Uq 输出为 0这就会导致也就是此时的情况为(q 轴电压为 0)(反电动势不为 0)这就会导致产生一个巨大的负向电流 也就是产生强烈的刹车转矩也就是导致咯噔一下。也就是转子已经在转了但 q 轴电压不够结果电机反推控制器。这种情况导致 q 轴电压瞬间为负表现为电流环 PI 控制器被干扰导致电流有冲击反向力矩。1.3 问题实际现象与总结可见我们在电机有惯性 (有反电动势) 的情况启动后在电流和电压上均会出现尖峰本质原因是电机已在转反电动势已存在而控制器接管瞬间 q 轴电压为 0 (或过小)导致 q 轴电流瞬间为负引发电流冲击和反向转矩。二、解决办法2.1 解决思路 (PI 预装载)二次起步的核心问题是接管瞬间 q 轴电压不足以抵消已存在的反电动势导致 q 轴电流反向冲击。解决办法是在进入闭环前根据当前转速估算反电势并将其作为 q 轴电压前馈或 PI 积分器初始值使接管瞬间电压与电机状态匹配从而实现无冲击切换。也就是在二次起步进入闭环前 Iq 的积分项 电角速度 永磁体磁链 反电动势换种说法这也就是 PI 预装载在开启 PWM 的前一刻需要进行反电动势前馈预赋值。将 q 轴 PI 控制器的积分历史值 (或输出初值) 强行设定为当前转速对应的反电动势大小将 d 轴 PI 初值设为 0。这样切入瞬间的输出电压刚好抵消反电动势初始电流为零实现平滑切入。为了实现这一步骤我们在 Simulink 模型中输入母线电压、三项电压和转速 (转速只做判断方向使用)最终我们输出的是近似的反电动势幅值将其传递给我们的 q 轴 ki 的积分中我们在二次启动电机时就用这个 ki 积分值而不是 0。2.2 获取三项相电压将我们获取的三项端电压取中点得到端电压之后除以母线电压得到 0~1 的标幺量2.3 对电压进行 Clack 变换对电压进行 Clack 变换得到 α、β 轴电压2.4 估算反电动势幅值用 α、β 电压幅值估算反电动势幅值。首先将 α、β 的电压值求 VS也就是其中的 K 等于这个常量将我们电压扩大到 SVPWM 能输出的尺度再做低通滤波作为一个稳定的反馈量输出。Filter 做一个一阶低通滤波器使用根据实际进行滤波效果设定即可。2.5 全部的仿真框架① 获取三项相电压② 对电压进行 Clack 变换③ 估算反电动势幅值我们只需要在电机停止输出后 (iq、id 均为 0) 调用这个模块让其赋值给 iq 中 ki 的积分。三、使用效果3.1 使用效果可见我们再二次启动时不再有电压的尖峰了电机也不会有异响。四、d 轴积分需要预装载吗4.1 d 轴积分需要预装载吗d 轴通常装载 0不需要预装载。因为在 dq 轴坐标系下反电动势几乎全部集中在 q 轴。