打印
[PIC®/AVR®/dsPIC®产品]

AD采集误差问题

[复制链接]
2752|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
reverse_L0111|  楼主 | 2016-6-27 08:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 reverse_L0111 于 2016-6-27 12:09 编辑

我这里电压采集的误差很大,大概有0.4V,各位大神这种情况回事什么原因呢,谢谢!
所用芯片PIC18F46K80
沙发
JY-DX-JY| | 2016-6-27 09:22 | 只看该作者
软件问题?电压基准多少

使用特权

评论回复
板凳
mcumail| | 2016-6-27 11:58 | 只看该作者
说的太笼统了

使用特权

评论回复
地板
reverse_L0111|  楼主 | 2016-6-27 12:10 | 只看该作者
JY-DX-JY 发表于 2016-6-27 09:22
软件问题?电压基准多少

上面 写错了,误差大概有0.4V,参考电压用的是5V。

使用特权

评论回复
5
reverse_L0111|  楼主 | 2016-6-27 12:13 | 只看该作者

按芯片手册配置寄存器,读取电压,电压值误差大概有0.4V

使用特权

评论回复
6
reverse_L0111|  楼主 | 2016-6-27 12:16 | 只看该作者
JY-DX-JY 发表于 2016-6-27 09:22
软件问题?电压基准多少

采集电压都是同一个通道采集的,只是通过一个多路复用器来进行切换,一般误差大的话都是什么原因引起的呢

使用特权

评论回复
7
JY-DX-JY| | 2016-6-27 14:00 | 只看该作者
reverse_L0111 发表于 2016-6-27 12:16
采集电压都是同一个通道采集的,只是通过一个多路复用器来进行切换,一般误差大的话都是什么原因引起的呢 ...

硬件电路,程序

使用特权

评论回复
8
mcumail| | 2016-6-28 08:48 | 只看该作者
reverse_L0111 发表于 2016-6-27 12:13
按芯片手册配置寄存器,读取电压,电压值误差大概有0.4V

多取几次求个平均试试

使用特权

评论回复
9
reverse_L0111|  楼主 | 2016-6-30 08:10 | 只看该作者
mcumail 发表于 2016-6-28 08:48
多取几次求个平均试试

就是读了十次,去掉最大两个最小两个后求的平均值

使用特权

评论回复
10
ZG11211| | 2016-7-5 21:45 | 只看该作者
采集时间是多少?是否在规定的范围内?

使用特权

评论回复
11
e_hailang| | 2016-7-6 17:06 | 只看该作者
要注意采集时间太短了。

使用特权

评论回复
12
peakerhear| | 2016-7-11 01:32 | 只看该作者
MCU电源稳定么,给个稳定的电源试试~
通道的测试信号稳定么,给个稳定的测试直流信号试试~

硬件容易犯这两类问题,剩下就是软件问题了,软件配置,软件延时,初始化。。。

使用特权

评论回复
13
lx20150828| | 2017-4-18 09:57 | 只看该作者
亲,我也碰到这样的问题了。我用的PIC18F45K50,误差也是0.4V,请问你的解决了吗?怎么解决的?

使用特权

评论回复
14
shenzhenherry| | 2017-5-24 14:44 | 只看该作者
关于AD转换,我是这样解决转换精度的问题:
1、参考点的电压,不用说,通过寄存器选择MCU内部的基准,避免
不必要的麻烦

2、启动AD转换后,
用while语句检测中断的标志位,若标志位没有出现,继续就地循环检测,直到检测到标志位才退出,而不是简单的用延时函数,因为很难知道到底要延时多久才合适。

延时时间取长了,mcu响应缓慢,似乎死机一般;
延时时间取短了,带来转换误差。

3、至少抓取3个数据放在数组里面,然后去掉最先的2个,剩下的数据取平均值。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

76

帖子

0

粉丝