打印

ADC模块的困惑

[复制链接]
2672|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bei_jxing|  楼主 | 2008-12-20 10:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
 最近在做一个恒流驱动的项目,分别尝试了ADCINC12与ADCINC模块,发现应用ADCINC时无法恒流,不知道ADCINC与ADCINC12的差别在哪里?ADCINC应用的是12BIT,无符号输出码的形式。
沙发
ni_labview| | 2008-12-21 23:37 | 只看该作者

我用后的理解

两者都称为增量型
区别:
ADCINC12用两个数字模块,单端输入
ADCINC可选用一个数字模块模块,差分输入

两者在实验时性能水平相当,如果ADCINC工作不正常注意以下两点:
1.注意时钟问题
2.ADCINC两个输入端看看接法正确与否,这个关键

使用特权

评论回复
板凳
bei_jxing|  楼主 | 2008-12-22 09:25 | 只看该作者

ADC和数码管显示正常

ADCINC之前在3209的板子上做过试验,用数码管显示ADC转换的结果,显示数据正常,就是在用在恒流控制上有问题。配置都是相同的,不知道为什么了?

使用特权

评论回复
地板
ni_labview| | 2008-12-23 22:24 | 只看该作者

可否把基本的工程发上来,大家一起帮忙看是何问题

使用特权

评论回复
5
bei_jxing|  楼主 | 2008-12-24 16:02 | 只看该作者

工程的ADC部分

下面是ADC部分的程序,整个的工程的文件不方便上传,另外ADCINC的配置如下:
Dateformat:unsigned 
Resolution:10bit
Data Clock:VC1 (Vc1=SysClk/8)
Posinput:ACB01
Neginput:ACB00
Neginput Gain:Disconnected
Clock phase:Normal
PulseWidth:1
PwmOut:none

WORD Adc_Reslut(BYTE Channel)
{
    BYTE AdcCount;
    WORD Adc_Value; 
    WORD Average=0;
    AMUX8_1_InputSelect(Channel); 
    Delay(200); 
    for(AdcCount=0;AdcCount<5;AdcCount++)
    { 
         while(ADCINC_1_fIsDataAvailable()!=0)       
         {
             //ADCINC12_1_ClearFlag();                   // clear adc flag      
              Adc_Value=ADCINC_1_wClearFlagGetData();
         }  
         Average=Average+Adc_Value;     
    }
    Average=Average/5; 
    return  Average;
}
恒流的原理就是根据ADC的采样值去调整PWM的脉宽。

使用特权

评论回复
6
矿泉水| | 2009-1-6 15:31 | 只看该作者

两者好像没什么差别,时钟别太快了

使用特权

评论回复
7
bei_jxing|  楼主 | 2009-1-7 09:35 | 只看该作者

正在寻找原因

最近事情比较多,把这个问题搁置了,过一阵子,再仔细研究,问题解决了,一定告诉大家!

使用特权

评论回复
8
bei_jxing|  楼主 | 2009-4-23 10:19 | 只看该作者

原因找到了!

问题解决了是AnalogColumn_clock_1和ADCINC的DATE CLOCK不一致。现在用ADCINC做12位AD转化,配合PWN8做恒流,效果不错。

使用特权

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

本版积分规则

56

主题

251

帖子

0

粉丝