IPMSM无传感器控制:双时间尺度在线辨识Rs/Ld/Lq
2026/9/17 12:01:36 网站建设 项目流程

简介:这份 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_gdi_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 就够,P=1 退化成 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 快速 APA:dq 轴电感

快速 APA 每个 PWM 周期执行,估的是x1 = 1/Ldx3 = Lq/Ld,Rs 用慢速通道给的值暂作常数。

% 快速 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 就是线性的。

% 慢速 APA:Ld_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 ms(Ts=100 μ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_e

4.4 失效场景与对应动作

现象可能原因排查动作
Rs 缓慢单调漂到负值慢速通道使能过早,EEMF 未收敛加大theta_e阈值,延后 APA 使能
Ld、Lq 高频抖动电流微分噪声大,或mu_f过大加电流低通,降低mu_f
参数收敛但位置误差不降参数回代未接入观测器,或回代顺序有误检查观测器增益矩阵是否用更新值重算
某个工作点突然发散回归矩阵接近奇异,delta太小提高delta,或增加电流阶跃激励
电感估计在轻载时不准激励不足,id/iq 变化范围太小在小电流区限幅,不做强估计

5. 用位置残差反过来判辨识质量

辨识算法的调试难点在于没有可信的参考值——离线用电桥测的 Rs 是冷态值,Ld、Lq 又依赖工作点,拿它们当基准去比在线结果,误差里混了工况差异。更实用的做法是反过来用控制效果判辨识质量:把辨识出的参数回代观测器,然后盯这一路的稳态残差。

原理很直接。EEMF 观测器稳定时,的幅值正比于Eex·sinθe,θe 收敛到零附近后应当只在零附近小幅波动。如果 Rs 低估,δ 轴电压平衡会持续存在偏差,会出现一个与负载电流同相位的小台阶;如果 Lq 偏差,台阶随ωr·iδ变化。也就是说,给负载做一次阶跃,看的响应里有没有与电流同相或与ωr·i同相的残留分量,就能判断是哪一路参数没收敛。

具体操作上,我在台架上一般这么设验证流程:先在额定转速、50% 负载下让 APA 充分收敛并冻结参数,记录的峰峰值作为基准;然后分别把 Rs 和 Lq 手动偏移 ±10%,观察峰峰值和 θe 稳态偏差的变化方向。正常收敛的辨识结果应该让这两个指标同时落在最小值附近,如果只对一个敏感、对另一个不敏感,说明那一路上回归量的激励不足或者步长没整定好。

这个方法对转矩扰动和电压死区也敏感,所以要在死区补偿已经调好的前提下做。另一个补充判据是看慢速通道的先验误差e_s:正常收敛时它应当在一个与电流纹波同量级的带内波动,没有趋势项。e_s出现缓慢单调项,基本就是 Rs 还没收敛或者 APA 使能条件过松。

辨识出来的参数不止服务于观测器。同一套 Rs、Ld、Lq 可以直接喂给电流环解耦项和转矩前馈,尤其是 Ld、Lq 在凸极比比较高的机型上对 MTPA 工作点影响明显。把 APA 的输出接到控制器参数在线自整定上,是在线辨识最容易被忽略的第二份收益。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询