




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的电子天平的设计与实现摘要现代科学技术的飞速发展,微电子技术的广泛应用,在此前的传统的测量仪器已不能满足人们在市场上使用的需求。在了解到目前市场上的使用需求后,本次项目设计希望设计一个这样的电子天平,该设计采用智能化、自动化、人性化的控制系统,很好地解决了传统称重设备使用中存在的问题。该系统主要由微控制器控制。称重装置由称重传感器和A/D转换器组成。电子天平配有显示单元和键盘对话装置,具有性价比高、多功能、测量准确、功耗低、速度快、系统设计简单、自动化程度高、使用方便且直观等特点。该系统以STC89C52为主控芯片,将测量电路、显示电路、报警电路、键盘电路连接在其周围,构成智能测量系统的整体电路,实现了自动测量的各种控制功能。无疑的,这样设计的电子天平在很大程度上满足了应用的要求。关键词:智能电子天平,称重传感器,A/D转换器,80C51单片机,模块设计,高精度目录TOC\o"1-3"\h\u35581引言 1118321.1称重技术和称量器的发展 1107321.2电子天平的发展现状及趋势 1219601.3项目研究意义 257592电子天平的硬件构成 3306562.1电子天平的构成 420352.2称重传感器 4297642.2.1称重传感器选用时需考虑的问题 561492.2.2称重传感器的基本结构 5297812.3应变式传感器 6173092.3.1弹性元件 6144082.3.2应变式称重传感器的各种补偿 6177132.4单片机系统 8262142.5电路设计 10207102.5.1称重传感器的供桥电源 10300122.5.2电子天平的调零电路 11128402.5.3电子天平的数据采集、处理部分 12156952.5.4键盘/开关输入电路 14222792.5.5LCD显示器 1555092.5.6掉电保护和检测电路、报警电路 16162633仪器软件设计 18142753.1仪器主程序 18143903.2中断服务程序 19171084仪器的误差及误差分配 21252814.1仪器的误差来源 21258034.1.1称重传感器的误差 21257084.1.2电子设备的误差 2148014.1.3机械承重系统的误差 2212204.2仪器误差分配 22270404.3仪器误差的计算方法 2213454结论 2410415参考文献 2514072附录 271引言自人们开始货物交换伊始,质量就变为了人们交换途中一个希望得知的参数,为了衡量这一参数,相应的衡量技术也一直被人们重视。古代物品的衡量是采用一种古朴且原始的方法,比如汉语量词中的一罐,一壶一桶等,这种衡量方法非常粗略。随着时代的前进及发展,慢慢的开始出现一些比较简单的称,这种称可以得出相对准确的物体重量。从古至今,秤可以说是是最为常见且普便的一种测量仪器了,生产力的发展及人们贸易往来的需求决定了电子天平取代传统的机械秤是科学时代发展的一种必然规律。由此可见,制作一种成本低廉,且高智能度的电子天平无疑会具有非常广阔的市场前景。本章主要介绍了历史上称重技术和称重装置的发展历程,同时基于实际需要提出了设计一种新型便携式电子天平的意义,而后相继的介绍了本此课题的研究背景以及使用到的一些关键技术。称重技术和称量器的发展从具有原始雏形的称量仪器出来后,人们使用和完善称量器经过了一个很长久的时间,不等臂平台秤是现在所使用的动态轨道衡的最早起源,直到现在也是到处可见其身影。电子称量器的出现是在第二次世界大战结束后,电子称量器拥有着许多适于现代化操作的特点,它不仅有很快的称量速度,而且有很大的测量范围和广阔的应用面,另外其设计结构也很简单,人们可以很方便的进行使用与操作,它的信号可以支持远距传输。因此可以实现多功能拓展、多用途发展。加上它与现代电子信息技术的结合运用,电子天平可以与计算机相衔接,因此可以很方便的进行控制,实现高精度的测量要求。1.2电子天平的发展现状及趋势1.2.1发展现状称量器的发展和演变有一个非常久远的历史。也许是从近代科学的重力等的发现以来,人们才开始得知物体的重量被如何的称量出来,即通过一种力的形式转换把不可见的重力变为人们可以看见的数据,并由此揭开了称量器向着高精高技术方向发展的序幕。到了现代社会,电子称量器已经被广泛应用于社会中的各行各业,尤其是随着近些年来数字信号处理和自动化控制的兴起,电子称量器在这些技术中得到了进一步的应用,各种数据库,现代称重技术因此和数据处理系统紧密联系在一起,活跃在在各种的应用之中,成为了其中不可或缺的一部分。在上世纪50年代中期,得益于电子技术的兴起,称量器制造业从中受益,该产业开始规模化发展。到了60年代初期,机械电子组合式电子称量器开始问世由此掀开了电子天平发展的序幕,在此以后是电子天平发展的40多年的不断的全面改进和不断的完善,于是我们国家的电子设备称量的器件,开始从半电子半机械式的逐步走向成熟,到现在以及全面发展成为了电子数字智能型的仪器。随着时间到了90年代了,我国在电子衡量器上面已经取得了较大的发展成果,各种仪器的设计水平以及使用时的性能都已经比较可观了,即便是和当时的国际上的前沿设计比起来也可以说是不遑多让。但是整体看来我国的电子量器和一些老牌工业国家相比还是有很大差距的,这些差距表现在设计使用性,精密性和可靠性等,同时在称量器的类型上,以及相应的门类和使用质量上也存在着一定的差距,目前亟需我们尽全力去追赶。1.2.2发展趋势天平是现实生活和工作中经常使用的一种计量器具,计量技术的不断进步,现代电子技术的快速发展,传统的板秤、台秤、磅秤等纯机械称重设备已经逐渐被淘汰。与传统天平相比,该电子天平在设计上更加先进,它采用了一种新式的传感器,同时通过高精度AD转换器来处理数据,并通过单片机来设计相应功能,实现相应的操作要求。具有精度高、操作功能强的特点。本课题设计的电子天平具有基本称重、键盘输入、计算价格、显示、超重报警功能。电子天平采用液晶显示汉字和测量记过,比传统秤具有更高的准确性和直观性。另外,电子电路的使用寿命长,应用范围广。可用于商场、超市、住宅等场所。对人们的日常生活至关重要。电子天平由一个底座和一个托盘组成。托盘里东西的重量等于传感器的经过反应变化的量,电子配线机是数字显示的。机器、电气和工具的电气模拟。它具有多义性、准确性、快速性和连续测量性、可持续性和可靠性,体现了产品的发展。小型电子平衡产品的总体发展方向是向着调制化的方向来发展的,未来的该器件也将更加的集成,同时具备很高的智能化的性能要求,未来将发展的很全面。电子天平的技术性能高、高速、高稳定性、高可靠性;实施意图强用于分配和测量的控制信息是活动的“智能”信息,该活动关注相同的不可控制信息,该信息旨在集成到程序中。1.3项目研究意义现代社会及世界贸易的迅速发展对称重技术的发展提出了更高的要求,与此同时,微处理技术和传感技术的发展和进步,使得称重技术的发展过程周期缩短,迭代速度加快。遗憾的是,当前电子天平现状不够满足人民的需求,功能和设计均存在不足,小型化和大众化的便携式电子天平的发展方向是人们的希望所在。因此,有感于此,笔者深刻认识到设计一种重量更为轻盈、携带更为方便、测量更加准确、读数更加直观、价格更为低廉的便携式电子天平是为当前一个十分紧迫的要求。综上所述,本项目将应用大学所学知识,理论结合实际,设计并实现一种高精度智能电子天平。对于本次设计的主要要求如下:量程:0~5kg分度值:0.005kg误差:±0.005kg功能:支持开机时自动校验系统,称量可以去除皮重,可以精确的得到所需称量的物体的重量,可以多次称量多个物体并一次性的计价,另外还带有屏幕显示功能,可以让用户直观的看到数据,且UI界面设计友好,带有过载报警的功能,以及矩阵键盘的人机交互等功能。本次项目的具体功能描述如下:使用高精度电阻应变式压力传感器,量程0-5kg,测量精度可达5g。采用AD转换器芯片HX711对传感器信号进行处理,HX711是一款可以实现高精度转换的24位A/D转换器芯片。采用STC89C52单片机作为主控芯片,实现称重、计算价格等核心主控功能。采用1602A液晶屏显示称重重量、单价、总价等信息。采用4*4矩阵键盘进行人机交互,键盘容量大,操作便捷。具有超量程报警功能,可以通过蜂鸣器和LED灯报警。系统通过USB电源供电,单片机程序也可通过USB线串行下载。
2电子天平的硬件构成电子天平的测量的原理一般来讲是很简单且通俗易懂的,从最早的机械天平开始,用砝码的重量来表征被测物体的重量;到电子天平中原理也是差不多,只不过是把被测物体的重量用传感器的形变量来表征,由此可以把重量这一数据承载到电信号上,这为电子智能化设计提供了基础。因此,基于这一原理,把传感器作为一个核心元件,也是本设计中的一个要点,由传感器受力发生形变的原理来感知载体的质量,随后传感器再将表征该微小形变的信号输出到放大器,从放大器出来的信号在被放大后被送入到AD转换器,AD转换器将信号经过模数变换后变为能被计算机处理的信号,此信号被直接送到单片机内,由单片机进行处理,选用单片机作为处理单元的目的是单片机还可以外设许多模块,因此可以很方便的实现并设计一些我们所需要的拓展功能及模块。2.1电子天平的构成如图2-1所示是本次设计的设备结构框图。图2-1设备硬件结构框图2.2称重传感器传感器在整个系统中的地位举足轻重,作为整个设计中最需精心处理的部分,传感器性能的好坏可以说直接决定了整个系统性能的好坏。在设计时依据电子设备及相应的称重装置的使用途径、使用场所以及对精度的要求之间的差异,我们需要选用不同技术指标的传感器。因此如何选用适当的传感器来完成设计要求也是一个难点。因此这需要我们根据设计要求来综合衡量传感器的各项指标以及性能参数的要求。在设计时的一个大的原则是需要最终设计完成的系统满足误差要求,在遇到其他的一些因素干扰时要保证设备能够工作。2.2.1称重传感器选用时需考虑的问题根据相关资料的考查,在选取相应的传感器时,需要着重考虑以下方面:1.传感器精度的选择经济性、实用性、传感器性能要求、称重系统所要求的实际精度,是决定我们所设计的电子天平精确度的几个因素。鉴于设计的复杂度和实现的难易度,本次设计的精度选取为0.001,即在5kg的量程实现5g的分辨率。2.传感器量程的选择综合国内外众多电子计量器传感器选择和设计实践经验,一般的传感器的量程选择范围应该为实际使用时可能产生的最大的负载的2-2.5倍。在实际使用过程中,任何的电子计量器不可避免地都会存在冲击干扰、振动干扰和压载过载,并且还有一些难以准确估计的他力干扰。综上所述,考虑到可靠性这一基本的指标,尽可能的选取宽一点的范围对系统的设计是很有利的。3.传感器技术参数的选择需要考虑各方面参数可能带来的影响。首先是几种主要的误差源。其次就是灵敏度的选取,归零,温漂等特性也要综合考虑,以免产生差错,影响系统的设计要求。2.2.2称重传感器的基本结构常规的称重传感器结构,按照原理,工作方式等的不同,基本可以划分为以下几种:柱式传感器、桥式传感器、梁式传感器、双连孔式传感器,不同的传感器拥有不同的特性和工作范围,我们的后续设计将参考这些指标。在本项目的设计中所选用的传感器结构是S形双连孔式传感器,如图2-2所示为该传感器的结构形式图。图2-2S形双连孔式传感器结构图2.3应变式传感器此类型的传感器具备着许多优良特性,在线性特性上有着姣好的表现,尤其是在我们的电子天平所应用的场合,电子天平作为一种测量仪器,其被使用的频率可想而知是比较高的,而该类型的传感器在多次重复使用的情况下,其各项性能仍然可以保持基本不变的特性;此外,在存在滞后等影响因素的情况下,该类传感器的误差也是在一个比较小的区间内的,很符合我们的设计要求。这些特性可以使得由该传感器制作的电子天平所能达到的综合精度较高,工作时非常可靠,并且可以支持长时间的使用,使用的稳定性和抗疲劳效应也很好,正好适用于电子天平等这种需要频繁更换测量物体的动态测量场景。另外其结构也很简单、体积较小。因此,在电子称量类的设备中使用最多的还是该类型的传感器。2.3.1弹性元件弹性元件的结构形式对于本次设计所需要的传感元件,需要考虑到量程、必要的灵敏度、工作环境、机械形式、安装尺寸、精确度和内部结构这些特性要求,因此在大多数的实际应用时经常被采用的结构是环形、膜片或梁形。在一些比较特殊的情况下,可采用多种类型的传感器的组合结构形式,这种组合形式的结构可以取长补短,有效的提高系统的精度、使用稳定性和灵敏度。弹性元件材料的选择一个良好的传感器弹性元件的材料应具备以下要求:①高强度的性能,即使是高载的不理想环境下,也会保持足够高的安全性;②足够高的弹性极限;③受热处理后残余应力应该足够小,有均匀的各方向性质相同的稳定组织;④具有良好的抗疲劳性能;⑤弹性滞后尽量小;⑥热膨胀系数较小,温漂最小;⑦良好的机械加工及热处理性能;⑧有一定的抗腐蚀能力。2.3.2应变式称重传感器的各种补偿通过综合分析,本设计最终选定的传感器为金属箔应变式称重传感器,如图2-3所示为其对应的原理图。在实际使用情况下,由于各种干扰因素的作用,传感器在使用工作的时候可能产生一系列的误差。因此,在开始实际的使用之前,我们必须要对所采用的传感器进行一些相应的补偿的措施和调整的工作。在其中就包括像温度的补偿、灵敏系数的调整、非线性误差的补偿等。在本次设计中我们非常重视误差的处理及补偿,旨在能提供我们所设计的精确度,基于科学以及以往设计中所养成的严谨思维,我认为误差的处理非常重要,因为这深深的关切到我们最终得到的产品以及用户所使用的体验的良好性。所以在误差分析上我下了很大的功夫,也是希望最终的设计成果能够达到预期,在精度上能有一个很好的表现,这样也就不辜负本次设计的初衷了。具体的分析在下文中有详细的阐述。在进行了这些补偿措施和调整之后,该传感器的相应性能和指标都会获得较大的提升,并也能使有关的参数能够满足预定的标准化的要求,以便于最后的使用和更换。2-3应变式称重传感器的原理图非线性补偿经过计算和查找相关资料可以得知,传感器的输出电压与所加的载荷并非完全呈现线性的关系。之所以会产生这种误差,主要是因为电路在设计完毕后,最终焊接完成后由于各种各样的原因不可避免的会自带的一系列的误差,而且这些误差通常是非线性的;在开始使用后,我们把物体放在托盘上,传感器在承受了一定的重量后,重力的作用会使得弹性元件的横截面上出现轻微的变形,该形变同时也会反过来作用而会引起传感器所受的应力以及相应的应变量都会发生一定的变化,进而这些变化开始传达出去,当这些变化作用到了传感器的应变和载荷之间时,就会在两者之间产生间隙和非线性的影响;另外,一般的弹性元件本身就会带有一定的非线性和应变仪的自带的非线性。但是,只要我们的设计合理,传感器的输出就可以达到良好的线性关系。因此,通常可以省略该补偿。温度补偿如图2-3所示为温度补偿电路。设初始时,,则输出电压为(2-1)又(2-2)式(2-2)中——应变片的灵敏度系数;(一般在1.7~3.6之间,本文取S=2);——应变片的纵向应变;——应变片的电阻(多选用120Ω);(2-3)式(2-3)中——被称量物品的重量;()——弹性体面积;——弹性体的弹性模量;由式(2-1)、(2-2)、(2-3)得(2-4)(S=2)有以上的式子的分析,我们基本可以确定要选用什么样的弹性体来设计传感器元件,同时,对于各种电参数等也可以进一步来确定系统的供电电源的具体要求,在这些部分都确定后,只需令为常数,令=,则,我们就可以得知电压与载重之间的线性关系。2.4单片机系统MCS-51系列单片机在我国的使用非常广泛,基于该单片机的设计原理及程序都比较简单且可靠性高,性能优越。使用单片机进行设计的一个显著优点就是便于控制,可以直接面向本次设计的对象——电子天平进行设计。单片机的集成度很高,可以附带使的本次设计的电子天平具有一个较高的集成度,从而简便了设计的体量,本次设计中除单片机以外的外围电路相当简单。这也得益于单片机所拥有的的高度集成化电路的优点。因此该系列的单片机在各种设计中可谓是随处可见其身影。鉴于单片机强大的内部功能,简单软件的开发非常简单。随着各种工具的开发,单片机的功能是非常强大的。综合软件开发和设计工具的优点在于,它可以方便地使用单片机,缩短系统的开发周期,还可以方便地控制多个设备等进行任务分配,提高了控制系统的工作效率和可靠性。该类单片机在进行设计时所设计到的的技术以及有着广泛的应用。相关的设计理论以及程序等也是非常的成熟。该系列中的89C52更是如此。STC89C52系列单片机一种单时钟/机器周期(1T)的单片机,该类型的单片机具有较高的运行速度,耗能也很低,抵抗外界干扰的能力也很强。它的所使用的指令和代码与传统的8051单片机一样,两者之间可以兼容。而且相比较于传统的51单片机,该系列的单片机的速度要快上八到十倍,在芯片的内部还有一个复位电路,即MAX810,以及集成在芯片的内部。STC89C52单片机的基本特性如下:具有8位的中央处理器(CPU);芯片内有时钟发生电路;具有4KROM;具有128字节RAM具有21个特殊功能的存储器;具有4个I/O端口、32根I/O线;可寻址64K外部数据存储器;可寻址64K字节外部程序存储器;具有两个16位定时/计数器;可有5个中断源,配备2个优先级;具有一个全双功能串行接口;具有位寻址能力,适于逻辑运算。STC89C52的引脚排列如图2-4所示:图2-4STC89C52引脚排列另外。本设计中STC89C52的布局应用电路如图2-5所示:图2-5STC89C52应用电路2.5电路设计在设计本次项目中的电子天平时要注意哪些要点呢?回顾设计的要求,首先注意到本次项目的一个关键词——便携,要让我们所设计的电子天平便于携带,那么它就要具备轻巧简单的特点;其次是另外一个关键词——智能,那么该电子天平不仅要具有多功能,自检等功能,其设计也应该满足低功耗,简约等原则。因此,在进行硬件电路设计时应该力图设计集成化的电路,这样可以大大减小电路的规模,提高我们所设计的便携性。在本节,我将对本次设计的电路部分的硬件设计进行详细的介绍,并对系统中各个模块的电路设计分别进行详细论述。2.5.1称重传感器的供桥电源在本项目的设计过程中,考虑到系统对于整体反应速度的要求较高,因此对于系统的供电的电路,本设计采用了直流供桥电路。在实际使用情况下,由于各种干扰因素的作用,电源电路在使用工作的时候可能产生一系列的问题和发生一系列的差错干扰。因此,在开始实际的使用之前,我们必须要对所采用的电源电路的的设计来进行一些相应的设计的措施和调整的工作。在其中就包括像温度的补偿、灵敏系数的调整、非线性误差的补偿等。另外电源电路的设计也应该要很可靠,可靠性要很高,尽量避免在工作时出现断电等的情况。因此在综合考虑了这些问题之后,在进行了这些补偿措施和调整之后,电源电路的相应性能和指标都会获得较大的提升,并也能使有关的参数能够满足预定的标准化的要求,以便于最后的使用和更换。以下是我们在设计电源电路是所遵循的各个设计要点以及具体的设计流程和步骤。对于电子天平的设计,尽管由于桥电压超过推荐使用电压限制,通常不可能损坏部件,但是仍然可能因为在这种情况下,由于某些意外情况导致了设备出现过载,从而使得系统的输出性能受到损害。因此在实际的使用时,一般是要先把传感器接通了供桥电源并在此之后的时间段内(比如几分钟),以电路达到了热平衡这一项的指标来作为稳定的依据;由上述理论,经过计算可以求得电路的供桥电压值如下:(2-5)式中——应变片的电阻值(单位为欧姆,取R=120Ω);——应变片箔栅上的功率密度(瓦/平方毫米);——应变片箔栅面积(平方毫米)。2.5.2电子天平的调零电路本次设计中需要有一个调零电路,我们的思路是通过把传感器的零点的输出和称本身的重量所带来的偏差抵消掉来实现调零。该电路如图2-6所示,这部分的电路通常是被串接放在系统输出和测量仪表之间,只需要调节图中的电位器,相应的电压和电路中的参数就会发生变化,输出的不平衡电压将会和空载时系统中得到输出电压恰恰相反,两种可以相互抵消掉,从而可以实现调零。在本设计中我们采用并联电阻法来设计一个简单的去皮重电路,具体如图2-7所示。这样的设计在传感器桥路中就好像在两个连接的相邻的桥臂上并联进去了两个不同的电阻,这样设计的好处是在实际的使用时我们就只需要略微的调节一下电位器Rb的滑臂位置就可以了,然后系统就可以实现调零的功能。当系统中使用了数个传感器的时候,更应该避免这种情况的发生,尤其是在称量是系统需要去除的皮重调节量比较大,对称重的精度又要求比较高时。这种电路的优点是组成比较简单,不需要设置独立的调零专用的直流电源。2.5.3电子天平的数据采集、处理部分放大器INA101是用于放大微小信号,以及系统需要采集信号的的高精度单片仪用放大器。这种器件具有较低的失调电压,且对温度的漂移很小,同时它的输入阻抗很高,最大值可以达到Ω,里面还配置了输入阻抗电路;它的非线性误差最小值还可以达到0.001%;共模抑制比这一参数最高能到110dB;其芯片的引脚设置的很灵活。如图2.7所示为放大器的基本接线图,其增益为:可以通过改变的大小来改变放大器的增益。ICL7135(ICL7135将在后面作介绍)的模拟输入电压为0~±1.9999V,所以放大器的输出电压值应在0~±1.999V之间。A/D转换芯片HX711及接口电路设计通过对前面的分析计算结果可以得知,本次设计为达到设计要求,A/D转换器的误差应该低于0.03%。本设计的电子天平的量程为5千克,若我们采用的AD转换器的位数为12位的话,经过计算可以得到其精度为1.2克,这没有达到我们预期的设计要求;当AD转换器的位数为16位时,再次经过计算可以得到其精度为0.08克,这已经达到了我们的设计要求。图2-6调零电桥及其接法1——称重传感器;2——调零电桥;3——测量仪表同时应该考虑其他因素可能产生的干扰,作为小型的电子天平,我们只需要选用精度上达到了16位的A/D就完全能够满足我们的设计要求了。该类转换器具备了较强的抗干扰的能力,以及比较精确的差分输入,其价格也便宜,适合于我们的设计。通过查找相关的资料,在综合了各方面的考量之后,综合分析了优缺点后,本次设计最终的选择是HX711芯片。HX711是高精度的24位A/D转换器芯片。选择这种布局不仅可以有效地节省设计成本,而且可以提高系统的可靠性和性能。芯片与单片机之间的连接逻辑和编码非常简单,无需调用内部寄存器进行编程。此外,该芯片具有内置的稳定电源,可以直接为外部传感器电路模块和内部A/D电路供电,而无需额外的电源。片内时钟振荡器不需要任何外部组件。接通电源后的初始化可以通过复位功能进行。如图2-7是本次项目设计中HX711芯片的应用电路:图2-7HX711芯片的基本接法如图2-8是HX711芯片的管脚说明:112345678910111213141516AVDD数字电源RATE输出数据速率控控制输入XI外部时钟或晶振输入XO晶振输入DOUT串口数据输出PD_SCK断电和串口时钟输入INPB通道B正输入端INNB通道B负输入端稳压电路电源VSUP稳压电源控制输入VBF模拟电源AVDD稳压电源控制输出BASE模拟地AGND参考电源输出VBG通道A负输入端INNA通道A正输入端INPA图2-8HX711管脚说明键盘/开关输入电路键盘输入是作为电子天平实现人机交互功能的模块。本设计里面用到的是16个按键所组成的4*4矩阵键盘按键模块来实现人机交互的,4*4矩阵键盘上面的16个按键分别可以用来输入0-9的数字和键入小数点,其它五个按键则分别为五个功能键。具体键位分布将在下一章讲述。本项目设计中定义ROW1到ROW4为键盘行扫描信号,列定义COL1到COL4为键盘的列扫描信号。行信号是输入信号,低电平有效。列信号是输出信号。即使有低电平信号用于行扫描,当不按任何键时,列信号也将处于高电平。线扫描为低电平,并且按下按钮时相应的列显示为低电平。使用低电平信号,可以找到按键被按下的位置,以便微控制器处理该信号并给出用户按下的相应按键位置的值。如图2-9所示是矩阵键盘电路图。电子天平键盘操作的软件管理功能如下:称量过程。将称重仪器放在称重板上,一旦测量了重量,就可以用重量保持按钮将其存储起来。在放置重物之前,如果在负载为空时屏幕上显示的值不为零,则可以通过按“去皮”按钮将其设置为零。如果将称重对象放在容器中,请首先称量容器,然后单击“去皮”按钮还可以实现调零设置。如果重量超过最大重量5公斤,则发出警报。(2)单价和清零操作。在称重模式下获取商品,然后按数字键输入单价。点击“清除”按钮,将单价重置为零。(3)显示金额。置入单价后,按单价键则显示本次称量的金额;若显示“E”表示超出计价范围。按“去皮”键,又可进行称量。(4)金额累计。在每次称完物品显示金额状态下,按“累加”键,就把该次金额累加到总额中去。若显示“E”,表示累计总额值超出计价范围。(5)校正。按“校正”键,仪器自动校正。图2-9矩阵键盘电路图2.5.5LCD显示器1602A液晶显示器是一种可以专门用来显示字母、数字、符号等点阵型液晶模块,它是由若干个5*7或者5*11等点阵字符位组成的,每个点阵字符位都可以显示一个字符。1602A引脚说明:第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,对比度应该适当调节以正常显示。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7~14脚:D0~D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。1602内部显示地址如图2-10所示:图2-101602内部显示地址在本项目的设计中,我们采用了一个10k电阻和一个1k电阻分压的组合来调节灰度,这样的设置可以达到灰度适中的要求。如下图2-11所示是液晶显示电路图2-11液晶显示电路掉电保护和检测电路、报警电路供电系统如果出现了瞬间断电或者供电电压骤然下降的情况,那么微机系统将会陷入一个混乱的状态。一方面,系统内部实时数据将会丢失;另一方面,系统的混乱会引发操作执行的混乱。所以必须设置掉电保护电路来保持系统的可靠性,用来保护系统内部的实时数据,并且在产生错误时能够及时的关闭系统。本次设计中是通过EEPROM来保护系统中的信息,换言之,当系统由于意外情况而被断电时,能够把重要数据存储在系统中;其次,再准备一个备用电池,如图所示在2-12,稳定的电源和备用电池分别通过一根线连接到存储器或者单片机的Vcc端。如果稳态电压高于备用电池电压,备用电池将不提供电源。相反,备用电池提供电源。以此来实现掉电保护电路。图2-12备用电池的连接和掉电检测电路系统内部也相应地设置了一个掉电检测电路(见图2-12)。当系统检测到断电时,应及时保护切断点内容和各寄存器所储存的数据。在图中,CMOS555以单片形式连接,并且当发生断电时,低电平脉冲可在3管口的末端发射一个脉冲信号来作为系统故障请求信号。此外在电路中还配置了一个光学离合器,以防止系统因干扰而误判。断电时,在大电容器的支持下,稳定的电源可能会继续为系统供电约几十毫秒,在这期间,中央计算机继续执行服务中断程序,以便将中断位置和一些重要数据放入RAM存储器中。另外仪器还必须要设置一个超载时能够报警的电路。当电子天平所称量的物品重量超过了规定的量程是,单片机就可以发出一个控制信号,该信号可以触发蜂鸣器产生报警提升。本设计中的蜂鸣器采用一个独立I/O口进行控制,再加上一个简单的三极管放大电路驱动,三极管选取普通的NPN型3904。如图2-13所示为报警电路图。图2-13报警电路
3仪器软件设计本设计中的软件设计包括主程序设计和中断服务程序设计两大部分,软件设计采用模块化结构。本章主要介绍了软件设计中的主要模块的程序流程图设计,4×4矩阵键盘各个按键的功能说明如表3-1所示。其中,数字键0-9可以用来输入单价等,当输入的数字有误或者需要重新输入时,则可以通过删除键来清除原来的数据,清零键可以直接将所有的数字直接清零,校准键可以用来校准零点以及去皮重等,最后按确定价格的按键可以确定价格,开始称量计价物品。表3-14×4矩阵键盘键号说明123“清零”456“删除”789“校准”无意义0小数点“确定价格”3.1仪器主程序仪器主程序流程图如图3-1所示。本程序的设计思路是依靠目前市场上电子天平的通用功能来设计程序,即先开机时系统开始初始化,初始化完毕后,系统自动校准零点等。当用户开始使用后,需要输入使用者,即收银员的编号,随后可以开始键入单价即物品清单,然后开始称重计价等。当收银员完成了所有商品的称量后,在屏幕中将显示此前所有称量商品的清单,在清单中可以包括全部所称量的商品的编码,对应的称量重量,每个商品的对应单价以及最后所对应的物品总价等;若前一阶段的称量完成后,若还有商品在称量(即称量未结束),则系统将及时转换为显示当前商品的相关信息(单价、重量等)。图3-1仪器主程序流程图3.2中断服务程序图3-2为仪器中断服务程序流程图图3-2中断服务程序流程图仪器程序见附录。
4仪器的误差及误差分配本次设计中由于对系统的精度要求比较高,因此需要想办法来完成误差的减小工作。在前面的分析中我们可以得知仪器的误差主要来源,在进行了对误差的分析后,接下来我们将对误差进行相应的分配工作,以此来使系统的总误差达到本项目预先的设计要求。4.1仪器的误差来源本次项目设计中的误差来源于称重传感器、电子设备和机械承重系统三个方面.4.1.1称重传感器的误差称重传感器的可能误差来源大部分是由传感器本身的非线性、不可重复性和延时故障引起的。在使用过程中,由于周围的使用时所处环境的变化也会引起一种传感器的零位置位移和传感器系数的变化。通过传感器生产中的各种补偿措施,这些误差都被降低到了最低限度,其余的误差则不易抵消补偿和纠正的则可被视为偶然误差来处理。因此,可以根据平均根法可以计算传感器的综合误差,即由下式求得:(4-1)式中——传感器的合成误差;——传感器的非线性误差;——传感器的不重复性误差;——传感器的滞后误差;——温度变化引起传感器的零点变动误差;——温度变化引起传感器系数变动误差;——称重传感器周围环境温度变化的幅度。4.1.2电子设备的误差电子设备的合成误差为(4-2)式中——仪器的非线性;——温度变化引起的零点变动;——温度变化引起的灵敏度变动;——时间引起的零点漂移;——时间引起的灵敏度变化;——电压变化引起的零点漂移;——电压变动引起的灵敏度变化;——仪器周围环境温度变化的幅度。电子天平中,电子设备部分由放大器模块、A/D转换器模块、显示模块以及打印模块等联合使用,其总误差的计算公式如下(4-3)式中、、、——分别为单个仪器的合成误差。除此之外,对于本次设计中所使用的传感器来说,如果它和系统中的其他模块电路之间的信号传输系统中使用的信号电线太长,那么在使用过程中就可能会导致重大误差的产生,该误差可能是由于导体电阻随温度的变化而引起的;当直流电源开始为系统供电的时候,热电势误差被引入了直流电源中;或者由于潮湿而降低了电缆的绝缘电阻;由于电磁干扰,传感器电缆也会引入称重误差。4.1.3机械承重系统的误差系统支持被测物体并将载荷施加到称重传感器上,传感器在接收到载荷的信号后向AD转换器传输该信号,随后信号经过进一步的系统处理和运算后可以得出被测物体的质量。在理想的情况下,上述过程可以得出物体的质量,电子天平的功能可以得到预期的实现。然而,当传感器在向系统发送受力信号的过程中,由于整个设计中的机械结构中存在的的一些对系统运行的不利因素,以及在系统设计时预置的防振装置和该装置中由于摩擦而产生的阻力,可能会出现在重物放置到托盘上时,传感器无法准确的感受所有的受力信号,因此也无法全部的把相应信号传输至下一级的系统的情况。与此同时,当物体受力的力信号没有作用于传感器的中心轴上时,也会导致传感器产生一种偏心负载的情况,在这种情况下传感器所传输的物体的力信号会与原物体的实际重量有较大的出入。因此,该系统将在功率传输过程中导致特定错误。因此,在最后进行系统的整体机械装配时,必须注意确保负载重量能够垂直的作用在传感器上,并且重力的作用方向必须与传感器功率轴一致;以及不得产生传感器上的额外扭矩。避免在传感器上产生任何的水平分力。4.2仪器误差分配在设计电子天平时,按均方根分配原则,按比例将所有的允差分配给系统的各个部分。本次设计中采用如下的分配方法:称重传感器分50%;电子设备和数据处理系统分30%;机械承重系统分20%。4.3仪器误差的计算方法当电子天平整体装配完成后,需要对系统进行调试以及误差校验。在调试使用时我们放置重物到托盘上,然后进行多次测量得到多个数据,利用这些数据点,由一些通用的误差处理和计算方法可以得到本次设计的具体误差大小。仪器误差计算方法采用均方根误差法。均方根法的具体步骤如下:每个称量点的样值分别为、、、……,求出每一个称量点N次示值的平均值,(4-4)式中,下标表示K个称量点中某一个称量点,=1,2,3,……K;下标表示同一个称量点N次检定值中某一次检定,=1,2,3,……N。求出偏差,即剩余误差(4-5)求出均方根误差,即标准偏差(4-6)4.剔除粗大误差在偏差中凡符合>3的称重示值,应予剔除。5.取3作为被检称量点的偶然极限误差。6.求出每个称量点的系统误差,即:(4-7)7.求出最大综合误差,即:=3+(4-8)8.求出各称量点的相对误差:(4-9)9.得到各称量点的精度:(4-10)检测误差值,若有超出标准的项可认定为不合格。结论本设计从课题研究出发,基于目前电子天平所存在的短板与不足,同时立足于当前的市场需求和社会的需要,根据本科期间所学到的关于测试技术与传感器相关理论,计算机语言及程序设计,数字信号处理以及数字逻辑电路等相关学科的理论知识来设计一个新型智能电子天平。在进行项目设计方案的制订、电路硬件的选取及设计以及系统的软件程序开发等工作时,对相关资料进行了多项以及繁复的查阅浏览,同时请教了专业人员的意见,也向我的指导老师咨询了很多的设计细节和理论,经过了几个星期的设计,研发以及投板制作,终于完成了本次的项目设计。本项目成功设计了一个用单片机控制的高精度智能电子天平,该电子天平具有许多优点,体积小便于携带、称量准确度高,另外还额外附加了加个计算以及批量显示的功能。该电子天平不仅可以一些日常的称量使用,稍加改造也可以投入商用,满足市场贸易需求。当然,由于受设计时间的限制,以及本人在所涉及的知识水平的不足和相应的理论的欠缺,因此在整个设计过程中,有些方面还不够完善,设计的功能不够完美,同时也不可避免地会存在一些问题还没有解决,但是本次设计整体都是达标的,所有功能也大体能够达到预期的设计要求。至于目前还存在的一些问题及遗憾之处,则有待于以后的不断学习、研究、提高。
参考文献[1]施汉谦,宋文敏·电子天平技术[M]·北京:中国计量出版社,1991施昌彦·电子称重技术现状和发展趋势[DB]·/newsletter/year2005/597.htm,2005-1-15[3]李军,贺庆之·检测技术及仪表[M]·中国轻工业出版社[4]曲波,肖圣兵,吕建平·工业常用传感器选型指南[M]·清华大学出版社[5]顾理敏,宋玮·电子称[M]·北京:计量出版社,1982[6]张锡富·传感器[M]·机械工业出版社[7]何希才,薛永毅·传感器及其应用实例[M]·机械工业出版社[8]范立南,李雪飞·单片微型计算机控制系统设计[M]·人民邮电出版社[9]杨振江,蔡德芳·新型集成电路使用指南与典型应用[M]·西安:西安电子科技大学出版社1998.10[10]徐爱钧·智能化测量控制仪表原理与设计[M]·北京:北京航空航天大学出版社,1995[11]周明德,蒋本珊.微机原理与接口技术(第2版)[M].北京:人民邮电出版社,2007[12]罗志增,薛凌云.测试技术与传感器(第1版)[M].西安:西安电子科技大学出版社,2008
附录电子天平的信号采集、处理、显示的程序:#include<reg52.h>#include<intrins.h>#include<string.h>bitbdataflag_key;#include"main.h"#include"LCD1602.h"#include"HX711.h"#include"keyboard.h"#include"eeprom52.h"#defineucharunsignedchar#defineuintunsignedintunsignedlongHX711_Buffer=0;unsignedlongWeight_Maopi=0;unsignedlongWeight_Maopi_0=0;unsignedintqupi=0;longWeight_Shiwu=0;//键盘处理变量unsignedcharkeycode;unsignedcharDotPos; //小数点标志及位置uintGapValue,GapValue1;unsignedcharidataprice;//单价,长整型值,单位为分unsignedcharidatamoney;//总价,长整型值,单位为分//定义标识volatilebitFlagTest=0; //定时测试标志,每0.5秒置位,测完清0volatilebitFlagKeyPress=0;//有键按下标志,处理完毕清0//校准参数//因为不同的传感器特性曲线不是很一致,因此,每一个传感器需要矫正这里这个参数才能使测量值很准确。//当发现测试出来的重量偏大时,增加该数值。//如果测试出来的重量偏小时,减小改数值。//该值可以为小数//#defineGapValue349sbitLED=P1^1;volatilebitClearWeighFlag=0;//传感器调零标志位,清除0漂/******************把数据保存到单片机内部eeprom中******************/voidwrite_eeprom(){ SectorErase(0x1000); GapValue1=GapValue&0x00ff; byte_write(0x2000,GapValue1); GapValue1=(GapValue&0xff00)>>8; byte_write(0x2001,GapValue1); byte_write(0x2060,a_a); }/******************把数据从单片机内部eeprom中读出来*****************/voidread_eeprom(){ GapValue=byte_read(0x2001); GapValue=(GapValue<<8)|byte_read(0x2000); a_a=byte_read(0x2060);}/**************开机自检eeprom初始化*****************/voidinit_eeprom(){ read_eeprom(); //先读 if(a_a!=1) //新的单片机初始单片机内问eeprom { GapValue=3500; a_a=1; write_eeprom(); //保存数据 } } //显示单价,单位为元,四位整数,两位小数voidDisplay_Price(){LCD1602_write_com(0x8c); LCD1602_write_data(price/100+0x30); LCD1602_write_data(price%100/10+0x30); LCD1602_write_data('.'); LCD1602_write_data(price%10+0x30);}//显示重量,单位kg,两位整数,三位小数voidDisplay_Weight(){LCD1602_write_com(0x83); LCD1602_write_data(Weight_Shiwu/1000+0x30); LCD1602_write_data('.'); LCD1602_write_data(Weight_Shiwu%1000/100+0x30); LCD1602_write_data(Weight_Shiwu%100/10+0x30); LCD1602_write_data(Weight_Shiwu%10+0x30);}//显示总价,单位为元,四位整数,两位小数voidDisplay_Money(){//unsignedinti,j;if(money>9999) //超出显示量程{LCD1602_write_com(0x80+0x40+6);LCD1602_write_word(".-");return;}if(money>=1000){LCD1602_write_com(0x80+0x40+6); LCD1602_write_data(money/1000+0x30); LCD1602_write_data(money%1000/100+0x30); LCD1602_write_data(money%100/10+0x30); LCD1602_write_data('.'); LCD1602_write_data(money%10+0x30);}elseif(money>=100){LCD1602_write_com(0x80+0x40+6); LCD1602_write_data(0x20); LCD1602_write_data(money%1000/100+0x30); LCD1602_write_data(money%100/10+0x30); LCD1602_write_data('.'); LCD1602_write_data(money%10+0x30);}elseif(money>=10){LCD1602_write_com(0x80+0x40+6); LCD1602_write_data(0x20); LCD1602_write_com(0x80+0x40+7); LCD1602_write_data(0x20); LCD1602_write_data(money%100/10+0x30); LCD1602_write_data('.'); LCD1602_write_data(money%10+0x30);}else{LCD1602_write_com(0x80+0x40+6); LCD1602_write_data(0x20); LCD1602_write_com(0x80+0x40+7); LCD1602_write_data(0x20); LCD1602_write_com(0x80+0x40+8); LCD1602_write_data(0+0x30); LCD1602_write_data('.'); LCD1602_write_data(money%10+0x30);}}//数据初始化voidData_Init(){price=0;DotPos=0;}//定时器0初始化voidTimer0_Init(){ ET0=1;//允许定时器0中断 TMOD=1;//定时器工作方式选择 TL0=0xb0; TH0=0x3c;//定时器赋予初值 TR0=1;//启动定时器}//定时器0中断voidTimer0_ISR(void)interrupt1using0{ucharCounter; TL0=0xb0; TH0=0x3c;//定时器赋予初值 //每0.5秒钟刷新重量Counter++;if(Counter>=10){FlagTest=1; Counter=0;}}//按键响应程序,参数是键值//返回键值://12310 //10:清零重量,兼去皮功能 //45611 //11:清除单价//78912 //12:显示数值偏大调节按键//1401513 //14:无功能(用于扩展)15:小数点13:显示数值偏小调节按键voidKeyPress(ucharkeycode){ switch(keycode) { case0: case1: case2: case3: case4: case5: case6: case7: case8: case9: //目前在设置整数位,要注意price是整型,存储单位为分 if(DotPos==0) { //最多只能设置到千位 if(price<100) { price=price*10+keycode*10; /*输入第一个数字时,price是等于0的,当第一次输入一个数字,例如输入5,那么计算:price=price*10+5*10=50 我们看到液晶上显示的是05.0,但是在程序里直接处理小数显示是比较麻烦的,所以我们是将这个数乘以10,扩大10倍后处理的 那么当第二次输入数字时,例如输入4,那么计算:price=50*10+4*10=540,液晶显示的就是54.0 */ } }//目前在设置小数位 elseif(DotPos==1)//小数点后第一位 { price=price+keycode; DotPos=2; } Display_Price(); break; case10://去皮键 if(qupi==0) qupi=Weight_Shiwu; else qupi=0; Display_Price(); // FlagSetPrice=0; DotPos=0; break; case11: //删除键 price=0; DotPos=0; Display_Price(); break; case12: //加 if(GapValue<10000) GapValue++; break; case13://减 if(GapValue>1) GapValue--; break; case15://小数点按下 DotPos=1;//小数点后第一位 break;}}//*******
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 22322.1-2025信息技术中文编码字符集汉字24点阵字型第1部分:宋体
- 2025年证券从业资格的知识复习试题及答案
- 版食品代理合同协议
- 考点分析2025年证券从业资格证考试试题及答案
- 企业合同验资业务协议书
- 股票市场波动率的测算与应用考题及答案
- 前瞻性分析2025年特许金融分析师考试试题及答案
- 推动学校文化的传承与创新计划
- 教学活动安排细则计划
- 教你解锁注册会计师试题及答案
- 采油工程试题及答案
- 小学科学阅读试题及答案
- 找最小公倍数案例北师大五年级下册数学
- 基因组学在临床的应用试题及答案
- 统编版2024-2025学年语文六年级下册期中测试卷试题(有答案)
- 企业供应商管理制度
- 新生儿早产儿个案护理
- 2024-2025学年人教版初中物理八年级下册期中检测卷(第七章-第九章)
- 维修人员管理奖惩制度3篇1
- 《2025年CSCO肾癌诊疗指南》解读
- 手卫生知识宣教培训
评论
0/150
提交评论