于雯雯
(大连职业技术学院,辽宁大连 116037)
电子秤在日常生活中有着广泛的应用,由于其测量精度高、使用简单、重量值和价格读取直观,因此取代了传统的以杆平衡为原理的机械秤。随着电子技术的不断发展,人们对于电子秤的功能要求也越来越多,除了能够称量物体以外,还需要能够计算和显示价格。以单片机作为核心控制芯片,设计一款电子秤,应用Altium Designer 18 软件设计电子秤的硬件电路,运用Keil 软件设计出电子秤的控制程序,使用该电子秤能够精确测量0~5 kg 的物体。该电子秤不仅能够精确测量物体重量,还能输入单价、计算物体总价并显示出来。
所设计的电子秤可实现基本的称重功能,称重范围为0~5 kg,重量误差≤±0.005 kg;能够输入物体的单价,准确计算出被秤物体的总价;被称物体的重量、单价、总价可以通过显示屏显示出来;当被秤物体的重量超过最大测量范围5 kg 时,电子秤能够发出报警信号。为了实现上述功能,电子秤应包含数据采集模块、信号放大模块、A/D 转换模块、显示模块和按键处理模块,电子秤设计方案框图如图1 所示。
图1 电子秤系统框图
基于单片机的电子秤除了控制核心单片机以外,还包括单片机最小系统、由称重传感器构成的数据采集电路、由A/D 转换芯片构成的信号放大和A/D 转换电路、由LCD1602 构成的显示电路、矩阵键盘电路和报警电路,其硬件电路如图2 所示。
图2 电子秤硬件电路
电子秤的核心控制单元采用STC89C52 单片机。数据采集模块、信号放大模块和A/D 转换模块由压力传感器和A/D 转换芯片组成。本设计选择双孔悬臂平行梁电阻应变式称重传感器,量程为5 kg,精度为0.01%,它利用电阻应变效应,将各种力学量转换为电信号的结构型传感器。称重传感器采集的压力信号是模拟量,且传感器应变产生的电信号也比较弱,通常只有几十mV;单片机系统内部运算处理的都是数字信号,因此单片机无法直接处理运算模拟量,必须将传感器产生的微弱信号进行放大处理,再将处理过的模拟量转换为数字量,提供给微处理器处理。模数(A/D)转换芯片就是将输入的模拟信号转换成数字信号的电路,采用HX711 作为A/D 转换芯片,这是电子秤常用的一种A/D 转换芯片,它是24 位的高精度A/D 转换芯片,与单片机的接口和编程都比较简单,所有控制信号都是由单片机引脚驱动,不需要对HX711 内部的寄存器进行编程。单价的输入需要通过按键完成,因为按键较多,使用独立键盘会占用较多I/O口,因此采用矩阵键盘。HX711 的PD_SCK 引脚与单片机P2.0引脚连接在一起,DOUT 引脚与单片机P2.1 引脚连接。电子秤采用LCD1602 显示被称量物体的重量、单价和总价,第一行显示重量和单价,第二行显示总价。LCD1602 的VSS 引脚接地,VDD 引脚接电源,VEE 引脚接103 电位器的中间,电位器两端分别接电源和地。控制引脚RS 接单片机P1.0 引脚,RW 接单片机P1.1,E 接单片机P1.2。数据引脚D0~D7 分别接单片机的P0.0~P0.7。背光控制引脚15 接电源,16 引脚接地。矩阵键盘连接在单片机的P3 口上,P3.0~P3.3 连接矩阵键盘的行线,P3.4~P3.7 连接矩阵键盘的列线。键盘要能完成单价的输入,即数值输入,当输入错误时可以撤销错误输入并修改;单价输入后系统可以根据物体的重量计算出总价。所设计电子秤称重范围是0~5 kg,为了防止称量物体超过称重范围,设计超重报警电路,该电路由蜂鸣器和PNP 型三极管组成。蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机I/O 引脚输出的电流较小,驱动不了蜂鸣器,需要增加一个电流放大的电路,这里采用三极管作为驱动电路,通过三极管放大驱动电流,从而可以让蜂鸣器发出声音。报警电路的连接如原理图2所示,蜂鸣器正极与三极管集电极连接,蜂鸣器负极接地,三极管发射极接电源,基极接单片机P1.3 引脚。当P1.3 引脚为低电平的时候,蜂鸣器响;当P1.3 引脚为高电平时,蜂鸣器不响。这样通过控制P1.3 引脚输出状态可以控制蜂鸣器的工作。
电子秤程序主要有3 部分重要内容:①将称重传感器上获得的模拟电压信号通过A/D转换芯片转换成数字信号,再通过程序处理转换成重量值,并写入到LCD1602 中显示出来;②通过按键可以输入被称量物体的单价,输入错误时可以撤销输入;③可以根据被称量物体的重量和单价计算出物体的总价。
主程序流程如图3 所示,程序开始应该先对LCD1602 液晶显示器进行初始化,然后显示器显示电子秤初始画面,界面包括重量、单价和总价3 个部分,初值都为0;单片机读取在没有重物的情况下A/D 传感器输出值,即皮重;蜂鸣器响一次提示电子秤准备好了。接着单片机循环读取A/D 输出值并转换成重量值写入LCD1602 显示出来。系统查询矩阵键盘中是否有键按下,如果有键按下执行相应的按键程序。
图3 主程序流程
设计一种基于单片机控制的小型电子秤,其称重范围在0~5 kg,重量误差≤±0.005 kg,能够称量物体重量并显示,能够输入物体的单价并显示,能够计算物体的总价并显示。该电子秤测量精确度高,使用简单直观,电子秤电路所使用的芯片和材料成本低廉,可满足日常称重需求。