基于单片机的数字电子秤设计
2022-10-31郭晓姚政贺秋瑞
郭晓,姚政,贺秋瑞
(1.河南理工大学鹤壁工程技术学院,河南鹤壁,458030;2.鹤壁职业技术学院,河南鹤壁,458030;3.洛阳师范学院信息技术学院,河南洛阳,471934)
0 前言
随着计量技术和电子技术的发展,传统纯机械结构的杆秤、台秤、磅秤等称量装置逐步被淘汰,而电子称量装置电子秤、电子天平等以其称量准确、使用方便、显示直观等诸多优点而受到人们的青睐。和传统秤相比较,电子秤具有低成本,易携带、易操作、精度高、寿命长、应用广等优点。本文基于单片机AT89C51设计了一款智能化电子秤,可实现称重、按键调节、显示、超重报警等功能。设计的基本要求为:测量量程0~10kg,测量误差不能大于5g,能够通过按键完成显示清零、去皮、校准等功能,当被测物体超过测量量程时通过蜂鸣器和红色LED灯闪烁报警,如果未超重绿色LED灯亮[1]。
1 设计原理
本次设计的电子秤主要由6部分组成,分别是:压力传感器、A/D转换器、单片机主控芯片、液晶显示器、按键控制、超重报警及指示灯。工作原理:(1)由压力传感器采集数据,将压力转换为微弱的模拟电压信号;(2)HX711模块对模拟电压信号放大后进行A/D转换,输出数字信号给单片机;(3)单片机通过计算在显示器上显示物体重量;(4)如果物体超重报警器报警,且红色LED指示灯闪烁。
2 硬件电路设计
为了验证设计的可用性,本设计使用Proteus8软件进行仿真,用Keil uVision5进行单片机编程实验。Proteus软件是一款EDA软件,可以完成原理图布图、代码调试、单片机与外围电路仿真及PCB板设计,真正实现了从概念到产品的完整设计。在编译方面,它也支持IAR、Keil和MATLAB等多种编译器。硬件电路仿真设计见图2。
图1 电子秤硬件原理图
图2 硬件电路仿真图
2.1 单片机最小系统
单片机最小系统是指用最少的元件组成的可以正常工作的电路,一般至少应该包括:单片机、晶振电路、复位电路。晶振电路由两个电容、一个电阻和晶体振荡器组成。
复位电路由按键开关和电容构成,相当于电脑的重启系统,当单片机在工作状态因受到环境干扰出现程序卡死时,按下按键开关后程序将从头开始执行。单片机AT89C51的第9引脚为复位引脚,当高电平持续2便可实现复位功能,因此通过按键开关的断开和闭合控制复位。最小系统见图3。
图3 基于AT89C51的最小系统
2.2 压力传感器
电阻应变片式压力传感器[3]的工作原理是电阻应变效应,即应变片压缩致应变阻值减小,应变片拉伸致阻值增加。应变片阻值的改变,则桥式电路获得电势输出信号,传输给HX711模块,完成数据采集。该传感器上下表面各有一个应变片,每个应变片内有两个压力电阻,组成全桥式电路,精度较高。压力传感器及原理见图4。
图4 电阻应变片式压力传感器及原理图
2.3 专用模数(A/D)转换模块
HX711是一款专为电子秤而设计的24位高精度模数(A/D)转换器芯片,具有集成度高、响应速度快和抗干扰性强等优点[4]。HX711芯片集成了稳压电源,可以向内部的A/D转换器和外部的压力传感器供电。压力传感器产生的电压信号十分微弱,而HX711芯片内集成有低噪声可编程、增益可调的放大器,首先完成电压信号的放大,再进行A/D转换。
连接方式:压力传感器输出电压信号分别连接HX711芯片的引脚INNA与引脚INPA。电压信号经放大、数字化后通过引脚DOUT和PD_SCK传输给单片机,分别接单片机AT89C51的P2.0和P2.1引脚。稳压电路为压力传感器提供稳定的输入电压。HX711模块见图5。
图5 模数转换模块HX711
2.4 LCD液晶显示器
本设计采用LCD1602 液晶显示器,该液晶显示器与单片机的连接方式有两种:直接控制方式和间接控制方式。其中,直接控制方式是LCD1602液晶显示器的8根数据线和3根控制线E、RS和R/W与单片机直接相连,V0引脚是液晶对比度调试端,接电源时对比度最弱,接地时对比度最高,因此需要连接一个10的电位器实现对比度的调整。单片机AT89C51的P0引脚漏极开路,如果所选用LCD1602的数据端口内阻较大,可能会发生通讯异常,因此需要使用外部上拉电阻或使用LCX245等电平转换芯片,本设计采用外加上拉电阻的方法。液晶显示器原理图见图6。
图6 液晶显示器LCD1602原理图
2.5 按键模块
按键模块由4个按键组成,分别完成复位清除、去皮、校准加、校准减四个功能。其中,复位清除功能是通过将单片机复位重启按键实现的,即单片机复位按键为清除显示按键。去皮、校准加、校准减按键分别接AT89C51单片机的P3.0~P3.2引脚。
2.6 超重报警模块
超重报警模块的主要功能是防止电子秤过载损坏,该模块主要由三部分组成:第一部分为发出警报的蜂鸣器;第二部分为发出警报的红色LED灯,当被测物品超重时,红色LED灯不停的闪烁;第三部分为指示被测物体未超重时的绿色LED灯。其中:由于单片机引脚电压比较小,无法直接驱动蜂鸣器工作,需要外加放大器,一般使用三极管放大器或者电流驱动模块,本设计采用三极管放大器。当超重时,引脚设置为低电平,蜂鸣器响。超重报警模块见图7。
图7 超重报警模块
3 程序设计
程序设计流程[5]:首先,对单片机、液晶显示屏、A/D转换芯片初始化;然后,单片机读取A/D转换芯片的数据,通过计算将数字电压信号转换为重量值,并传输给显示器显示重量,再判断是否超重;再次,如果超重,则发出指令给报警模块,使得蜂鸣器发出警报,红色LED灯不断闪烁,提示超重。如果未超重,绿色LED灯常亮表示正常。最后,不断读取A/D转换芯片,重复以上操作。程序设计流程图见图8。
图8 程序设计流程图
4 软硬件调试
4.1 仿真调试
根据硬件电路系统设计使用单片机仿真软件Proteus8进行仿真调试,按照设计图连接好单片机以及各个模块引脚,确定无差错开始进行仿真调试。调试各个部分模块,能够正常工作。当给重量加到10kg时,发现红色LED闪烁但是蜂鸣器不能工作,经过更换蜂鸣器和调试发现,蜂鸣器端电压给予不足,给予蜂鸣器5V电压后再次仿真调试,此次蜂鸣器能够正常工作。
4.2 硬件调试
仿真完成后开始实物连接,按照仿真设计对实物各个部分进行连接,连接完成后,为防止通电后出现短接对芯片造成损伤等情况,需要排查连接线是否正确,确定无误后,对实物进行通电调试。给实物接上5V电源,开始对电子称经行调试,首先需要校准调试,经调试后误差不超过5g,能够正常使用,接着对按键进行调试,复位、去皮、校准功能能够正常工作,放上10kg砝码,LED能够亮,蜂鸣器能够工作,硬件调试完成。
5 结语
本设计实现了以AT89C51单片机为主控芯片的电子秤,配备精度较高的压力传感器和专用A/D转换器模块HX711,具备实时显示、超重报警等功能。该电子秤使用简单、携带方便、计量准确,可以满足基本需求。由于使用了单片机系统,可以通过电路扩展实现电子秤的进一步智能化,如显示日期、计算价格、语音播报、上传数据到APP等[5~6],也是未来工作的方向。