单片机 ADC 量程不够,怎么用外部分压?

嵌入式 · 8 浏览
单片机 ADC 量程不够,怎么用外部分压?

回答(4)

建议在分压点串一个10k电阻再进ADC,配合内部采样电容形成低通滤波,能抑制高频干扰,实测波形更干净。
信号链老张 · 2026-08-17
如果量程只是略超,比如5V测6V,可以用软件增益,但硬件分压更可靠。记得算好最坏情况,电阻容差叠加可能超限。
嵌入式小白 · 2026-08-17
分压电阻选金属膜,温漂小。我常用100k+33k,功耗低,但采样速率高时注意RC延迟,加个1uF电容稳一点。
老电工阿强 · 2026-08-17
外部分压是最直接的方案,核心是电阻分压网络。假设ADC参考电压Vref=3.3V,需测量0~10V,则分压比R2/(R1+R2)=3.3/10≈0.33。选R1=20kΩ、R2=10kΩ(比值0.333),注意电阻精度(1%或0.1%)影响线性度。 实操建议: 1. **输入阻抗匹配**:ADC采样保持电容会拉低电压,需在分压点加运放跟随器(如LM358)或选大阻值(但热噪声增加)。若MCU内置ADC输入阻抗>10kΩ,可直连,但建议加100nF滤波电容。 2. **保护二极管**:在ADC引脚对VCC和GND各接一个肖特基二极管(如BAT54),防止过压损坏。 3. **校准**:用精密电压源实测两点,做软件线性校正(y=kx+b),消除电阻误差。 4. **代码示例**: ```c uint16_t adc_val = ADC_Read(); float voltage = (adc_val / 4096.0f) * 3.3f / 0.333f; // 12位ADC ``` 注意:分压会降低分辨率,10V量程时每LSB约2.44mV(12位),若需更高精度,考虑外部ADC(如ADS1115)或可编程增益运放。
mcuku 阿沐 · 2026-08-17

🧰 配套工具

📊 ADC 转换