用STM32F030F4P6做电压采集,外部电路非常简单,100k电阻+10k电阻分压,电压衰减11倍进入MCU ADC管脚采样。
软件通过DMA+过采样,得到MCU管脚上的电压,基本可以做到波动1mV以内。
使用5V 10V 15V 20V基准进行标定时发现,5V下面校准以后,依次测量5V 10V 15V 20V电压,结果分别为:
4.999 10.04 15.08 20.12
随着电压升高,测量结果偏高,20V测量结果误差已经达到0.6%,结果完全可以重复。
测量10k电阻上电压(即MCU管脚的电压):
0.4528V 0.9056V 1.3584V 1.8112V
非常完美的线性关系,但是STM32测试出的MCU管脚电压依次为:
451mV 907mV 1362mV 1819mV
依然是电压越高,测量值越高。
短接掉100k电阻,只保留10k电阻。
0.505V 507mV 高2mV
0.999V 1004mV 高5mV
1.508V 1516mV 高8mV
2.003V 2014mV 高11mV
2.497V 2511mV 高14mV
3.006V 3024mV 高18mV
出现这种现象是什么原因呢? |