高精度电子秤仿真设计.docx
《高精度电子秤仿真设计.docx》由会员分享,可在线阅读,更多相关《高精度电子秤仿真设计.docx(39页珍藏版)》请在冰豆网上搜索。
![高精度电子秤仿真设计.docx](https://file1.bdocx.com/fileroot1/2023-2/21/4550c7fa-64f7-4157-babb-700533e9c743/4550c7fa-64f7-4157-babb-700533e9c7431.gif)
高精度电子秤仿真设计
高精度电子秤仿真设计
摘要本文详细介绍了高精度电子秤的原理以及仿真设计的思路,本设计采用AT89S51单片机做为控制核心,来实现电子秤的基本功能和控制。
在设计系统时采用了模块化设计的方法,分别分步设计了各个单元功能的模块,并在PROTEUS中进行了硬件仿真,整个系统主要由主控制模块、数据采集模块、人机交互模块、通信模块、时间模块、指示,报警模块五部分组成。
主控制模块采用AT89C52单片机来实现系统设计;数据采集模块由称重传感器、信号放大器和A/D转换部分组成,信号放大和A/D转换部分主要由专用型高精度16位AD转换芯片TIADS实现;人机交互模块由LM016L(1602)显示屏,键盘两部分组成,通过键盘可以控制Set,+,-,Right,Left,Enter,使用传感器采集进来的数据,用LCD显示出来。
键盘主要用于控制和操作系统;通信模块主要是由25LC08的SPI接口实现校正功能;实时时钟模块采用PCF8583时间芯片;指示,报警模块用蜂鸣器和LED来实现;软件部分的程序在KEIL中用C语言编写。
该电子秤可以实现基本的称重功能(称重范围为0~9.999Kg,重量误差不大于±1g),可以设置日期和时间显示,还具有超量程(超重)的报警功能,具有一定的工业衡器使用价值。
关键词电子秤仿真设计16位A/DAT89C51LM016L
PrecisionElectronicBalanceDesign
Abstract:
Thispaperdescribestheprinciplesofhigh-precisionelectronicbalance,andsimulationofdesign,thisdesignusesAT89C51microcontrollerasthecontrolcoretorealizethebasicfunctionsofelectronicbalanceandcontrol.Usedinthedesignofamodularsystemdesignmethod,namelythedesignofeachunitstepfunctionmodules,andhardwareinthePROTEUSsimulationwascarriedout,thewholesystemmainlyconsistsofmaincontrolmodule,dataacquisitionmodules,interactivemodules,communicationmodule,thetimemodule,instructions,alarmmoduleoffiveparts.AT89C52microcontrollerwiththemaincontrolmoduletoachievethesystemdesign;dataacquisitionmodulefromtheloadcell,signalamplifiersandA/Dconversioncomponents,signalamplificationandA/Dconversionpart,byspecialhighprecision16-bitADconverterchipADS7825implementation;human-computerinteractionmodulesbytheLM1602display,thekeyboardoftwoparts,thekeyboardcancontroltheSet,+,-,Right,Left,Enter,usingthesensortocollecttheincomingdata,withtheLCDdisplay.Mainlyusedtocontrolthekeyboardandoperatingsystem;communicationmodulemainlybytheSPIinterface25LC08correctionfunction;realtimeclockmodulewithPCF8583chip;instructions,alarmwithbuzzerandLEDmodulestoachieve;thesoftwarepartoftheprogramintheKEILwiththeClanguage.Theelectronicweighingbalancescanrealizethebasicfunctions(weighingrangeis0~9.999Kg,theweightoferroroflessthan±1g),youcansetthedateandtimedisplay,butalsohasultra-balance(overweight)andalarmfunction,withacertainIndustrialWeighingthevalueinuse.
Keywords:
ElectronicBalance;SimulationDesign;16-bitA/D;AT89C51;LM1602
引言
本设计所做的电子秤是一款能够显示日期和时间的高精度电子秤仿真设计,而电子秤是一门称重技术,称重技术作为一种计量手段自古以来就与人民的生活紧密相连,广泛应用于工农业、科学研究、交通运输、内外贸易各领域。
而电子秤又是电子衡器中的一种,衡器是国家法定计量器具,衡器产品技术水平的高低将直接影响各行各业的现代化水平和社会经济效益。
因此,称重技术的研究和衡器工业的发展各国都非常重视。
电子秤是目前市场上普遍应用的电子称量衡器,我国的电子衡器经历了从最初的机电结合型发展到现在的全电子型和数字智能型,至此我国电子衡器的技术装备和检测试验手段基本达到了国际平均水平,电子衡器制造技术及应用得到了新的发展:
电子称重技术从静态称重向动态称重发展;计量方法从模拟测量向数字测量发展;测量特点从单参数测量向多参数测量发展,特别是对快速称重和动态称重的研究与应用都是目前电子衡器研究发展的方向。
电子秤属于电子衡器的一种,它的发展也遵循这一趋势。
随着时代科技的迅猛发展,微电子学和计算机等现代电子技术的成就给传统的电子测量与仪器带来了巨大的冲击和革命性的影响。
常规的测试仪器仪表和控制装置被更先进的智能仪器所取代,使得传统的电子测量仪器在远距离、功能、精度及自动化水平定方面发生了巨大变化,并相应的出现了各种各样的智能仪器控制系统,使得科学实验和应用工程的自动化程度得以显著提高。
电子秤做为重量测量仪器在各行各业都能够拥有测量准确,测量速度快,易于实时测量和监控的优势,开始逐步取代传统机械杠杆测量秤成为测量领域的主流工具。
第一章绪论
1.1设计背景与意义
随着第二次世界大战后的经济繁荣,为了把称重技术引入生产工艺过程中去,对称重技术提出了新的要求,希望称重过程自动化,为此电子技术不断渗入衡器制造业,在1960年开发出了与衡器相联的专门称重值打印机。
但是当时的带电子装置的衡器其称量工作是机械式的,只有与称量有关的显示、记录、远传式控制器等功能是电子方式的,这样的电子衡器被称为机电结合型电子衡器。
电子秤的发展过程与其它事物一样,也经历了由简单到复杂、由粗糙到精密、由机械到机电结合再到全电子化、由单一功能到多功能的过程。
近年来,电子秤已愈来愈多地参与到数据处理和过程控制中。
现代称重技术和数据系统已经成为工艺技术、储运技术、预包装技术、收货业务及商业销售领域中不可缺少的组成部分。
随着称重传感器各项性能的不断突破,为电子秤的发展奠定了其础,国外如美国、西欧等一些国家在20世纪60年代就出现了0.1%称量准确度的电子秤,并在70年代中期约对75%的机械秤进行了机电结合式的电子化改造。
随着工业技术的进步,在工业领域对电子秤的精度要求越来越高,需要精确到1g甚至是1mg,并对智能电子秤的称重时间和日期要求有精确的显示,并最好能自动称重,长时间的运行和防止死机的功能。
这样就需要从技术上克服上述诸多缺点,改善电子秤系统在具体工业应用中的不足之处,具有现实意义。
电子衡器产品量大面广、种类繁多,从通用的各种规格的电子秤到大型的电子称重系统,从单纯的称重、计价到生产过程检测系统的一个测量控制单元,其应用领域在不断地扩大。
根据近年来电子称重技术和电子衡器的发展情况及电子衡器市场的需求,电子衡器总的发展动向为:
小型化、模块化、智能化、集成化;其技术性能趋向于速率高、准确度高、稳定性高、可靠性高;其应用性趋向于综合性、组合性。
电子秤采用现代传感器技术、电子技术和计算机技术一体化的电子称量装置,才能满足并解决现实生活中提出的"快速、准确、连续、自动"称量要求,同时有效地消除人为误差,使之更符合法制计量管理和工业生产过程控制的应用要求。
1.2设计要求
1.电源:
输入24VDC,单片机供电5VDC。
24VDC采用开关电源变换方式变换到5VDC,输出电流1A。
2.单片机:
AT89C51
3.高精度AD:
16位,带校正功能。
(ADS7825)
4.LCD显示:
LM016L(1602)
5.指示:
LED,蜂鸣器
6.时间功能:
DS1302芯片
7.按键:
6个(Set,+,-,Right,Left,Enter)
8.通信协议:
自定义
9.编程语言:
C
10.设计要求:
采用Keil和Proteus进行系统仿真
11.可靠,防死机,适应于长时间
12.通信接口:
RS232(MAX232,DB9,母,弯头)
1.3电子秤的工作原理
当本设计的主要思路如框图所示,当重物放置在秤台上的时候,其重量便通过秤体传递到称重传感器,传感器随之产生一个力与电的线性变化效应,根据此效应可将重量转换成与标定重量成一定函数关系的电压信号。
此信号由AD转换器转换成数字信号,送到单片机进行数据处理,同时单片机不断扫描键盘,根据键盘开关的状态进行必要的判断和分析,由软件实现各种运算。
最后将运算的结果送到存贮器,到需要显示时,从存贮器中读出数据,同时从时间芯片中读取时间数据,一并送到LCD显示器上显示。
第二章系统设计方案的论证
2.1单片机的选型
AT89C51单片机是AT89C系列中的基础型产品,它片内存储器容量有片内4KB的Flash程序存储器和128B的RAM。
在工程应用中AT89C51有一显著的优势,通过对目前主流型号的比较,本设计最终选择了AT89C51通用的普通单片机来实现系统设计。
AT89C51是一种兼容MCS51微控制器,工作电压4.0V到5.5V,全静态时钟0Hz到33MHz,三级程序加密,32个可编程I/O口,2/3个16位定时/计数器,6/8个中断源,全双工串行通讯口,低功耗支持Idle和Power-down模式,Powerdown模式支持中断唤醒,看门狗定时器,双数据指针,上电复位标志。
另外在外扩展了32K数据存储器,以满足系统要求。
2.2A/D转换模块的选择
A/D转换器是一种能把输入模拟电压或电流-成与它成正比的数字量,也就是说能把被控对象的各种模拟信息变成计算机可以识别的数字信息。
A/D转换器种类较多,从原理上可分为四种:
双积分式A/D转换器,逐次逼近式A/D转换器、并行A/D转换器、计数器式A/D转换器及△-∑型A/D转换器。
在电子秤的设计中用的比较多的是双积分式A/D转换器和△-∑型A/D转换器。
由上面对传感器量程和精度的分析可知:
A/D转换器误差应在
以下。
12位A/D精度:
10Kg/4096=2.44g
14位A/D精度:
10Kg/16384=0.61g
16位A/D精度:
10Kg/65536=0.15g
考虑到其他部分所带来的干扰,12位和14位A/D均无法满足系统的高精度要求。
所以我们需要选择16位或者精度更高的A/D。
方案一、逐次逼近型A/D转换器,如:
ADS7825、ADS7824等。
逐次逼近型A/D转换,一般具有采样/保持功能。
采样频率高,功耗比较低,是理想的高速、高精度、省电型A/D转换器件。
高精度逐次逼近型A/D转换器一般都带有内部基准源和内部时钟,基于AT89C51构成的系统设计时仅需要外接几个电阻、电容。
逐次逼近型A/D转换器由D/A转换环节,比较环节和控制逻辑等几部分组成。
其转换原理为:
A/D转换器将一待转换的模拟输入电压Ui与一个预先设定的电压Ui(预定的电压由逐次逼近型A/D转换器中的D/A输出获得)电压相比较,根据预设的电压Ui是大于还是小于待转换成的模拟输入电压Uin来决定当前的数字量是“0”还是“1”,椐此逐位比较,以便使转换结果(相应的数字量)逐渐与模拟输入电压相对依然数字量接近。
但虑到所转换的信号为高精度信号,16位AD才能满足精度要求,这一点ADS7825可以达到。
方案二、双积分型A/D转换器:
如:
ICL7135、ICL7109等。
双积分型A/D转换器精度高,但速度非常慢(如:
ICL7135),具有精确的差分输入,输入阻抗高(大于
),可自动调零,超量程信号,全部输出于TTL电平兼容。
对正负对称的工频干扰信号积分为零,所以对50HZ的工频干扰抑制能力较强,对高于工频干扰(例如噪声电压)有良好的滤波作用。
只要干扰电压的平均值为零,对输出就不产生影响。
尤其对本系统,缓慢变化的压力信号,很容易受到工频信号的影响。
如果采用双积分型A/D转换器可大大降低对滤波电路的要求。
通过对测量精度的考虑,本文最终采用的是ADS7825A/D转换芯片。
2.3时钟模块的选择
本文采用DS1302作为时间芯片,DS1302是全二进制编码的十进制(BCD)日历芯片,可以通过简单的串行接口访问,该时钟可以提供准确的年、月、日、时、分、秒信息DS1302。
其存在的缺点是时钟精度不高,易受环境影响,出现时钟混乱等,但是DS1302可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录。
这种记录对长时间的连续测控系统结果的分析及对异常数据出现的原因的查找具有重要意义。
若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且,某些测控系统可能不允许。
但是,如果在系统中采用时钟芯片DS1302,则能很好地解决这个问题。
传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此,只能记录数据而无法准确记录其出现的时间,本设计因为要考虑到长时间运行,长时间称重和数据记录,采用DS1302芯片可以在不怎么占用单片机系统资源的情况下,很好的提供时间数据给显示器。
实时时钟模块采用DS1302时间芯片,可通过LCD1602和按键设置时间,它提供一个可编程时钟输出,所有的地址和数据通过串行传递,可以用通信接口模块连接。
2.4通信接口模块
本设计中通信模块使用的是MAXIM公司生产的MAX232芯片,MAX232包含了两路的驱动器和接收器,适用于各种V2.28/V.24和EIA232C的通信接口。
2.5输出显示模块选择
输出显示模块应该采用可以设置显示出称重物的重量以及其称重时的时间日期等的LCD,它具有低功耗、可视面大、画面友好及抗干扰能力强等功能,并且考虑到成本和技术的问题,应使用其显示技术已得到广泛应用的LCD显示器。
在日常生活中,我们对液晶显示器并不陌生。
液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。
在单片机的人机交流界面中,一般的输出方式有以下几种:
发光管、LED数码管、液晶显示器。
本文考虑到是长时间对称重物的重量经行显示,所以采用的是LM016L(1602)LCD显示器,所以选择液晶显示屏1602模块作为输出。
2.6键盘输入模块选择
键盘输入是人机交互界面中重要的组成部分,它是系统接受用户指令的直接途径。
键盘是由若干个按键开关组成,键的多少根据单片机应用系统的用途而定。
键盘由许多键组成,每一个键相当于一个机械开关触点,当键按下时,触点闭合,当键松开时,触点断开。
单片机接收到按键的触点信号后,相应端口电压发生了变化,针对其电平由高专低或者由低变高,继而作相应的功能处理。
因此,相对于单片机系统来说键盘接口信号是一种输入信号,作为一种重要的人机交互输入界面。
本设计的键盘按键功能主要针对日期和时间的设置,以及对电子秤的调校和校正功能所设置,因此有6个主要功能按键,依次为Set,+,-,Right,Left,Enter。
第三章系统主要芯片介绍
3.1AT89C51介绍
AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
其引脚排列如图3.1所示。
图3.1AT89C51引脚图
AT89C51单片机的主要特性如表3.1
表3.1AT89C51的主要特性
兼容MCS-51指令系统
4k可反复擦写(>1000次)ISPFlashROM
32个双向I/O口
4.5-5.5V工作电压
2个16位可编程定时/计数器
时钟频率0-24MHz
全双工UART串行中断口线
256x8bit内部RAM
5个中断源
低功耗空闲和省电模式
中断唤醒省电模式
3级加密位
片内振荡器和时钟电路
可编程串行通道
(1)VCC:
供电电压。
1m*__X)s#K_k9~!
n&XA_C33
(2)GND:
接地。
(3)
D_r4u_F%z33461P0口:
P0口为一个8位漏极开路双向I/O口,每个管脚可吸收8个TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
电子园51单片机学习网8D_\_k_^_D5o_~8n_B(4)P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
电子园51单片机学习网_[1x_O&l4V_zM
(5)P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入,P2口的管脚被外部拉低时,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
(6)P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入,由于外部下拉为低电平,P3口将输出电流,这是由于上拉的缘故。
_sK_Q)h,f#w(m+|33461电子园51单片机学习网6d%}4M"P3口也可作为AT89C51的一些特殊功能口,如表3.2所示:
表3.2P3口的特殊功能口
端口
管脚名称
备选功能
P3.0
RXD
串行输入口
P3.1
TXD
串行输出口
P3.2
外部中断0
P3.3
外部中断1
P3.4
T0
定时器/计数器0外部输入
P3.5
T1
定时器/计数器1外部输入
P3.6
外部存储器写选通
P3.7
外部存储器读选通
电子园51单片机学习网_z_o_c!
F_T
(7)电子园51单片机学习网_DP_g_?
:
h_R_McRST:
复位输入。
振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
_@\7af%J_n_Zx33461ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
(8)电子园51单片机学习网$x
it_v:
]_V_X&d"B_g:
W.YB7G6k_?
3A}3/PSEN:
外部程序存储器的选通信号。
在向外部程序存储器取值期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
(9)_k0}%k_W
t&J,N'C_q334 /EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA引脚为高电平时,单片机访问内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
电子园51单片机学习网+\&Y_Cca%^_{_lu0f
(10)XTAL1:
反相振荡放大器的输入及内部时钟工作电路的输入。
(11)k_\_S"fq+M__2?
3XTAL2:
来自反相振荡器的输出。
图3.2AT89C51单片机的晶体振荡电路
3.2ADS7825介绍
ADS7825是4通道、16位的A/D转换器,它最大功耗仅为50mW,由单一5V电源供电,可接受-10.0~10.0V的模拟输入电压。
该芯片内部含有4通道多路转换开关、16位CDAC、时钟、参考电压和并行/串行微处理器接口以及控制逻辑。
它的最大优点是经A/D转换后的数据既可并行输出,又可串行输出。
图3.2ADS7825的引脚图
ADS7825的管脚排列如图3.2所示,AIN0~AIN为3:
4个模拟通道,可接受-10.0~10.0V的模拟输入电压;PAR/SER:
该管脚为高电平时,数据在D0~D7脚并行输出;为低电平时,数据在SDATA脚串行输出;BYTE:
并行数据输出选择位,仅在数据作并行输出时使用。
BYTE=1时,输出低8位D0~D7,BYTE=0时,输出高8位D0~D7,R/C:
读数/启