传感器与模拟前端¶
传感器接口的任务,是把外部世界的电压、电流和脉冲转换为 MCU 可以安全、准确采样的信号,同时处理噪声、过压、断线和长线干扰。
一、先识别传感器输出类型¶
拿到传感器先回答:
| 项目 | 需要查的数据 |
|---|---|
| 输出形式 | 电压、电流、电阻、开漏、推挽、差分或数字总线 |
| 输出范围 | 正常最小/最大、共模、可能负压和过压 |
| 输出阻抗 | 能否直接驱动 ADC 采样电容 |
| 带宽 | 机械量变化速度、载波/PWM、最大脉冲频率 |
| 供电 | 电压、启动电流、噪声要求、上电时间 |
| 精度 | 零点、灵敏度、温漂、非线性、校准要求 |
| 连接 | 线长、屏蔽、地电位差、是否热插拔 |
| 故障 | 断线、短路、反接时希望 ADC/软件看到什么 |
不同输出对应的典型前端:
| 传感器输出 | 常用前端 |
|---|---|
| 0~3.3 V 低阻电压 | RC + 限流/钳位,可直接 ADC |
| 0~5 V、0~10 V | 分压 + RC + 过压保护,必要时运放缓冲 |
| 双极性 ±10 V | 衰减 + 偏置 + 运放/保护 |
| 4~20 mA | 精密采样电阻 + RC/保护,必要时隔离 |
| 电阻式传感器 | 分压或恒流激励 + ADC |
| 电桥/毫伏级差分 | 仪表放大器或专用 ADC |
| 开漏/集电极开路 | 外部上拉 + 输入保护 |
| 差分编码器 | 差分线接收器 + 终端 |
| I²C/SPI 传感器 | 总线电路 + 电源去耦/电平兼容 |
二、ADC 之前要解决四件事¶
- 量程:最大输入不能超过 ADC 可用范围;
- 驱动:源阻抗和采样时间要让采样电容充到足够精度;
- 带宽:只保留有用频段,减少混叠和开关噪声;
- 保护:异常电压的电流不进入 MCU 内部保护结构。
2.1 先确定真正的 ADC 上限¶
ADC 满量程通常与 \(V_{REF}\) 或 VDDA 有关。不能默认永远是精确 3.300 V:
- 参考电压本身有初始误差、温漂和负载要求;
- 3.3 V 电源会随负载和温度变化;
- ADC 线性范围可能不完全到电源轨;
- 输入保护钳位的允许注入电流有限;
- 多通道切换时前一通道会影响后一通道的充电。
希望获得绝对精度时,可使用外部基准、测量内部基准通道,或做系统校准。
2.2 RC 滤波¶
一阶 RC 截止频率:
设计步骤:
- 先确定被测量的有效最高频率;
- 根据 ADC 采样率确定需要抑制的频段和混叠风险;
- 选择不会让源阻抗过高的 \(R\);
- 用 \(C\) 得到目标截止频率;
- 检查传感器能否稳定驱动该电容;
- 在板上用阶跃和频率响应验证。
RC 的电阻还能限制钳位电流,电容则为 ADC 采样保持电容提供局部电荷,但二者数值都不能无脑固定为“1 kΩ + 100 nF”。
三、电阻分压测高电压¶
3.1 基本计算¶
测 6S 锂电池时按满电 25.2 V 设计。若希望 ADC 最坏不超过约 3.0 V,可先取:
则:
这给电池、阻值和 ADC 参考误差留出了一定空间,但仍需做最坏情况计算。
3.2 不能只算分压比¶
还要检查:
- 分压电流 \(I=V_{IN}/(R_1+R_2)\) 与待机功耗;
- \(R_1\parallel R_2\) 是否满足 ADC 最大源阻抗;
- 电阻精度、温漂和电压系数;
- 上臂电阻耐压,必要时多个电阻串联分担;
- ADC 点的 RC 是否让响应过慢;
- 输入过压/负压时外部钳位和串阻能否承受;
- MCU 掉电但电池仍在时,是否通过 ADC 脚反灌 3.3 V 域。
高阻分压省电但源阻抗高。常见处理是 ADC 点并联电容、加长 ADC 采样时间;精度或速度更高时加低偏置电流运放缓冲。
3.3 可关断分压¶
长期待机设备可用 MOS 控制分压下端或上端,只在采样前开启。但要注意:
- 关断时 ADC 输入不能悬到未知电位;
- MOS 漏电会影响高阻分压精度;
- 上端开关的栅源电压需要正确驱动;
- 开启后等待 RC 和运放稳定再采样;
- 不能产生通过 GPIO 保护二极管的反灌路径。
四、电流检测¶
4.1 三种常见方法¶
| 方法 | 优点 | 局限 | 典型用途 |
|---|---|---|---|
| 低边分流 | 共模低、放大容易 | 负载地被抬高,可能污染参考地 | 单个低边负载、成本敏感 |
| 高边分流 | 负载地完整,可测总线 | 放大器需承受高共模 | 电池总电流、支路电流 |
| 霍尔/磁隔离传感器 | 隔离、压降低、可测大电流 | 成本、零点漂移、带宽限制 | 大电流、双向或隔离测量 |
4.2 分流电阻¶
最大 10 A、\(R_{shunt}=5\,m\Omega\):
实际应选择更高功率等级并考虑环境温度、脉冲过载和温漂。功率不只是“不会烧”,自热也会改变阻值和测量精度。
4.3 Kelvin 连接¶
大电流从分流电阻的功率焊盘通过,两个采样线从电阻端头的内侧独立引出到放大器:
若从大电流铜皮任意位置取样,铜箔和焊点压降会被当作被测电流。
4.4 电流检测放大器¶
核对:
- 共模范围覆盖母线最低/最高及可能负压;
- 增益后最大输出不撞 ADC 上限;
- 输出摆幅和参考端允许测单向还是双向电流;
- 失调与漂移是否能分辨小电流;
- PWM 电机应用的共模瞬变抑制与带宽;
- 芯片掉电而母线带电时是否允许;
- 输入滤波阻值是否破坏芯片要求的匹配。
例如希望 50 mV 满量程映射到 2.5 V,需要约 50 倍增益。若器件增益固定,应围绕量程、零点和 ADC 裕量反推分流阻值。
五、运放、仪表放大器与比较器¶
5.1 什么时候用什么¶
| 需求 | 电路 |
|---|---|
| 高阻传感器驱动 ADC | 运放电压跟随器 |
| 放大以地为参考的小信号 | 同相/反相运放 |
| 放大电桥毫伏级差分 | 仪表放大器或差分 ADC |
| 判断是否超过阈值 | 比较器 + 迟滞 |
| 快速过流后硬件关断 | 高速比较器直接接驱动器 EN/Break |
5.2 运放选型检查¶
- 供电范围是否包含 3.3 V/5 V;
- 输入共模范围覆盖信号全范围;
- 输出摆幅在目标负载下能到所需上下限;
- 是否真正需要轨到轨输入/输出;
- 增益带宽积和压摆率满足频率及幅度;
- 输入失调、偏置电流、噪声和温漂符合精度;
- 驱动 ADC 电容或长线时是否稳定;
- 输入存在而运放掉电时是否安全。
“常见运放”不等于适合。某些老运放在 3.3 V 下无法处理接近正电源轨的输入,也无法把输出摆到 ADC 满量程附近。
5.3 比较器迟滞¶
没有迟滞时,输入在门限附近叠加噪声会让输出反复翻转。通过正反馈设置不同的上升/下降门限:
迟滞要大于噪声峰峰值,又不能吞掉需要检测的真实变化。开漏比较器输出还需要上拉,且上拉电压必须与后级兼容。
六、温度、电阻和电流型传感器¶
6.1 NTC 热敏电阻¶
常见电路是 NTC 与精密电阻分压:
- 固定电阻选择接近目标温区中间的 NTC 阻值,可提高该区灵敏度;
- 查 NTC 的 \(R_{25}\)、B 值/Steinhart-Hart 系数和容差;
- 分压电流会让 NTC 自热,精密测温要控制激励;
- 软件使用查表或模型换算,不把 ADC 值线性映射为温度;
- 设计开路/短路时 ADC 会落在哪个端点,便于诊断。
6.2 4~20 mA¶
用采样电阻转换为电压:
若用 150 Ω:
适合 3.3 V ADC 且保留一定裕量。电阻功耗在 20 mA 时为 60 mW,但仍要考虑过流、精度和温漂。长线工业环境还需浪涌保护、共模/地电位分析,必要时隔离。
断线通常表现为接近 0 mA,这正是 4 mA“活零点”的优势;软件应把低于合理下限识别为故障,而不是有效零量程。
6.3 0~10 V¶
采用精密分压 + RC + 外部过压钳位。不要把 10 V 直接接运放或 ADC 后再希望内部 ESD 二极管保护。若输入可能断线、负压或错接 24 V,所有这些都要进入最坏情况计算。
七、编码器、霍尔与 IMU¶
7.1 增量编码器频率¶
\(N_{edge}\) 取决于单边沿、双边沿或四倍频。以 3000 RPM、1024 PPR、A/B 四倍频为例:
MCU 定时器、输入缓冲、隔离器和 RC 滤波带宽都应高于此值并留裕量。
7.2 按输出类型接入¶
| 输出 | 接法 |
|---|---|
| 3.3 V 推挽、板内短线 | 串阻/施密特输入,可直接定时器 |
| 5 V 推挽 | 5 V 容忍输入或电平转换 |
| NPN 开漏 | 上拉到 MCU 可承受电压 + 保护 |
| RS422 差分 A+/A- | 差分接收器 + 合适终端 + 双绞线 |
| 正余弦模拟编码器 | 专用模拟前端/ADC,关注幅相与校准 |
长线高速编码器优先差分。终端放在接收端,阻值匹配线缆;连接器处做 ESD,A/B/Z 每对保持成对布线。
7.3 IMU¶
- 供电可使用低噪声支路或磁珠隔离,并就近去耦;
- 远离电感、功率 MOS、大电流连接器和高磁场器件;
- 明确芯片坐标轴与机器人坐标,PCB 丝印标出 X/Y/Z;
- 放置位置兼顾刚性、振动和整机旋转中心;
- SPI 常比长/繁忙 I²C 更适合高采样率;
- 数据异常可能来自机械振动和电源噪声,不只来自软件滤波。
八、模拟布局和调试¶
8.1 布局原则¶
- 模拟前端靠近传感器连接器或 ADC,缩短高阻节点;
- ADC 输入远离 Buck 的 SW 节点、晶振和电机 PWM;
- 保持连续参考地,利用布局让大电流回流绕开模拟区;
- VREF 去耦和地连接按 MCU/ADC 手册;
- 分流电阻和采样放大器靠近,Kelvin 线成对、对称;
- 外部保护靠近连接器,滤波靠近被保护/采样器件。
8.2 调试顺序¶
- 不接传感器,用已知电压源验证前端增益和量程;
- 扫描输入,检查零点、满量程、线性和饱和行为;
- 用示波器同时看原始输入与 ADC 点,确认 RC 和噪声;
- 改变 3.3 V、温度和负载,观察参考与偏移;
- 接入真实线缆,在电机启动/PWM 时复测;
- 主动制造断线、短路和越界输入,确认硬件安全且软件能诊断;
- 把校准系数、单位和有效范围写入固件配置。
8.3 Checklist¶
- 已识别输出类型、量程、阻抗、带宽和故障状态;
- ADC 最坏输入没有超过允许范围;
- 分压考虑阻值误差、待机功耗、耐压和反灌;
- ADC 源阻抗、采样时间和 RC 经过核算;
- 分流电阻功耗、温漂和 Kelvin 连接正确;
- 运放共模、输出摆幅、带宽和掉电输入均满足;
- 比较器门限具有足够且不过度的迟滞;
- 编码器最高边沿频率和输入类型匹配;
- 外部接口保护靠近连接器,模拟区远离开关节点;
- 已计划用已知输入和故障注入做校准与验证。
数字传感器和节点互联需要继续处理物理层,见通信接口电路。