打印

请教大家pic16f887 AD采集问题???

[复制链接]
4425|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kfawj|  楼主 | 2009-3-10 09:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AD设置如下:
DC5V供电
ADCON1=0x80;
ANSEL=0x01;
不知道什么原因,AD 总是有一个门槛电压20mV?
要输入电压大于这个值时才有AD采集值,而且线性关系比较好。
但如果采集的电压小于这个值则采集不到数据。
很是郁闷,请大家帮忙!!!谢谢啦。

输入地与单片机地线最大压差0.7mV
这是我目前量到的地线最大压差
电源正压与电源输入正压没有量到有压差。
沙发
kfawj|  楼主 | 2009-3-11 09:48 | 只看该作者

别沉底

自己顶


哪位可以帮帮忙呀?

使用特权

评论回复
板凳
xieyuanbin| | 2009-3-12 14:07 | 只看该作者

为什么有压差?你追究过吗?

AD以单片机地为0基准,以你选择的参考电压为+基准。

使用特权

评论回复
地板
kfawj|  楼主 | 2009-3-13 14:53 | 只看该作者

地线有线阻呀

铜箔线不同的程序都会都压差,只不过是线的长短,及布线的是否更加合理?
如果没有压差铜箔可能就是超导了?
不知道这样说是不是正确?

使用特权

评论回复
5
jetson001| | 2009-3-13 16:13 | 只看该作者

...

地阻?
那也不用20mV!
绝对是0
你检查你的测量工具吧

使用特权

评论回复
6
kfawj|  楼主 | 2009-3-16 11:27 | 只看该作者

还没有?

因为我的表就是普通的万用表量得。最多算个参考值吧?
您说呢?
但如果说是干扰,我用普通的三节1.5V电池供电,仍然会有这个20mV
的东东。
AD只有一路。

就为这事俺已郁闷n天。


我非感谢各位的帮助,同时希望更多的热心人指点迷津。

谢谢啦!!

使用特权

评论回复
7
yewuyi| | 2009-3-16 17:03 | 只看该作者

很多问题。。。

分辨率:5V/1024=5MV
量化误差:正负1/2LSB
一般绝对精度按照2LSB推算的话,就有10MV了,你再有一个地线压差,再加上Vref也可能不准,再加上你程序也可能设置不对等等,所以。。。

使用特权

评论回复
8
兰天白云| | 2009-3-17 08:32 | 只看该作者

也许采样时间也不够,小电压没感觉了

使用特权

评论回复
9
kfawj|  楼主 | 2009-3-17 14:09 | 只看该作者

to:yewuyi

设置不对,很有可能。
请您帮助分析一下是哪里设置不对呢?
具体设置部分在楼顶已经有了。
而且电源输入部分也接了独石电容(104,101)
如果电源有问题是不是换电池就不应该再有类似的问题了呢?
我用3节普通电池试了一下,结果是一样了。只不过是电源的纹波不见了!
至于Vref您再看一下我的设置吧。

谢谢您!如果您有什么怀疑的地方,我也可以把局部电路原理给你发过去好吗?

至于程序,我随时可以贴上来,只要大家不烦!!!!!!!

使用特权

评论回复
10
kfawj|  楼主 | 2009-3-17 14:25 | 只看该作者

to:兰天白云

我也怀疑过这个问题。
我用的是内部晶振,还有,我用了12个NOP做为采样时间。
但是我记得算过,
我加过这样一条语句
byte i;
for(i=0;i<50;i++);
代替NOP,但也不管用。
这就让我更加郁闷了。

我试图采集1023,采集成功。真是急死人啦。

恳求各位也帮助想想这个问题吧。
辛苦各位,谢谢!!

使用特权

评论回复
11
ijk| | 2009-3-18 13:52 | 只看该作者

芯片问题?

  或许是那片芯片的问题?芯片ADC本身会有offset error.

使用特权

评论回复
12
yewuyi| | 2009-3-18 14:48 | 只看该作者

呵呵,还从来没用过什么NOP做采集时间的法子。。。

使用特权

评论回复
13
kfawj|  楼主 | 2009-3-25 11:45 | 只看该作者

to:yewuyi

用什么方法做采集时间呢?
可以介绍一下吗?

使用特权

评论回复
14
yewuyi| | 2009-3-25 21:34 | 只看该作者

~~

在典型的前后台系统中,可以这样做:后台执行信号采集程序时,启动AD转换完毕后立即切换过去,然后去执行其它任务,到下一个系统时钟到达时重复以上过程,如果你的系统时钟是1MS,那么就可以做到1KHZ左右的采集速度,呵呵,对于绝大多数系统来说,这个速度足够了。



特殊情况例外,可再开帖。

使用特权

评论回复
15
kfawj|  楼主 | 2009-3-26 12:00 | 只看该作者

主意不错

有点操作系统的意思
时间片轮吗?(好玩儿,还没有试过)
这个20mV采集数据为零,真是教人郁闷。
虽然我也怀疑过电路,但如果是改电路可能就有点麻烦了!
因为我只负责程序,电路是另外一个(当然包括布板啦)。

哪位老师还有不同的想法,还望讲出来!!!
我先谢谢啦。
说不定有什么办法就可以解决这个问题呢?!!!

使用特权

评论回复
16
xieyuanbin| | 2009-3-26 13:58 | 只看该作者

怀疑你的硬件系统干扰过大

你用1.5平方以上的电线将你的单片机地和电源地,单片机电源和电源正连起来,然后将你的信号地和电源地也连起来试试,如果电源线(包括地线)走得很细的话,很可能产生压差从而造成AD有误差.
另外AD对模拟信号的输入阻抗也比较敏感,输入阻抗过大会造成AD结果偏小,所以AD采样时间要符合输入阻抗的要求.

使用特权

评论回复
17
kfawj|  楼主 | 2009-3-30 13:53 | 只看该作者

to:xieyuanbin

同意你的说法。
完全有这个可能。
我先试一下加一个电压跟随,是不是可以解决这个问题?
谢谢啦!!!!!!!!!!!!!

使用特权

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

本版积分规则

44

主题

293

帖子

2

粉丝