2. 硬件设计要点:采样电路布局、差分走线、抗混叠滤波器设计
好,咱们直接进入正题。电流采样搞不好,后面算法调得再漂亮也是白搭。我见过太多工程师,软件滤波写了一堆,结果发现是硬件上进来的噪声早就把信号淹没了。这一节,我就把硬件设计上几个最关键的要点掰开揉碎了讲。
2.1 采样电路布局:别让大电流欺负小信号
采样电路布局,说白了就是「强弱分离」。强电回路和弱电信号回路,必须物理上隔开。我早期一个项目,电机跑起来电流波形全是毛刺,查了三天,最后发现采样电阻的走线跟功率管驱动走线并行了5厘米。嗯,这就是教训。
具体怎么做?我建议你记住这几点:
- 采样电阻尽量靠近电机相线输出端,离功率管近一点。走线越短,寄生电感越小。
- 模拟地和功率地要单点连接。我习惯在采样电阻的GND端附近,用一个0欧电阻或磁珠把两地连起来。别搞成大面积铺铜直接连通,那样噪声会串得到处都是。
- 运放供电要加去耦电容。每个运放引脚旁边放一个0.1μF的陶瓷电容,再并一个10μF的钽电容。别问我为什么,高频噪声就是这么滤掉的。
2.2 差分走线:让共模噪声无处可逃
电机驱动环境里,共模噪声是最大的敌人。你想想看,功率管开关瞬间,dV/dt能到几十V/μs,这些噪声会通过寄生电容耦合到采样线上。如果只用单端走线,那基本等于在噪声里捞信号。
差分走线的核心是什么?等长、等距、紧耦合。我个人的习惯是:
- 差分对的两根线走在一起,间距控制在3倍线宽以内。比如线宽10mil,间距就控制在30mil以内。
- 两根线长度差不超过5mm。长度不匹配会导致共模噪声转成差模噪声,这个转换出来的噪声你后面怎么滤都滤不掉。
- 差分对两侧不要走其他高速信号。如果实在避不开,中间至少要隔一个地线。
我曾经在一个伺服驱动器项目里,差分走线长度差了12mm,结果采样出来的电流在过零点附近一直有毛刺。后来把走线调成等长,问题直接消失。你想想看,就这么一点长度差,能让你多调三天软件。
| 线宽 (mil) | 线距 (mil) | 差分阻抗 (Ω) |
|---|---|---|
| 8 | 8 | 约100 |
| 10 | 10 | 约90 |
| 12 | 12 | 约85 |
注意:这只是参考值,实际阻抗跟板材、层叠结构有关。建议用阻抗计算工具算一下。
2.3 抗混叠滤波器设计:别让高频噪声混进来
抗混叠滤波器,名字听着高大上,其实作用很简单——在ADC采样之前,把高于奈奎斯特频率的信号干掉。为什么?因为一旦高频信号混叠到低频段,你后面再怎么处理也分不清哪些是真实信号,哪些是假信号。
我建议用二阶低通滤波器,结构是Sallen-Key拓扑。为什么不用一阶?一阶的衰减斜率只有-20dB/十倍频,对于电机驱动这种噪声环境,根本不够用。二阶能到-40dB/十倍频,基本够用了。
具体参数怎么选?我给你一个我常用的设计流程:
- 截止频率f_c:一般取ADC采样频率的1/5到1/10。比如采样频率是10kHz,f_c就设在1kHz到2kHz之间。
- 电阻电容值:我习惯用10kΩ电阻和0.1μF电容组合,f_c ≈ 1/(2πRC) ≈ 159Hz。这个值偏低?别急,电机电流变化频率一般也就几百赫兹,够用了。
- 运放选型:带宽要够,至少是f_c的100倍。我常用的是OPA2188或MCP6002,便宜又好用。
这里给一个我常用的二阶低通滤波器电路参数:
// Sallen-Key 二阶低通滤波器
// 截止频率: 约1.6kHz
// 增益: 1 (单位增益)
R1 = R2 = 10kΩ
C1 = 0.01μF
C2 = 0.022μF
// 实际截止频率计算:
// f_c = 1 / (2 * π * sqrt(R1 * R2 * C1 * C2))
// f_c ≈ 1 / (2 * 3.14 * sqrt(10k * 10k * 0.01μ * 0.022μ))
// f_c ≈ 1.6kHz
嗯,这里要注意一点:电容要用C0G或NP0材质的,别用X7R。X7R的电容值会随电压变化,你想想看,采样电压变了,滤波器截止频率也跟着变,这还怎么玩?
2.4 布局走线检查清单
最后,我把自己平时检查硬件设计时用的清单分享给你。每次画完板子,对着这个清单过一遍,能省掉很多调试时间:
| 检查项 | 要求 | 常见问题 |
|---|---|---|
| 采样电阻Kelvin连接 | 4线制,电压检测线独立 | 只用了2线,引入接触电阻误差 |
| 差分走线等长 | 长度差 < 5mm | 长度差过大,共模转差模 |
| 模拟地/功率地单点连接 | 0欧电阻或磁珠连接 | 大面积直接连通,噪声串扰 |
| 抗混叠滤波器 | 二阶以上,f_c合理 | 用一阶或没加,高频混叠 |
| 运放去耦电容 | 0.1μF + 10μF | 没加或离引脚太远 |
| 采样电阻底下无信号线 | 保持净空 | 底下走了PWM或时钟线 |
好了,硬件设计这部分就讲到这里。下一节我们会聊软件校准方法,到时候你会发现,硬件做得好,软件校准就轻松一大半。反过来,硬件一塌糊涂,软件再怎么折腾也是事倍功半。