IPMSM无传感器控制:双时间尺度在线辨识Rs/Ld/Lq
发布时间:2026/9/17 12:01:54 作者:尧图编辑部 阅读量:1,286

简介这份 PDF 取自 IEEE Transactions on Power Electronics 2017 年刊载的论文面向电力电子与电气工程领域的研究人员、电机控制方向的研究生及技术开发人员聚焦内置永磁同步电机IPMSM无传感器控制中参数随温度变化与磁饱和漂移而影响观测精度的难题。文中提出基于仿射投影算法APA的在线辨识方案在估计的旋转 γ-δ 坐标系下精确辨识定子电阻与 dq 轴电感并以双时间尺度机制对电气参数分别进行快、慢速更新再把更新结果反馈给扩展反电动势观测器从而提升中高速段基于模型的无传感器控制的稳定性与鲁棒性。研究结合 MATLAB/Simulink 仿真与 TMS320F28335 DSP 样机实验验证了参数收敛精度与多工况下的控制效果其思路亦可延伸至状态监测与故障诊断。压缩包为 1 个 PDF 文件约 1.51MB完整保留公式推导、算法流程与实验波形便于精读与引用。目前已有 62 人学习下载。1. 观测器带宽调得再高跑两小时位置误差照样爬上来台架上做 IPMSM 无传感器控制很多人第一反应是把扩展反电动势EEMF观测器带宽往上拉指望靠增益把估计误差压死。实测结果往往相反冷机启动时 θe 误差能稳在 0.05 rad 以内电机运行一两个小时后同一转速同一负载下误差缓慢爬到 0.15 rad转矩脉动跟着变大。问题不在增益而在观测器内部那组电气参数已经不准了——定子电阻随绕组温升往上走dq 轴电感随磁饱和随电流幅值塌陷名义值一旦偏离真实值EEMF 的幅值和相位都会被算错位置误差就这么被喂进环路。在线参数辨识要解决的就是这件事让观测器手里那组 Rs、Ld、Lq 始终跟着工况更新。适合做伺服驱动、电驱控制器、电机算法标定的工程师尤其是已经把无传感器跑通、卡在稳态精度和宽温区鲁棒性上的人。2. IPMSM 估计坐标系建模与秩亏的来处2.1 从 α-β 到 γ-δ参数如何混进位置信号静止 α-β 坐标系下的 IPMSM 电压方程本身没什么特别的真正关键的是扩展反电动势的定义Eex (Ld - Lq)·ωr·id (Lq - Ld)·p·iq ωr·KE这一项把永磁体反电动势和凸极效应揉在了一起。它意味着 EEMF 不只含ωr·KE还含(Ld - Lq)决定的凸极分量。也就是说只要你用 EEMF 去反推转子位置Ld、Lq 就直接进了位置信号的表达式Rs 则通过电流项Rs·i进了电压平衡。无传感器工况下转子位置未知d-q 轴拿不到只能退到估计旋转坐标系 γ-δ 上建模。设 γ-δ 相对真实 d-q 的滞后角为 θe把 α-β 模型投影过去电压方程多出ωr·Lq·iδ、ωr·Lq·iγ这类交叉耦合项EEMF 分量变成eγ -Eex·sinθeeδ Eex·cosθeθe 为小量时 eγ 近似线性反映了位置误差观测器就是靠这个分量把 θe 拉回零。但注意eγ、eδ 里都藏着 Eex而 Eex 又由 Ld、Lq 构成。参数错了θe 的零点位置就偏了这不是加增益能修的东西。2.2 离散化与线性回归改写连续域模型没法在 DSP 上跑需要在 γ-δ 下做后向差分离散化。把 γ 轴电流方程整理成便于辨识的线性回归形式% IPMSM 在 gamma-delta 估计坐标系下的后向差分离散模型 % 符号约定i_g/i_d 为 gamma/delta 轴电流v_g/v_d 为对应电压 % e_g/e_d 为 EEMF 分量w_r 为电角速度Ts 为采样周期 di_g (i_g(k) - i_g(k-1)) / Ts; % gamma 轴电流微分 di_d (i_d(k) - i_d(k-1)) / Ts; % delta 轴电流微分 % gamma 轴: di_g (v_g - e_g - Rs*i_g w_r*Lq*i_d) / Ld % delta 轴: di_d (v_d - e_d - Rs*i_d - w_r*Lq*i_g) / Ld % 两式对参数 [1/Ld, Rs/Ld, Lq/Ld] 都是线性的这里用后向差分而不是前向差分是因为 DSP 中断里电流采样发生在 PWM 周期结束时刻后向差分和采样点对齐不会引入额外半拍延迟这对电流微分这种本身就带噪声的量很重要。代码里的di_g、di_d是构造回归目标的原始量实际实现时通常要过一阶低通截止频率取 PWM 频率的 1/10 左右。2.3 秩亏三个未知数、两个方程把上面两式写成矩阵形式y Φ·θθ [1/Ld, Rs/Ld, Lq/Ld]你会看到 Φ 只有两行。IPMSM 电气模型在 dq 平面上的秩就是 2这意味着同一时刻最多只能唯一确定两个电气参数。硬要一次估三个最小二乘的解会沿着某个方向漂移表现出来就是某一路参数收敛、另外两路发散——文献里管这个叫 ill-convergence。想把三个都估出来要么补充额外激励例如注入高频信号、用多个电流工作点凑数据要么承认秩的限制、分期处理。后者就是本文的双时间尺度思路。常见的错误是直接把标准 RLS 套在 EEMF 模型上看仿真里三条曲线都在动就以为成了实际上一路在往边界外跑。2.4 双时间尺度的物理依据秩亏是数学层面的约束但分批估哪个、估多快要看物理层面的动态差异。参数主要影响因素时间尺度变化典型量级建议辨识周期Ld、Lq铁芯磁饱和是 id、iq 的函数快随电流变化额定点偏离可达 10%~30%与电流环同拍Ts 级Rs绕组温度热时间常数慢秒级到数十秒级铜阻温漂约 0.39%/℃数十毫秒到百毫秒级KE磁钢温度、退磁慢与 Rs 同量级温度系数较小可按 Rs 同周期处理电感随电流的变化是电层面的电流阶跃一次饱和程度立刻变Ld、Lq 跟着秒变电阻随温升是热层面的绕组热容摆在那儿几秒内动不了多少。用同一个采样率估两个动态差了两个数量级的东西快的那路会被慢的那路拖累还会让协方差矩阵条件数变差。分开设采样周期既解决了秩亏又把计算量摊开——快速 APA 每个 PWM 周期跑慢速 APA 每 N2 个周期才跑一次DSP 中断里的负载差距很可观。3. 仿射投影算法与双时间尺度实现3.1 APA、RLS、NLMS 怎么选同样的线性回归模型可用递推最小二乘、归一化 LMS、仿射投影算法三种。选哪个取决于你对收敛速度和计算量的偏好。算法收敛速度计算量对有色激励的鲁棒性数值稳定性NLMS慢受特征值散布影响大最低差好RLS快高需要维护协方差矩阵较好但需遗忘因子整定差P 阵易失正定APA快投影阶数可调中等需解 P 阶小方程好较好IPMSM 的回归向量里含ωr·i这种乘积项激励明显是有色的NLMS 收敛会拖。RLS 的协方差矩阵在电机这种非持续激励工况下容易出现数值问题尤其低速小电流时激励能量不足P 阵会发散。APA 用最近 P 组数据同时做投影相当于在一个滑动窗口内做最小二乘对有色激励的耐受性比 NLMS 好得多同时不需要维护 n×n 的协方差矩阵只解一个 P×P 的小方程组。工程上 P 取 2~4 就够P1 退化成 NLMS。3.2 APA 递推内核先把内核单独写成函数快速 APA 和慢速 APA 共用同一份代码只是输入不同。function [theta, err_vec] apa_core(theta, Phi, y, mu, delta) % apa_core 单步仿射投影算法更新 % 输入 % theta : n×1 当前参数估计向量 % Phi : P×n 回归矩阵P 为投影阶数行按时间由旧到新排列 % y : P×1 对应的目标值向量 % mu : 步长0 mu 2典型 0.3~0.9 % delta : 正则化因子防止 Phi*Phi 奇异典型 1e-6~1e-3 % 输出 % theta : 更新后的参数向量 % err_vec : 更新前的先验误差可用来做收敛判据 P size(Phi, 1); err_vec y - Phi * theta; % 先验误差 G Phi * Phi delta * eye(P); % P×P 自相关矩阵加正则 theta theta mu * Phi * (G \ err_vec); % 投影回参数空间 end更新式的含义是先把当前参数代进去算残差再用回归矩阵的伪逆把残差摊到各个参数上。G \ err_vec那一步是全篇最贵的运算P 取 4 时就是一个 4×4 线性方程组F28335 上用 C 写个定长高斯消元完全跑得动不需要引 LAPACK 一类的东西。delta不能省电机低速小电流时回归向量幅值很小Phi*Phi接近奇异没有正则项会直接解出离谱的更新量。3.3 快速 APAdq 轴电感快速 APA 每个 PWM 周期执行估的是x1 1/Ld和x3 Lq/LdRs 用慢速通道给的值暂作常数。% 快速 APA估计 [1/Ld ; Lq/Ld]Rs 固定为 Rs_hat Phi_f [ v_g(k) - e_g(k) - Rs_hat*i_g(k), w_r(k)*i_d(k) ; v_d(k) - e_d(k) - Rs_hat*i_d(k), -w_r(k)*i_g(k) ]; y_f [ di_g ; di_d ]; [x_f, e_f] apa_core(x_f, Phi_f, y_f, mu_f, delta_f); Ld_hat 1 / x_f(1); % 反解 d 轴电感 Lq_hat x_f(2) * Ld_hat; % 反解 q 轴电感两行回归向量分别对应 γ 轴和 δ 轴方程第二行第二列取负号来自 δ 轴方程里的-w_r·Lq·iγ。反解时先算 Ld 再算 Lq顺序不能反因为 x3 的定义里含 Ld。mu_f取 0.5 左右比较合适太大电感估计会跟着电流纹波抖太小跟不上负载突变。要做参数平滑的话在反解之后加一阶低通截止频率设在电流环带宽的 1/5 左右别加在回归量上否则会破坏回归矩阵和目标的相位一致性。3.4 慢速 APA定子电阻慢速通道每 N2 个 PWM 周期跑一次此时 Ld、Lq 已经由快速通道收敛把它们当已知量方程对 Rs 就是线性的。% 慢速 APALd_hat/Lq_hat 固定估计 Rs y_s [ di_g - (v_g(k) - e_g(k) w_r(k)*Lq_hat*i_d(k)) / Ld_hat ; di_d - (v_d(k) - e_d(k) - w_r(k)*Lq_hat*i_g(k)) / Ld_hat ]; Phi_s [ -i_g(k) / Ld_hat ; -i_d(k) / Ld_hat ]; [Rs_hat, e_s] apa_core(Rs_hat, Phi_s, y_s, mu_s, delta_s);这里把快速通道的结果代入后回归矩阵只剩一列秩问题彻底消失。mu_s可以给大一点因为慢速通道每 N2 个周期才更新一次等效步长被摊薄了。N2 的取法看绕组热时间常数一般 50~200 对应 5 ms~20 msTs100 μs 时再大就跟不上温升速度。估出来的三个参数立刻回代到 EEMF 观测器增益矩阵观测器里ωr·Lq、ωr·Ld这些耦合项和Rs·i项都用更新值重算。回代顺序建议是先在快速通道内闭环用旧 Rs 算电感再在慢速通道内闭环用新电感算电阻两个通道之间不建立代数环这样单次中断里的计算链是确定的最坏执行时间可测。4. 观测器联调与 DSP 落地4.1 Simulink 里的信号流组织仿真阶段最容易出错的地方是回归量取自哪个时刻。EEMF 是观测器的输出天然滞后于真实值如果你直接拿当前拍的e_g去构造Phi_f回归量里就混进了观测器自身的动态辨识会跟着观测器带宽一起漂。常见做法是把 EEMF 估计再延时一拍参与构造或者在观测器收敛判据满足后才使能 APA。信号流按这个顺序搭电流采样 → Clarke/Park → EEMF 观测器 → 位置/速度提取 → APA 回归量与目标构造 → 参数回代。APA 的使能用一个简单的门控|θe|小于阈值且转速高于某下限比如额定转速 10%才放开转速太低时 EEMF 幅值不够回归向量的信噪比撑不住。仿真步长和 Ts 一致别用变步长求解器否则后向差分近似会失真。4.2 TMS320F28335 上的实现要点F28335 是 150 MHz、带浮点单元的定点/浮点混合 DSP跑 APA 完全够用但有两个坑。第一是中断分配电流环和快速 APA 放同一个 PWM 中断里慢速 APA 用一个软件计数器分频别单独开定时器中断去抢资源仲裁开销会比算法本身还大。第二是电流微分的噪声DSP 上 ADC 采样噪声比仿真大得多di_g直接差分出来的信噪比很差实操里都会先对电流做一阶低通再差分或者干脆用观测器内部的电流微分估计代替差分。浮点实现直接按上面的 MATLAB 结构翻译成 C 即可。如果为了节省周期改成定点回归向量里w_r·i这类乘积项的定标要单独算——电压量纲和电流量纲乘在一起Q 格式很容易溢出建议这类中间量统一用 Q15 而参数向量用 Q20。极限工况下的矩阵求解也要兜底G \ err_vec之前先判Phi的幅值全零或者小于阈值就跳过本次更新直接保持上一拍参数。这种跳过逻辑在仿真里看不出好处在现场是保命的。4.3 一套可复用的参数配置配置项符号典型取值说明PWM 与采样周期Ts100 μs对应 10 kHz 开关频率快速 APA 投影阶数P_f2~4阶数越高收敛越快计算量线性增长快速 APA 步长mu_f0.3~0.9大则快而抖慢速 APA 分频比N250~200对应 5~20 ms 更新一次慢速 APA 步长mu_s0.5~1.0更新周期长步长可放大正则化因子delta1e-6~1e-3低速小电流工况下需上调使能转速下限w_min10% 额定低于此值 EEMF 信噪比不足θe 使能阈值th_e4.4 失效场景与对应动作现象可能原因排查动作Rs 缓慢单调漂到负值慢速通道使能过早EEMF 未收敛加大theta_e阈值延后 APA 使能Ld、Lq 高频抖动电流微分噪声大或mu_f过大加电流低通降低mu_f参数收敛但位置误差不降参数回代未接入观测器或回代顺序有误检查观测器增益矩阵是否用更新值重算某个工作点突然发散回归矩阵接近奇异delta太小提高delta或增加电流阶跃激励电感估计在轻载时不准激励不足id/iq 变化范围太小在小电流区限幅不做强估计5. 用位置残差反过来判辨识质量辨识算法的调试难点在于没有可信的参考值——离线用电桥测的 Rs 是冷态值Ld、Lq 又依赖工作点拿它们当基准去比在线结果误差里混了工况差异。更实用的做法是反过来用控制效果判辨识质量把辨识出的参数回代观测器然后盯eγ这一路的稳态残差。原理很直接。EEMF 观测器稳定时eγ的幅值正比于Eex·sinθeθe 收敛到零附近后eγ应当只在零附近小幅波动。如果 Rs 低估δ 轴电压平衡会持续存在偏差eγ会出现一个与负载电流同相位的小台阶如果 Lq 偏差台阶随ωr·iδ变化。也就是说给负载做一次阶跃看eγ的响应里有没有与电流同相或与ωr·i同相的残留分量就能判断是哪一路参数没收敛。具体操作上我在台架上一般这么设验证流程先在额定转速、50% 负载下让 APA 充分收敛并冻结参数记录eγ的峰峰值作为基准然后分别把 Rs 和 Lq 手动偏移 ±10%观察eγ峰峰值和 θe 稳态偏差的变化方向。正常收敛的辨识结果应该让这两个指标同时落在最小值附近如果只对一个敏感、对另一个不敏感说明那一路上回归量的激励不足或者步长没整定好。这个方法对转矩扰动和电压死区也敏感所以要在死区补偿已经调好的前提下做。另一个补充判据是看慢速通道的先验误差e_s正常收敛时它应当在一个与电流纹波同量级的带内波动没有趋势项。e_s出现缓慢单调项基本就是 Rs 还没收敛或者 APA 使能条件过松。辨识出来的参数不止服务于观测器。同一套 Rs、Ld、Lq 可以直接喂给电流环解耦项和转矩前馈尤其是 Ld、Lq 在凸极比比较高的机型上对 MTPA 工作点影响明显。把 APA 的输出接到控制器参数在线自整定上是在线辨识最容易被忽略的第二份收益。本文还有配套的精品资源点击获取