3. 硬件校准方法:硬件调零电路设计

聊完了软件校准,咱们来看看硬件这条路。说实话,我早年做伺服驱动的时候,对硬件调零是又爱又恨。爱的是它实时性好,恨的是它占地方、费元件。但有些场合——比如你要求零漂小于 1mV,或者电流采样必须做到 12 位以上有效分辨率——软件那套查表补偿就不太够用了。

硬件校准的核心思路很简单:在信号进入 ADC 之前,就把偏置电压给“掰正”。你想想看,运放输出端有个几十毫伏的直流偏置,软件再怎么算,ADC 采到的底数也是歪的。硬件调零就是直接从物理层面把这个底数抹掉。

3.1 加法器调零电路

最常见的方案是用运放搭一个加法器。把电流采样信号和一个可调的偏置电压叠加,输出给 ADC。我习惯用 LM358 或者 OPA2188 这类双运放,一个做差分放大,一个做偏置加法。

电路结构大致是这样:

电流采样信号 ——R1——+ \
                     |  运放 ——> 到 ADC
偏置电压 ——R2——+ /

偏置电压从哪里来?一般用精密基准源(比如 TL431)分压后,经过电位器调节。我见过有人直接用电源分压,结果电源纹波直接串进采样通道,零漂反而更大了。嗯,这里要注意:偏置电压的参考地必须和 ADC 的参考地是同一个点,否则你调了半天,其实是在调地弹噪声。

关键参数:

  • R1 和 R2 的比值决定了偏置叠加的权重。我一般让 R1 = R2,这样偏置电压和信号电压的增益一致,调试起来直观。
  • 偏置调节范围:±50mV 通常够用。如果运放 Vos 太大,可以放宽到 ±100mV。
  • 运放选型:优先选低 Vos、低漂移的型号。OPA2188 的温漂只有 0.1µV/°C,比 LM358 好一个数量级。

3.2 偏置调节电位器

电位器是硬件调零的“手感”所在。我早期用过 3296W 这种多圈精密电位器,调起来确实细腻,但有个坑——它怕振动。有一次在振动台上做测试,电位器触点一抖,零位直接跳了 5mV,整个电流环都跟着抖。

后来我学乖了:

  • 固定场合:用多圈电位器,调好后点胶固定。
  • 量产场合:用数字电位器(比如 AD5270),通过 I²C 或 SPI 写值,出厂前一次校准,之后不再动。
  • 高可靠场合:干脆不用电位器,用精密电阻网络 + 模拟开关切换偏置档位。

我的个人习惯:

在原理图上把电位器标注为“R_ADJ”,并在 PCB 上留出测试点。调试时用万用表测测试点电压,比用示波器看波形更准。我曾经因为示波器探头的地线夹子没夹好,看到 20mV 的“零漂”,折腾了半天才发现是共模噪声。

3.3 硬件校准的优缺点

咱们不绕弯子,直接上对比表:

维度 优点 缺点
实时性 零延迟,信号路径上直接修正 无
精度 可做到 1mV 以内,温漂可控 受限于运放和基准源性能
可靠性 不依赖软件,掉电不丢失 电位器老化、振动后可能漂移
成本 无 增加运放、电阻、电位器,BOM 成本上升 0.5~2 元
调试复杂度 调好后一劳永逸 每块板子需要人工或自动调零,产线工时增加
灵活性 无 一旦焊接好,无法远程修改偏置值

说白了,硬件校准适合那些对实时性要求极高、或者软件资源紧张的场景。比如 高速电流环(PWM 频率 20kHz 以上),软件每周期就那么几微秒,根本没空做零漂补偿。这时候硬件帮你把底数清干净,ADC 采到的就是真实信号。

避坑指南:

我曾经在一个项目里同时用了硬件调零和软件补偿,结果两者互相打架——硬件把偏置调到了 0V,软件又加了一个 -2mV 的补偿,导致零位反而偏了。后来我定了个规矩:硬件调零和软件补偿只能二选一。如果用了硬件调零,软件里的零漂补偿系数全部置零。

3.4 硬件调零电路设计流程

我总结了一套设计步骤,供你参考:

  1. 确定偏置范围:实测运放输出端的最大零漂,留 50% 余量。
  2. 选择运放拓扑:加法器、差分放大器、仪表放大器,根据共模电压范围选。
  3. 设计偏置网络:基准源 + 分压电阻 + 电位器,计算调节步进。
  4. 仿真验证:用 LTspice 或 Multisim 跑一下温漂和噪声。
  5. PCB 布局:偏置网络远离功率走线,模拟地和功率地单点连接。
  6. 产线调零流程:输入零电流 → 读取 ADC 值 → 调节电位器直到 ADC 输出为 0。

下面这张图是我常用的硬件调零电路结构,你可以看看信号是怎么走的:

硬件调零电路结构图 硬件调零电路结构图 电流采样信号 偏置电压生成 TL431 电位器 加法器运放 (OPA2188) ADC (12/16位) 说明: 电流采样信号与偏置电压在加法器运放中叠加,消除运放和采样电阻的直流偏置。 偏置电压由 TL431 基准源经电位器分压得到,调节范围 ±50mV。

你看,信号从左边进来,经过加法器把偏置“掰正”,再送到 ADC。整个过程是纯硬件的,不占用 CPU 时间。但代价就是多了几个元件,PCB 面积也大了些。

我个人建议:如果项目对成本不敏感,或者零漂要求特别严(比如 0.5mV 以内),优先考虑硬件调零。如果只是普通工业应用,软件校准完全够用,别给自己找麻烦。