搜索
bottom↓
回复: 20

用AD7705做4位半电压表要注意

[复制链接]

出0入0汤圆

发表于 2009-8-13 13:02:27 | 显示全部楼层 |阅读模式
AD7705好慢,指的有效16位,只有50Hz。
DRDY是周期性的20ms里有0.2ms不能采,一不小心采到误码,原来当时DRDY在读数过程中变高了。

用AD7705做电压表需要有校验机制,否则可能读出离谱的0xFFFF或0x0000,还有可能是其他什么挺大的数,无论当前输入电压多少。
离谱的误码差不多都是固定值,但是多少就因机而异了。

另一个是外部触发,很多应用里的高级功能,自动化系统同步用的。外部输入触发信号的下降沿处采数,大概误差正负20ms最大。

AD7705性能一般,还算便宜,千万注意别采到误码,我用50ms一次的速率去问AD7705,20几秒就连续出现几次误码,不是所有误码都离谱,不过几次或十几次里就有一次离谱,多数是0xFFFF或0x0000。

误码对显示还无所谓,骗骗眼睛还行,一旦用接口往外读,或者外部触发的时候,骗不了计算机,自动化测量的曲线会忽而大幅度摆一次,用户问的时候,只好说是串口误码,可骗不了自己呀。

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

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

出0入0汤圆

发表于 2009-8-13 13:38:46 | 显示全部楼层
真的是这样吗?

出0入0汤圆

发表于 2009-8-13 14:13:19 | 显示全部楼层
积分型的吧。。。精度越高越慢,TI有些24BIT的居然一秒只有8次。。。干

出0入0汤圆

发表于 2009-8-13 15:23:15 | 显示全部楼层
用了这么久还没遇到这种情况,LZ的电路或程序有问题

出0入0汤圆

 楼主| 发表于 2009-8-13 20:00:25 | 显示全部楼层
小声问3楼:

什么频率问AD7705一次?周期一定吗?
程序或电路里怎么做才能避免呢?

我的电压表需要用触发功能,不能等到DRDY出现下降沿以后再采,那样就得等上最长20ms(AD7705采样率50)。
即使周期性的采,我的CPU STC89C58RD+,内频22M,最长合适的Timer周期25ms,2周期得一采,每次时间不能超过25ms,之后还有读数要处理,怎么才能不采到误码呢?

出0入0汤圆

发表于 2009-8-13 22:31:54 | 显示全部楼层
AD7705一般用于连续采集,需要触发采集的话,可以加采样保持电路,或换其它带触发的AD

出0入0汤圆

发表于 2009-8-15 11:14:12 | 显示全部楼层
用AD7705好几年了,还没有发现楼主所说的"误码"现象.

出0入0汤圆

 楼主| 发表于 2009-8-16 10:24:06 | 显示全部楼层
每采一个数就记录一次最大值,显示出来,几十秒就能看见误码了。
当然不能每次都检测到DRDY下降沿再读,时间忍受不了。

在读AD的函数里每收一位就检测一次DRDY,出现高了就让蜂鸣器响一声,会发现误码是经常的。

原因在于AD的采样频率和实际读数频率有差异,很容易读数时落在DRDY=1的0.2ms内。就是频率一样,也不可能完全同步,估计几分钟也会出一次。

解决方法:读数时监测DRDY,任意时刻出现DRDY=1,均认为读数为误码,重读即可,最大用时0.2ms多一点。

出0入0汤圆

发表于 2009-8-17 11:11:47 | 显示全部楼层
标准做法是将DRDY连接到单片机的中断引脚,当下降沿到来时AVR进入中断然后读取数据,这样主程序只管将数据显示或换算或发送出去

出0入0汤圆

 楼主| 发表于 2009-8-20 20:08:07 | 显示全部楼层
问题解决了

连续读取:每50ms读一次,不会次次都误码,不对的丢掉
触发:轮询DRDY,误差<20ms

新的问题
AD7705极为脆弱,很容易受干扰接口失控。
找到一个好干扰源,SANYO 220V风扇,与7705电源使用同一插座,一开一关两三下,接口失控。

解决:
连续读取:如果5次50ms都读到误码,复位7705
触发:读到正确为止,轮询DRDY=1超过100ms,复位7705

我的软件要干的事太多,连续读取时不能轮询DRDY,否则要最长20ms才能得到一个AD数据,占CPU时间过长,造成UART通讯丢数据

出0入0汤圆

 楼主| 发表于 2009-8-27 18:21:04 | 显示全部楼层
这个办法还没出问题。

只是7705太慢了,波特率9600以上就又开始失码。

出0入0汤圆

发表于 2009-9-2 14:26:23 | 显示全部楼层
mark。这人问题必须深究。
我用CD4051+AD7705做的24路电压采集,用查询DRDY方式,数据稳的很。4051浮空脚数据大部分为0,偶尔有个1、2啥的。
后来把DRDY接到int0,结果跳的很。而且4051浮空脚数据都很乱。由于还要用串口上传数据,两个中断分开搞都不行。
现在头都大了。

出0入0汤圆

发表于 2010-11-17 16:18:01 | 显示全部楼层
用过ad7705,程序调好了没有楼主说的情况。

出0入0汤圆

发表于 2011-4-3 00:17:55 | 显示全部楼层
AD7705一个通道很好用,2个通道都用,速度非常慢.
不知道有没有人用过2通道.

出0入0汤圆

发表于 2011-4-4 08:05:07 | 显示全部楼层
AD7705是Σ-Δ类型的片子,时钟速率可以设置,通道数也可以设置。

效率或者等待的问题,可以考虑并行处理。

出0入0汤圆

发表于 2012-8-21 16:56:52 | 显示全部楼层
端口迷失主要是电源和布线的问题。我用100K的波特率都从来没有出过问题。精度同样是电源和布线的问题,还有模拟前端的阻容匹配,AD7705本身就是16位的,如果开启片内增益,还可以把分辨率提高。本人在基准2.5V的情况下,精度做到19位,一个字都不会动。所以,不要轻易说这个片子不行,那个片子也不行。先看自己的水平行不行。

出0入0汤圆

发表于 2012-8-28 23:57:16 | 显示全部楼层

出0入0汤圆

发表于 2012-9-18 15:54:33 | 显示全部楼层
zheng7910 发表于 2009-8-15 11:14
用AD7705好几年了,还没有发现楼主所说的"误码"现象.

能否把你的AD7705的代码给我参考一下呢? 我的这个不知道怎么回事老是死机无解.......

出0入0汤圆

发表于 2014-10-21 10:29:22 | 显示全部楼层
good

出0入0汤圆

发表于 2014-10-25 11:39:13 | 显示全部楼层
代码参考一下!

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-7-23 16:12

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

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