唐凯

(青岛市城阳区计量测试所,山东青岛,266109)

由于称量范围、功能不同,目前市面上所见到的电子秤种类繁多,在生活中的应用也十分广泛,需求比较大。基于此,结合实际需求,本文采用单片机来作为控制核心,设计一款具备称重、显示、语音播报、日历、价格计算的多功能数字化电子秤,它不仅能够对货物的重量进行称量,还能显示相关的信息,比如称重数值、具体时间,还能设置商品单价,当货物超出称量范围时,可以警示使用者。

1 总体设计

本设计要求实现对物品重量检测,该具有重量检测、显示重量值,以及重量不在范围报警,主要实现的功能如下:重量检测功能,实现重量的进行检测,检测范围0到10kg;显示功能,显示重量报警值和检测的实时重量值;按键设置报警值,可以实时对重量报警值进行加和减设置,同时还具有去皮,计数以及切换设置功能;报警功能,实际重量值大于设定的界限值时会发出声音对重量异常进行预警;语音播报功能,检测到物品重量后,计算出单价后,通过语音模块对价格进行播报;时间显示功能,当系统不工作时,实时显示当前的日历信息。总体设计方案如图1所示。

图1 总体设计方案

2 硬件电路设计

按照上文所述总体设计方案,本设计的硬件电路图如图2所示。

图2 硬件电路图

(1)单片机控制电路。本文的控制核心是STC89C52单片机,该单片机由美国的Atmel公司研发生产,具有性能强大、额定电压小等优点,包含了数据存储器、程序存储器、Flash存储器,具备40个引脚。

(2)重量检测电路。本设计采用HX711模块。该模块是一款精度非常高的24位AD转换芯片,集成度高,控制简单可靠,引脚结构包括三路差分输入,通道的选择是通过编程实现,所以其用在电子秤整机中不会给带来干扰,数据模块DT与单片机的P2.1连接,实现对重量数据的交换,SCK时钟引脚与单片机的P2.0连接实现通道选择与数据转换等。

(3)重量显示电路。本文通过LCD1602作为显示模块。VCC和VSS采用典型的5V供电设计;RS、R/W、E,三个控制引脚来实现选择、读写、显示使能等功能。本设计中,单片机的P1.0、P1.1、P1.2被分配来控制LCD1602的3个引脚,实现读写时序控制,单片机的8个P0.0到P0.7引脚被分配来控制数据传送引脚,实现数据传送。

(4)声音报警电路。按照设计要求,当电子秤称量的重量大于10kg时,设备会通过声音报警。在本设计中,单片机控制核心通过P2.7实现对蜂鸣器控制,当引脚输出高电平时,系统会自动发出声音来示警。

(5)按键电路。矩阵按键的主要功能就是实现重量阈值的设置,通过按键,本文设计的电子秤可以满足报警重量值加减操作。按下相应的按键之后,系统会进入到功能设置环节,如数值调节、去皮功能以及数字0到9的输入。除此之外,还可以设置密码操作,分别有设置、删除、服务以及确认等,P1口实现对控制按键功能,列控制按键引脚对应的是P30到P33,行对应的P34到P37,采用列或者行的模式,对按键状态判断,以行控制为例,首先是所有引脚单片机在内部都置低,如果将某一行控制引脚输出高,按键按下后,对应的列引脚就会检测到低,那幺就表示按键按下。

(6)语音播报电路。本设计采用WTD588实现语音播报功能,(PWM+) /(PWM-) 同/反相模拟输入端,前者在输入信号时时有两种方式,一种时单端输入,由耦合的电容输入32mV峰峰值的信号,同时与本段的3kΩ电阻对截止频率进行设置。另外一种是差分输入,与单端不同输入的时16m V峰峰值信号;反向时只有差分输入一种模式,信号通过耦合电容输出16mV峰峰信号,对负载进行驱动,最大负载5kΩ。(SCLK)WTD是一个输入给WTD的时钟端,一般时由与WTD连接的MCU产生。在SPI通信额下一个周期进行置位。OVF是一个录音和放音快到末尾数据的指示状态,也就是表示马上结束,通过RINT也能实现读取。EOM 表示一个内部放音标志,高电平有效。RAC行地址时钟,也是采用的开路输出,主要时根据RAC的周期来对来对WTD中功2400个行地址进行操作,RAC运行一个周期代表一行数据运行完成。该时钟高低电平持续时间不一样周期为200ms,高电平为175ms,这是在正常运行模式时的推进速度,在快进模式时,运行达到us级别,周期时250μs,高电平持续时间是218.75μs。(XCLK) 外部时钟,通常对外部时钟未使用;(AMCAP) 引脚用来对声音进行自动静噪处理,尤其是在录音的时候,当信号低于设定阈值时,其自动的实现对信号衰减,一般都是通过一个1μF电容来实现。

在本设计中,单片机的P1.4引脚与RESET连接实现复位功能,P1.3时与WTD连接作为一个反馈信号来表示WTD正常,P1.5和P1.6与CS和CLK连接,实现对WTD通讯时序控制;P1.7与P0.3引脚连接,控制播报内容。

3 软件设计

■3.1 主程序设计

主程序是整个系统运行时一直循环的程序。首先需要对引脚进行配置,比如LCD的时序控制引脚由单片机的P1.0到P1.2控制,按键引脚配置,同时对重量异常的阈值进行设置,比如初始设置10kg,对同时对显示的值和显示的初始化位置进行设置,之后进入一个不断循环的程序,如图3所示的主程序流程图,实时读取AD转换的数字信号,实现对重量的读取,一方面与设定重量值比较,一方面进行对重量进行显示。

图3 主程序流程图

■3.2 显示子程序设计

在LCD1602首先根据LCD的控制指令,比如定位指令将地址寄存器设为00H,设置SH值对移动指令进行设计,通过对内部的储存器进行地址读取,来控制显示内容。具体如图4所示。

图4 显示程序

■3.3 数据处理子程序设计

在本子程序中,HX711传感器首先读取重量数据,然后在传感器内部对该数据进行去皮处理,并将所得数据转换为kg数值,如果超出重量预设阈值,就进行声音报警,如果在范围内,就通过语音播报进行处理后的数据。子程序流程图如图5所示。

图5 重量检测子函数

■3.4 按键子主程序设计

矩阵按键子函数主要是实时检测扫描按键是否被按键,然后通过算法执行对应的功能,子程序如图6所示。

图6 矩阵按键子函数

4 实物调试

■4.1 实物制作

对该多功能的电子秤进行焊接,对硬件和软件进行联合调试对主要功能进行验证,搭建完成的实物模型如图7所示。

图7 实物图

■4.2 功能测试

对重量的显示,声音报警功能,按键设置功能进行测试,具体如图8所示。

图8 实物测试图

通过以几组实验,结果显示,本设计检测精度高,报警精度高和显示准确,实现了预期功能。

5 结论

本文设计了一款具有物品质量检测,声音报警,价格换算,语音播报和重量显示功能的电子称重器系统采用蜂鸣器实现声音报警,采用LCD1602实现重量显示功能,设计矩阵按键实现重量设置功能,本文主要完成了以下工作:一是完成对应变电阻实现对电子称重器系统的最新现状技术的学习,选择基于单片机的控制方式,然后对功能进行分析,对单片机模块,显示模块方案之间的优缺点进行比较,确定模块。二是根据选择模块,设计硬件电路,对各个硬件电路与单片机的引脚连接,工作原理都进行详细介绍。三是对软件设计逻辑设计,主要以流程图形式给出,最后对实物调试,实现了对电子称重器系统的功能。虽然完成了对电子称重器系统的功能,但是本电子称重器系统功能还可以继续完善,比如增加语音播报的功能,能实现电子称重器系统的远程操作等,同时市场还出现很多新型的远程控制的电子称重器传感器,因此还可以增加蓝牙实现按键的功能,实现对电子称重器系统的远程控制功能。