4. 电流采样与调理:采样电阻、霍尔电流传感器、隔离放大器、ADC采样电路设计
电流采样,说白了就是电机的“眼睛”。你控制得再好,不知道实际电流是多少,那都是开环瞎蒙。我做驱动这些年,见过太多因为电流采样出问题导致的炸管、抖动、甚至飞车。这一章,咱们就把这双“眼睛”的构造和保养方法讲透。
核心观点:电流采样的精度和带宽,直接决定了电流环的性能。一个糟糕的采样链路,会让你的FOC算法形同虚设。
4.1 采样电阻:最直接,也最“烫”
采样电阻,也叫分流器。原理就是欧姆定律,I = V / R。简单粗暴,但用起来全是细节。
4.1.1 电阻选型的关键参数
不是随便拿个电阻就能用的。我刚开始做项目时,就吃过这个亏。
- 阻值 (R):通常在毫欧级,1mΩ ~ 100mΩ。阻值越大,信噪比越高,但功耗也越大。我个人习惯,先算峰值电流下的压降,控制在50mV ~ 100mV之间。
- 功率 (P):P = I²R。要留足余量,至少2倍。电机堵转时电流很大,电阻会非常烫。
- 温漂 (TCR):这是个大坑。普通电阻温漂几百ppm,会导致电流测量值随温度漂移。我建议用低TCR的合金电阻,比如锰铜或康铜材料,TCR能做到50ppm以下。
- 寄生电感:高频电流下,电阻的寄生电感会产生额外压降,导致测量失真。要选四端开尔文连接的电阻,或者低电感结构的贴片电阻。
| 参数 | 推荐值/类型 | 我的经验 |
|---|---|---|
| 阻值 | 1mΩ ~ 50mΩ | 根据ADC满量程反推,别贪大 |
| 功率 | 实际功耗的2~3倍 | 堵转工况是考验 |
| 温漂 | < 50 ppm/°C | 锰铜电阻是首选 |
| 封装 | 2512 或 四端 | 大封装散热好,寄生小 |
警告:采样电阻的PCB走线非常关键。必须使用开尔文接法,将采样点直接连到电阻的焊盘上,避免大电流路径上的压降干扰。我曾经见过一个板子,采样线走了很长一段,结果测出来的电流全是噪声。
4.2 霍尔电流传感器:隔离与便利
当电流很大,或者需要隔离时,采样电阻就不太合适了。霍尔传感器是另一个常用方案。
霍尔传感器利用霍尔效应,将电流产生的磁场转换为电压信号。它天生带隔离,而且功耗低。
4.2.1 开环 vs 闭环
- 开环霍尔:结构简单,成本低,但精度和线性度一般,受温度影响大。适合对精度要求不高的场合。
- 闭环霍尔:内部有补偿线圈,精度高,线性度好,带宽也高。但体积大,成本高。我一般在伺服驱动器上用闭环的。
你想想看,开环霍尔就像个粗略的估测,闭环霍尔则像个精准的测量仪器。选哪个,看你的钱包和性能要求。
4.2.2 选型要点
- 带宽:至少要能覆盖电流环的带宽。一般需要 > 100kHz。
- 响应时间:越快越好,通常 < 1μs。
- 噪声:输出噪声要低于ADC的1个LSB。
- 隔离电压:根据系统耐压等级选择,常见的有2.5kV、5kV等。
提示:霍尔传感器输出通常是模拟电压,需要经过调理电路才能进ADC。注意输出端的滤波电容不要太大,否则会限制带宽。
4.3 隔离放大器:安全与精度
在高压电机驱动中,采样电阻和ADC之间必须隔离。隔离放大器就是干这个的。
隔离放大器将模拟信号通过磁耦合或电容耦合的方式,跨越隔离栅传输。它保证了高压侧和低压侧的安全隔离。
4.3.1 隔离方式对比
| 类型 | 优点 | 缺点 | 我的看法 |
|---|---|---|---|
| 磁隔离 | 共模抑制比高,带宽高 | 体积大,成本高 | 适合高性能场合 |
| 电容隔离 | 体积小,成本低 | 共模抑制比稍差 | 性价比之选 |
| 光耦隔离 | 技术成熟,成本低 | 带宽低,寿命问题 | 逐渐被淘汰 |
4.3.2 关键指标
- 非线性误差:通常 < 0.01%。
- 增益误差:会影响电流测量的绝对精度。
- 失调电压:会导致零点偏移,需要软件校准。
- 共模抑制比 (CMRR):越高越好,能抑制电机PWM开关带来的共模干扰。
注意:隔离放大器输出端也需要滤波。但要注意,滤波器的截止频率不能低于电流环的带宽。我曾经为了滤除噪声,把滤波器截止频率设得太低,结果电流环响应变慢,电机一启动就震荡。
4.4 ADC采样电路设计:最后一公里
ADC是模拟世界和数字世界的桥梁。采样电路设计不好,前面的努力全白费。
4.4.1 采样拓扑
常见的采样拓扑有三种:
- 三电阻采样:在三个下桥臂各放一个采样电阻。可以同时采样三相电流,适合FOC。但需要三个ADC通道。
- 单电阻采样:在直流母线上放一个采样电阻。通过PWM时序重构三相电流。成本低,但算法复杂,低速性能差。
- 双电阻采样:在两个下桥臂放采样电阻。结合母线电流重构第三相。是性能和成本的折中。
我个人习惯,在伺服驱动器上,首选三电阻采样。虽然成本高一点,但调试简单,性能稳定。
4.4.2 调理电路
采样信号在进入ADC之前,需要经过调理:
- 电平偏移:将双极性电流信号(-Imax ~ +Imax)偏移到ADC的输入范围(比如0 ~ 3.3V)。
- 放大:将小信号放大到ADC的满量程附近,提高信噪比。
- 滤波:用RC低通滤波器滤除高频噪声。截止频率通常设为电流环带宽的5~10倍。
- 钳位保护:用肖特基二极管将ADC输入电压钳位在电源和地之间,防止过压损坏ADC。
// 示例:ADC采样与校准代码(伪代码)
// 假设ADC为12位,参考电压3.3V
#define ADC_MAX 4095
#define VREF 3.3f
// 校准参数(通过自校准获得)
float offset = 1.65f; // 零点偏移电压
float gain = 0.1f; // 每安培对应的电压
// 读取ADC值
uint16_t adc_value = read_adc(channel);
// 转换为电压
float voltage = (float)adc_value / ADC_MAX * VREF;
// 减去偏移,得到实际电流
float current = (voltage - offset) / gain;
// 软件滤波(一阶低通)
float current_filtered = 0.95f * current_filtered + 0.05f * current;
技巧:ADC采样时刻非常关键。要在PWM开关噪声最小的时刻触发采样,通常是在PWM载波的波峰或波谷。很多MCU都支持硬件触发采样,可以精确控制采样点。
4.5 知识体系:电流采样链路全景图
下面这张图,把整个电流采样链路串起来了。从物理量到数字量,每一步都有坑,每一步都需要精心设计。
嗯,这张图基本把本章的核心内容都串起来了。从电机相电流开始,经过采样元件、信号调理,最后到ADC采样。每个环节都有多种选择,每种选择都有它的适用场景。