[STM32F0] STM32F030F4P6 ADC采样精度问题

[复制链接]
 楼主| imdx 发表于 2018-4-8 21:43 | 显示全部楼层 |阅读模式
用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

出现这种现象是什么原因呢?

mmuuss586 发表于 2018-4-8 23:00 | 显示全部楼层
MCU内阻的关系吧,加个跟随器看看;
yiy 发表于 2018-4-10 09:43 来自手机 | 显示全部楼层
版主说的对,阻抗不匹配太严重造成的,用跟随器连接
ayb_ice 发表于 2018-4-10 11:21 | 显示全部楼层
一般使用要校准的,软件处理下
香水城 发表于 2018-4-10 13:56 | 显示全部楼层
做ADC时,采样时间是可以配置的,采样时间要与外部输入阻抗匹配。
在stm32手册的ADC部分都有相关描述。
 楼主| imdx 发表于 2018-5-20 16:51 | 显示全部楼层
香水城 发表于 2018-4-10 13:56
做ADC时,采样时间是可以配置的,采样时间要与外部输入阻抗匹配。
在stm32手册的ADC部分都有相关描述。 ...

STM32的手册我仔细看过,我遇到的问题和采样时间关系不大,我都是按照最长采样时间来设置的。
测试电压是直接从电源上输入的,外部输入阻抗也很小。
只能认为STM32的ADC线性度不好,最终分段校准才解决问题。
Rangar 发表于 2018-5-20 16:59 | 显示全部楼层
采样时间要与外部输入阻抗匹配

这个该怎么理解呢
kkzz 发表于 2018-5-20 22:48 | 显示全部楼层
做个信号拟合吧。
hudi008 发表于 2018-5-20 22:48 | 显示全部楼层
是内阻的问题吗
lzmm 发表于 2018-5-20 22:48 | 显示全部楼层
电压衰减有问题吧
minzisc 发表于 2018-5-20 22:49 | 显示全部楼层
这个误差可以接受吧。
selongli 发表于 2018-5-20 22:49 | 显示全部楼层
使用线性拟合做个信号处理。
fentianyou 发表于 2018-5-20 22:50 | 显示全部楼层
分压的电阻的问题。
xiaoyaodz 发表于 2018-5-20 22:51 | 显示全部楼层
输入内阻的问题
febgxu 发表于 2018-5-20 22:51 | 显示全部楼层
10k电阻上电压也不一定准确的。
sdlls 发表于 2018-5-20 22:52 | 显示全部楼层
这个信号可以接受
pixhw 发表于 2018-5-20 22:52 | 显示全部楼层
前段信号的输入之后有内阻。
lzmm 发表于 2018-5-20 22:52 | 显示全部楼层
如果电压不衰减,看看准不准呢?
kkzz 发表于 2018-5-20 22:52 | 显示全部楼层
不成线性就是线性拟合。
hudi008 发表于 2018-5-20 22:52 | 显示全部楼层
就是内部信号的干扰吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

122

主题

904

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部

122

主题

904

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部