打印

采集了50次数据波动比较大

[复制链接]
1502|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yufe|  楼主 | 2013-10-14 11:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
adc的采集,程序代码如下图所示。采集了50次数据。但是发现波动比较大。
沙发
llia| | 2013-10-14 11:21 | 只看该作者
是不是本来这个芯片的精度就是这样

使用特权

评论回复
板凳
yufe|  楼主 | 2013-10-14 11:22 | 只看该作者
不是吧,是不是有的地方做的不合适,还有改进的地方?

使用特权

评论回复
地板
llia| | 2013-10-14 11:25 | 只看该作者
程序和数据看看

使用特权

评论回复
5
yufe|  楼主 | 2013-10-14 11:27 | 只看该作者

#include<SH79F083.h>
#define   uint  unsigned int
#define uchar unsigned char
uint adc[50];
void main()
{
         uint  i,adc_data;
   uchar abc;
     
  adc_data=0;
      abc=0;
         ADCON        =        0x80;      
         ADT          =        0xeF;        
           ADCH         =  0x01;               
      
        for(i=0;i<250;i++);
     while(1)
     {
   
           ADCON       |=  0x01;        
           while(ADCON&0x01);
     adc=(ADDH<<2)+ADDL;
           i++;
     if(i>50)i=0;

使用特权

评论回复
6
yufe|  楼主 | 2013-10-14 11:28 | 只看该作者

使用特权

评论回复
7
wangpe| | 2013-10-14 11:30 | 只看该作者
采集了50次数据。但是发现波动比较大。很有可能是信号里的噪声的问题.

使用特权

评论回复
8
langgq| | 2013-10-14 11:32 | 只看该作者
嗯,从楼主的数据中看, 也是局部的振铃信号

使用特权

评论回复
9
wangpe| | 2013-10-14 11:33 | 只看该作者
是的,非常可能是属于噪声的因素

使用特权

评论回复
10
yufe|  楼主 | 2013-10-14 11:34 | 只看该作者
谢谢大师指点,如果是噪声的因素,我又何处入手能进行改进呢???

使用特权

评论回复
11
wangzsa| | 2013-10-14 11:35 | 只看该作者
用去最大最小平均值滤波试一下

使用特权

评论回复
12
yufe|  楼主 | 2013-10-14 11:36 | 只看该作者
嗯,知道了,多谢

使用特权

评论回复
13
yufe|  楼主 | 2013-10-14 11:39 | 只看该作者
那就结贴啦

使用特权

评论回复
14
m564522634| | 2013-10-15 09:42 | 只看该作者
这个应该不是你的精度的问题了,可以减少采样时间,多次采集取平均值,找可能的干扰源了

使用特权

评论回复
15
m564522634| | 2013-10-15 09:42 | 只看该作者
是增大采样时间间隔

使用特权

评论回复
16
飘落枫叶| | 2015-7-7 18:53 | 只看该作者

1、用示波器测量下adc采集入口处的电压,看是否有噪音(纹波),注意耐心的一级一级跟踪寻找。
2、在看看有没有硬件滤波电路。
3、确认下使用的电阻,电容的精度。
4、在看看你选的参考电压,adc 配置是否正确。
5、有问题我们在讨论,daizhunsheng@163.com

使用特权

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

本版积分规则

983

主题

10170

帖子

1

粉丝