搜索
bottom↓
回复: 17

mega8的ADC问题, 跟万用表测得数据总是有20-40mv的误差

[复制链接]

出0入0汤圆

发表于 2006-2-5 12:36:18 | 显示全部楼层 |阅读模式
我做了个数据采集板,也就是将mega8采集的电压传到串口上。最近发现一个adc的问题,我采用的是将avcc和aref连接起来,并且接一100欧电阻和电容,程序主要代码如下:



// ADC initialization

// ADC Clock frequency: 125.000 kHz

// ADC Voltage Reference: AVCC pin

ADMUX=0x40;

ADCSRA=0xCE;



但最后采集的数据怎么跟万用表测得数据总是有20-40mv的误差,不知道问题出在哪里?那位碰到类是的问题?帮我考虑一下是什么问题?

例如: 电阻分压测其电压,理论值0.073V 万用表测得0.074V ,但用mega8测得的只有0.059V

谢谢!

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

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

出0入0汤圆

发表于 2006-2-5 15:59:34 | 显示全部楼层
我也遇到类似的问题,不知道出现在那里,我一直都没有把这个问题解决?

出0入0汤圆

发表于 2006-2-5 16:01:41 | 显示全部楼层
Vref稳定且准确?  ADC的数值跟Vref有直接关系。

出0入0汤圆

发表于 2006-2-5 16:29:38 | 显示全部楼层
降速和2次采样相对准确些...

出0入0汤圆

 楼主| 发表于 2006-2-5 20:00:28 | 显示全部楼层
没用的,速度降下来也一样的。他一直就比较低,而不是上下波动。

有谁有什么好的解决办法?双龙的 sl-mega8实验板也有这样问题

谢谢!!

出0入0汤圆

发表于 2006-2-5 20:16:04 | 显示全部楼层
既然是恒定的小一定的数值

那就加上他好了~~

最好在测试一下与电压的绝对值有无比例关系

出0入0汤圆

发表于 2006-2-5 20:22:02 | 显示全部楼层
加个104电容试试...2次采样是必须的.

出0入0汤圆

 楼主| 发表于 2006-2-5 20:29:51 | 显示全部楼层
to hotpower 菜农

   104加了,在portc.0前加的,否则测出来的数据跳动比较大。

to violit

   测出来的电压比万用表测出来的电压不是小于一个恒定值,而是变化的。

我再想想其它办法!

出0入0汤圆

发表于 2006-2-5 20:44:52 | 显示全部楼层
跳动是正常的,但变化应该在允许的误差范围内...我用过M64以下很多的AVR.

基本都在误差范围内.



而且程序很关键...

出0入0汤圆

发表于 2006-2-5 21:08:24 | 显示全部楼层
变化的

如果是与绝对电压成线性变化到简单,那估计是由于芯片内部的线路带来的分压

再一个转换也不能太慢,不然采样电容会泄露,使很多片M8都这样么?

出0入0汤圆

发表于 2006-2-5 21:18:01 | 显示全部楼层
采样确实不能太慢...我在LPC2132上实验过...

出0入0汤圆

 楼主| 发表于 2006-2-5 21:27:04 | 显示全部楼层
明天我把单片机程序和上位机程序贴出来在看看!!

痛苦!!!

谢谢楼上的兄弟们。有空到武汉来,我请大家到汤狲湖吃鱼丸子!!

哈哈哈!!!

出0入0汤圆

发表于 2006-2-5 21:42:07 | 显示全部楼层
用外部的基準源比較穩的!!

出0入0汤圆

发表于 2006-2-6 04:17:44 | 显示全部楼层
把供电源换成电池试一下,或许你会发现电源是很重要的。似乎是AVR的AD对电源比较苛刻。

出0入0汤圆

发表于 2006-2-6 08:46:33 | 显示全部楼层
AVR的ADC不可能有那么大的误差,问题应该在你的身上。



1 Vref稳定且准确?

  ADC=VIN*1024/VREF

  [采用的是将avcc和aref连接起来,并且接一100欧电阻和电容]??

2 如果有ADC 端口被用作数字输出,那么必须保证在转换进行过程中它们不会有电平的切换

出0入296汤圆

发表于 2006-2-6 09:10:11 | 显示全部楼层
建议用长度为8的数组做一个缓冲,并求平均值,要稳定地多

出0入0汤圆

 楼主| 发表于 2006-2-6 21:37:05 | 显示全部楼层
谢谢楼上的各位兄弟,问题得到解决1!

如HJJourAVR所言,我实际测量了一下,从7805出来的电压是5.08,然后将

ADC=VIN*(VREF/1023)得到的值跟万用表的值就基本相同了。哈哈!

但就是有点不清楚,怎么7805出来的电压是5.08V而不是所说的5.00V呢?

再次感谢楼上的各位兄弟!!
-----此内容被li0713于2006-02-06,21:41:02编辑过

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-7-23 20:22

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

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