基于ARM的智能电子称重系统分析与设计(源码+万字报告+部署)

第1章 前 言
1.1 项目的目的和意义
秤虽然不能说是我们生活中的必需品,但是日常生活中常常需要用秤来称量物体的质量。随着在人们生产生活中,对于物体称量时的精度提出更的要求,要求越来越精确。传统的称量工具,已经不能满足日常生活的需求。于是就促成了电子称重系统的发展,因为电子秤有更高的精度。电子秤虽然精度相对于传统的称量工具较高,但是当前的电子称仍然有很多的缺陷,比如,体积大就不方便携带,不够智能即只能完成简单的称量即称量物体的质量。国内国外的很多衡器厂商都在致力于研究一种更加智能的电子称重系统。于是,当下研制的电子称重系统变得高度集成化、更智能化。在现代社会,市场需求一般会是推动科学技术发展的主要动力。
近年来,在国家政策的扶持及电子秤行业市场的大好形势下,电子秤行业得到了快速的发展。各大厂商,瞄准了智能电子称目前在国内外市场上出现的这一真空状态,都在大力发展先进的智能化电子秤重系统,以便可以最先吃到这块“大饼”。市场推动技术的发展,加之我国国家政策的推动,电子称重系统在我国短时间内得到了快速的发展。与此同时,大批的先进的电子产品正在逐步取代传统落后的电子产品,电子称系统也更新换代了。但是,要想去取代传统的称量工具,新的称量工具必须要精度高、性能可靠且成本较低的优势,只有这样才能取代传统的称量工具。
本电子称重系统是由称重传感器、单片机、A/D转换器、算法、数据存储及电路设计构成,实现了该电子称系统对被测物体重量数据的采集,这个过程都是自动化的处理和存储数据的,大大提高了日常商品交易的效率。该电子称重系统的设计的重点和难点就是利用电阻应变式传感器构成的测量电路来测被秤物体给传感器带来的压力信号,然后通过放大器把模拟信号放大、并进行滤波,再将通过放大器得到的信号以模拟信号的方式传送到24位的A/D转换器,经过转换得到对应的数字信号,最后将数字信号传至主芯片。单片机再将数字信号传到LCD显示屏上,数字键盘电路又是和LCD显示屏连接在一起的。这样,该电子称重系统就完成了,其可以完成称重、显示和计算的功能。
本设计把理论上的电路控制原理应用于实践中,有重要的应用价值。实践证明,该电子秤系统基本能够满足高精度自动称量需求。
1.2 国内外研究现状
1.2.1 国内研究现状
国内做电子秤比较好的公司主要是:友声衡器、汇思科电子科技。这两家公司电子称重系统的研制方面,在国内处于领先地位。
比如,上海友声衡器作为国内电子称行业的领头羊,其公司的产品的特点如下:
一、它们的产品,电路高度集成、性能较高。它们主要使用的AD转换技术:Σ-Δ增量调制机制,国内其他厂商大都用的是双积分电路机制。与他们相比,友声公司的产品的电路具有集成度高、设计简单、灵敏度高、采样速度快等优势。另外,友声公司的电子秤产品的特点是:电路的可靠性和移植性强,因此为厂商进行量产时提供了质量保证。
二、在功耗方面,友声的产品在功耗方面控制的非常好。当前电子技术的发展趋势:控制电路设计、模块器件选择、传感器性能评测、供电电路设计等,每个模块设计都要低功耗。友声公司的电子秤,在其内置电池电量充足时,可以正常工作一年多,功耗这一参数指标在电子秤行业中遥遥领先。 
1.2.2 国外研究现状
国外有许多技术先进的电子秤厂商,比如:西特——美国、赛多利斯——德国、托利多电子秤——瑞士等等。在这些国外的电子秤厂商中,美国西特公司成立时间最早,该公司在电容技术研究方面成果颇丰,单是在高精度可变电容这一技术方面就有20多项技术专利,可变电容原理是该公司在称重产品研发时的核心技术。西特公司经过几十年的在电子秤领域的研究,它的产品在工程控制、参数测量和称量测试等领域都得到广泛应用。早在上个世纪九的十年代,西特公司就将先进的电容技术用于电子秤研制,它们生产出的电子秤及其他各种称重系统在市场上都极具竞争力。
秤的工作原理:利用物体对秤台的重力作用来称量出物体质量。在秤的发展历史中有不等臂天平、托盘天平秤、倾斜象限杆秤和弹簧秤等。在这么多类型的秤中,不等臂天平秤是秤的鼻祖,当下,仍然是使用最普遍的一种衡器。
在第一次世界大战之后,全世界的商品贸易变得繁荣及工业生产水平得到提高,生产生活中对秤的需求提高了。需求推动生产,因此电子称系统在这期间也得到了突破性的发展。在当时,世界上主要以倾斜杠杆案秤为主流。另外,秤的刻度:扇形和滚筒形刻度盘,增加刻度盘的目的就是为了扩大秤的读数范围。此外,还可以可附加价格标尺,主要目的就是为了方便商户进行日常贸易。
在第二次世界大战的爆发之后,促进了各行业的技术又一次发生革命性的发展,衡器行业也得到了发展,就在此时世界上出现了电子秤。这个时候的电子秤构成:重力传感器,称重显示控制器和电路设计控制器等。电子秤技术发展历程跟其它技术的发展历程大致相同,都是从简单到复杂、从机械式到机电式到电子式、从单一功能到多功能。在二十世纪五十年代,国外的衡器厂商把衡器引进到了生产工艺过程中。这样,就可以把称量过程实现全自动化,为此电子秤厂商把电子技术引入到电子秤制造业中。在这个时期,在世界上所有关于称量的工作都是机械式操作。在近十年来的现代生产工艺流程中,比如现场称量、定量配料和质量监测等生产工艺场景中,都会使用到电子秤的快速称量作用来做质量控制的。工程生产中使用电子秤来称重,主要原因是电子秤并不是简单的给出质量值,而是因为其可以在整个生产系统中做为一个固定的检测单元,来检测和控制物体重量,从而实现工业生产的自动化,大大地提高了生产效率。
电子秤之所以会发展这么快,是因为电子秤具有这些特点:快速称量,精度高,量程广、操作简便、性能稳定,并且电子秤越来越变得多功能化,在生产和生活中都非常的方便。
1.3 项目的目标和范围
1.3.1 项目的目标
本项目的目标就是做出一个可以使用的电子秤系统。该电子秤系统的功能有:称重、去皮、计算、误差校准和过载报警。本电子秤系统精度高、且成本控制较好,这样的电子秤系统将成为将来电子秤发展的趋势。
1.3.2 解决的关键问题
本设计主要解决了在日常商品贸易中台式电子秤、杆秤和弹簧秤存在的缺陷。受过去我国电子秤系统的生产技术水平制约,台式电子秤存在着许多缺陷,比如:
一、体积大导致不方便携带;
二、生产成本高导致售价高;
三、工作电流局限于交流电导致使用场合受限。
另外,常用的称量工具还有杆秤和弹簧秤:杆秤,量程小、精度低;弹簧秤,精度较高,但量程也受限,并且价格较高、使用寿命短。
本系统解决了这些传统称量工具的缺陷,相信在将来以这样的原理来设计的电子秤系统一定会成为大势所趋的。

1.4 论文组织结构
根据本项目研究的内容,将本论文分为6个章节:
第1章简要介绍了做该项目的目的和意义、国内外研究现状及本篇论文的组织结构。
第2章介绍本电子秤系统使用到的嵌入式技术与电路原理。介绍了系统的体系结构设计中运用的开发工具和开发语言。
第3章介绍了本电子秤系统的设计方案,主要分为系统软件设计和硬件设计。系统软件平台的搭建主要介绍了Linux操作系统和Linux服务器的移植和ARM-Linux的开发流程等;系统硬件平台搭建主要介绍了本系统所选用的开发板、处理器和各个环境数据采集模块,以及各个模块的电路设计等。
第4章主要对本系统设计进行需求分析和总体概要设计。其中包括,电子秤结构的分析,传感器选择的分析,主程序流程分析和系统流程分析。
第5章是系统详细设计,主要介绍了本系统从底层驱动实现到上层应用程序和客户端网页界面的具体设计与实现,并详细罗列了系统各个功能模块的具体功能与实现代码以及一些具体界面设计的截图。
第6章是部署与应用,主要介绍了本系统运行、测试和应用环境,以及一些项目测试效果的截图。

第2章 技术与原理
本系统主要利用嵌入式技术、传感器技术和电路设计原理等来开发的基于ARM的智能电子秤系统。主要实现四部分功能,一是称重并显示重量,二去皮计算,三是超量程报警,误差校准机置。本系统采用的开发工具有ARM-Linux-G CC交叉编译器和Linux VIM文本编辑器, KeiluVision4软件、Dnw、usb程序下载工具、PZ-ISP程序烧录工具,SecureCRT软件等。
2.1 开发工具
本系统操作底层硬件部分的代码是使用PC机里的Linux系统文本编辑器VIM编写的,编译就靠ARM-Linux-G CC交叉编译器实现的。下面介绍在Linux下主要使用的两个工具。
2.1.1 ARM-Linux-G CC
ARM-Linux-G CC是ARM交叉编译工具中的一种,用户在自己的PC机上编写好自己的程序,然后在PC机的Linux系统下安装好ARM-Linux-G CC工具并用其去编译自己的程序,生成一个在ARM开发板上能够跑bin文件,接着用户只需要把这个bin文件下载到相应的ARM开发板中,然后执行命令:./+该文件名,这样用户写的代码就可以在ARM板上跑了。所以,ARM-Linux-G CC交叉编译工具的作用就是实现程序跨平台运行,即程序的编写编译都可以在PC机上完成,而程序在ARM板上跑。
2.1.2 VIM
在Linux系统中,一线程序员使用频率最高的文本编辑器就是VIM文本编辑器。Vim比Vi受欢迎。Vim最大的优点就是它使用简单的字符作为最常用的命令,这比快捷键还快些,而且也不需要花费太多时间就可以学习掌握这些命令的使用。VIM常用的命令: “ls”是显示文件夹中文件;“mkdir ”是创建目录; “q”是保存;“!q”是不保存。
Vim和vi操作方法类似,根据情况模式灵活运用文本编辑下去,小小的指令的组合,在任意场合制作实现多种多样的机能。当我们对常用的命令都熟悉时并掌握它的用法,在Linux系统下工作其实很便捷。特别是对于ARM板子的操控,用Linux环境比window环境更加的方便。

2.2 开发语言
C语言出现的时间最早的语言之一,发展至今已经比较成熟了,而且使用者比较多,并且应用的领域广。尤其是在Linux系统下做开发,C语言是最常用的开发语言,Linux下的C语言开发属于C语言高级编程开发,需要开发者具备一定的c语言开发功底及一定的Linux环境下开发程序的基础。
与Java、C#等语言相比较而言,C语言相对简洁一些,代码量也较少些,但并不意味着C语言就比这些语言简单。指针被誉为C语言的灵魂,指针用起来虽然很方便,但是要注意点是很多的,一不小心就容易产生野指针和空指针等各种问题。

C语言的特点   
1)语言简洁、紧凑,使用方便、灵活。共有32个关键字,9种控制语句。   
2)运算符丰富,公有34种运算符。   
3)数据结构丰富,数据类型有:整型、实型、字符型、数组、指针、结构体、共用体等。   
4)具有结构化的控制语句(如if…else、while、do…while、switch、for)   
5)语法限制不太严格,程序设计自由度大。   
6)允许直接访问物理地址,能进行位(bit)操作,可以直接对硬件操作。   
7)生成目标代码质量高,程序执行效率高。   
8)可移植性好。

第3章 系统软硬件设计
3.1 软件设计
3.1.1 Linux系统简介
Linux系统的组成:shell、kernel、file system与application program,具体结如图3-1所示。

图3-1 Linux系统层次结构图

1、kernel
kernel为OS的重心,决定系统的稳定,其主要是管理系统的Memory、Process、Device driver、Network system与File。
Linux 内核主要有Process management、Memory management、File system、Device driver与Network management等构成,其结构图示如图3-2所示。

图3-2 Linux内核内部组成与分工图

2、shell
shell是指在Linux操作系统下shell编程,用户输入负责输入命,shell负责将这个命令传给kernel,让kernel去处理命令。
3、file system
file system是一类用于文件的方法,主要用于存放文件。例如FAT32、EXT3、VFAT与ISO9660等目前很流行的file system,Linux系统都会支持的。
4、application program
application program的构成:编程语言、 文本编辑器、Data base与办公工具等。

3.1.2 Linux操作系统的特性
(1)系统的稳定高:Linux的API接口的使用方式与Unix基本一致,所以如果你曾拥有在Unix环境下开发的经验,那么在Linux环境下操作起来会很容易,而且Linux环境也同样拥有Unix环境所具有稳定、高效的特点。
(2)免费源码开放:Linux 拿到了GPL的许可,并且允许广大Linux开发者免费使用它,这一点和Unix相比,就有巨大的优势,因为Unix是收费的。
(3)安全性能高:Linux自己拥有强大的技术团队在背后支持,他们一直都在进行Linux的开发与维护,因此Linux漏洞修补的速度非常快。
(4)可以进行多用户同时登录,且其资源平分,多个用户可以同时使用同一个资源。
(5)Linux对于使用设备的硬件配置没有太高的要求,但是我们有时也需要根据产品的具体需求选择合适的硬件,但就目前在任一台PC机运行Linux操作系统都OK的,只是运行速度会受到电脑配置的影响。
从Linux平台的许多优势能够看出Linux系统是很强大的,当下Linux系统已经成为嵌入式开发者最喜欢使用的操作系统,在嵌入式设备市场具有很多优势相较于其他开发语言。

3.1.3 Linux交叉编译环境搭建
当把Linux交叉编译环境搭建好后,就需要在电脑上安装Linux交叉编译器(ARM-Linux-GCC交叉编译器),所以搭建Linux交叉编译环境就可以理解为在Linux系统下安装ARM-Linux-GCC交叉编译器。本系统使用的ARM-Linux-GCC版本是arm-linux-gcc 4.3.2,安装步骤如下:
1、先下载安装包arm-linux-gcc4.3.2.tar.gz,然后再把该安装包拷入虚拟机的相应的目录下并解压,当然此目录可自由选择解压后可以得到一个文件夹4.3.2。
2、在Linux环境下执行:mkdir usr/local/xuym/arm,在usr/local/目录下创建arm文件夹;然后 cp /home/xuym/4.3.2 usr/local/xuym/arm/,再把 4.3.2文件夹复制到之前新建的文件夹arm之下。
3、第一步:输入cd命令进入对应的bin文件,第二步:执行ls,就可以查看到bin文件下有多个ARM编译器。arm-linux-gcc编译器和一般的gcc编译器本质上是相同的,只不过是使用arm-linux-gcc编译器编译的程序能在ARM开发板上的Linux系统中运行,而gcc编译的程序就不可以在Linux系统中运行,因为arm-linux-gcc编译器可以说是一个专门为ARM-Linux系统设计的编译器。
4、当到了这一步时,我们就直接执行命令:arm-linux-gcc,去编译程序,此时系统会报错即error:“cannot find ARM-Linux-GCC executable file”,这是因为系统在去执行ARM-Linux-GCC命令时找不到ARM-Linux-GCC可执行文件,这时我们需要使用命令打开profile文件,去修改profile文件里对应的一些配置信息,然后输入保存命令。这样ARM-Linux-GCC可执行文件的路径就算是配置好了。
5、要让刚刚的ARM-Linux-GCC可执行文件的路径配置生效还要执行source /etc/profile命令,如果不执行该命令的话,之前所有的更改将不会起作用。
6、到这一步,ARM-Linux-GCC编译器才算安装完成。安装完成后,需要检查一下arm-linux-gcc编译器是否已经安装成功,可以通过执行命令:arm-linux-gcc来判断是否安装成功。如果编译器安装成功了,在Linux的终端串口会有类似于图3-4所示的语句输出,反之就是未成功安装,那么就必须回到第1步重新再来安装一遍编译器。

图3-3 arm-linux-gcc安装成功界面

3.1.4 软件流程图
本系统设计,使用定时器对整个系统进行控制,以实现每隔0.5秒进行一次称重,定时器流程如图3-4所示,输入键盘的控制程序流程如图3-5,主控程序的流程如图3-6。

图3-4 时钟中断程序流程图              图3-5 键盘扫描程序流程图

图3-6主程序流程图

3.2 系统硬件设计
3.2.1 硬件方案
本系统设计的硬件设计如图3-7:

图3-7电子秤硬件方案
本电子秤系统设计的原理:通过称重传感器检测被称物体对秤台的压力,然后将物体压力信息转换为相应的电压信号,电压信号再经过24位的HX711(A/D)转换器进行精确的线性放大,最终转换成对应的主控芯片可识别的数字信号。HX711(A/D)转换器的内部电路设计使用的是海芯科技的集成电路,这种A/D转换器可以大大提高电子秤的精度。因为其内置增益控制,所以可以使得电子秤的精度变高,性能变得稳定。此外,HX711(A/D)转换器主要是通过串口通信的方式与系统的主芯片进行数据通信。主芯片读取到数据,再通过(A/D)转换器的处理,在1602LCD液晶屏上显示出数值。
4x4的矩阵键盘输入方式:其主要主要用于向主芯片里输入数据。通过矩阵键盘上的数字键向显示器上输入单价,在称得物体重量之后,该电子秤会自动地计算出总金额,然后在1602LCD液晶屏上显示出重量、单价和总金额。外部电源系统通过DC电源接口和电源控制电路给主芯片、HX711电路、传感器供电以及整个电路供电。
3.2.2 称重传感器
称重传感器是本电子秤系统中最重要的一个设计模块,它的主要的技术参数:灵敏度、总误差和漂移。
(1) 灵敏度
灵敏度:是指称重传感器满负荷时的输出电压与激励电压的比。例如,我们的称重传感器的灵敏度:2 mV/V,激励电压:5 V,那么称重传感器满负荷时输出的电压:10 mV。灵敏度、激励电压和满负荷时输出的电压三者之间存在线性关系。传感器量程使用范围的选择,电子秤系统一般都会选择使用称重传感器线性度最好的那一段。通常情况下,选取称重传感器满量程的前三分之二段为最佳。按照上述所说,这个传感器的满负电压是6mV,当使用该传感器制成电子秤于工业生产时,使用其去测量那些极其微小的电压信号变化是极为困难的事情。
(2) 总误差
总误差:是指系统正常运行时的误差与系统设置标准额定误差的比。一个符合标准的电子秤系统的总误差一般为0.01%。总误差这一技术指标对于电子秤系统来说很重要,因此这就不可避免的导致电子秤系统出现误差。另外,总误差还受ADC分辨率的选择和放大电路和滤波器影响。
(3) 漂移
漂移误差:是指称重传感器正常工作时产生的与系统时间相关的误差。
当下,在生产生活中经常使用到的称重传感器主要有电阻式、电容式、电压式这三张压力传感器。当在做称重传感器选择时,主要做这几点考虑:稳定性、精确性、使用寿命和使用安装环境等。
这三类传感器的主要特点如下:
(1) 电阻式压力传感器的特点:可靠性强、称量精度高、反应灵敏且寿命长,并且对称量环境要求不高。
(2) 电容式压力传感器存在的缺陷:可靠性差、寿命短、环境要求高;优点:称量精度高和称量反应灵敏。
(3) 压电式压力传感器的优势:可靠性强、称量精度高、称量时反应灵敏且使用寿命长;缺点:称量量程小。
综上所述,本设计选用的称重传感器是上面第一种传感器即电阻式压力传感器。电阻式压力传感器是由受力弹性体、电阻应变片和导线三个部分组成。该传感器电路构成:惠更斯电桥原理,即当弹性体受到外力就会产生形变,这时电阻应变片的阻值因形变也发生相应的变化,使得电桥两端电压失去平衡形成电压差,此刻便会有电压信号产生,电压信号再经过A/D转换器、放大器产生数字信号。下面是电阻式传感器的工作原理图即图3-8:

图3-8电阻应变式传感器测量原理

如图3-8,当压力P作用于秤台,台面会发生一定的形变,导致应变片的阻值发生改变。此时,电桥电压失去平衡,这时电桥两端就产生电压差,即产生电压信号。这个电压信号是与作用力P存在一定的线性关系的,利用这一线性关系就可以将电压信号转成数字信号输出。
如下图图3-9,图上的四个电阻构成了惠更斯电桥,压力变化导致阻值变化再导致电压变化,产生电压信号,原理如图3-9:

图3-9 测量电桥原理
3.2.3 A/D转换器
A/D转换器是一种可以把从传感器那边接收到的模拟电压或电流,经过转换形成与之成正比的数字信号。常用的A/D转换器从构造上分为这几类:双积分式、计数器式及△-∑型式。当下,在电子秤的设计中使用最多的传感器是双积分式和△-∑型这两种A/D。
双积分式A/D的工作原理:做计算处理时将模拟电压、参考电压的值都要进行两次积分。在这种原理中的输入电压与时间间隔值成正比,所有我们需要算出时间间隔值,从而电压信号就可以转成相对应的数字信号。图3-10是双积分式A/D转换器内部的电路的原理图,图中一些管脚说明VG指的是导线接地,VFR指的是基准电压,VX指的是检测电压。

图3-10双积分A/D转换电路
双积分式A/D转换器的特点:稳定性好,滤波降噪功能强。当两端的正负工频信号的积分值全为零时,就会对正常工作的工频产生很强的干扰,除此之外,如果工频高于正常工频,会有一定的过滤作用。由此可知,当产生的干扰电压的值约为零时,这时对于模拟信号和数字信号都不会产生什么影响。综上,采用双积分式A/D来过滤电路的干扰信号非常合适。
在本电子秤系统设计中,在A/D转换器的转换速度没有太多的要求,精度上的要求却是很高的。另外,因为双积分式A/D的抗外界干扰能力强,精确的差分输入,成本低等特点,所以,本系统就可以选择这种A/D转换器来对电压信号进行转换。
3.2.4 单片机STC89C52
(1) STC89C52 单片机概述
STC89C52系列的单片机是宏晶科技的主打产品,该种型号的单片机的特点:反应速度快、功耗低、抗干扰能力强、并且兼容上一代8051的所有功能,运行的速度还比8051快。
(2) STC89C52 单片机特点
工作电压: 5.5V - 3.5V(5V单片机);
工作频率范围:0~40MHz,相当于普通8051的 0~80MHz;
用户应用程序空间: 4K//8K/16k/32K/64K字节;
RAM:片上集成1280字节;
通用I/O口:(32/36),复位后为准双向口/上拉(普通8051传统I/O口);
I/O口的驱动能力:20mA(最大值),整个电路的系统的最大值要控制在120mA内;
可通过串口从PC上下载程序到电子秤系统内,数秒后即可完成;
有EEPROM,看门狗功能;
时钟源:晶振和R/C振荡器;
下载程序时会用到晶振或R/C振荡器;
常温下的内部R/C 振荡器频率为:5.0V 单片机为: 11MHz ~ 17MHz;
通用全双工异步串行口(UART) ;
工作温度范围:-40 ~ +85℃(工业级) / 0 ~ 75℃(商业级) ;
封装:采用的传统的封装:PDIP-40或PLCC-44;
(3) STC89C52 单片机管脚及封装
STC89C52的管脚定义和封装如图3-11所示:

图3-11 STC89C52 管脚图

STC89C52的应用电路的原理图:图3-12

图3-12 STC89C52单片机电路

图3-12中DOUT和PDSCK这两个I/O管脚接口接,是主芯片用来与HX711的AD转换器之间进行数据通信的接口。Beep接口是连接蜂鸣器的,alert接口是连接报警灯的,RXD和TXD这两个接口是用来数据通信的,进行程序下载时也是走这两个接口。

3.2.5 液晶屏电路

图3-13 LCD显示电路

LCD屏的电路接线接口如图3-13,CS、RES、RS、SDA、SCK为LCD屏与单片机I/O口连接的控制接口。另外,接口CS_ZK、SCK_ZK、SO_ZK和SI_ZK都是LCD屏内的字库接口。
该显示模块是用来显示字库IC里的字符的。我们可以从这个字库中读出所需的汉字的点阵数据,然后再将点阵数据写入LCD屏的驱动程序中,这样就能够在LCD屏上显示汉字了。接口引脚功能介绍:
如图3-14 :

图3-14 液晶模块接口引脚功能
3.2.6 矩阵键盘电路
输入键盘电路图如图3-15:

图3-15 矩阵键盘电路
图3-15中通过4*4矩阵键盘可以向电子秤系统中输入阿拉伯数字0-9、小数点和其他特殊功能的键。ROW1—ROW4对应输入键盘的行, COL1—COL4对应输入键盘的列。当行输入低电平时有效;列输出高电平为有效。如果正常情况下没有键按下,这时的行输入的是低电平,列输出的是高电平;当行有键按下,这行就是高电平,对应的列就能检测出是哪一行输入的高电平。这样通过高低电平信号的结合就可以定位到是哪个键被按下。
3.2.7 报警电路
报警电路如图3-16所示:

图3-16 声光报警电路
当被称物体超重时,beep和alert这两个I/O口会输出低电平,这时使蜂鸣器鸣响报警灯亮,来通知用户物体超重了。
3.2.8 电源电路
本系统供电方式:通过DC电源接口连接外部电源,电源电压控制为:5V,这个电源是为整个电子秤系统供电的。电路原理图如图3-17:

图3-17 供电及程序下载电路

第4章 系统概要设计
4.1 需求分析
4.1.1 电子秤重系统设计的需求分析
称重范围:0-9.999Kg
测量精度:≤0.005Kg
显示方式:1602LCD液晶屏显示物体重量、设置的价格和总金额。
操作方式:使用4*4矩阵键盘输入数据并进行计算。
特殊功能:去皮称重功能、计算总金额功能、过载报警功能以及误差校准功能。
4.1.2 电子秤的构成
电子秤系统设计的硬件组成:应变式压力称感器、放大器、A/D转换器、主芯片、键盘/控制开关、1602LCD显示屏。
本电子秤系统的整体架构如图4-1:
图4-1 仪器硬件结构框图
4.1.3 称重传感器选取
在本电子秤系统设计中,称重传感器的选择是尤为重要的一环。传感器的选择与处理是本系统设计中最困难的部分,称重传感器性能的优劣直接决定了一个电子秤系统的优劣。
随着近代科学技术的进步,尤其是在计算机电子科学技术也取得突破。另外,随着我国国民经济的向前高速的发展,在很多行业领域都希望使用电子秤来快速地检测出物品的重量信息。不仅如此,电子秤的功能也开始由单一的称重功能向多功能化、智能化方向发展,在工业生产过程和工艺流程的控制领域电子秤系统得到广泛的应用,在物流行业中各环节的自动检测和监控使用电子秤系统将会非常有效。使用电子秤系统用于称重,是我们国家有关政策规定的。称重传感器是电子秤系统的“心脏”,是电子秤系统最关键的模块。称重传感器的称量精度、称量稳定性、称量量程是其较为重要的几个质量参数,因此这些参数是在选传感器时的关键参考参数。
如果电子秤系统的使用场合的不同,对于它的称量精度、称量稳定性、称量量程等性能参数指标的要求也会因使用场合不同而改变。一般情况下,我们在选择称重传感器时都要综合考虑称量精度和传感器的各项性能指标,以确保做出来电子秤能够满足基本的称重功能,其次误差也要控制在一定的范围之内。比如:如果在温差较大的场合下使用电子秤,就应选择在这个温度下范围可以正常工作的传感器,这样才能保证在这个温度条件的场合下仍能正常地工作。
称重传感器选用时需考虑的几个问题:
1)传感器的外形和尺寸;
2)传感器的密封要求;
3)传感器的精度;
4)传感器的量程;
本电子秤系统设计在选择合适的称重传感器时,我主要是从以下几点考虑,然后再来选择称重传感器的。
1.传感器精度的选择
选择传感器的精度时,可以从以下几个方面考虑:经济、实用性和使用寿命,再综合我们需要的称量系统的实际精度的需求,合理地选择传感器。
在此说明,精度低的传感器我们不能就草率地认为它的制造工艺的水平就低。各种精度等级的传感器,它们的复零特性、密封性、加工的工艺和精密的传感器同样是严格生产工艺控制的。传感器精度高低是由传感器内的弹性结构体及其是否能进行线性补偿决定的。有很多传感器的弹性体,虽然它的线性补偿相对较差,但是它在应对冲击、及其在密封性上有它自己先天的优点。所以,在称量精度要求不高、工作场合的环境恶劣的情况下,就需要更加关注传感器性能有:复现性、可靠性和使用寿命,在这些情况下就需要选用低精度、高可靠性的传感器。比如:在钢水液位控制和超载控制这些特殊的应用场合下,尽管我们可以对传感器的称量精度要求很低,但是对与传感器的可靠性的要求就必须要求到苛刻的地步。因为在类似这些特殊的传感器使用场合下,这些称量装置一旦发生哪怕一点小故障,都有可能会危及到工作人员的生命安全,带来不可挽回的损失。
与此相反,在一些对电子秤系统称量精度要求很高的称量场合下,尤其是在一些长时间内无法进行调整检测传感器精度的电子秤系统。此时,我们在选择传感器时不但要求考虑传感器的测量精度、灵敏度和称量范围,而且还要考虑因温度变化而引起的各种不确定的误差和电子秤系统使用的长期稳定性。
2.传感器量程的选择
1)传感器量程的选择:
2)被称物体估计可能的最大值;
3)秤台装置的自重;
4)传感器使用数量;
在正常使用操作下,偏载的最大值需要考虑;
称量状况会出现很多情况:可能会出现动载和冲击或者其他未知的附加干扰力,这些会造成误差。
其中,第4和第5两条对于不同的电子秤系统、不同的称量对象、不同的称量方式。因此,对于不同类型的电子秤系统,在相同的称量负荷下,传感器的量程的选择是相同的。
综合许多国外先进的电子秤研制的经验和国内厂商的实践经验,在称重传感器的量程允许的条件下,选择称重传感器的量程,大小一般为实际可能承载的最大物体重量的2~2.5倍。因为电子秤系统在使用的过程中,都会不可避免的存在着各种冲击、振动和偏载的情况,有时候可能还会产生一些我们难以估计的力的影响;所以,我们一般把电子秤重系统的可靠性作为最根本的性能指标来作考虑,一般在条件允许的情况尽可能选用大量程的传感器。
3.传感器技术参数的选择
传感器技术参数的选择:
(1)不允许出现重复性误差、非线性误差、滞后性误差。
(2)查看称重传感器的灵敏系数是否满足本项目的需求,灵敏系数由称重传感器的弹性体结构设计的应力水平决定。
(3)另外两个重要的技术参数是:桥路阻抗和激励电压。如果原称量系统已存在激励电压,在选择传感器时就要考虑对传感器施加的桥压。同时,应变片允许通过的电流是有相应的规定限制,电流大小控制在20mA~25mA之间。在选用时可以根据已有的外部供压系统所能提供的电压选择最合适的应变片,这样可以最大的规避误差。
(4)复零、温漂、时漂、及固有频率等因素也都需要考虑的。
以上这些技术参数并不一定需要全部考虑的,都是根据系统需求来确定哪些是需要考虑的,哪些是可以忽略的。如果需要设计一种精密称量电子秤,在大有必要的来考虑所有的技术参数了,因为一个小的误差对于精密称量来说就会带来一个大的误差。

4.传感器密封状态的选择
对传感器来说,如果在生产工艺中密封性不好,就会受到潮气的侵蚀。现场工程中,如果不对传感器进行密封保护,称重传感器就很容易会受到环境中的潮湿气体、腐蚀性气体、水蒸气、灰尘等侵化腐蚀,从而导致称重传感器不精确造成误差。所以在现场工程中,使用传感器时必须使用防护外罩进行密封保护,这样才能确保称量尽可能准确。
工程中常用的气密性的措施:
1)如果是在室内干净、干燥环境下,使用到传感器,我们可以选择涂胶密封的方式来对传感器进行密封;
2)如果是在潮湿的、甚至可能遭受水淹的应用场合,此时使用传感器,就需要选择膜片来焊接密封或者将其工作的环境里的空气抽去,再充氮来填充环境,目的就是为了防止其氧化或者受潮等。
3)如果是在有严重腐蚀性的应用场合,使用传感器时就必须对传感器进行密封保护,比如可用喷塑密封或不锈钢外罩密封来防止传感器受腐蚀。
5.称重传感器的结构
以下是一些常用的称重传感器,它们都有自己最适合的称量量程范围和自身独特性,这为我们应对多样化需求时,对传感器的选型提供了更多的选择。
1)柱式传感器
柱式传感器是最古老的一款传感器,它的优势是称量量程比较大,一般可以达到几十吨甚至几百吨的量级。
2)轮辐式与桥式传感器
轮辐式传感器的称量量程范围一般在1t~5t之间,这种类型的称重传感器一般是应用在电子汽车秤、电子轨道秤、电子钢材秤和料斗秤这些称量工具中。像这种大量程的传感器,也比较容易出现误差。当像这种量程较大轮辐式传感器,应用时经常会因为秤台的支撑刚度达不到要求,而引起称量反应不灵敏产生滞后性误差。所以目前,我国各大行业使用的电子秤都已经换成更大量程、设计结构更合理、生产加工更方便的桥式传感器。然而,在一些特殊的场合下,在制造料斗秤时,或其它适宜采用圆柱外形传感器的场合下,轮辐式传感器仍是最适合的。
双梁式称重传感器在国内常把这种传感器简称为桥式传感器,“桥式”传感器的名字得来是因称重传感器的弹性体的形状和很像桥。当下,桥式称重传感器广泛应用在汽车秤、平台秤、静态动态电子轨道秤等称量工具上。
3)柱环式传感器
对于在0.5t~30t重量范围的物体,柱环式传感器是很优秀的一种传感器结构设计。
柱环式结构设计的传感器存在这些缺陷:不具备抗偏、抗弯、抗扭的能力,所以在以前,我们国内很少有厂商使用这种传感器来设计电子秤。但是随着密封技术的发展,双层膜片焊接密封工艺和单层膜片热套工艺的技术都取得了进步,柱环式称重传感器又开始广泛的应用在电子秤系统设计中。随着科学技术和生产工艺的进步,柱环式传感器的精度也提高到0.03t~0.05t之间,在生产生活中开始广泛应用于料斗秤、钢材秤等的称量器械的设计中。
4)剪切梁式传感器
剪切梁式传感器主要有这两类,分别是剪切悬臂梁式传感器和剪切桥式传感器,这两种称重传感器的工作原理相同。当前,剪切悬臂梁式传感器和剪切桥式传感器都属于国内常用的称重传感器。这种传感器的特点:称量精度高、使用稳定性强、抗侧向压力的能力强,该传感器在不需要进行线性补偿的情况下,精度就可以达到0.02t~0.05t。另外,剪切悬臂梁式传感器在国外使用的量程范围:1t~50t,在国内使用的量程范围为1t~10t;剪切桥式传感器国内外常用量程范围为1t~100t。
5)单S梁式传感器
单S梁式传感器的称量量程:0.1kg~10kg。
近些年来,因为铝合金弹性体弹性力小的特点,已经可以把双孔弹性体的称量量程向下延伸至2kg,所以当被称物体的重量在0.1kg~2kg内,单S梁结构设计的传感器是最合适的。这样的传感器一般都是在一些特殊的场合使用的,比如:便携式手提商用秤(小量程)。这种秤的工艺精细,静态测量精度为0.1g~0.05g。但是这种秤也有缺点:秤台刚度小、自振频率低,导致其在有振动、冲击较多的环境是不能使用的,很容易把秤破坏。
6)S形双连孔式传感器
S形双连孔式称重传感器的量程一般是在2kg~500kg,该种称重传感器主要分为拉式和压式这两种设计结构,这两种结构的传感器都是采用双连孔式弹性体作为传感器的感应元件。这种传感器在不加线性补偿的情况下,称量精度就能可达0.02kg~0.05kg。并且具该传感器还具有极好的抗偏、抗侧压能力,因为这种传感器的这些特点使得它在料斗秤和皮带秤方面得到广泛应用。这种传感器我们可以可通过锉磨四个角的方法对其进行误差的修正,所以在日常生活使用很广泛。目前的市场上绝大部分大量程的计价秤,基本上都是使用的这种结构形式的弹性体的传感器。
综上所述,根据本项目的具体需求,应选用S形双连孔式传感器,该传感器的结构切面图,如图4-2:

图4-2 S形双连孔式传感器弹性元件
4.2 系统总体设计
4.2.1 主程序设计流程图
该电子秤系统在先完成各种初始化程序,然后进入主程序,主程序再完成对存储参数的读取,对检测到的数据、按键及显示屏显示功能进行程序处理等。
主程序流程如图4-3:

如图4-3 主程序设计流程图
第5章 系统详细设计
5.1 电子秤设计步骤
5.1.1 电子秤设计的需求
1.称重范围:不超过9.999Kg
2.测量精度:≤ 0.005Kg
3.显示方式:1602LCD显示屏显示所称物体的重量、显示输入物体的单价和计算出的总金额。
4.使用操作:通过44键盘实现人机交互,输入数据,操作简便。
5.特殊功能:去皮称重功能、计算总金额功能、超量程进行声光报警功能以及出现误差时有校准功能。
5.1.2 电子秤设计的基本思路
本电子秤系统主要分为三大模块:
1)数据采集模块及主要是传感器模块;
2)核心控制器块及主芯片模块;
3)人机交互界面模块及键盘输入模块和1602LCD显示模块。
其中,数据采集模块的组成是:本设计用的压力传感器和HX711 24位A/D转换器。核心控制模块就是存放程序的地方,以及通过主控芯片来处理数字信号,是整个设计的核心,人机交互模块本设计通过LCD显示模块和4
4键盘输入实现人机交互的。另外,本设计还添加一个过载声光报警提示的特殊功能和产生误差进行校准的功能。

图5-1(上图为本系统的设计图)

本设计原理图为:如图5-2

图5-2 设计原理图
5.1.3 主控芯片的选型
AT89S52的主控芯片是AT89S系列产品中性能最强悍的一款,这主要体现在它的片内存储器的容量上是AT89S51片内存储器的容量的一倍。另外,AT89S52的片内的Flash程序存储器的容量为8KB,RAM为256B,此外这款芯片内部还增加了16位定时计数器,这就可以使得AT89S52的主控芯片性能更强。因此,该芯片在我们的生产工艺与日常生活中得到广泛应用。AT89S52还有一个非常大的优势:就是不需要使用烧写器来烧写程序,我们在往主芯片内下载控制程序时,只需要借助PC 机端的常用端口就可以输出,只需通过简单的下载电路,就可以将我们写好的程序用串行方式从PC端写入到主控芯片里。并且下载电路是设计在系统中,这样我们在做程序编写、编译、下载时就可以只修改主芯片里的软件程序而不需要对硬件做任何改动。
综上所述,我最后选择了AT89S52主控芯片来作为本系统的核心模块,实现本系统各项功能设计。AT89S52是一种可以兼容MCS51的微控制器处理器,正常工作时电压范围:4.0V~5.5V,全静态时钟频率:0 Hz ~20 MHz,程序加密:采用三级程序加密,编程接口数:有32个可编程的I/O口,定时器:有3个16位的定时器,中断源:8个中断源,通讯方式:全双工串行通讯,功耗控制:低功耗支持Idle和Power-down模式,在Power down模式下可以中断唤醒, 还可以设置看门狗定时器中断等等。另外除了片内存储外,还在外部扩展了32K数据存储器,以上这些参数配置完全可以满足本设计的需求。
5.1.4 AD转换器HX711
HX711 AD转换器的集成电路用的是海芯科技的集成电路的技术,集成电路的技术是电子秤的A/D 转换器的芯片设计的关键技术。该AD转换器与同类型的产品相比较来说,该款AD转换器主要集成了稳压电源、时钟振荡器、外围电路。该款AD转换器的特点及优点:集成度高、响应速度快、抗干扰性强。单单就是因为这几方面的特点,从而使得该电子秤系统设计在降低了的整体成本的同时并且提高了该电子秤系统的各方面的性能。
此外,该芯片该款AD转换器与后端的MCU 芯片的接口以及编程都时相对而言比较简单的,因为所有的控制信号都是通过MCU 芯片上管脚来驱动,我们不需要对芯片内部的寄存器进行复杂的进程编程。输入开关的选择有两种:通道A 和B,通道一般是与转换器内部的低噪声可编程放大器相连。通道A 的可编程增益一般是128 或64,它对应的满额度差分输入信号的幅值分别对应±20mV或±40mV。通道B 的增益: 32,这个通道主要的用途是用于检测信号的。芯片内有提供稳压电源:它的作用主要是向外部传感器及芯片内的A/D 转换器提供电源,系统板上无需另外的电源为之供电。另外,芯片内嵌时钟振荡器为各个指令的执行提供时序,该系统的上电自动复位的功能直接在系统开机时进行初始化。
HX711内部结构如图5-3,其外部管脚如图5-4所示:

图5-3 HX711内部方框图

图5-4 HX711外部管脚图
图5-4为HX711 AD转换器的管脚的参考图。该系统使用的MCU的内部时钟振荡器是:XI=0,输出数据速率:10Hz (RATE=0)。电源(2.7~5.5V:)使用与MCU 芯片相同的供电电源。通道A与传感器相连,通道B与通过的片外分压电阻及电池相连,其作用是用于检测电池的电压。

图5-5 HX711计价秤应用参考电路图
本课题设计的HX711电路如图5-6所示:

图5-6 HX711电路
5.1.5 键盘输入
该系统的键盘输入功能是实现该系统人机交互中的最重要的部分,这是该系统和用户直接交互的有效途径。本系统的键盘是由4*4的16个按键开关构成,一般使用键的多少是根据使系统需求的用途而定。本系统的输入键盘是由多个键组成的,每一个键其实就类似于一个机械开关触点,当有按下键时,触点就会闭合,电路畅通;当键松开时,触点就会断开,该支路电路断开。MCU接收到按键的按下与松开的触点信号后就会做出作相应的功能处理。所以,对于该电子秤系统而言,键盘接口信号是系统的输入信号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值