搜索
bottom↓
回复: 16

avr ADC 多通道 转换 的疑问,急

[复制链接]

出0入0汤圆

发表于 2009-4-10 15:39:49 | 显示全部楼层 |阅读模式
我采用单片机ATTINY44(V)

    应用了3个ADC通道分别采集温度 电流 电压
    程序结构如下:
    int main()
    {
      if(sec)   //T01秒中断标记,系统时钟1MHZ,AD时钟32分频
     {
       getad1(ch1);
       delayms(50);
       getad2(ch2);
       delayms(50);
       getad3(ch3);
     }
    }
    问题是:当3个采样函数都调用时 3个返回值不正确,或者有时一个正确。但是,当只单独调用其中一个时 返回值正确。
   
    采样输入电路无大电容。另外,延时函数去掉也是 3个返回值不正确。还有就是,我每次进if(sec){}只调用一个转换,3个轮流调用也是同样现象。
    可能是什么原因?
   
    在线等,谢谢

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2009-5-1 17:54:18 | 显示全部楼层
通道切换代码怎么写的,并且第一次转换结果可能不准确,需要舍弃;转换结果建议做多次平均。

出0入0汤圆

发表于 2009-5-5 20:55:31 | 显示全部楼层
我也遇到同样的问题,atmega8切换adc通道时有误

出0入0汤圆

发表于 2009-5-6 10:00:39 | 显示全部楼层
多久取样,求平均值。第一次舍去。

出0入0汤圆

发表于 2009-5-6 10:11:44 | 显示全部楼层
LZ把你切换通道的程序帖上来,才能让大家帮你找原因

出50入0汤圆

发表于 2009-5-6 13:31:56 | 显示全部楼层
估计是通道切换引起的

出0入0汤圆

发表于 2009-5-6 14:43:30 | 显示全部楼层
通道切换后第一次转换完成需要25个ADC时钟周期,以后每13个时钟周期可以转换完毕。仅供参考

出0入10汤圆

发表于 2009-5-6 15:50:48 | 显示全部楼层
问题应该没在里,在你程序其他地方

出0入0汤圆

发表于 2009-5-6 16:07:02 | 显示全部楼层
【1楼】 yuanfang 说:
...并且第一次转换结果可能不准确,需要舍弃

【3楼】 qybb 说:
多久取样,求平均值。第一次舍去。

看来 持"要舍弃第一次" 观点的人真是不少

流毒很深啊!

建议持这种观点的人仔细阅读DATASHIT,不要迷信书上的说法

建议看一下帖子 "关于ADC的疑问" 中的讨论

出0入0汤圆

发表于 2009-5-6 16:27:47 | 显示全部楼层
读取AD的时候判断完成标志位,可能未完成转会就读了

出0入0汤圆

发表于 2009-5-15 16:44:57 | 显示全部楼层
8楼说的帖子以前看过了,讨论很深入,挺有收获!

一般切换的时候,分连续和单次两种情况,还可以分中断和查询两种模式,

比较复杂,具体情况要具体分析。

另:请教8楼一下,(http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=3344584&bbs_page_no=1&bbs_id=1000)连续转换下中断里面如何切换通道?谢谢

出0入0汤圆

发表于 2009-5-15 17:18:09 | 显示全部楼层
“当3个采样函数都调用时 3个返回值不正确,或者有时一个正确。但是,当只单独调用其中一个时 返回值正确。”
很明显是通道切换问题!因为调用一个时可以不需要通道切换。
通道切换要点:
1.单次转换,查询式:设置通道-》启动转换-》查询ADIF-》读结果-》ADIF写1清0-》设置下一通道-》启动转换
2.单次转换,中断式:设置通道-》启动转换-》等待中断-》读结果-》设置下一通道-》启动转换-》推出中断-》等待下次中断
3.连续转换:设置中断模式-》启动转换-》等待中断-》读上次结果(第一次放弃)-》设置第一通道-》等待下次中断

出0入0汤圆

发表于 2010-5-24 12:01:46 | 显示全部楼层
你通道是怎么对ADMUX怎么操作来切换通道的?

出0入0汤圆

发表于 2011-3-13 03:15:48 | 显示全部楼层
回复【8楼】hzn1948
【1楼】 yuanfang 说:
...并且第一次转换结果可能不准确,需要舍弃
【3楼】 qybb 说:
多久取样,求平均值。第一次舍去。
看来 持"要舍弃第一次" 观点的人真是不少
流毒很深啊!
建议持这种观点的人仔细阅读datashit,不要迷信书上的说法
建议看一下帖子 "关于adc的疑问" 中的讨论
-----------------------------------------------------------------------

恩,刚看了下,datasheet的原话是:参考源改变后的第一次ADC转换结果可能不准确,建议用户不要使用这一次的转换结果。

出0入0汤圆

发表于 2011-3-13 12:28:07 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-4 20:18:30 | 显示全部楼层
hao

出0入0汤圆

发表于 2015-8-7 18:45:10 | 显示全部楼层
mark ! 标记
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 10:38

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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