杏林学院 修复的.docx
《杏林学院 修复的.docx》由会员分享,可在线阅读,更多相关《杏林学院 修复的.docx(46页珍藏版)》请在冰豆网上搜索。
杏林学院修复的
题目:
基于单片机的高精度电子秤设计
作者:
王文林
专业:
自动化(杏)
班级:
自111(杏)
指导教师:
娄德成
杏林学院××学部××系
××年××月
摘要
人们在平常的工作、学习和生活中经常要使用电子秤来测量物体重量,因此在检测时电子秤的精度就显得格外重要。
随着电子测量方式的变化,其对人们生活质量的影响也越来越大。
老式的纯机械构造的杆秤、台秤、磅秤等测量工具渐渐的被人们丢弃,而电子秤凭借其测量迅速、操作简易和显示方便等许多优势而深受老百姓青睐。
本课题高精度电子秤的设计是基于单片机来实现的,单片机凭借其自身功耗低、易携带、处理速度快、功能稳定及价格低廉等优点被广泛应用于各个行业。
单片机与电子称重技术的结合无疑会使电子测量系统的发展愈加成熟。
论文设计了一种基于单片机的高精度电子秤的实现方案。
首先在对系统进行需求分析的基础上给出了一个总体设计,具体包括硬件开发和软件开发。
其中硬件平台采用stc89c52单片机作为控制各个功能模块的核心器件,外围设备包括电阻应变式压力传感器模块,用来测量物品的重量;用HX711模数转换芯片,它是一种24转换芯片并且自带放大电路可实现的精度为0.01g从而达到本设计的精度要求;采用4*4矩阵键盘来实现人机交互,比如物品的单价就可通过键盘的输入来改变;显示部分采用的是128*64点阵的JLX12864汉字屏来输出信息,另外该系统还具备超量程报警的功能,具体是由蜂鸣器和led指示灯来双重实现。
本次高精度电子秤软件设计部分,主要是由主程序设计模块和各个子程序设计模块组成的。
按照这种思想论文主要分为以下五个章节:
第一章为绪论部分,主要介绍目前国内外电子秤的发展现状;第二章为硬件设计,主要讲述每部分电路是如何设计的;第三章为软件设计,主要介绍主程序和子程序是怎样进行编写的;第四章为系统调试,第五章为总结部分。
最后对所设计的系统进行了调试和焊接。
在对软硬件仿真无误的基础之上,焊接完成具体的实物,并测试其功能及稳定性;实验结果表明,该系统能够达到称重、显示、报警的预期的功能,达到预期的设计目标,具有一定的实用价值。
关键词:
电子秤,单片机,压力传感器,液晶显示器
ABSTRACT
Peopleineverydaywork,studyandlifeoftenuseelectronicscalestomeasuretheweightoftheobject,sowhenthedetectionaccuracyofelectronicscalesisparticularlyimportant.Withthechangeofelectronicmeasurement,anditsimpactonpeople'squalityoflifeisalsogrowing.Steelyardoldpurelymechanicalstructure,platformscales,scalesandothermeasuringinstrumentsgraduallybeendiscarded,andtheelectronicscalewithitsrapidmeasurement,simpleandconvenientdisplayandmanyotheradvantagesandbypeopleofallages.Theissueofhighprecisionelectronicscaledesignisbasedonsinglechiptoachieve,byvirtueofitsownsingle-chiplowpowerconsumption,easytocarry,processingspeed,lowfunctionalstabilityandpriceadvantagehasbeenwidelyusedinvariousindustries.SCMandelectronicweighingtechnologywillundoubtedlycombinethedevelopmentofelectronicmeasurementsystemsbecomemoremature.
Thisdesignedamicrocontrollerbasedhighprecisionelectronicscaleimplementation.Firstly,basedonsystemneedsanalysisgivesanoveralldesign,includinghardwaredevelopmentandsoftwaredevelopment.Thehardwareplatformstc89c52SCMcontrolofeachmodulecorecomponents,peripheralsincludingresistivestraingaugepressuresensormoduleformeasuringtheweightofgoods;useHX711ADCchip,whichisa24converterchipandcomesenlargecircuitcanbeimplementedsoastoachieveanaccuracyof0.01gprecisionofthedesign;with4*4matrixkeyboardtoachievehuman-computerinteraction,suchasunitpriceitemscanbechangedbykeyboardinput;adisplaypartis128*64pointsCharacterarrayJLX12864screentooutputinformation,inadditiontothesystemalsohasthefunctionofover-rangealarm,specificallybythebuzzerandledlightstoachievethedouble.Thehigh-precisionelectronicscalesoftwaredesign,mainlybythemaindesignmoduleanddesignmoduleconsistingofvarioussubroutines.Accordingtothisthinkingthesisisdividedintofivechapters:
Thefirstchapterisanintroduction,wedescribethecurrentstatusofthedevelopmentofdomesticandforeignelectronicscales;ChapterIIhardwaredesign,focusesonhoweachpartofthecircuitdesign;andthirdlychapterofsoftwaredesign,focusesonhowtoconductthemainprogramandsubprogramiswritten;chapterforthesystemdebugging,ChapterVSummarysection.
Finally,thedesignofthesystemdebuggingandwelding.Inthesimulationofthehardwareandsoftwareonthebasisofcorrectweldingaccomplishspecificobjects,andtestitsfunctionalityandstability;experimentalresultsshowthatthesystemcanachieveload,displayandalarmfunctionsintendedtoachievethedesireddesigngoals,Ithassomepracticalvalue
目录
摘要2
ABSTRACT3
第一章绪论6
1.1选题背景与意义6
1.2电子秤的研究现状与发张趋势6
1.3本设计的主要工作7
第二章系统方案设计8
2.1系统设计总体要求8
2.2设计的总体方案8
2.3各模块的分析与选型9
2.3.1称重传感器的选择9
2.3.2主控制器的选择11
2.3.3模数转换器的选择14
2.3.4显示器的选择16
2.3.5键盘的选择18
2.3.6电源电路的设计18
2.3.7报警模块的设计19
2.4本章小结19
第三章系统软件的设计21
3.1编程语言的选择21
3.2主程序的设计22
3.2.1函数声名以及变量定义22
3.2.2主程序设计的思路23
3.3子程序的设计24
3.3.1A/D转换子程序的设计24
3.3.2显示子程序的设计25
3.3.3键盘扫描子程序的设计26
3.3.4价格计算子程序的设计27
3.3.5报警子程序的设计28
3.4本章小结28
第四章系统调试29
4.1软件设计调试29
4.1.1程序编写软件29
4.1.2仿真软件30
4.2硬件调试31
4.3本章小结33
第五章总结34
致谢35
参考文献36
附录电子秤源程序37
第一章绪论
1.1选题背景与意义
电子秤是人们日常生活中需要经常使用的一种电子器件,在高档商场、大型超市和众多的物流配送中心等场合运用极为普遍。
与老式的纯机械式测量器材相比较,电子秤拥有很多优点如:
检测精度高、使用范畴广、方便携带、易于操作等等。
作为一种全新的计量工具,它在工作原理、形状体积、原料和布局上都与以往的计量方式有很大的区别。
目前市面上的称量工具仍存在很多弊端,比如:
精度不够高,体积过于庞大,运行时间过长,容易坏,而且一旦发生故障修理起来非常困难。
于是,研究并设计出一套满足市面需求的高精度电子秤就显得非常的有必要了。
1.2电子秤的研究现状与发展趋势
全世界范围内只有少数的发达国家在测量称重领域,不论是从科技程度还是从产品生产的规模等方面已经到达一个比较高的水准,所以整体的水平还不高。
国外有家叫梅特勒公司出产的一种型号为bbk4其精确度方面已经到达了1mg,速率约每秒一次,所以当下电子秤在精度方面已经达到了一个比较高的水平但在运行的速度方面还有待提高。
近几十年来,电子计量称重体系在我国从最原始的机械和电气的组合式,已经发展到现在的电子化和数字化。
目前,用于测量称重的产品在中国的变化发展的模式为:
从静态测量称重转变为动态测量称重,从模拟测量转变为数字测量,从单一的参数测量转变为多参数的测量,电子称重系统技术及其应用已发展到一种新的模式。
但是目前中国的电子测量称重技术和国外的20世纪90年代的电子称重技术水平差不多,仅有少量与电子相关的科学技术如今已经超过国外。
所以国内的电子秤水平还有待提高。
用于检测重量的测量工具它在各类行业的应用逐渐表现出许多优势比如:
检测的准切、测量速率快、携带方便等诸多优点,因为有这些优点所以它逐步代替了古老的纯机械式的测量工具,现已经成为称重测量领域的主导工具。
测量称重用的电子秤品种众多,它能够运用的领域也渐渐在增多。
按照最近几年来电子测量称重技术和品种的变化情况,电子类产品总变化方向为:
小型化、模块化、智能化、集成化,电子秤产品的技术逐渐向运算速度快、准切性高、可应用于各种环境等特点发展[1]。
小型化:
高度低、体积小、重量轻,即薄轻小。
为了使电子产品的承载器能够达到薄、轻体积小、,所以人们通常采用刚度大并且重量轻的方形闭合截面形状的薄壁型材料和空心波纹形状的铜板。
模块化:
电子衡器的承载器是用一体或分体组合的模块式,可以产生新的规格和品种。
使用这种模块化组合不仅可以提高产品的可靠性和通用性,而且也可以提高工厂的生产效率,降低了工厂的成本。
智能化:
智能化就是利用计算机的智能控制来增加电子产品的显示控制功能,使电子产品在原有的功能基础上增加自诊断、判断、自组织和自适应等功能。
集成化:
对于有些结构和品种的电子衡器,可以实现称重传感器和承载器一体化。
综合性:
随着电子称重和电子衡器产品应用的范围不断地增加,它已经慢慢渗透到一工业自动控制的领域。
对于有些商业用的电子计价秤,它们只具备称重、显示、计价等功能还远远的不够,现代的商业系统要求越来越高需要它能够提供各种关于销售的信息,把管理自动化与称重紧密地融合在一起,使得称重、、进库、计价、销售管理共同化。
这就需要电子计价秤电子能够和计算机联网,把电子称重系统和计算机系统融合在一起,形成系统一体化。
组合性:
在工业生产或者工艺流程中,称重系统还应该具有可组合性,所谓可组合性就是指测量时候的范围可以任意地人为设定;硬件能够根据程序的不同进行扩展和修改;输入输出数据和编程指令可以使用不同的语言,并且能够与外部的控制设备进行联系。
1.3本论文主要研究内容
目前嵌入式系统的发展正如日中天,其与电子称重技术的结合会大大降低电子秤的开发成本,使其具备更加广阔的发展空间。
基于以上观点,论文旨在设计出(主要功能描述)系统。
论文结构安排如下:
第一章,绪论。
主要介绍选题的研究背景及意义,国内外电子称重技术的研究现状及发展趋势。
第二章,系统的方案设计。
在对该系统需求分析的基础上给出了电子秤的总体设计架构,搭建了整个系统的硬件平台,(包含各模块的选型,外围电路的设计等)。
第三章,系统软件的设计。
包含主程序和子程序的编写等。
第四章,系统调试。
首先对软硬件进行仿真,仿真实现之后焊接完成实物电路,并测试其功能及稳定性。
第五章,对论文工作做出总结,并进行了展望。
第二章系统方案设计
整个电子秤系统是由硬件与软件构成的,硬件部分主要由单机片、称重传感器、模数转换器、键盘、显示器等部分构成的,软件部分根据其功能要求,也为了方便编程与调试,采用模块化的设计思想,主要将其分为数据采集模块、显示模块、键盘交互、价格计算以及报警模块等部分。
整个系统唯有软件和硬件密切联系,才能够在一定的程度上让系统的性能发挥到极致。
在计划设计硬件之初,我们就应该思考相应软件设计的方法并且软件的设计必须依托硬件设计和系统所应该达到的功能,也就是说硬件和软件应该相互依托一起设计。
这章最重要的任务为制定高精度电子秤的整体框架以及设计每部分电路[2]。
2.1系统设计总体要求
(1)电子秤的称量范围:
0~10kg;称重误差不不超过0.1kg
(2)用LCD显示当前所称重物的重量、单价以及总价
(3)用键盘输入物品的单价
(4)此外系统还应当具有超量程报警的功能即当当前称重的物品的重量大于电子秤的量程就开始进行蜂鸣器和信号灯双重报警
2.2设计的总体方案
首先用压力传感器检测因压力的变化而产生的微弱电信号,但是压力传感器传递过来的这种电信号很小需要对这种微弱的信号进行放大,然后把经放大器放大后的模拟信号再经过模数转换器把这种模拟信号转变为我们所需要的数字信号,最终把转换过的信号送进我们选定好的stc89c52单片机中。
单片机通过处理运算之后,计算出目前进行称重东西的重量,再用键盘对货物的价格进行输入,最后通过LCD对货物的价格、总重量和总价进行显示。
依照这次电子秤设计所要求达到的功能要求,设计主要由五方面构成它们是:
单片机控制方面、液晶显示器方面、传感器测量方面、系统供电和人机交互部分,本次电子秤的设计整体方案如图2.1所示[3]。
图2.1,设计的整体方案
2.3各模块的分析与选型
2.3.1称重传感器的选择
电子秤对物体质量检测的精确度与否取决于所选取的传感器,因此如何选取一款合适的传感器就显得至关重要,要考虑的因素如下:
1、传感器的数量及量程
称重传感器本身具有单调性,其主要参数指标是灵敏度、总误差和温度漂移[4]。
(1)灵敏度
电子称所用到的专用传感器它的灵敏度定义为:
全量程的输出电压和输入电压的比值,一般我们最常用值是2mV/V。
假如我们使用的是5V的输入电压和2mV/V灵敏度,那么它的的满量程的输出电压是10mV。
但是人们想要用它的线性度最良好的部分作为测量量程,则应该只能用总量程2/3,所以总量程的输出电压约是6mV。
如果在恶劣的工业情况下使用电子秤,想要在6mV满量程内检测微小的电信号的变化并不是一件简单事情。
(2)总误差
人们经常把称重传感器的输出误差和输入误差之比作为总误差的定义,常用的电子秤总误差约是百分之零点零二,这个参数非常有用因为其规定人们利用假想信号调节电路能够实现的精准度,而且给A/D转换器分辨率的选择和滤波器的选择提供了参考。
(3)温度漂移
称重传感器也不可避免地要发生与时间有关系的漂移。
当前市场上人们经常使用的电子称重传感器的品种有[5]:
电阻应变式压力传感器、压电式压力传感器和电容压力传感器。
到底选用什么样的传感器应该考虑很多因素比如:
测量的稳定性、、使用寿命、安装环境和精度等等。
不同种类的压力传感器有不同的特点,经过仔细的研究,反复对比不同压力传感器的特点最终我选用电阻应变式压力传感器作为本次设计检测物体重量的测量工具。
它是由四块可变性的应变片、导线和弹力元件等部分构成。
其里面的线路是根据惠更斯电桥的原理:
当弹性物体接受重量发生形变时,应变片受到拉伸或压缩从而使得电阻阻值的转变,最终致使电桥原来的平衡被打破,电阻应变式压力传感器测量原理如图2.2所示。
当有压力P作用于上梁时R1、R3承受重量拉伸从而导致电阻值增长;而R2、R4被外力压缩阻力变小,因此电桥丢失原先的平衡从而使得电路的电压有一定的差距。
这种电压与作用于上梁的压力P形成正比,从而把非电量转换为电的信号输出。
综上所述,选择CSL-A型传感器作为本次设计的称重模块,它的量程为10kg,其工作原理如图2.3所示
图2.2,传感器测量原理图
2.3.2主控制器的选择
单片机是本次设计最重要的环节,它要能够接收来自于模数转换器变化后的信号同时也可以接收到来自于键盘的输入信号,单片机经过计算后将价格通过LCD显示器显示出来,当重量超过称重范围时主控制器还应该控制报警装置让其报警。
综上所述,这次电子秤设计采用的是stc89c52型单片机
(1)STC89C52单片机概述
STC89C52型单片机是STC公司生产的一种高性能、低功耗CMOS8位控制器,是高速/低功耗/超强抗干扰的最新一代的8051单片机。
它编程用的代码与以前的8051一模一样,但是速率是8051的9-13倍。
(2)STC89C52单片机主要参数
增强型8051单片机,6时钟/机器周期和13时钟/机械周期随意选择,指令代码与传统8051完全兼容;
●工作电压:
5.5V-3.3V(5V单片机);
●工作频率范围:
0~40MHz相当于普通8051的0~80MHz,实际工作时候的频率可达48MHz
●用户应用程序空间4K/8K/16k/32K字节;
●片上集成512字节RAM;
●通用I/O口(32/36个),复位后为准双向口/弱上拉(普通8051传统I/O口);
●ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器/仿真器。
●每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过120mA;
●可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片;
●有EEPROM功能;
●看门狗;
●内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地);
●时钟源:
外部高精度晶体/时钟,内部R/C振荡器;
●用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟;
●常温下内部R/C振荡器频率为:
5.0V单片机为:
11MHz~17MHz;
●共4个16位定时器,两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器,再加上2路PCA模块可再实现2个16位定时器;
●外部中断I/O口4路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块,PowerDown模式可由外部中断唤醒;
●通用全双工异步串行口(UART);
●工作温度范围:
-40~+85℃(工业级)/0~75℃(商业级);
●封装:
PDIP-40,PLCC-44[6]。
(3)STC89C52单片机管脚及封装
STC89C52型有许多种模式用来拼装,这次基于单片机的高精度电子秤设计中我选取DIP-40的封装如图2.3所示,主要功能表如表2-1
图2.3,单片机管脚图
主要功能特性
256*8bit内部RAM
32个双向I/O口
8K可反复擦写FlashROM
兼容MCS51指令系统
共6个中断源
时钟频率0-24MHz
2个串行中断
可编程UART串行通道
2个外部中断源
3个16位可编程定时/记数据中断
表2-1主要功能表
(4)本次设计用到的单片机的电路图如图2.4
在图中DOUT和PDSCK为STC89C52单片机和HX711专用A/D转换器互换电路时使用的通讯接口[7];LCDCS、LCDRES、LCDRS、LCDSDA、LCDSCK为单片机与液晶显示器相连的接线;beep是声音报警接口,alert是指示灯报警接口它们与本次设计的附加功能报警电路相连;TXD和RXD为串口通新与电源电路相连;C2、C3和Y1构成单片机的晶振电路[8]。
图2.4,主电路图
2.3.3模数转换器的选择
HX711是一种24位模数转换器内部的集成芯片[9]和其余种类的集成芯片相比较,hx711具有许多其他芯片所达不到的优点,并且它使得设计出来的电子秤成本远远下降了,而且设计出来的电子秤在使用时性能更高,速度更快。
该模数转换器和旁边的MCU编程相当容易,A/D芯片里的全部控制信号是由芯片的管脚驱动它运行,人没有必要再对它里面的寄存器进行控制,它和放大器相连的通道可任意选择通道a或则通道b,模数转换器内有稳压电源能够向称重系统提供电源并且也可以为它自己提供电源,整个系统没必要设计其他的供电装置,HX711里面的结构如图2.5所示,其管脚如图2.5所示。
图2.5,模数转换器内部图
图2.6,管脚图
HX711芯片用于本次电子秤设计时的电路如图2.7所示,在图2.7中当芯片工作时14号引脚接地,用十赫兹的输出数据速度控制输入即15号引脚接地,DOUT与PD-SCK与单片机相连,INNA与INPA与