电机无感控制在零低速工况下就像玩捉迷藏——转子位置得靠特殊手段来捕捉。高频方波电压注入法这两年挺火,咱们今天拆开一个实际落地的仿真模型看看门道
高频方波电压注入零低速IPMSM无感控制算法仿真模型复现 [1]复现一篇硕士论文参数与结构都一样去复现 [2]实现功能在估计的d轴注入高频方波电压来估计转子位置具有较高的稳态精度和动态性能。 该仿真调试效果不错曾应用到实际电机中去。 [3]参考文献参考一篇硕士论文其中一章节的内容进行复现坐标变换模块直接决定了算法的基础框架这里的Clarke变换矩阵写得有点讲究% Clarke变换矩阵 T_abc2alphaBeta 2/3 * [1, -1/2, -1/2; 0, sqrt(3)/2, -sqrt(3)/2];系数里的2/3不是随便来的实测发现这样处理能保持功率守恒。曾有新手改成sqrt(2/3)导致幅值异常调了三天才发现是这里的问题。高频注入环节才是重头戏这里用方波而不是正弦波有讲究。方波的产生代码看似简单// 高频方波生成 void HF_injection() { if(carrier_cnt CARRIER_HALF_PERIOD) { hf_voltage -hf_voltage; carrier_cnt 0; } Vd hf_voltage; // 注入d轴 Vq 0; }但载波频率选择要命了实验室那台3kW电机在4kHz时观测器抖得跟筛糠似的降到1.8kHz立马稳如老狗。这个参数得跟着电机特性走别死磕论文里的数值。信号解调是个精细活带通滤波器设计直接决定信噪比。仿真里用二阶IIR实现# 带通滤波器系数 b [0.0201, 0, -0.0201] a [1, -1.56, 0.98]零极点图显示通带刚好卡在2kHz±200Hz这宽度得跟着转速变化范围调整。有个骚操作是动态调整带宽但实测增加复杂度反而影响稳定性。高频方波电压注入零低速IPMSM无感控制算法仿真模型复现 [1]复现一篇硕士论文参数与结构都一样去复现 [2]实现功能在估计的d轴注入高频方波电压来估计转子位置具有较高的稳态精度和动态性能。 该仿真调试效果不错曾应用到实际电机中去。 [3]参考文献参考一篇硕士论文其中一章节的内容进行复现位置观测器的锁相环结构最考验调参功力核心是这个误差计算position_error imag(current_response) .* sign(hf_voltage);符号函数这里藏着玄机某次现场调试时发现正反转误差极性不对称后来在符号函数后加了0.95的衰减系数才解决。仿真里平滑得像德芙巧克力实际电机总有毛刺需要处理。整个模型跑起来后突加负载时的波形最有看头。转速从0到200rpm的阶跃响应中观测位置和编码器反馈的偏差曲线像跳水运动员入水——先有个小浪花然后迅速平静。这时候KP参数要是大了会反复震荡小了又响应迟钝有个黄金比例是KP2.5, KI80不过这个数只适用于特定惯量的电机。最后说个踩坑经历最初仿真用的理想逆变器模型到实际调试时IGBT的死区效应让高频响应信号严重畸变。后来在模型里加了死区补偿模块波形立马对上了。所以别迷信纯仿真结果留点余量给现实世界的非线性因素才是老司机的做法。