电子秤的设计 毕业论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
届毕业设计(论文)
题目: 电子秤的设计
学院:电子与信息工程学院
专业: 电子信息工程
学号:
姓名:
指导老师:
起讫日期:
2014 年 06 月
电子秤的设计
摘要
智能电子秤是日常生活中经常使用的一种测重装置,它采用了电子技术、传感器技术等,测量的误差小,可以将“精确、快速、自动”的要求很好的满足。
现实生活中,在学校、市场、工厂、医院等地方都得到了广泛的推广和应用。
本设计主要以单片机为中心模块,针对电子秤的自动称重、自动处理数据、自动显示来进行设计。
本系统中的数据采集模块主要负责将压力这个非电量转化为电量;信号处理模块主要负责对信号的放大和模/数转换;单片机控制模块主要负责数据的进一步处理、控制端口的输出等;显示模块主要负责显示重量、单价、总价;程序设计方面采用的模块化的设计思想。
通过对这些模块的方案选择以及硬件设计,详细的介绍了本系统是如何进行数据采集、数据处理以及显示的。
关键词:电子秤变阻式压力传感器单片机 A/D转换器
The design of electronic scales
Abstract
Intelligent electronic scale is one of the weighing device that we are frequently used in daily life, which uses electronic technology, sensor technology with a small measurement error. And it can be nice to meet the
requirements--"precisely, quickly and automatically". In real life, it has been widely promoted and applied in schools, markets, factories, hospitals and other places.
The system usesthe single-chip as central module,being designedfor automatically scales for weighing, automatic data processing, automatic display.Data acquisition module is mainly responsible for the pressure of the non-power into electricity;The signal processing module is mainly responsible for signal amplification and A / D converter ;SCM control module is mainly responsible for the further processing of data, the control output port, etc.;The display module is mainly responsible for displaying the weight, unit price, total price; modular design concept adopted in the design process.Through selecting the scheme of these modules and designinghardware, describes in detail how the system for data acquisition, data processing and display.
Key Words:Electronic scales; variable resistance type pressure sensor; microcontroller; A/D converter
目录
摘要Ⅰ
AbstractⅡ
第一章绪论1
1.1引言1
1.2 国内外的发展现状1
1.3 研究的目的和意义1
1.4 总体设计思路2
1.5 论文结构2
第二章系统方案设计3
2.1系统整体设计方案比较3
2.2 系统各模块电路设计方案比较4
2.2.1 单片机处理模块4
2.2.2 数据采集模块5
2.2.3 信号处理模块6
2.2.4 显示模块7
2.2.5 按键电路7
2.3 具体实施方案简介8
第三章系统硬件设计9
3.1 基于STC89C52的单片机控制模块9
3.1.1 STC89C52简介9
3.1.2 STC89C52引脚说明9
3.1.3 STC89C52具体电路设计10
3.2 数据采集模块11
3.3 信号处理模块12
3.3.1 HX711简介12
3.3.2 HX711引脚图13
3.3.3 信号处理模块电路设计14
3.4 显示模块14
3.4.1 LCD1602简介14
3.4.2 LCD1602引脚图15
3.4.3 显示模块电路设计15
3.5 按键电路16
3.5.1 4*4按键简介16
3.5.2 按键电路设计17
3.6 报警模块17
3.6.1 报警模块介绍17
3.6.2报警模块电路设计17
3.7 总结18
第四章系统软件设计19
4.1 软件开发环境19
4.2 系统软件设计流程图19
4.2.1 主程序设计流程图19
4.2.2 系统显示部分流程图20
4.2.3 信号处理模块流程图21
4.3 总结22
第五章系统仿真及硬件调试23
5.1系统仿真23
5.1.1系统仿真图23
5.1.2 系统仿真结果23
5.1.3 系统仿真误差分析25
5.2 系统整体调试25
5.2.1 系统实物调试结果图25
5.2.2 系统实物调试误差分析:27
总结28
参考文献29
致谢30
附录31
第一章绪论
1.1引言
电子秤是日常生活当中经常会用到的一款衡器装置,它不仅体积小、读数方便,而且精确度高,操作十分简单方便。
正因为上面这些优点,才能够被广泛应用与商场、医院、工厂等地方。
相对于应用普通杠杆原理的衡器而言,电子秤有着很大的优点,它的精度比杠杆称重精度高的多,应用受限较少,所以应用非常广泛。
为了使生活变得更加方便,研究和制作各种不同规格的电子秤有着非常重要的意义。
1.2 国内外的发展现状
现今社会,无论是在企业、医院交易市场、交易市场,还是小到每个家庭,电子秤可以说是随处可见。
它不仅拥有很多种类,而且拥有巨大的市场占有量。
从日常生活中的简单的测量重量到工厂里产品的重量的检测,电子秤在越来越多的方面得到应用。
随着市场需求的不断变化以及测重技术的飞跃发展,电子秤的技术性能趋向于高可靠性、高效率、高精确度。
总的来说,电子秤技术正越来越模块化、集成化以及智能化。
国际社会上,很多西方发达国家研制出的电子秤准确度高,可靠性高,可以说已经达到了很高的水平。
他们已经研制了具有较高准确度、防水、耐腐蚀以及在高气压下正常工作的电子秤。
目前,我国在电子秤称重技术上虽然与西方发达国家仍有一些差距,但是研究专家们正在不断努力,也取得了不少理论成果。
我们国家已经成功研制出了省电、功耗小以及能够利用光能的电子秤,不仅精度高,而且节能环保。
1.3 研究的目的和意义
电子秤的设计包括很多方面,不仅需要了解电子秤的各个组成部件,而且需要了解电子秤实际生活中的应用情况。
要顺利的完成电子秤的设计,需要去了解传感器的原理、A/D 转换器的原理及应用、单片机的应用以及完成程序算法的设计,这些方面需要我们运用所学的各种软件以及硬件方面的知识,可以巩固我们对于专业知识,以及其他相关知识的了解。
1.4 总体设计思路
根据本课题的背景以及设计要求,要实现称重功能,首先要将物体重量这个非电量转化为电量,因此需要传感器模块,传感器输出的的电量与物体的重量有一定的对应关系;但是只依靠这一关系推算出的重量不精确,而且不直观,所以需要对传感器输出的数据进行处理;信号的处理一般选用单片机来进行,但是单片机输入的是数字信号,而传感器的输出是模拟信号,因此在此之前还要对信号进行模/数转换,再输入单片机进行处理;单片机输出的信号可以采用数码管显示,或者是LCD显示,这样得到的结果不仅准确性得到提高,而且比较直观,给用户更好的体验。
除了以上功能模块,本设计还加入了报警模块。
1.5 论文结构
本论文包括中外文摘要、目录、正文、总结、参考文献、致谢、附录几大方面。
正文部分第一章为绪论,第二章为系统方案设计,第三章为系统硬件设计,第四章为系统软件设计,第五章为系统仿真及硬件调试。
第二章系统方案设计
2.1系统整体设计方案比较
根据上面的设计思路,可以衍生出很多的设计方案,现列出三种方案如下:
方案一简单的输入输出方案,如图2-1:
图2-1方案一
这个方案是通过直接将物体放到传感器上,然后将传感器的输出接到万用表,再根据传感器特性推算出物体的重量,操作起来十分方便。
但是也有很多的局限,这种方案的电子秤只能实现基本的秤重功能,而不能实现外部数据的输入,因此无法实现手动输入一些参数;而且得出物体重量非常麻烦,不能直接看出重量是多少,所以人机交换界面不理想,达不到购物清单的要求。
方案二在方案一的基础上,可以通过将信号放大以及进行模/数转换来提高结果的精确度,并使用显示模块可以使系统显示字符,使界面更直观,而且加入键盘模块,实现人机交互功能如图2-2:
图2-2方案二
这种方案设计的电子秤不仅有了信号处理这一环节,使精度得到了很大的提高,而且可以通过键盘手动输入物品的单价,并能够显示出物品的重量、单价以及总价,拥有很好的人机交互界面。
通过对比上述三种方案的优缺点,在考虑到设计的成本以及可行性前提下,本次设计选择使用第三种方案设计完成了最终的电子秤方案、最终的硬件设计方案图。
除上面这些功能模块外,本设计还加入了报警模块作为扩展功能,方案图2-3如下:
图2-3 系统整体方案图
2.2 系统各模块电路设计方案比较
2.2.1 单片机处理模块
本系统的中心控制模块即单片机控制模块,它在整个系统中负责数据的处理、交换等作用。
本次设计中的键盘输入信号、信号处理模块的输入信号,都将被输入到中心模块中进行数据的进一步处理。
不仅如此,此中心控制模块还要能够输出显示控制信号、信号处理控制信号、报警信号等等。
显然,作为整个系统的中心控制芯片,单片机扮演着一个中心枢纽的角色,不仅有信号的输入,也有信号的输出,具有十分重要的地位。
因此,在选用这种中心控制芯片的时候,最好能够选用内存大,可靠性高,速度快而且价格便宜的芯片。
在对比市场上众多的单片机芯片后发现,STC89C52相对于其他芯片可以很好的完成上面的功能,并且拥有许多自身的优点。
STC89C52是一种8位微控制器,采用串口直接下载,抗干扰能力相对更好一点,兼容性也不错,而且成本不高。
因此,本次设计的中心控制芯片选用的是STC89C52。
2.2.2 数据采集模块
数据采集模块电路的作用是将物体的重量这个非电量,转换为电压或者电流这些电量形式,以便后续的处理、输出,因此需要用到压力传感器。
方案一采用压电式压力传感器 晶体的正压电效应是压电式压力传感器的主要工作原理。
正压电效应是指当改变外力的大小时,晶体内部的电极性发生改变,所带的电荷量也发生改变。
因此,可以通过测得改变的电荷量的大小,来得到施加的外力的大小。
市场上的压电式传感器种类很多,它们都有体积小,动态性好等优点。
但是该传感器的弱点也比较明显:内阻较大、功率偏小,防噪声性能不是很突出,输出特性被严重影响,因此由它输出的能量比较薄弱,需要设计复杂的外接电路进行矫正。
方案二采用电容式压力传感器 电容式传感器是一种可以将压力、位移等非电量的变化转换为电容量的变化的传感器装置。
它的优点是灵敏度高、简单、动态响应良好、测量可以不用接触等。
一般我们借助平行电容器来解释说明电容式传感器的工作原理,两块平行的金属板上面的电容量(不考虑边缘效应)为:
其中:r ε——介质的相对介电常数;o ε——真空中的介电常数;A ——平行板覆盖的有效面积;d ——平行板间的距离。
当被测量物体的重量发生改变,并进而改变等式中r ε、o ε、A 、d 的大小时,电容量都会改变,从而将变化量转化为电量的输出。
然而,电容式压力传感器也有一些不足的地方:
(1) 初始时的电容比较小,因此会在杂散电路中产生较大的寄生电容。
(2)功率小、阻抗高。
由于平行板的尺寸较小,电容式传感器的电容量都比较小,因此它的容抗C X =1/ωC 很大,属于高阻抗的元件,所以负载能力不行;同时,由于P=2
o u ωC ,则当电容C 很小时,功率P 也就比较小。
因此,电容式传感器外界干扰的抵抗能力较弱,需要采取必要的抗干扰措施。
方案三采用电阻式压力传感器
d A
C r o εε=
电阻应变式传感器能够将各种力学物理量转换为电信号,主要是利用电阻应变效应制成的。
电阻式压力传感器以电阻应变片为主要部件,这种电阻应变片不仅可以单独用来充当传感器,而且能作为敏感元件构成力学量传感器。
电阻式压力传感器是一款常用的传感器,拥有很多的优点。
使用比较灵敏,测量精度高,稳定性较好,分辨力高;应用领域比较广泛,许多机械量传感器都可以使用应变片制作而成;体积小,结构简单;操作简单方便,用户体验较好,便于远距离测量和商品化发展;对环境要求不高,可以在恶劣情况下正常工作,适应能力出色,在频率响应方面性能优越。
综合对比分析以上三种传感器的优缺点,再考虑到本次设计的要求为称重X围0~5Kg,误差不大于 2g。
因此,为了提高设计准确性、精确度以及可靠性,本次设计选用的是第三种方案,即采用电阻式压力传感器。
2.2.3 信号处理模块
信号处理模块在本系统中包括信号放大与信号转换两个功能,所以应该包括信号放大模块与A/D转换模块。
方案一信号放大器采用AD620,A/D转换器芯片采用ADC0832
信号处理的两个部分可以分别由两个模块单独来完成。
信号放大部分一般可以使用AD620。
AD620是通过外接电阻来达到放大的效果,增益X 围可调,且精度高,成本低。
模/数转换部分可采用较为常用的ADC0832。
ADC0832是一款双通道,8位分辨率的A/D转换器,采用的是逐次逼近式的转换方法。
它的兼容性高,体积小,因此经常被大家使用。
将这两个模块连接形成电路,可以完成设计的指标,但是由于需要电路间的连接,所以会产生一些不可避免的误差和干扰,因此不是特别完美。
而且ADC0832的精度不算太高,对于需要高精度的电子秤来说,不是最好的选择。
方案二采用集成的高精度A/D转换器HX711
HX711内部不仅集成了信号放大模块,而且包含了一款高精度的24位A/D转换器。
不仅如此,HX711内部还集成了完成放大和转换功能所需要一些外围电路,比如稳压电源,时钟振荡器等。
它的优点是精确度高,成本低,抗干扰能力强卓越且响应迅速。
此外,HX711与单片机之间主要是通过管脚来驱动的,接口电路简单,不需要对芯片内的寄存器进行编程。
对比分析以上两种方案的优缺点,可以发现第二种方案更有优势,所以选择使用HX711作为信号处理模块的主要芯片。
这样不仅能够节省成本,而且可以大大的提高设计的准确性和可靠性。
2.2.4 显示模块
本系统中显示模块应该主要用于显示物体的重量、单价、总价,设计主要是力求使人机交换界面美观,因此选用合适的显示模块非常重要。
方案一 LED数码管显示
LED数码管是一款常用的显示器件,它内部由8个发光二极管组成,其中有7个组成“8”字形,还有一个用来显示小数点。
LED内部的发光二极管已经都连接了导线,只需要引出它们的公共电极就可以使用。
但是数码管可以显示的信息有限,当需要显示的信息较多时,就用需要将多个数码管级联,这样会导致硬件连接复杂,成本也会相应增加;此外,数码管对大部分字符不能很好的显示,容易出现闪烁现象。
方案二采用LCD液晶显示
液晶显示模块可以显示出字符,因此经常用来作为字符显示模块,在单片机应用中使用较多。
它不仅显示内容丰富,还拥有很多数码管不具备的优点。
LCD1602不仅功耗低、驱动电压小、显示信息量大,而且使用周期长,不会产生辐射与污染。
LCD1602属于液晶显示器件中最为常用的一种。
它的工作电压为5V,拥有8位数据总线和三个控制端口,并且还可以调节显示器的亮度,可以显示2行16个字符,并且具备液晶显示模块的所有优点。
对比分析以上两种方案的优缺点,虽然都能成功显示数据,但是考虑到设计精确度,以及人机交换界面的美观,本设计选用的是第二种方案,即利用LCD1602来做显示模块。
2.2.5 按键电路
按键电路模块主要用来手动输入物品的单价,实现人机交互的功能。
方案一专用键盘接口芯片式
专用键盘芯片内部不仅集成了接收键盘输入数据的模块,还带有显示接口,可以独立的处理对键盘的扫描、消除抖动以及编码问题。
因此,对于提高准确度和可靠性很有帮助,而且接口电路简单,使用起来十分方便,但是成本一般比较高。
方案二4*4矩阵薄膜键盘
4*4矩阵薄膜键盘属于薄膜开关的一种,由上电路、面板、下电路、隔离层四个部分组成,内部集成了16个小的按键开关,并且按照矩阵式的排列着。
它是一种近来非常流行的集功能性与装饰性于一体操作系统,不仅外形美观、体积小,而且密封性强,具有防尘、防潮等优点。
对比分析以上两种方案的优缺点,虽然都能实现按键输入的功能,但是考虑到成本的因素,而且第二种方案的可靠性相对也不低,并且还有很多其他优点,因此本设计选择第二种方案作为按键模块。
2.3 具体实施方案简介
根据上述各个模块方案的对比介绍,以及考虑到本次设计的要求,本次设计的硬件部分的中心控制芯片采用STC89C52。
由于电子秤设计的功能不是很多,所需要编写的程序量也就不大,因此不需要对STC89C52外扩其他的程序存储器,这样可以避免硬件的浪费。
除了单片机的最小系统,硬件部分还应该包括数据采集电路、信号处理电路以及数据显示电路。
数据采集模块内部最主要的器件是变阻式压力传感器。
为了尽量满足高精度的要求,选择的传感器必须要满足测得重量的误差在一定的X围之内。
但是由于传感器输出的信号一般比较微弱,因此需要对输出的信号进行信号的放大,这样就可以保证结果的可靠性。
不仅如此,由于单片接收到的信号必须是数字信号,因此还需要对数据进行模/数转换。
为了提高设计的精确度以及可靠性,减少不必要的误差,本设计选用专为电子秤设计的高精度的转换器HX711,不仅可以进行信号的放大,而且可以实现信号的模数转换。
在人机交互方面,主要通过键盘来实现,可以手动输入数字和已经设置好的控制命令等,来实现一些特定的功能。
本设计中,按键控制模块采用的是4×4矩阵薄膜键盘。
显示电路部分,本设计选择使用字符点阵式液晶显示器LCD1602,不仅人机交换界面较美观,而且可以一次满屏幕显示2行16个字符,可以实现购物清单的要求。
在扩展功能上,本设计添加了报警电路,当物品重量超过量程时,蜂鸣器就会发出警报声。
第三章系统硬件设计
根据设计的要求和指标,本设计应该包括以下模块(如图2-4):中心控制模块、数据采集模块、信号处理模块、显示模块、按键模块以及报警模块。
3.1 基于STC89C52的单片机控制模块
3.1.1 STC89C52简介
STC89C52是一种低电压,高性能S8位微处理器,它的程序存储空间为8K字节,数据存储空间为512字节,内带EEPROM存储空间为4K字节,I/O接口线为32位。
3.1.2 STC89C52引脚说明
STC89C52引脚图如下图3-1:
图3-1 STC89C52引脚图
STC89C52引脚功能说明,如表3-1:
表3-1 STC89C52引脚说明图
3.1.3STC89C52具体电路设计
在本设计中,STC89C52作为主控芯片,它应该包括振荡电路、复位电路、端口连接。
振荡电路由一个晶体振荡器和两个电容并接到XTAL1和XTAL2引脚。
由电容和石英晶体构成的振荡回路,构成了一个稳定的自激振荡器,为单片机内部的放大器提供振荡以及正反馈所需的相移条件。
电路中电容的作用是起振,一般情况下,电容值偏大虽然有利于振荡器的稳定,但是同时也会增加起振时间,所以电容值在许可X围内越低越好。
一般较常使用的电容值为15pf-30pf,本设计中采用的是30pf。
为保证较高的精确度,晶振频率则选用11.0592MHz。
具体电路图如图3-2:
图3-2 振荡电路图
本设计中复位电路采用的是上电复位的方式,通过电容充放电来实现,使用起来简单方便,只要接通电源就可以完成系统的复位初始化。
由上面晶振频率的选择可知,本设计的机器周期约为1us,为了保证复位信号高电平持续时间大于2个机器周期,上电复位电路中电阻与电容的选择由t=(3~5)RC来确定,因此可以选用电容为10uf,电阻为10K。
具体电路图如图3-3:
图3-3 复位电路图
端口的连接用于与其他模块进行数据交换。
P0端口以及P2.0-P2.3端口被定义为LCD1602功能控制端,分别与LCD1602显示器的相应功能管脚连接。
P1端口被定义为按键功能控制端,当某一个功能将键被按下时,相应的P1口将工作。
P3口接信号处理模块,P3.0口接报警模块。
因此,本设计的单片机模块端口连接图如下图3-4所示:
)(433212R R R R R R E +-+=))((43213
142R R R R R R R R E ++-•=34
21R R R R =图3-4STC89C52单片机端口连接图
3.2 数据采集模块
数据处理模块的主要器件为变阻式压力传感器。
变阻式压力传感器是根据电阻应变效应原理制成的。
电阻应变效应是指当导体受力的作用,外部形状发生机械形变时,内部电阻也发生相应变化的现象。
电阻应变片把导体形变的信号转换电阻变化的信号,但是由于变化的电阻值一般都比较小,直接测量得到的结果不精确。
因此,一般使用特定的转换电路将电阻的变化转化为电压或者电流的变化。
这种转换电路经常采用直流电桥。
图3-5为一个由直流供电的电阻电桥。
本设计中采用的是压力变化转化为电压变化的输出,即把此电桥当做电压桥。
由电路的分压原理可以得到(不计电源内阻):
Eout=U BC =U BD -U CD
(3-1)
当满足条件R 1R 3=R 2R 4时,即
(3-2)
Eout =0,即电桥平衡。
式(3-2)秤平衡条件。
在测量之前,为了保证电桥的输出电压只跟电阻的变化有关,都要先使电桥保持平衡。
[][][])()()()()()(E 22out R R R R R R R R E R R R R ∆-+∆+∆-+∆+∆--∆+=E
R R •∆=如果出现差动工作,即出现R 1=R-△R,R 2=R+△R,R 3=R-△R,R 4=R+△R,按式(3-1),则电桥输出为
(3-3) 压力与电压的关系与传感器的灵敏度、测重X 围和电路的激励电压有关。
本设计中采用的传感器的灵敏度为2.01mv/v ±0.01,量程为0-5kg ,电路中的激励电压为5v ,所以可以得到传感器的输出电压X 围为0-10mv ,还可以得到也就是说,当压力改变1g 时,电压的输出变化为0.002v 。
式3-3中的Eout 为变化的电压值,输出到信号处理模块中进行进一步的处理。
传感器两个输出端接在HX711上的INA-、INA+端。
因此,可以得到下面的电路连接图3-5: 图3-5数据采集模块连接图 3.3 信号处理模块
信号处理模块采用的是高精度的A/D 转换器HX711。
3.3.1 HX711简介
HX711是一款专为电子秤设计A/D 转换器,是一个24位的A/D 转换器。
它将一个放大倍数可调的信号放大模块与一个A/D 转换模块集成在内部,功能十分强大。
芯片有两个通道A 、B ,由输入开关与内部的可编程放大器相连接来进行选择。
通道A 的可编程增益为128 或64。
通道B 的可编程增益为32。
HX711内部还集成了完成放大和
INA+
INA-
g /v 002.0kg
55v *)0.01mv/v 01.2(≈±
转换功能所需要一些外围电路,比如稳压电源,时钟振荡器等。
为简化开机的初始化过程,HX711采用的是上电自动复位。
3.3.2 HX711引脚图
HX711引脚功能说明,如图3-6:
图3-6 HX711引脚图
模拟输入
通道A一般用作传感器的接入端口,考虑到传感器的输出信号较小,因此此通道采用较大的增益,为64或128.
通道B为固定的32增益。
供电电源
数字电源(DVDD)使用的供电电源与单片机的电源应该一致。
HX711芯片内部含有稳压电源,可以直接向芯片内的A/D 转换器和外部传感器提供电源,因此不需要其他的模拟电源。
串口通讯
HX711的管脚DOUT和PD_SCK 主要用来输出数据,选择输入通道和增益。
当输出端口DOUT是高电平状态时,就表明HX711没有准备好开始输出数据,此时端口PD_SCK应保持低电平状态。
当DOUT由高电平变为低电平后,表明已经准备好输出数据,此时向PD_SCK输入25~27个时钟脉冲。
通过第一个脉冲的上升沿可以读出输出数据的最高位,然后依次读出24位数据,直到第24个时钟脉冲完成。
第25~27个时钟脉冲用来选择下一次数据转换的输入通道和增益,参见表3-2。
表3-2 输入通道和增益选择
PD_SCK脉冲数输入通道增益
25 A 128。