4、信号调理电路:运放选型、滤波电路设计、偏置与增益
信号调理电路,说白了就是给MCU的ADC“喂”干净、合适的信号。无感启动时,电流采样信号里全是高频PWM噪声和电机反电动势的尖刺,直接送ADC?那结果根本没法用。
我刚开始做无感FOC时,就吃过这个亏。当时随便搭了个运放,结果启动瞬间过流保护乱跳,查了三天才发现是运放输出饱和了。嗯,从那以后,我对信号调理这块再也不敢马虎。
4.1 运放选型:别只看价格,要看“脾气”
运放是信号调理的核心。选型时,我一般会盯着几个关键参数看:
- 失调电压(Vos):这个参数决定了你能分辨多小的电流。无感启动时,电流可能只有几十毫安,Vos要是超过5mV,小电流区域基本就废了。
- 压摆率(SR):电机电流变化很快,尤其是堵转或短路瞬间。SR太低,运放输出跟不上,过流保护就形同虚设。
- 共模输入范围:单电源供电时,输入信号不能太靠近地或电源轨。我习惯选轨到轨输入输出的运放,省心。
- 带宽(GBW):对于几百kHz的PWM噪声,GBW不用太高,但也不能太低。10MHz左右比较合适。
我个人常用的运放型号对比:
| 型号 | Vos (max) | SR (V/µs) | GBW (MHz) | 供电 | 典型场景 |
|---|---|---|---|---|---|
| LMV321 | 3 mV | 1.0 | 1.0 | 2.7-5.5V | 低成本、低速电流检测 |
| MCP6002 | 4.5 mV | 0.6 | 1.0 | 1.8-5.5V | 低功耗、电池供电 |
| OPA2376 | 0.5 mV | 2.0 | 5.5 | 2.2-5.5V | 精密电流采样、过流保护 |
| AD8606 | 0.65 mV | 5.0 | 10 | 2.7-5.5V | 高速、低噪声、无感FOC |
你想想看,如果选LMV321做无感启动的过流保护,Vos就有3mV。假设采样电阻1mΩ,那3mV对应的电流误差就是3A!这还怎么保护?所以,我建议至少用OPA2376或AD8606这个级别的。
4.2 滤波电路设计:把噪声“掐死”在源头
电机驱动板上,PWM开关噪声是最大的干扰源。滤波电路的目的,就是把这些高频成分滤掉,只留下我们想要的电流基波。
常用的滤波结构有两种:
- 一阶RC低通滤波:简单、便宜,但衰减斜率只有-20dB/dec。适合噪声频率远高于信号频率的场景。
- 二阶有源低通滤波:用运放+RC构成,衰减斜率-40dB/dec。滤波效果更好,但会引入额外功耗和成本。
我个人习惯在采样电阻输出端先加一级RC滤波,再进运放。这样能先把大部分共模噪声干掉。
经验值参考:
对于20kHz的PWM频率,我一般取截止频率fc = 1/10的PWM频率,也就是2kHz左右。
R取1kΩ,C = 1/(2π × 1k × 2k) ≈ 80nF。实际取100nF,效果不错。
为什么会这样选?因为截止频率太低,电流信号的相位延迟会变大,影响FOC的控制精度;太高了,又滤不干净噪声。2kHz是个折中点。
4.3 偏置与增益:把信号“搬”到ADC的舒适区
MCU的ADC输入范围通常是0-3.3V或0-5V。但电流采样信号是双极性的(正负电流),而且幅值很小。所以我们需要做两件事:
- 偏置:把双极性信号抬升到ADC的中间电平。比如0-3.3V的ADC,偏置到1.65V。
- 增益:把小信号放大到ADC能分辨的范围。
我常用的电路结构是差分转单端+偏置。用一个运放同时完成差分放大和偏置叠加。
// 增益与偏置计算示例
// 假设:采样电阻 Rs = 1mΩ,最大电流 Imax = ±50A
// 采样电阻两端电压:Vrs = ±50mV
// ADC输入范围:0-3.3V,偏置到1.65V
// 目标:满量程输出 0.1V ~ 3.2V(留余量)
// 有效摆幅:3.1V
// 所需增益:G = 3.1V / (100mV) = 31
// 偏置电压:Vbias = 1.65V
// 实际电路:用电阻分压产生1.65V,再通过运放同相端输入
// 运放输出:Vout = G * (V+ - V-) + Vbias
// 其中 V+ 和 V- 是采样电阻两端电压
我曾经踩过的坑:
偏置电压的噪声会被增益放大!如果你用MCU的3.3V直接分压做偏置,那3.3V上的纹波(比如50mV)会被放大31倍,变成1.55V的噪声!
解决办法:用独立的基准电压源(比如REF3033),或者用运放缓冲后的分压。
4.4 完整信号调理电路结构
把上面几部分串起来,一个完整的信号调理链路是这样的:
这个链路里,每一级都有它的作用。采样电阻把电流变成电压;RC滤波干掉高频噪声;差分运放把微弱信号放大并叠加偏置;二阶有源滤波进一步平滑信号;最后送ADC。
我见过不少工程师为了省成本,把二阶有源滤波省了,结果ADC采样值跳得厉害,过流保护阈值只能设得很高,保护效果大打折扣。说白了,滤波电路是“花小钱办大事”的地方。
4.5 实战中的避坑指南
最后,分享几个我在项目中踩过的坑:
- 运放输出摆幅不够:有些运放号称轨到轨,但输出离电源轨还有几十mV。如果ADC满量程是3.3V,运放输出只能到3.25V,那你就损失了1.5%的动态范围。选型时一定要看数据手册里的“Output Voltage Swing”参数。
- PCB布局不当:采样电阻的走线如果太长,寄生电感会产生额外的压降,导致电流测量不准。我习惯把采样电阻紧挨着运放放置,走线控制在5mm以内。
- 偏置电压的温漂:如果偏置电压随温度变化,那ADC的零点就会漂移。无感启动时,电流很小,零点漂移可能直接导致误触发过流保护。所以,偏置电压的温漂系数要控制在50ppm/°C以内。
一个小技巧:
调试时,可以用信号发生器模拟电机电流波形,从采样电阻端注入,然后逐级测量运放输出。这样能快速定位是哪一级出了问题。我每次做新板子,都会先这么测一遍,心里才有底。