关于单片机AD采集到的电压跟实际测试到的电压相差较大的问题分析

当遇到MCU采集到的AD值相差特别大的时候,应该怎么分析。
1.首先再次确认采样点的实际电压。
2.确认采样的参考电压是否正确,是内部参电压VCC、1.2V或者是外部的Vref.
3.以上两步都确认没有问题后,核查代码的初始化有无问题。
4.以上都确认无误的话,观察AD的IO口的对外电阻值,是否在芯片推荐使用的对外电阻值得范围之内。如果超出芯片推荐的范围值得话就要小心了,有可能是因为外部阻抗过大所导致的AD采样不准。
如果是这种情况的话,可以先将AD的采样保持时间设置的尽量长,将AD的的分频调至最大,以保证采样时间的充足。如果依旧无法解决的话,建议将对外阻抗调整到芯片推荐范围之内。

案例:
我遇到过的一个现象就是如此:
AD采样的电压跟实际值相差太大,软件和采样时间都检查过了没有问题,最后去看AD口的阻抗,我们使用220M :22M的分压比来采样的(因为产品的低功耗需求,必须在每一个节点来把控功耗的限制,因为AD采样其实是蛮增加功耗的,所以就尽量放大阻抗限流,以此来控制功耗。)。查看芯片数据手册,推荐使用的是1M以内的推荐对外阻抗,所以将阻抗调整到推荐范围就顺利解决了该问题。

说到这里不得不提及一个问题,为什么外部阻抗过大会导致AD采样失准呢?
因为芯片内部的AD采样的原理是靠一个RC电路来实现的,采样保持时间其实就是等C充电完成来测量C的电压就是实际测得的电压值,由于外部阻抗过大的时候,限流严重导致AD口灌入的电流减小很多,导致RC即使在最大的采样保持时间也没法将C充电至外部实际电压值,所以导致AD采样失准,这是阻抗过大之后AD采样失准的核心原因。

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值