新闻  |   论坛  |   博客  |   在线研讨会
AD7705在电子秤中的应用
yanqin | 2009-04-17 19:34:01    阅读:1287   发布文章


   1引言

   国家三级秤标准要求:称重数据与重物的绝对精度小于1/1000-1/5000,因此,经AD转换后输出数据的有效位应在13位以上。AD公司推出的由缓冲器和增益可编程放大器(PGA)、Σ-Δ调节器、可编程数字滤波器等组成的16位AD7705/06能直接将传感器检测到的微小信号进行A/D转换,其具有高分辨率、宽动态范围、自校准、优良的抗噪声性能以及低电压低功耗等特点,适合于称重系统中下微机信号处理的需要。设计中,我们确定AD7705的相应参数取:

   输出数据更新速率:50Hz; 系统增益:64; 有效分辨率:15位。

   2硬件设计

   
要满足前面确定的AD7705参数,设计中AD7705的主时钟取:fCLK=2.4576MHz。
AD7705的串行数据接口包括5个:片选输入口,串行施密特逻辑输入时钟SCLK,数据输入口DIN,转换数据输出口DOUT,指示数据准备就绪的状态信号输出口。其中当为低电平时,转换数据可读取;否则不可读取。

   设计中可由AT89C51选中实现,也可接地;本设计中将接地。

   SCLK有两种基本的接线方式:①SCLK接AT89C51的P2口中未用的管脚(比如接P2.2),数据输入、输出端DIN、DOUT一同接P2口中未用的另一管脚(比如:P2.3)。在该种连接方式下,只能用手工编程模拟AD7705的通信时序以实现对AD7705的操作。②SCLK接AT89C51的同步脉冲输出端TXD,AD7705的数据输入、输出端DIN、DOUT一同接AT89C51的串行数据输入、输出端RXD。在该种连接方式下,对AD7705的数据的读取可按51系列单片机串行口的工作方式0完成,也可按①中的读写方式完成。本设计中按②中介绍的方式接线。可接普通P1、P2口中未用的管脚,通过程序查询该管脚是否为低电平,从而实现对AD7705中寄存器数据的读取。也可接AT89C51的外部中断1或中断0管脚,通过中断方式或中断查询方式实现对AD7705中寄存器数据的读取。本设计中接外部中断1管脚。


                                                           图1称重传感器信号处理电路图

    AD7705在称重系统中的连接方式

   见图1。当在此传感器上施加满标度重量5吨重物时,传感器在5V工作电压下取得30mV的满标度输出电压。5V工作电压经分压后为AD7705提供基准电压,因此工作电压的变化不会产生系统误差。分压电阻为24kΩ和15kΩ,产生的基准电压为1.92V。当器件的可编程增益为64时,对应的满标度输入电压即为30mV。

   3软件设计

   软件设计需主要考虑以下四个方面:

   ①AT89C51的初始化:硬件设计中如果用到中断,则需对单片机的中断系统进行初始化;软件设计中如果用到串口,则需对单片机的串口进行初始化。
   ②AD7705与51系列单片机的数据交换顺序:在读写操作模式下,51系列单片机的数据要求LSB在前,而AD7705希望MSB在前,所以对AD7705寄存器进行配置之前必须将命令字重新排列方可写入,同样要将从AD7705数据寄存器中读取到缓冲器后的数据进行重新排列方可使用。
   ③对AD7705寄存器进行操作的时序:AD7705通讯必须严格按图2、图3时序操作。对AD7705进行通信的子程序流程见图4、图5。当然,还可以考虑用串行口通信方式0的工作方式来实现。
   ④AD7705的初始化和配置:AD7705的配置与设计的硬件紧密相关,只有在正确配置的情况下硬件才能正常工作。同时,对AD7705内每一个寄存器的配置都必须从写通信寄存器开始,通过写通信寄存器完成通道的选择和设置下一次操作的寄存器的选择。
   图6所示为此称重传感器数据采集主流程图。其程序清单见附录。


图2读周期时序图


                                                                  图3写周期时序图

   4结束语

   AD7705以其本身的低价格、高精度、可编程增益、自校准、小信号的转换不需附加另外的器件而使得其在数据检测领域具有很大的应用前景。其在电子秤中的应用也是显而易见的。我们应用AD7705设计的电子信号处理线路,其性能指标达到预期的效果。

   参考文献

   1.AnalogDevices.Preliminarytechnical
   Information,AD7705/06
   2.胡志高,AD7705/06及其应用,电子产品世界,2000.10

   附录:程序清单
   ORG0000H
   AJMPMAIN
   ORG0013H
   AJMPADINT
   ORG0030H
   MAIN: 
   ;对AT89C51初始化
   MOVIP,#04H;定义INT1为优先级
   MOVTCON,#00H;INT1采用低电平


                                                                图4写周期时序流程图


                                                             图5读周期时序流程图

   ;触发
   MOVIE,#84H;允许外部中断1
   ;对AD7705进行初始化
   MOVSCON,#00000000B;禁用SCON
   MOVA,#20H
   ACALLWRITE
   MOVSCON,#00000000B
   MOVA,#05H
   ACALLWRITE
   MOVSCON,#00000000B
   MOVA,#010H
   ACALLWRITE
   MOVSCON,#00000000B
   MOVA,#70H
   ACALLWRITE 
   MOVSCON,#00000000B
   A2:JNB00H,A2;等待INT1中断
   MOVA,#38H
   ACALLWRITE
   RDATA
   DPROCESS
   AJMPA2


                                                                图6主程序流程图
   WRITE:
   NOP
   MOVR0,#08H
   ACALLNU1
   RET
   NU1:RLCA
   JNCNU2
   CLR0B1H
   SETB0B0H
   SETB0B1H
   SJMPNU3
   NU2:CLR0B1H
   CLR0B0H
   SETB0B1H
   NU3:DECR0
   DJNZR0,NU1
   RET
   RDATA:
   MOVR2,#02H
   MOVR3,#08H
   MOVR4,#20H
   CLRC
   MOVA,#00H
   RD1:CLR0B1H
   MOVC,0B0H
   SETB0B1H
   RLCA
   DJNZR3,RD1
   MOVR4,A
   INCR4
   DJNZR2,RD1
   RET
   DPROCESS:
   ……
   RET
   ADINT:
   SETB00H
   RETI
   END

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客