第四节:偏置与电平移位——单电源下的双极性信号处理
各位同学,咱们接着聊。上一节讲了采样电阻和差分放大,但有个问题我一直没细说——信号是双极性的。
什么意思呢?电机电流是正反两个方向流的。正转时电流从A到B,反转时从B到A。你想想看,采样电阻两端的电压,自然也是有正有负。可咱们的ADC,绝大多数都是单电源供电,0~3.3V或者0~5V。负电压它不认识啊!
所以,必须把双极性信号“抬”到单极性范围内。这个操作,就叫偏置与电平移位。
4.1 为什么需要偏置?
先看一个具体场景。假设你的采样电阻是10mΩ,最大电流±50A。那么采样电压就是±500mV。ADC的输入范围是0~3.3V。直接送进去,负半周就丢了。
我早年做第一个电机驱动板时,就犯过这个错。当时想当然地以为“反正ADC能测0V”,结果电机反转时电流读数全是0。查了两天才发现,是信号没做偏置。嗯,从那以后,电平移位就成了我的“必做清单”第一项。
说白了,偏置电路就是给信号叠加一个直流分量。让原本以0V为中心的信号,变成以某个正电压为中心。比如把±500mV变成0.5V~2.5V,中心点在1.5V。
核心公式:
Vout = Vin × Gain + Vbias
其中Vbias就是偏置电压。Gain是放大倍数,Vbias要保证Vout始终在ADC范围内。
4.2 经典偏置电路:加法器结构
最常用的偏置电路,是用运放搭一个同相加法器。结构很简单:
Rf
Vin ──┬──/\/\/──┬── Vout
│ │
│ │
R1 │
│ │
Vref ──/\/\/──┘
│
R2
│
GND
这个电路的输出是:
Vout = (Vin/R1 + Vref/R2) × Rf / (1 + Rf/R1 + Rf/R2) ... 嗯,公式有点复杂。
实际设计中,我习惯让R1 = R2 = R,然后Rf也等于R。这样公式简化为:
Vout = (Vin + Vref) / 3 × 2
举个例子:Vin范围±500mV,Vref取2.5V。那么Vout范围就是:
- Vin = +500mV时:Vout = (0.5 + 2.5)/3 × 2 = 2.0V
- Vin = -500mV时:Vout = (-0.5 + 2.5)/3 × 2 = 1.33V
你看,输出始终在1.33V~2.0V之间,完全落在0~3.3V范围内。而且中心点1.665V,留出了足够的上下余量。
我的经验:偏置电压Vref一定要用精密基准源,别直接从电源分压。电源纹波会直接耦合到输出,导致ADC读数抖动。我吃过这个亏,后来一律用TL431或REF3033。
4.3 另一种方案:差分放大器自带偏置
如果你用的是差分放大器(比如INA180),有些型号本身就带偏置引脚。比如INA180的REF引脚,可以直接输入偏置电压。
这时候电路更简单:
Rsense
│
├──┬── IN+ (INA180)
│ │
Rshunt
│ │
├──┴── IN- (INA180)
│
GND
Vref ──── REF (INA180)
Vout = (VIN+ - VIN-) × Gain + Vref
这种方案的好处是:省掉了外部加法器,而且共模抑制比更好。我最近几个项目都这么用,省心不少。
但要注意:INA180的REF引脚输入阻抗不高,Vref驱动能力要够。我曾经用普通电阻分压直接接REF,结果偏置电压被拉偏了100多mV,导致零电流时读数不对。后来加了个电压跟随器才解决。
4.4 偏置电压的选择策略
偏置电压选多少?不是随便定的。我一般遵循以下原则:
| ADC范围 | 信号摆幅 | 推荐偏置点 | 说明 |
|---|---|---|---|
| 0~3.3V | ±500mV | 1.65V | 正好居中,上下对称 |
| 0~3.3V | ±1V | 1.65V | 但要注意放大倍数要调小 |
| 0~5V | ±500mV | 2.5V | 同样居中 |
| 0~3.3V | 单向0~1V | 0V | 不需要偏置,直接放大 |
核心思想:让信号在ADC范围内居中,同时留出10%~20%的余量。为什么?因为运放输出不可能完全到轨,而且温度变化会导致偏置漂移。留余量就是留安全边际。
注意:偏置电压的噪声和温漂,会直接成为测量误差的一部分。如果你做高精度电流采样(比如1%精度),偏置源的温漂必须小于50ppm/°C。否则夏天和冬天的读数能差好几个百分点。
4.5 知识体系总览
下面这张图,把偏置与电平移位的核心逻辑串起来了。我建议你保存下来,设计时对照着看:
4.6 实际设计中的坑
最后,分享几个我踩过的坑:
- 偏置电压的启动时序:如果Vref上电比运放慢,运放输出可能瞬间饱和。我遇到过电机还没转,ADC就报过流的情况。解决方法是加一个RC延时,或者用带使能的基准源。
- 电阻精度:加法器电路里,R1、R2、Rf的精度直接影响偏置准确性。我一般用0.1%的电阻,至少也要1%。普通5%的电阻,偏置误差能到100mV以上。
- 运放摆幅限制:有些运放输出不能完全到轨,比如LM358离电源轨还有1.5V。如果你的ADC范围是0~3.3V,运放输出可能只能到1.8V。这时候偏置点要重新算。
一个小技巧:调试时,先用万用表测Vref,确认它稳定。然后输入一个已知的直流电压(比如用电池),看输出对不对。最后再上电机信号。这样一步步排查,能省很多时间。
好了,偏置与电平移位就讲到这里。说白了,就是把信号“抬”到ADC能识别的范围。方法不复杂,但细节很多。你设计时多留个心眼,别像我当年那样踩坑就行。
公众号:蓝海资料掘金营,微信deep3321