4、电流采样电路设计:采样电阻选型、运放电路设计、ADC接口设计、滤波电路
好,咱们进入第四讲。电流采样,说白了就是给电机“号脉”。牙刷电机堵不堵,转得快不快,全靠电流波形说话。我见过不少工程师,算法写得天花乱坠,结果采样电路一塌糊涂,最后全白搭。这一节,咱们就把采样电路这摊事儿,掰开了揉碎了讲清楚。
4.1 采样电阻选型:别小看这颗“小芝麻”
采样电阻,就是串联在电机回路里的一颗精密电阻。电流流过它,产生压降,我们测这个压降就知道电流了。听起来简单,但选型坑很多。
阻值怎么定?
阻值太小,信号微弱,信噪比差。阻值太大,发热严重,还白白消耗功率。我一般遵循一个原则:满载时采样电阻上的压降控制在 50mV ~ 150mV 之间。
举个例子,牙刷电机堵转电流假设是 1A,我选 0.1Ω 的电阻,压降就是 100mV。这个值,运放好处理,ADC 也能分辨。如果选 0.01Ω,压降才 10mV,噪声稍微大点就淹没了。
其中 V_sense 取 0.05V ~ 0.15V,I_max 为最大堵转电流。
功率怎么算?
这个很多人会忽略。堵转时电流最大,功率也最大。P = I² × R。1A 电流流过 0.1Ω,功率就是 0.1W。但别卡着极限选,我习惯留 2~3 倍余量。选 0.25W 或 0.5W 的封装,心里踏实。
材质选什么?
我推荐 金属膜电阻 或 合金电阻。温漂要低,最好在 ±50ppm/℃ 以内。普通碳膜电阻温度系数太大,电流一上去,阻值飘了,采样就不准了。嗯,这里要注意,千万别为了省几分钱用碳膜,我吃过这个亏。
| 参数 | 推荐值 | 说明 |
|---|---|---|
| 阻值 | 0.01Ω ~ 0.1Ω | 根据最大电流调整 |
| 功率 | ≥ 3 × I²R | 留足余量 |
| 温漂 | ≤ ±50ppm/℃ | 保证温度稳定性 |
| 封装 | 0805 / 1206 / 2512 | 功率越大,封装越大 |
4.2 运放电路设计:把微弱的信号“放大”
采样电阻上的电压通常只有几十毫伏,ADC 直接采,精度不够。所以需要运放做一级放大。我常用的拓扑是 差分放大电路。
为什么用差分?
电机是感性负载,PWM 开关时,地线上会有很大的共模噪声。差分放大可以抑制共模信号,只放大差模信号(也就是我们想要的电流信号)。
电路长什么样?
看下面这个典型电路:
// 典型差分放大电路
// 假设采样电阻 Rs = 0.05Ω
// 目标放大倍数 Av = 50
// 则输出电压 Vout = I_load * Rs * Av
// 电阻取值:
// R1 = R3 = 1kΩ
// R2 = R4 = 50kΩ
// 放大倍数 = R2 / R1 = 50
// 运放选型建议:
// 1. 轨到轨输入输出(RRIO)
// 2. 低失调电压(< 1mV)
// 3. 高共模抑制比(CMRR > 80dB)
// 4. 带宽足够(GBW > 1MHz)
我个人习惯用 单电源运放,比如 MCP6001、LMV321 这类。牙刷是电池供电,单电源省事。注意要选轨到轨输出的,不然输出摆幅受限,ADC 采不到满量程。
4.3 ADC接口设计:让单片机“看懂”电流
运放输出的是模拟电压,要进单片机,得通过 ADC 转换成数字量。这里有几个关键点。
ADC 分辨率怎么选?
牙刷电机堵转检测,8 位 ADC 勉强够用,但我不推荐。10 位或 12 位是主流。12 位 ADC,参考电压 3.3V,分辨率是 3.3V / 4096 ≈ 0.8mV。配合 50 倍放大,相当于能分辨 0.8mV / 50 / 0.05Ω ≈ 0.32mA 的电流变化。这个精度,堵转检测绰绰有余。
输入阻抗匹配
ADC 采样时,会有一个瞬间的电流冲击。如果运放输出阻抗太高,电压会被拉低,导致采样不准。我一般会在运放输出和 ADC 输入之间,加一个 电压跟随器 或者 RC 低通滤波。
参考电压要稳
ADC 的参考电压(Vref)直接影响转换精度。如果直接用电池电压做 Vref,电池电量下降时,同样的电流值,ADC 读数会变。我建议用 内部基准 或 外部基准芯片(比如 TL431)。
4.4 滤波电路:把噪声“滤”干净
电机 PWM 开关频率通常在 20kHz 以上,会产生大量高频噪声。这些噪声会叠加在电流信号上,让 ADC 读数跳来跳去。所以,滤波是必须的。
硬件滤波:RC 低通
最简单的办法,在运放输出端加一个 RC 低通滤波器。截止频率 f_c = 1 / (2πRC)。我一般把截止频率设在 1kHz ~ 5kHz 之间。
举个例子:R = 10kΩ,C = 10nF,f_c ≈ 1.6kHz。这个频率能滤掉 PWM 噪声,又不会把电流变化的低频成分滤掉(堵转时电流变化频率很低)。
// RC 低通滤波器设计示例
// 目标截止频率:2kHz
// 选择 R = 10kΩ
// 计算 C = 1 / (2π * R * f_c)
// = 1 / (2 * 3.14 * 10000 * 2000)
// ≈ 7.96nF
// 取标称值 10nF,实际截止频率约 1.6kHz
// 注意:电容用 C0G 或 NPO 材质,温度特性好
// 不要用 X7R,容值会随电压变化
软件滤波:均值或中值
硬件滤波之后,软件上再做一次滤波,效果更好。我常用的方法是 滑动平均滤波。取最近 8 次或 16 次 ADC 采样值,求平均。这样既能平滑噪声,又能快速响应电流变化。
PCB 布局注意事项
最后说一句布局。采样电阻要靠近电机回路,走线要短而粗。运放和 ADC 要远离 PWM 走线和电感。模拟地和功率地要单点连接,别让大电流回流干扰小信号。
嗯,这一节内容不少。采样电阻、运放、ADC、滤波,环环相扣。哪个环节出问题,堵转检测都会失灵。你想想看,如果采样不准,算法再牛也是白搭。下一节,咱们就讲怎么用软件把这些信号处理成堵转判据。