极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 40142|回复: 10

提升 内置10bit ADC采样准确率的技术探讨

[复制链接]
发表于 2016-9-26 15:58:42 | 显示全部楼层 |阅读模式
本帖最后由 netbee 于 2016-9-26 16:56 编辑

最近在做一个13串锂电池电压表的项目。用的是mega2560的板子,用串联分压,电压差计算单组电池的方法。
界面是这样的

实际使用中发现,电压精度远远没有达到5/1024 大概5mv的技术标准,误差高达0.1v。
研究了一下发现几个问题:
一、参考电压
这就是基准的问题,如果基准都不准确,那么测量误差肯定偏大。
于是用3位半的万用表实际测量3.3v口电压实际为3.281v,5v输出口电压实际为4.722v。
所以需要把代码调整成 (analogRead(A1)+1)/1024 * 4.722,这里有个小细节,为什么加1呢,因为实际采样包含0,所以总数是1024个。
如果本来就是0呢,那好我们加个判断语句就可以了。

二、纹波干扰

纹波是由于直流稳定电源的电压波动而造成的一种现象,把示波器准备好,首先我们来看看usb供电5v口的情况

参考资料,板子是10kHz,ADC采集一个数据需要100ms,采用逐次逼近算法获得数值。所以在100ms由于受纹波干扰,采样数值会有一定的摇摆。
这种情况怎么办呢?
1、换更好的电源
我们来看看用9v电池供电的情况,是不是好多了。

2、不能总用电池吧,那就需要滤波算法了
最出名的就是十大滤波算法大家可以参考
但我并没有发现适合自己的。
于是总结几个滤波算法的特点,自己写了个加权平均限幅滤波。
首先采样N次,筛选重复的数值并统计个数,选个数最多的几个值进行平均。
算法已经写好了,看的人多就放出来。谢谢

找节电池试试,先采样200次,获得样本数6个
0----171----2
1----172----3
2----173----31
3----174----159
4----175----4
5----176----1
统计得到174出现的次数最多,那么它就是我们最想要的值。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2016-9-26 16:15:54 | 显示全部楼层
本帖最后由 mmfinger 于 2016-9-26 16:20 编辑

用内部电压基准。不能满足要求再用选用高精度的外部基准如AD780,LTC6655,LM399,再不行只能上LTZ1000了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-26 16:29:29 | 显示全部楼层
本帖最后由 netbee 于 2016-9-26 16:38 编辑
mmfinger 发表于 2016-9-26 16:15
用内部电压基准。不能满足要求再用选用高精度的外部基准如AD780,LTC6655,LM399,再不行只能上LTZ1000了。


对基准很重要。 采用内部基准1.1v 测量范围又太小了,48v的 分压要1:50了,分压电阻误差又增大了。
回复 支持 反对

使用道具 举报

发表于 2016-9-26 16:30:28 | 显示全部楼层
内部电压基准不是1.1V吗?
回复 支持 反对

使用道具 举报

发表于 2016-9-26 16:41:10 | 显示全部楼层
用电阻串联分压,要精准的话,电阻的温飘也不能忽视。用MCU的ADC,线性也是一个问题。
回复 支持 反对

使用道具 举报

发表于 2016-9-26 22:04:21 | 显示全部楼层
我现在做的一格项目也是遇到这样的问题,使用十大算法,还是会出现点波动。还有就是不同的板子质量不一样,电压也有区别。不知道楼主能分享一下算法吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-27 18:49:18 | 显示全部楼层
anduony 发表于 2016-9-26 22:04
我现在做的一格项目也是遇到这样的问题,使用十大算法,还是会出现点波动。还有就是不同的板子质量不一样, ...

你做的哪方面项目啊?
回复 支持 反对

使用道具 举报

发表于 2016-9-28 12:14:57 | 显示全部楼层
netbee 发表于 2016-9-27 18:49
你做的哪方面项目啊?

简单就是采集电阻值的大小,分辨100欧姆  现在采集偶尔会出现一个刻度的误差
回复 支持 反对

使用道具 举报

发表于 2016-10-22 11:21:00 | 显示全部楼层
这是我采集了两百个数据点发现数据并没有出现最大值分布的情况,看来楼主的方法可能不是很准确

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-28 18:17:49 | 显示全部楼层
你这误差系数也太大了,看来只能加权平均了。
回复 支持 反对

使用道具 举报

发表于 2021-6-26 21:16:49 | 显示全部楼层
弱弱的问一句,为何不上专门的adc?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-20 20:36 , Processed in 0.039786 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表