ADC 模数转换器入门:分辨率、参考电压与采样
单片机擅长处理数字,但现实世界充满连续变化的电压:电位器中点、光敏分压、麦克风信号、某些传感器模拟输出。ADC(Analog-to-Digital Converter)负责把这些模拟电压变成数字值,让程序能读懂。
用一把尺子理解 ADC
ADC 需要参考电压 Vref(有的芯片用 VDDA)。输入电压相对参考的比例,被量化成整数:
# N 位 ADC,理想情况下
code ≈ Vin / Vref × (2^N - 1)
Vin_est ≈ code / (2^N - 1) × Vref
例如 12 位 ADC、Vref = 3.3V,1LSB 大约是 3.3 / 4095 ≈ 0.8mV 量级。你可以把它想成:尺子总长是 Vref,刻度有 2^N 格。
你真正要关心的指标
| 概念 | 含义 | 入门注意 |
|---|---|---|
| 分辨率(位数) | 分成多少级 | 位数高不等于系统真的更准 |
| 参考电压 | 量程尺子 | 参考不稳,读数跟着晃 |
| 采样率 | 每秒转多少次 | 变化快的信号要够快 |
| 输入范围 | 允许的 Vin | 超范围可能损坏或饱和 |
| 输入阻抗 | 是否拖垮前级 | 分压电阻别随意用得太大 |
嵌入式里怎么用得稳
- 确认通道与引脚真的支持模拟功能
- 共地:传感器/分压电路与 MCU 必须共地
- 滤波与去耦:电源脚去耦;必要时输入端加小电容抑制毛刺
- 多采样平均:换稳定,但会变慢
- 校准:用已知电压核对,别盲目相信原始 code
常见 ADC 类型(了解即可)
- SAR(逐次逼近):MCU 片内最常见
- 积分型:抗干扰好,速度慢,多见于电表类
- ∑-Δ / 流水线等:高精度或高速场景,入门较少直接接触
你不必先成为 ADC 架构专家,但要能看懂手册里的位数、采样时间与参考电压来源。
选型与模块化思路
如果用外置 ADC 模块,关注:位数、速率、接口(I2C/SPI)、供电、输入范围与成本。更完整的“敏感元件 → 调理 → ADC”链路,可结合 传感器概论。
建议练习
用电位器做分压,接到 ADC 引脚,串口打印原始值与换算电压;转动电位器看读数是否平滑。若跳变很大,检查供电、接线与是否共地。
下一篇补上经常被忽略、却决定系统能不能稳 的基础:电源、地与共地。