基于单片机的智能电子秤的设计与实现
2023-07-01左兰,肖洁
左 兰,肖 洁
(毕节市农业机械研究所, 贵州 毕节 551700)
0 引 言
近年来,电子称重系统发展迅速。随着信息时代的到来,数字电子秤和数字称重系统在各种高端系统中的应用越来越广泛。基于当前数字电子称在电子办公天平的商业中广泛应用现状和存在的不足,设计出一款功能齐全、价格合理、应用广泛的智能化、人性化、可视化、LED 屏、蓝牙语音播报功能的智能电子称。不仅适用于大小型商超、物流设施、工厂等,而且普通家庭也可以使用,对经济发展起到了重要的作用。
1 研究内容
本设计以STC89C54 单片机为核心,应用多模块化组合设计法。设计出测量精度高、稳定性强的电子秤。当物体放在称量平台上,传感器把物体质量改变成内部可传输信号,按照标准化流程,物体质量信息电信号改变成内部数字信号,再通过放大电路把信号放大,让信号能稳定、高效传输,进而通过单片机的处理对物体的质量进行分析、处理。按动数字或者功能按键将外部指令反馈给控制中心,其他功能指令传递回控制中心,实现运算显示、超重报警、蓝牙传输及语音播报功能。
2 设计方案
本设计方案是根据传感器元器件受力变化发出模拟电信号,由于发出的信号不稳定、容易受到干扰,用放大电路把它放大,放大之后通过模数转换器转换为数字信号,由微处理器识别、接受数字信号进而处理,由微处理器在处理后输出信号到显示器进行显示。本设计的电子秤有20 个键盘按钮,分别是数字按键0~9 以及具体功能按键,实现了赋价、总价累加、清除单价、去皮、时间设置、时间播报等功能。当键盘按键被按下后,将信号传入到CPU 中进行运算处理,将单价和总价信息显示到液晶显示屏上。除此之外,系统还具有过量报警装置及蓝牙传输模块,当物体超重后,蜂鸣器会报警;称重信息会通过蓝牙模块传送到手机APP 中进行显示,同时也可通过手机APP 端进行实时操作控制。系统整体的设计方案见图1。
图1 电子秤结构框图
3 系统硬件设计
3.1 硬件设计的总体思路
压力传感器感受到物体存在后输出信号,通过引脚传递到放大电路中把信号放大,随后发送至模数转换器中,把模拟电信号转换成数字信号,然后微处理器进行信号接收、分析、处理,进而通过键盘按键发出命令送入到CPU 中,用程序发送到显示器上达到显示读数效果。同时,也可以通过手机APP 端进行实时控制。如图2 所示,系统硬件由单片机最小系统设计、称量传感器设计、键盘输入设计、液晶显示电路、过载报警电路、语音播报电路、蓝牙通信电路构成。
图2 硬件设计的总体思路
3.2 单片机最小系统设计
单片机作为主控制器设备,具有可靠性较高、操作简单、易于维护等优点。本文设计的智能电子秤,需要完成程序书写、烧录,且能称量。所以选择可编译化程度高、价格低廉的单片机——51 系列的单片机STC89C54 作为本次的系统核心。STC89C54 单片机是带16 KB、具有高性能的CMOS8 位微处理器,1 280 B RAM 等。STC89C54 单片机具有内存大、兼容性好、可靠性高、抗干扰能力强等特点。使用一个外部可切换电容和一个并联晶体电路来作为内部计时系统。在外部加上大于两个机器周期的高电平给复位引脚Rst 直接就能复位。然后选择键盘按键手动复位,其中电平复位方法就是将电源及时钟引脚和引导内部复位程序这两个引脚连接上就可以了,整个部分用外部的复位电路来实现。
3.3 传感器与放大电路设计
选择应变式传感器,工作原理是通过电阻应变片的电阻变化转变为电压输出,本设计用的是HX711 型号的电阻应变式称量传感器。HX711 称量传感器配备了一个24 位A/D 转换器。这个芯片具有高度的集成度、快速的响应速度、抗干扰能力强等优点,这减少了开发成本。这种设计的最大质量约为8 kg,质量公差不超过±0.001 kg,其称量规模为10.000 kg。在本设计的电路中,HX711 称量传感器转换的电信号特别弱,经过电路的传输,造成损耗,导致信息传输出错。要求将这个信号扩大。本设计选择具有准确度高,增益大INA128 型放大器加入到电路中,将信号扩大。
3.4 模数转换器与单片机接口电路
由于顺序比较模数转换方法具有高速和高分辨率的特点,而且采用这种方法的ADC 芯片成本较低,因此选择了ADC0832 集成顺序比较模数转换芯片。正常情况下ADC0832 与单片机的接口应为4 条数据线,分别是CS、CLK、DO、DI。但由于DO 端与DI端在通信时未同时使用,且与单片机的接口是双向的,所以电路设计时可以将DO 和DI 并联在一根数据线上使用。当ADC0832 未工作时其CS 输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。当要进行A/D 转换时,须先将CS 端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI 端则使用DI 端输入通道功能选择的数据信号。
3.5 显示电路与单片机接口电路
显示模块有两种:LED 数码管显示和LCD 液晶。根据实物图进行对比后LCD 显示模块为最佳方案。选择LCD 显示,单个显示模块就可以完成足够多的信息展示即双行显示,让信息感知力更强,容易操作,所以选择LCD1602 显示器。LCD1602 与单片机的连接如图3 所示。通过设计,LCD1602 能够进行双行持续显示,可显示物品的质量、单价、总额,同时也能显示时钟、日历等。
图3 单片机与LCD1602 接线图
3.6 键盘电路与单片机接口电路
根据使用最多的功能键需要,确定有0~9 数字键盘、去皮、清除、累加等功能按键,共需设置21 个键和1 个附加的复位键。当键盘有大量的按键时,为了减少I/O 端口的占用,通常将按键排列成矩阵式配置。在矩阵式键盘中,水平线和垂直线在交汇处不直接连接,而是通过按键连接。所选择矩阵式键盘的具体按键功能如图4 所示。要考虑键盘是否持续发出请求,如果持续发出请求就降低了CPU 利用效率,这样是不符合设计规范的,所以就要使用中断的工作方式,提高CPU 的利用效率。
图4 键盘电路与单片机的连接图
3.7 超重报警电路
超重报警电路子程序是由单片机的I/O 口控制信号发送,当传感器收到的信号大于10.000 kg 时,促使电路为高电平,三极管导通,音频系统播放提示音“请注意”。超重报警电路如图5 所示。这个设计是为了增加语音播报功能。在这个设计中,为了增加智能电子秤的便利性和实用性,语音芯片必须提供至少10 位0~9 的数字,“点”的语音,质量单位的语音,和数值的语音芯片所包含的语音内容,确定本设计选用的单位为千克,设定语音播报形式为“单价XX,当前质量XX 千克,总价XX”。
图5 报警电路图
3.8 蓝牙通信电路
本设计选用HC-05 的蓝牙模块,手机与单片机连接,从而达到与手机实时传输、控制、显示等目的。需要将它连接于单片机的串行端口,如图6 所示。
图6 蓝牙通信电路图
4 系统软件设计
4.1 主程序设计
本系统的设计部分应用单片机C 语言进行编写,实现了该设计的所有控制功能。编程使用模块化的编程方法,给予其良好的系统方案。本设计电子秤拥有基本的称量功能(称量范围为0~10.000 kg,质量误差不大于±0.001 kg), 可以显示时间、计算价格、电子语音播报,同时通过蓝牙传输模块能够在手机端实时查看质量并且进行相对应控制,还具有超量预防报警功能。单片机系统按照程序控制规定的运行方式运行。一旦系统出现问题,系统就会自动恢复到初始状态。初始化程序主要完成单片机专用寄存器的配置,并指定单片机的工作方式。
4.2 子程序的设计
在ADC0832 进行模数转换后,电源二极管CS电平被设置为低电平,并保持低电平,直到转换完成。当处理器向CLK 芯片发送一个输入时钟脉冲时,芯片开始进行转换操作,并通过DO 和DI 端子向DI 端子上的通道选择器发送数据信号。A/D 转换启动和数据读取用于启动后初始化ADC0832,并将来自称量传感器的放大模拟信号转换为数字信号并传输给微控制器。键盘电路采用4×5 矩阵键盘,共20 个键。主要包括:数字0~9 按键、确认键、清除键、去皮键、计算键等。
液晶端显示字符,首先将LCD 屏幕初始化,第一时间显示weightprice,通过键盘输入扫描,功能信号发出,调用键盘子程序输出程序命令,实现LCD屏幕显示,最后判断清零键盘是否发出指令,程序完毕。这个子程序与两组寄存器一起工作,使用40H地址的连续单元格存储数据,质量×单价为总价,是正常的价格计算公式,数字系统在程序中进行了两次转换,内部需要用二进制的重量计算单价。在子程序中设定的最大值为10.000 kg,当LCD 屏幕上显示数值时将与其进行比较,从高位开始逐一比对,若从高位值大于设定值,语音播报系统进行播报提醒“请注意”。同理,若比对后高位值相等就看低位值,同理,语音播报系统进行播报提醒“请注意”。这里设计的就是比较程序和一部分置1 清0 程序。
5 系统调试
5.1 软件调试
Keil 支持51 台串行单片机的仿真,从而通过系统参数生成51 个十六进制文件。Keil 编译接口用于在编译前模拟项目。通过使用Keil 首先进行程序编译,进而逐步验证程序的可行性、兼容性,程序运行无错误,没有错误之后通过串口烧录到STC89C54单片机中,从而将软件程序功能呈现在硬件实物上。
5.2 硬件调试
根据本次设计需求进行硬件调试。选择标准100 g 砝码作为称量标准,设备通电后,LCD 屏幕第一时间进行显示为100 g,硬件调试测试通过。
将标准100 g 砝码放在称台上稳定后,观察LCD 显示屏第一时间显示出物体质量100 g,按下数字键盘“19”,显示单价为19 元即总价为1.9 元;进而测试播报功能,当按下播报按键后,第一时间人声播报“单价一十九点零,当前质量100 g,总价一点九”,硬件调试测试通过。
将标准20 g 砝码放在称台上稳定后,观察LCD显示屏是否第一时间显示出物体质量20 g,按下键盘上功能键“去皮”后,调转回待机界面显示日历,当再将标准100g 砝码放置在称重台上时,LCD 液晶屏显示80 g,硬件调试测试通过。
将标准100 g 砝码放置在称重台上,设定常用价格4.4、10.0 后,按下常用价格按键后,商品单价第一时间跳转到4.4,再次按下常用价格后,商品单价立即跳转到10.0,硬件调试测试通过。本设计智能电子秤通电后,待机界面默认时间日期显示,走时精准可靠,硬件测试通过。
打开手机端APP 连接上蓝牙传输模块HC-05,建立连接后, 当手机端键盘功能和硬件实物完全符合,同时也能够进行实时控制;将标准100 g 砝码放在称台上稳定后,看到手机端实时显示质量为100 g;按下手机界面数字键“12”,通过蓝牙实时控制智能电子秤,并显示单价:12.0 元/kg,金额:1.2 元,蓝牙功能测试通过。
6 结 语
本设计以STC89C54 单片机为主要部件,系统硬件包括最小系统部分、放大电路、模数转换电路、显示电路、键盘电路、语音输出电路和电源电路。系统软件开发了硬件模块来实现设计功能,最终质量显示在液晶显示器上。设计出的电子秤的主要优点是实时测量和监控、高测量精度、高速度显示。此外,基于STC89C54 单片机开发的电子秤符合国家要求,在精度和测量稳定性方面,具有良好的校准和校准方法,性能稳定,操作简单,价格低廉,具有一定的应用价值。