行业动态

当前位置:首页>>新闻中心>>行业动态 发布时间:2017-06-01 05:31:29

基于单片机和AD574的简易电子秤的设计

时间:2017-06-01 05:31:29 来源:本站 点击数:795

本文基于单片机和AD574设计了一款简易电子秤。电子秤是根据重力作用测量物体质量的装置,本文在分析测量原理的基础上,选择了比较简单的51系列单片机作为主控制系统,根据测量要求设计了传感器电路、AD转换电路、超量程报警电路、显示电路、按键电路等,根据硬件电路,完成了相应的软件设计。经过测试,该简易电子秤应用简单,方便快捷,具有良好的应用前景。

电子秤是一种根据重力作用测量物体质量的检测装置,随着电子技术的发展,在国民经济的各个领域,电子秤的应用越来越广泛,对电子秤的要求也越来越高,本文根据当前电子秤的应用情况,分析采用单片机和AD574设计一款简易电子秤装置,在分析测量原理的基础上,选择了比较简单的51系列单片机作为主控制系统,根据测量要求设计了传感器电路、AD转换电路、超量程报警电路、显示电路、按键电路等,根据硬件电路,完成了相应的软件设计。

1.测量原理

电子秤一般由三部分组成,称重传感器、承重系统、传力复位系统。在这个基础上,分成了其他的硬件电路子单元,如单片机最小系统电路、传感器电路、AD转换电路、超量程报警电路、显示电路、按键电路、存储电路等。其测量原理是:将物体放置在承重系统的秤台上时,其重量参数会通过传感器,产生压力-电效应,转换为与其重量相对应的电信号,然后通过放大电路将电信号放大并经过AD处理,最后将信号输入给单片机处理,经单片机处理后,将输入信息显示在LCD上。测量的精度一般由称重传感器决定。

2.硬件电路设计

2.1 总体设计框图

根据其测量原理,设计整体硬件框图如图1所示。主要包含压力传感器电路模块、放大电路模块、AD转换模块、LCD显示器模块、阈值报警模块、单片机控制系统模块。  

硬件1.jpg

2.2 传感器电路设计

设计采用SP20C-G501电阻应变式传感器,称重传感器由组合式S型梁结构及金属箔式应变计构成,具有过载保护装置。过程设计中采用惠斯登电桥进行电压采集转换,它能抑制温度变化的影响,抑制干扰能力强,补偿方便简单,因此选用的传感器精度高、零漂小、工作稳定等。传感器原理图如图2所示:

硬件2.jpg

其工作原理:用应变片测量时,将其粘贴在弹性体上。当弹性体受力变形时,应变片的敏感栅也随之变形,其阻值发生相应的变化,通过转换电路转换为电压或电流的变化。由于内部线路采用惠更斯电桥,当弹性体承受载荷产生变形时,输出信号电压可由下式(1)给出: [Eout=R2×R4R2+R4×△R1R1+△R2R2+△R3R3+△R4R4×Ein] 1

2.3 AD转换电路设计

AD574是美国Analog Device公司生产的12位单片A/D转换器。它采用逐次逼近型的A/D转换器,最大转换时间为25us,转换精度为0.05%,所以适合于高精度的快速转换采样系统。芯片内部包含微处理器借口逻辑(有三态输出缓冲器),故可直接与各种类型的8位或者16位的微处理器连接,而无需附加逻辑接口电路,切能与CMOSTTL电路兼容。AD574采用28脚双列直插标准封装。

硬件3.jpg

2.4 LCD显示电路设计

显示电路采用LCD显示。其驱动方式包括静态驱动、动态驱动。本设计采用动态驱动的方式,电路原理图如图4所示。

硬件4.jpg

2.5 报警电路设计

报警电路采用有源蜂鸣器设计,只要通电流即可发声进行报警,在其两端并联一个反向的二极管,防止误报警。

硬件5.jpg

3.程序设计

根据硬件原理分析和设计,软件同样分为几个部分:传感器信号采集部分、AD转换部分、显示部分和报警部分,其中数据处理部分最为重要,处理过程同样比较复杂。必须利用单片机的中断系统结构,如图6所示。 

硬件6.jpg

其主要部分程序代码如下:

#include  

sbit CSPIN = P2^7//93c46CS  sbit SCKPIN = P2^6//93c46CLK  sbit SDOPIN = P2^4//93c46DATA OUT  sbit SDIPIN = P2^5//93c46DATA IN void EEPROMByteWriteUINT8 addrUINT8 value); //写值为value到地址addr中  void WriteRomUINT8 addrUINT8 value); //写值为value到地址addr中,但不包括写允许和写禁止  UINT8 EEPROMByteReadUINT8 addr); //93C46中读出地址为addr的值  UINT8 ReceiveBytevoid); //接收8位数据  void SendsckUINT8 cUINT8 c1);  void EEPROMByteWriteUINT8 addrUINT8 value)   {Sendsck0x800x60);//write enable CSPIN=0;   _nop_();  _nop_();   WriteRomaddrvalue);Sendsck0x800x00);//write disable CSPIN=0; _nop_();  _nop_(); SCKPIN=0; Delay1ms10);} UINT8 EEPROMByteReadUINT8 addr) {UINT8 value; Sendsck0xc0addr);   Delay1ms1);   value=ReceiveByte();  SCKPIN=0;   CSPIN=0;   Delay1ms20);  returnvalue);}  void WritelongUINT8 addrUINT32 d//写入一个LONG类型   {EEPROMByteWriteaddrd>>24); EEPROMByteWriteaddr+1d>>16); EEPROMByteWriteaddr+2d>>8);  EEPROMByteWriteaddr+3d&0xff);}  UINT32 ReadlongUINT8 addr//读一个LONG类型  {UINT8 d8; UINT32 d32=0;  d8=EEPROMByteReadaddr); d32|=d8; d8=EEPROMByteReadaddr+1);  d32<<=8; d32|=d8;   d8=EEPROMByteReadaddr+2);   d32<<=8;  d32|=d8;   d8=EEPROMByteReadaddr+3);  d32<<=8;   d32|=d8; returnd32);}  

4.结论

本论文通过对电子秤的称重原理进行分析,在此基础上介绍了硬件设计和软件设计,最后完成了本简易电子秤装置的设计,采用高精度AD转换芯片AD574和实时处理的MCU-AT89C52单片机进行处理,精度高,操作简单,可推广性强。