1. 分压电路示例

2. 计算
- 已知供电端为7.2 V
- 分压电阻分别为 10K 和 4.7K
- 误差都为1%
- 理论上
7.2V * 4.7/ (10+4.7) = 2.302V - 4.7 * 1% = 0.047k
- 10 * 1% = 0.1k
-
计算第一种(4.7K偏大,10K偏小)
4.7 + 0.047 = 4.747K
10 - 0.1 = 9.9K
7.2 * 4.747 / (9.9 + 4.747 ) = 2.333V
2.333V - 2.302V = 31mV -
计算第二种(4.7K 偏小 , 10K偏大)
4.7 - 0.047 = 4.653K
10 + 0.1 = 10.1 K
7.2 * 4.653 / (10.1 + 4.653 ) = 2.270 V
2.302V - 2.270V = 32mV -
还要考虑ADC内阻的影响
-
典型值在10kΩ到50kΩ之间,具体取决于型号和工艺
-
对于STM32L0系列,这个值通常在20kΩ ~ 50kΩ 范围内。
-
关键影响因素:采样时间 这是最重要的概念。当ADC启动采样时,内部开关闭合,需要将外部信号电压对内部的采样电容充电。充电的快慢取决于外部电路的输出阻抗和采样电容构成的RC时间常数
如果采样时间太短:电容充电不充分,导致采样电压不准确,读数偏低。
如果采样时间足够长:电容充电完成,可以视为一个高阻抗负载,此时主要考虑的是直流阻抗的泄漏影响。
假设ADC阻抗在10k左右 -
ADC输入阻抗与4.7K电阻并联后,新的阻值 = (4.7 * 10) / (4.7 + 10)= 3.19K
-
7.2V * 3.19/(10 + 3.19) = 1.69V, 这和2.302V的理论值相差很大
-
确保分压电路的输出阻抗 远小于 ADC的输入阻抗。一个常见的设计经验是将上例中的R1和R2同时缩小10倍(此时负载效应引起的误差将大幅减小。
3. 注意:adc初始化完成需要校准的步骤,调用校准库函数
4. adc 使用的是3.3V的参考电源 ,12位的分辨率, 理论精度
问题解析
ADC的分辨率是指其能够检测到的最小电压变化量,计算公式为:
LSB (最低有效位)=Vref2N
\text{LSB (最低有效位)} = \frac{V_{\text{ref}}}{2^N}
LSB (最低有效位)=2NVref
其中:
- VrefV_{\text{ref}}Vref 是参考电压(满量程电压);
- NNN 是ADC的位数(分辨率)。
情况1:参考电压为 3300 mV,ADC分辨率为 4096(即12位)
-
计算每位对应的电压:
LSB=3300 mV4096≈0.8057 mV \text{LSB} = \frac{3300\ \text{mV}}{4096} \approx 0.8057\ \text{mV} LSB=40963300 mV≈0.8057 mV- 每一位(1 LSB)代表 0.8057 mV 的电压变化。
- 例如:
- 当ADC输出为1时,对应输入电压约为0.8057 mV;
- 当ADC输出为2时,对应输入电压约为1.6114 mV;
- 当ADC输出为4095时,对应输入电压接近3300 mV(实际为3300 mV × 4095/4096 ≈ 3299.21 mV)。
-
分辨率的含义:
- ADC将0~3300 mV的模拟电压范围划分为4096个离散的数字量(0~4095)。
- 每个数字量对应一个固定的电压步长(0.8057 mV),因此ADC的理论最小分辨率为0.8057 mV。
情况2:参考电压改为 2048 mV,ADC分辨率仍为 4096
-
计算每位对应的电压:
LSB=2048 mV4096=0.5 mV \text{LSB} = \frac{2048\ \text{mV}}{4096} = 0.5\ \text{mV} LSB=40962048 mV=0.5 mV- 每一位(1 LSB)代表 0.5 mV 的电压变化。
- 例如:
- 当ADC输出为1时,对应输入电压为0.5 mV;
- 当ADC输出为2时,对应输入电压为1.0 mV;
- 当ADC输出为4095时,对应输入电压接近2048 mV(实际为2048 mV × 4095/4096 ≈ 2047.5 mV)。
-
分辨率的含义:
- ADC将0~2048 mV的模拟电压范围划分为4096个离散的数字量(0~4095)。
- 每个数字量对应一个固定的电压步长(0.5 mV),因此ADC的理论最小分辨率为0.5 mV。
对比分析
| 参数 | 参考电压3300 mV | 参考电压2048 mV |
|---|---|---|
| 每位对应的电压 (LSB) | ~0.8057 mV | 0.5 mV |
| 分辨率(理论最小值) | 0.8057 mV | 0.5 mV |
| 量程范围 | 0~3300 mV | 0~2048 mV |
关键区别
-
分辨率提升:
- 当参考电压从3300 mV降低到2048 mV时,LSB减小(0.8057 mV → 0.5 mV),ADC的理论分辨率提高,能够检测更小的电压变化。
-
量程缩小:
- 降低参考电压会缩小ADC的输入电压范围(3300 mV → 2048 mV),可能导致部分输入信号超出量程,从而无法正确测量。
实际应用中的注意事项
-
量程与分辨率的权衡:
- 提高分辨率(减小LSB)需要降低参考电压,但会限制ADC的输入范围。
- 如果输入信号的电压范围较大(例如超过2048 mV),则需要保持较高的参考电压(如3300 mV),以避免信号过载。
-
噪声与有效位数(ENOB):
- 实际ADC的性能受噪声、非线性误差等因素影响,有效位数(ENOB)可能低于理论值。
- 例如,即使理论分辨率为0.5 mV,若噪声较大,实际能够检测的最小电压变化可能高于0.5 mV。
-
应用场景选择:
- 高分辨率需求(如精密测量):选择较低参考电压(如2048 mV),以提高分辨率。
- 宽量程需求(如工业传感器):选择较高参考电压(如3300 mV),以覆盖更大的输入范围。
总结
- 参考电压3300 mV时,12位ADC的LSB为0.8057 mV,理论分辨率为0.8057 mV。
- 参考电压2048 mV时,12位ADC的LSB为0.5 mV,理论分辨率为0.5 mV。
- 降低参考电压可以提高分辨率,但会缩小量程,需根据具体需求权衡量程与分辨率的平衡。
5. 使用直流电源箱验证
- 电源箱输出7.2V电压
- 测试第一块板子 软件读取值为 7.193V 误差为 -7mV
- 测试第二块板子 软件读取值为 7.193V 误差为 -7mV
- 测试第三块板子 软件读取值为 7.209V 误差为 +9mV
得出的结论误差范围 预估在 正负10mV
标准要求在 50mV 以内
426



被折叠的 条评论
为什么被折叠?



