电机控制器,该模型基于有效磁链进行无传感器控制,为了改善磁链观测器的低速性能,提高低速下观测精度,使用电压电流混合模型,其运行原理为:使用电压模型获取定子磁链,经过有效磁链转化后得到转子磁链,通 过反正切计算得到估计角度值。 将电压模型所得的定子磁链以及估计角度值作为电流模型的输 入,先经过 Park 计算得到 dq 轴的磁链,可根据磁链公式计算出 dq 轴的电流,再由 Park 逆变 换获取估计的定子电流 。 定子电流的误差经过 PI 调节后,反馈至电压模型的输入信号 中,实现完整的闭环控制。

无传感器控制在电机驱动里一直是个技术活,尤其是低速工况下磁链观测容易翻车。传统电压模型在高速时表现还行,可一旦转速降到某个阈值,反电动势信号弱得跟心电图似的,这时候观测器直接罢工给你看。今天要聊的这个混合模型有点东西,它把电压模型和电流模型拧在一起玩闭环,实测在200转以下还能稳住观测精度。

先上电压模型的核心代码片段:

// 定子磁链计算(α-β坐标系)
psi_alpha += (V_alpha - R * I_alpha) * Ts;
psi_beta += (V_beta - R * I_beta) * Ts;

这四行代码看着简单,实则是整个观测器的地基。积分器吃进去电压减掉电阻压降,吐出来定子磁链。问题在于低速时电阻参数稍微飘一点,积分就开始放飞自我,这时候就需要电流模型来拉兄弟一把。

混合模型骚操作在于把电压模型输出的psi_alpha/beta转成转子磁链:

psi_r_alpha = psi_s_alpha - L_sigma * i_alpha
psi_r_beta = psi_s_beta - L_sigma * i_beta
theta_est = np.arctan2(psi_r_beta, psi_r_alpha)

这里L_sigma是漏感参数,相当于在定转子磁链之间做了个减法校准。arctan2出来的角度估计值会被扔给电流模型当输入,这个设计有点像打游戏时两个角色互相补位。

电机控制器,该模型基于有效磁链进行无传感器控制,为了改善磁链观测器的低速性能,提高低速下观测精度,使用电压电流混合模型,其运行原理为:使用电压模型获取定子磁链,经过有效磁链转化后得到转子磁链,通 过反正切计算得到估计角度值。 将电压模型所得的定子磁链以及估计角度值作为电流模型的输 入,先经过 Park 计算得到 dq 轴的磁链,可根据磁链公式计算出 dq 轴的电流,再由 Park 逆变 换获取估计的定子电流 。 定子电流的误差经过 PI 调节后,反馈至电压模型的输入信号 中,实现完整的闭环控制。

电流模型这边接棒后开始表演:

// Park变换(用估计角度做坐标旋转)
psi_d = psi_alpha * cos(theta_est) + psi_beta * sin(theta_est);
psi_q = -psi_alpha * sin(theta_est) + psi_beta * cos(theta_est);

// 电流重构
i_d_est = (psi_d - L_q*i_q_est)/L_d;  // 伪代码示意
i_q_est = (psi_q - L_d*i_d_est)/L_q;  // 需要联立求解

注意这里Ld和Lq的交叉耦合得处理好,实际工程中可能要上磁链查表法。重构出来的电流和实测电流一对比,误差信号就出来了,这时候PI调节器该登场:

% 电流误差PI调节
delta_i = i_measured - i_estimated;
V_compensation = Kp * delta_i + Ki * integral(delta_i);

这个补偿电压会反哺到电压模型的输入端,相当于给观测器装了个自动驾驶。实测中发现PI参数整定有讲究,Kp太大会引发振荡,Ki太小又压不住静态误差。有个野路子是在低速时动态调整积分系数,转速越低Ki越大,实测能提升稳定性。

这套混合模型最妙的地方在于形成了自闭环——电压模型出磁链,电流模型验真身,两者互相监督又互相修正。实验室拿750W永磁同步电机实测,在50转/分钟工况下,角度跟踪误差能控制在±0.3rad以内,比传统方法稳了不止一个量级。

不过要注意的是漏感参数L_sigma必须测准,这货要是标定歪了,整个观测链条都得跑偏。建议在电机停机状态下用高频注入法标定,比空载测试准得多。另外代码里所有三角函数最好换成查表法,STM32的硬件CORDIC模块用起来,既能省算力还能防溢出。

更多推荐