在高压输入场景(例如12V、24V或更高)下将信号引入灵动MCU的ADC前,必须对信号进行电压限制和保护处理,否则将严重损坏MCU。下面是一套可靠、常用的前端设计方案,适用于灵动MCU进行安全电压采样。
核心目标
确保输入信号 经过电压降压与过压保护处理 后,进入ADC的电压始终在 0V ~ Vref(如3.3V)范围内。
推荐的前端保护电路结构
markdown
复制
编辑
高压信号 ── 电阻分压 ──+───> ADC输入
|
钳位二极管
|
GND
1. 电阻分压(必须)
使用一组电阻构建电压分压器,将高压线性压降到 MCU ADC 支持的范围。
设计要点:
选高阻值电阻(如100kΩ量级),减少电流损耗
分压比例由下式决定:

示例:
目标:采样 024V 到 03.0V
可选:R1 = 150kΩ,R2 = 20kΩ

2. 钳位保护(瞬态/过压防护)
使用 钳位二极管(如TVS或普通肖特基二极管) 在 ADC 输入对 VDD/GND 夹紧,防止输入电压瞬时超过安全范围。
推荐方案:
两极钳位:使用两个肖特基二极管
一个接 VDD(阳极接ADC,阴极接3.3V)
一个接 GND(阴极接ADC,阳极接GND)
或使用一个 双向TVS管(如 PESD3V3L)
作用:
当输入电压超过 VDD + 0.3V,电流被钳位到 VDD
防止 MCU IO 结构中内部ESD二极管被击穿
3. ADC输入端RC滤波(推荐)
电阻 + 电容(典型为 1~10kΩ + 100nF)构成低通滤波器
滤除高频干扰、防止采样尖刺
c
复制
编辑
高压输入 ─ R1 ─+─R2─┬──> ADC
| |
C1 GND
4. 电路设计总览图(示意)
lua
复制
编辑
高压输入(如24V)
|
R1 (150k)
|
+----------+
| |
R2 (20k) TVS or
| 双肖特基
+----+-----+
|
C1=100nF
|
GND
5. 注意事项
项目 说明
电阻功耗 分压电阻会持续消耗功率:P ≈ V²/R<sub>总</sub>,可选 >100kΩ 降低功耗
精度影响 使用1%或更精密电阻,减少分压误差
ADC校准 分压后需要乘以补偿系数恢复原电压
漏电保护 高压设备输入需考虑隔离或保护启动
软件补偿计算示例(以3.3V ADC为例):
c
复制
编辑
#define VREF 3.3
#define ADC_MAX 4095.0
#define R1 150000.0
#define R2 20000.0
float read_voltage(uint16_t adc_val) {
float v_adc = (adc_val / ADC_MAX) * VREF;
return v_adc * (R1 + R2) / R2;
}
总结:高压采样设计要点
设计模块 作用
电阻分压 将高压降至 ADC 支持范围
钳位保护 防止瞬时过压烧毁 MCU
RC滤波 抑制噪声毛刺,提高采样稳定性
软件校正 通过补偿还原真实电压
|