☰
脉振高频电压注入:低速无感FOC从原理到实战的完整拆解
2026/10/20 17:18:51 网站建设 项目流程

最近有搞电机驱动的朋友跟我聊起低速无感FOC,几乎都会绕不开一个问题:转速一掉到100转以下,常规的反电动势观测器就失效了,这时候还能不能继续无感运行?答案通常就落在高频注入这条路上。而在高频注入的家族里,脉振高频电压注入法又是工程上最常被拿出来试水的一种方案。这篇文章就把这个技术从原理到落地细节完整拆一遍,包括信号链怎么搭、参数怎么选、切入闭环要注意什么,以及我实际调试时踩过的坑,希望对正在做低速无感、伺服和压缩机控制的朋友有帮助。

1. 为什么是脉振高频电压注入:无感FOC的方案谱系与选型逻辑

1.1 无感控制三条技术路线的适用边界

做无感FOC,核心问题只有一个:转子位置和速度从哪里来。工业上主要就三类办法。第一类是直接基于反电动势的计算法,简单粗暴,但对噪声极其敏感,实际产品里很少有人单独用。第二类是各种观测器,模型参考自适应、滑模观测器、扩展卡尔曼滤波都属此类,这类方法在转速较高时效果不错,但低速和零速下反电动势信号太小,观测器的信噪比直接崩掉。第三类就是高频注入法,利用的是电机本身的凸极性或者磁饱和效应,不依赖转速,零速和低速反而正是它的主场。

脉振高频电压注入就是第三类里的一个代表性方案。它不靠旋转磁场,也不靠反电动势,而是主动在绕组里叠加一个高频电压载波,通过跟踪高频电流响应里的位置误差信息来估算转子位置。这听起来像一个"主动探测"的思路,和靠电机自身发电信号的做法完全不同。

1.2 脉振注入与旋转高频注入怎么选

同属高频注入家族,还有个旋转高频电压注入法,两个方案经常被拿来对比。旋转注入是在静止坐标系下注入旋转着的电压矢量,从高频电流的正负序分量来解算位置;脉振注入则是在估计的d轴方向注入余弦或正弦电压,励磁的是同一个轴系,再用q轴高频电流响应来调制出位置误差。

从实现角度看,脉振注入最大的好处是计算量小,因为注入轴系是跟着估计坐标系走的,解调路径短,代码很容易塞进现有FOC的主循环里。对凸极率要求也不像旋转注入那么苛刻,只要Ld和Lq差异明显就行,很多智能车驱动、电动工具的电机都满足这个条件。我在实际项目的体会是,脉振注入在中低速域的稳态精度和动态响应均衡度更好,尤其适合那些需要在零速保持力矩输出的伺服应用。

2. 从注入到解算:脉振高频电压注入的信号链路拆解

2.1 注入信号如何叠加进现有FOC框架

脉振高频注入不需要推翻你已有的FOC代码,它只是叠加了一个额外的电压分量。假设你已经有一个PI电流环并联的d-q坐标系控制结构,高频注入模块会在估算的d轴电压给定上叠加一个余弦信号:

[ U_d_ref = U_d_pi + U_dh = U_d_pi + U_{inj} \cdot \cos(\omega_h t) ]

这里的 (U_{inj}) 是注入电压幅值,(\omega_h) 是注入角频率。为什么选余弦而不是正弦,纯粹是工程习惯问题,正弦也可以,主要是后续解调时同步检波的参考相位对得上就行。关键点是注入电压必须加在"估计的d轴"上,而不是真实d轴上,因为我们一开始不知道真实位置,只能用上一步观测器估算出来的位置去构造坐标系,位置误差自然就隐藏在这个错位里。

2.2 高频电流如何携带位置误差信息

这个部分我尽量说得通俗一点。电机转子上有凸极,直轴电感和交轴电感不一样。你在估计d轴注入高频电压时,如果估计位置和真实位置存在一个角度误差 (\Delta\theta),高频电流在q轴上的投影就不为零,而且这个q轴高频电流的幅值几乎和 (\Delta\theta) 是线性关系。

做一次数学展开,忽略电阻和高次项之后,可以整理出一个经典的形式:

[ i_{qh} \approx \frac{U_{inj}}{2\omega_h L_d L_q}(L_d - L_q)\sin(2\Delta\theta)\cdot \sin(\omega_h t) ]

这个式子里 (L_d - L_q) 就是凸极率带来的差分电感项。可以看到,当 (\Delta\theta) 很小的时候,(\sin(2\Delta\theta) \approx 2\Delta\theta),所以q轴的高频电流分量直接线性地反映了位置误差。这就是整个脉振注入方案的数学根基。也正是因为依赖 (L_d) 与 (L_q) 的差异,凸极率不足的电机用这个方案辨识效果就很差,这是选型时要先确认的硬件条件。

2.3 解调、低通滤波与位置跟踪观测器

有了携带误差信息的高频电流,接下来要做三件事。第一步是带通滤波,把基波低频大电流和高频载波电流分开,防止电流环的PI输出淹没办法。第二步是同步解调,把q轴高频电流乘上一个与注入信号同相位的正弦参考:

[ \varepsilon = i_{qh} \cdot \sin(\omega_h t) ]

乘法之后会产生一个直流分量和一个二倍频交流分量。二倍频分量的角频率是 (2\omega_h),直接扔进低通滤波器就能滤掉,剩下的直流分量就是误差信号 (\varepsilon)。这里的低通滤波器带宽不能太低,否则会让整个观测器的响应变得很肉;也不能太高,否则二倍频干扰滤不干净,估计位置会抖动。

第三步是把误差信号喂给位置跟踪观测器。我习惯用锁相环结构,因为它实现简单、参数意义直观。误差信号进PI调节器,输出就是电角速度估计值,再做一次积分得到电角度估计值。整个环路就是把"误差为0"当成收敛目标,误差收敛了,估计角度就跟随真实角度了。这个PI的带宽决定了位置观测的动态响应速度,一般设计成注入频率的1/10到1/5之间,具体怎么定在后面参数章节细说。

3. 参数怎么选:注入频率、注入幅值、滤波器与观测器带宽的工程取舍

3.1 注入频率和幅值的选择逻辑

这一步是工程上最实际也最容易反复改的地方。很多朋友上手第一步就纠结:"我到底该注入多少频率、多少电压?"其实这两个参数是互相锁定的。

注入频率首先得远高于电流环带宽,一般来说要大于电流环带宽的5到10倍,避免高频信号和电流环PI的响应发生耦合打架。我常用的参考是先看逆变器的PWM频率。如果PWM是10kHz,注入频率通常选1kHz,也就是PWM频率的十分之一左右;PWM提到16kHz的话,注入频率可以相应提到2kHz。为什么不能无脑高?注入越高,同样电压幅值产生的高频电流越小,因为高频阻抗会随频率增大,信噪比上不去,你后续解调出来的误差信号就很微弱。

注入幅值的选择本质是在和噪声做博弈。幅值太小,高频电流响应藏进电流采样噪声里了;幅值太大,会带来明显的电磁噪声和额外的功率损耗。我通常的做法是从额定电压的5%开始试,然后看估计角度波形,手动往上加到角度波形变得平滑为止。如果发现电机有明显的啸叫,优先降幅值而不是降频率,因为啸叫来源就是人耳可听范围的电磁振动,频率挪出可听区间或者降幅值都能缓解。

3.2 滤波器参数设计的完整思路

这条信号链里有三个滤波器在协作:带通滤波器提取高频电流,低通滤波器滤除二倍频,另一个低通滤波器平滑误差信号(如果观测器前级需要)。至少这三个位置要心里有数。

带通滤波器的中心频率就设在注入频率上,Q值不用太高,太高会让信号通过时相位拖延变大,给整个环路增加额外延迟。我习惯用的Q值在1到2之间,这样能大概提取出以注入频率为中心的频带,同时也把基波电流和PWM开关噪声尽量挡在外面。有些实现会用二阶带通滤波,够用了。

低通滤波器的截止频率选在注入频率的1/20到1/10,折中考虑是既要压掉 (2\omega_h) 分量,又不能把真正的位置误差动态信息也压没了。比如注入频率是1kHz,二倍频干扰在2kHz,低通截止取100Hz,刚好有差不多20倍以上的衰减,对误差信号里的有用直流分量不构成明显损伤。

这里有个让我过去反复调的经验点:滤波器相位延迟是会叠加的。带通、低通、低通三级一串,每个滤波器在自己频点附近都有相位滞后,而这些滞后会进入位置观测环路,直接影响动态响应。所以调试时如果发现估计角有滞后偏大的现象,第一反应不是去提高PI增益,而是看看滤波器们的截止频率是不是太低,或者是滤波器阶数太高了。

3.3 观测器PI参数与整体带宽匹配

位置跟踪观测器本质上是一个二阶系统。它的PI参数决定了位置环的跟随带宽和阻尼特性。我整理了一个简单的整定思路:先定带宽 (f_{obs}),大概是注入频率的1/10到1/5,然后按典型的二阶系统参数映射过去:

[ K_p = 2\pi f_{obs} \cdot \xi \cdot 2,\quad K_i = (2\pi f_{obs})^2 ]

这里 (\xi) 是阻尼系数,工程上取0.707到1比较稳妥。为什么观测器带宽必须小于注入频率的1/5?因为你整个位置误差链路的信号都是拿高频分量解调出来的,如果观测器带宽太高,就会把你解调时残留的高频毛刺直接放大,角度波形就会抖成一条毛茸茸的曲线,速度噪声也会扑面而来。

有一个容易被忽略的联系是:电流环带宽、注入频率、观测器带宽三者必须拉开层级。电流环带宽比如500Hz,注入频率取1kHz,观测器带宽取150Hz,这样一层层往下剥,每一级都有足够的频率隔离度。如果三个数值挤在一起,整个系统就会表现出根源不明的振荡。

4. 实操过程:从初始位置辨识到闭环切入的完整流程

4.1 初始位置辨识与N/S极判别

脉振高频注入本质测出来的是磁轴方向,但无法直接区分N极和S极。你的观测器收敛之后,估计角度可能是真实电角度,也可能差180度。如果不做处理,这个180度的偏差在带载启动时会让电机反转一下,甚至直接堵转。

所以初始辨识需要两步。第一步,用高频注入让观测器收敛到一个磁极方向,这时候d轴跑到了真实d轴的附近。第二步,利用磁饱和效应判别极性:给d轴正方向一个短暂的电压脉冲,再给负方向一个同样的电压脉冲,对比两次产生的电流变化率。磁路在N极方向更容易饱和,所以对应的电流变化率有细微差异,通过这种不对称性就能确定真实的N极方向,把观测器结果矫正过来。

这一步在伺服和压缩机上尤其重要,因为这类应用经常面临随机上电、停机位置未知的情况。我实际测试中如果省掉极性判别,大概会有接近一半的启动失败概率,所以千万别为了省时间跳过去。

4.2 启动策略:预定位、强拖与无缝切换

从静止到低速运行,不是简简单单把观测器跑起来就能直接闭环的。一个稳妥的启动流程我觉得应该这么走:

第一步是预定位,如果允许动,直接给一个固定的电流矢量,把转子强行拉到已知位置。这个方法的代价是不可用于带载设备和有位置保持要求的场合,但胜在简单。第二步是纯高频注入闭环启动,观测器先辨识出初始位置,然后速度环从零开始给斜坡指令,电流和位置都跟着走。这个路径比较优雅,但对初始辨识和极性判别的可靠性要求高。第三步是低速限速开环强拖切换到闭环,压缩机类应用经常这么干:先以同步频率旋转一段时间,等到位置估算可信之后再做切换,切换时要保证速度指令平滑衔接,不然电流冲击会很大。

我实际用得比较顺的是第二种。调试时重点观察从纯开环切到闭环的瞬间,速度反馈是否有跳变,电流是否有尖峰。如果切换瞬间电流冲击超过额定电流的50%,基本可以判定切换条件太早,或者估算角度还在收敛过程中。

4.3 调试时的波形检查方法

没有示波器,这种工作基本没法做。我调试时会同时抓四路信号:电机真实位置传感器信号(如果实验台上装了编码器),观测器估算角度,速度估计值,还有d轴电流给定。对比真实角度和估算角度之间的误差,能看到收敛情况和动态滞后。

实际操作中,我最常抓的是一个高频电流解调前和解调后的波形。解调前的高频电流幅度在零速附近是很大的,比基波电流还明显,解调后的误差信号应该是一条平滑收敛的曲线。如果你看到解调后的误差信号还有明显的锯齿或毛刺,多半是低通滤波器不够,或者采样同步时机有问题。

关于采样时机有一个很实用的技巧:高频注入下的电流采样建议和PWM周期中点同步,也就是在电流纹波最小的自然采样点触发ADC。如果采样点落在了注入电压变化剧烈的时刻,高频锯齿噪声就会被采进来,解调质量下降明显。这个点我最初调试时没注意,后来调整PWM定时器的触发相位后,角度波形噪声直接下降了一个量级。

4.4 代码实现层面的伪代码结构

为了把整个信号链表达得更清楚,我写了一个简化的控制主循环结构。实际项目里还有各种状态机、保护逻辑,这里只是一个信号链核心:

# 主循环每个PWM周期执行一次 theta_est +速度积分更新 => theta_est_new # 注入信号:在估计d轴电压上叠加余弦分量 U_d_ref = Id_pi_out + U_inj * cos(2*pi*f_inj * t_now) U_q_ref = Iq_pi_out # 电流采样并变换到估计坐标系 [id_est, iq_est] = park(Clarke(i_abc), theta_est_new) # 带通滤波提取q轴高频分量 iq_hp = bandpass(iq_est, center=f_inj) # 同步解调 demod = iq_hp * sin(2*pi*f_inj * t_now) # 低通滤波得到误差信号 err = lowpass(demod, cutoff=fc) # 位置跟踪观测器PI omega_est += Kp * err + Ki * integral(err) theta_est += Ts * omega_est

这个结构看起来很简单,但每一步的滤波器都是需要在调试中精心调整的对象。尤其要注意的是,解调用的正弦参考相位如果和注入余弦相位没有对齐,解调效率会下降,等效于误差信号缩水,观测器带宽实际达不到设计值。

5. 常见问题与排查技巧实录

5.1 典型故障现象速查表

我整理了调试过程中比较常见的几类问题,按现象、可能原因、排查方向列了个表,方便实际对照。

现象可能原因排查方向
估计角度收敛慢解调相位不对,误差信号太弱检查解调参考相位是否与注入信号对齐;观测器PI带宽是否太低
估计角度抖动明显低通滤波器截止过高,电流采样点引起高频污染降低低通截止频率;调整PWM采样触发点
零速解锁后反转N/S极未正确判别加上极性判别脉冲,验证N极方向
带载启动失步初始辨识精度差,重载下磁路饱和改变凸极性提高注入幅值;校准饱和补偿表
电机高频啸叫明显注入频率落在可听范围,且幅值偏大提高注入频率出可听区;降低注入幅值
切闭环瞬间电流冲击大速度给定跳变,角度还在动态误差阶段延长切换前观测器收敛时间;平滑速度给定

5.2 几个我亲历的比较刁钻的问题

第一个是注入幅值提高后,位置误差反而变大。这种情况通常出现在电机磁路进入深度饱和区间时,真实的 (L_d - L_q) 不再是常数,电感的饱和效应让误差信号出现了非线性畸变,此时一味加电压不是解决办法,应该反过来降低注入电压,让电机勉强不饱和即可。

第二个是低频力矩纹波,表现为带着负载低速转动时速度有明显的周期性波动。这个往往不是观测器的问题,而是注入信号本身在电流环里引起了一个固定频率的扰动,和速度环产生了差频拍振。我当时的处理办法是把注入频率稍微挪几个百分点,破坏差频关系,纹波立刻减轻很多。

第三个是位置估算在没有负载波形好好的,一加载就开始飘。这类问题大概率出在负载引起的磁链变化反作用于凸极性上。可以试试动态增大注入幅值,或者在观测器输出后串联一个针对负载频率的陷波器,先把干扰频率点压住。不过这个属于比较靠后的优化手段,前期应该先确保基波电流环和速度环的刚性足够。

5.3 调试顺序与工具准备

老规矩,建议按三步走。第一步,离线验证:用实验台架和真实传感器对比估算角度,在没有闭环压力下把解调链路调干净。第二步,低速验证:转速给定到额定10%以内,逐步增加负载,记录位置误差的动态行为。第三步,综合验证:覆盖零速启动、带载启动、正反转切换、负载突变等工况,重点盯切换瞬间和负载突变瞬态。

工具方面,一台支持差分探头隔离的示波器是必需品,电流探头也是必配的。很多时候角度抖动是不是电流采样噪声导致的,电流波形比角度波形更能说明问题。如果再配上一个小功率的可调负载台来做重复性测试,后续优化参数就能有量化的评估依据。

6. 方案的适用边界与下一步扩展方向

6.1 不是什么电机都能用:适用前提梳理

脉振高频电压注入有它的物理前提:电机必须有可利用的凸极性。永磁同步电机里,内置式永磁电机Ld和Lq差异明显,天生适合;表贴式永磁电机凸极率接近1,传统脉振注入会非常吃力,很可能需要依赖磁饱和效应制造人为差异,或者在结构设计上做微小凸极。

也有些场合不适合用高频注入,比如转子结构完全对称、磁路线性度极好的电机,注入再大也解不出有效信号。这种情况下要么改换方案,比如使用基于扩展反电动势的观测器,等待转速上来再切换;要么从电机设计层面想办法,引入不对称结构或饱和效应。

6.2 向全速度域延伸:高频注入与反电动势观测器的融合

高频注入方案在中低速优势明显,但它不是万能的。转速升高后,反电动势信号变得很强,高频电流响应相对变弱,继续一味注入高頻信号反而会浪费直流母线利用率和带来额外损耗。成熟的工业方案一般是在低速段用高频注入,中高速段切换到反电动势观测器,中间做一个加权平滑的过渡。

过渡区间的处理是个工程艺术。切换太早,估算角度在高速段的收敛性还不够稳;切换太晚,注入损耗和噪声又拖累性能。我习惯在转速达到额定5%到10%之间开始做加权混合,速度环输出做平滑,位置估算在两个观测器输出之间线性过渡。如果不能平滑过渡,切换瞬间的转矩跳变几乎不可避免,负载端就会感觉到一个明显的冲击。

6.3 一些偏工程向的后续优化

如果想把这套方案再做深入,几个方向可以考虑。第一是注入电压幅值的闭环调节,在负载较轻时自动减小注入幅值,降低噪音和损耗,重载时再加大。第二是用自适应滤波器替代固定截止频率的低通,这样在不同转速和负载下都能保持稳定输出。第三是补偿电感饱和特性,通过离线或在线辨识把 (L_d) 和 (L_q) 的饱和曲线存成表,减小饱和带来的位置偏差。这些属于锦上添花的进阶内容,但要把产品从能跑到跑得好,基本都要走到这一步。

我个人做下来的体会是,脉振高频电压注入方案的难点并不在于原理的理解,而在于把每一个环节的延迟、噪声和匹配关系都调到互相妥协的最佳状态。滤波器级联带来的相位、注入幅值带来的噪声、观测器带宽带来的动态,这三者始终在打架,最终产品质量就看谁能在取舍之间找到那个平衡点。如果正在做低速无感FOC,建议先搭一个带编码器反馈的试验台,把估算角度和真实角度的误差波形看得清清楚楚,再逐步解开传感器依赖。这条路走通了,整套无感方案的地基就算打牢了。

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

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

立即咨询