基于单片机与蓝牙传输的电子秤设计
2022-08-29吴莹妃
吴莹妃
(哈尔滨商业大学,黑龙江 哈尔滨 150028)
0 引 言
随着科技的发展,超市对物品的称重需求不再满足于显示重量,传统简单机械单一计重秤早已无法满足新要求。数字化、网络化、小型化、多功能集成化成为新的发展趋势,具有精度高、操作简单、体积小、计价与显示等独特优点的电子秤脱颖而出。对此,本文以单片机为核心控制芯片,利用24 位高精度模数转换器(HX711)和蓝牙技术,完成对具有称重计价显示功能且能通过蓝牙将数据发送至手机APP的电子秤的设计。
1 总体设计方案
1.1 系统框图设计
本文电子秤系统由四部分组成:质量采集模块、数据处理模块、人机交互界面模块、蓝牙传输模块。质量采集模块主要用于采集物品质量,并将质量由模拟量转化为数字量,以供单片机处理,该模块由压力传感器、放大电路及模数(A/D)转换模块组成;数据处理模块用于对采集到的数据进行分析与计算,包括判断物品是否超重、由单价计算总价、控制液晶显示屏输出字符等,其核心为单片机;人机交互模块用于方便用户对系统参数进行控制和用户接收系统传递信息,由4×4 按键矩阵、液晶显示屏组成,其中键盘用于输入单价、按键操作等,液晶显示屏用于显示目前状态;蓝牙模块核心为蓝牙SPP 串口透传,通过官方串口助手进行连接与控制,实时更新当前物品重量。此外还添加了过载蜂鸣器报警功能。系统框图如图1所示。
图1 电子秤系统框图
1.2 数据采集模块
设计采用电阻式压力传感器,相对于其他传感器,此类传感器精度高、操作简单、固有频率高,容易上手。附着在应变片上的敏感元件感受压力并产生形变,电阻式应变片感受到形变且电阻随之改变,从而对测量电桥产生影响,并通过输出电压反映该变化。
对不同的金属,电阻率有所不同,这是物体固有性质无法改变,但对某一固定金属,一般情况下,金属形状越薄,则该物品电阻值越大,这就是电阻式压力传感器的基本工作原理:当有外力加在金属上并造成其形变时,压缩的力会使金属变短变粗,相反拉伸的力会使金属变长变薄,前者使阻值增大,后者使阻值减小。
虽然将应变片搭建成桥路并提供电源后,在输出端就可以得到反映重量的输出信号,但该输出信号存在很多误差,例如电桥非线性误差、温度误差等,这是由传感器的结构产生的,为了减少误差,一般采用四臂差动电桥电路。
电阻应变桥式电路将物品的重量转化为电阻的变化,并由此改变了输出电压值,将该结果输出到模数(AD)转换器中。
HX711 模数转换芯片的精度达到了24 位。除了精度高,HX711 集成度也高,其内部集成的稳压电源与时钟振荡器使其摆脱了外围电路的束缚,使用简单,响应速度快,灵敏度高。
作为专为电子秤设计的模数转换芯片,HX711 有两个通道以供选择,通道A 增益通过编程可选择128 或64,通道B 增益不可更改为32。控制信号由管脚驱动,不需要内部寄存器的编程,与单片机连接十分方便。进行硬件连接时,系统板无须接入其他的模拟电源,因为芯片内部集成有稳压电源,且该稳压电源可为传感器和HX711 提供电源,简化了硬件电路,且芯片自动上电,简化了开机过程。HX711内部方框图如图2所示。
图2 HX711 内部结构图
1.3 数据处理模块
AT89C51 单片机是一种8 位的单芯片微控制器,是MCS-51 单芯片的一种,具有4K 的ROM 和128 字节的RAM。MCS-51 采用标准40 引脚双列直插式封装。51 单片共有4 组I/O 口,分别为P0 口、P1 口、P2 口和P3 口,除了做普通I/O 口,P0 口还可做数据总线和地址总线,P2 口可做地址总线,P3 口可通过对特殊功能寄存器编程来设置特殊功能。
EA/VPP 引脚用于选择控制访问存储器,该引脚为高电平时,单片机先读取内部ROM,再读取外部ROM;当为低电平时,单片机直接读取外部ROM,而不读取内部ROM。RET 为复位引脚,输入超过两个机器周期的高电平即触发有效。
XTAL1 和XTAL2 引脚用于外接晶振,时钟是单片机的“心脏”,时钟既可由芯片振荡回路提供,也可由外部时钟提供,前者需要XTAL1 和XTAL2 引脚外接石英晶体和微调电容,后者需要XTAL1 和XTAL2 引脚外接时钟脉冲信号。本设计采用使用内部振荡回路,内部振荡回路需要附加外部电路形成时钟,即附加外接晶振和电容组成的并联谐振回路。振荡晶体可在1.2 MHz 到12 MHz 内选择,电容可在20 pF到100 pF 之间选择。
51 单片机自带16 位的定时器/计数器T0、T1、T2,定时器/计数器有方式1 和方式2 两种模式以供选择,模式的选择通过改变特殊功能寄存器TMOD 来实现,通过指令可以对特殊功能寄存器TMOD 进行编程。除此之外,定时器/计数器的模式由TCON 等特殊功能寄存器来控制。无论是定时器还是计数器,当发生溢出时,都会向CPU 发出中断申请,CPU 根据当前中断位的设置判断是否响应。
1.4 人机交互模块
人机交互模块分为人为输入和系统输出,即人通过按键输入单价,系统通过液晶显示屏显示当前属性。本系统采用LCD1602 液晶显示屏芯片,该芯片使用范围广、质量高、体积小、功耗低,由字符型液晶显示屏LCD、控制驱动主电路及按键键盘等构成。
用户输入时通过4×4 矩阵键盘实现的,在4×4 矩阵键盘中,行由4 条I/O 线组成,列由4 条I/O 线组成,行和列交叉有16 个节点,每个节点有一个按键,交叉点的线本身不连接而是通过按键连接。按键没有按下时,所有输入端为高电平,当有按键按下时,输入电平变为低电平,通过读取线的电平即可确定按键位置。该矩阵键盘能够提高I/O 口利用率。
LCD1602 的使用编程中,涉及ASCII 值的转变与显示。ASCII 码值本身为数字,但它是用于表示字符的码值,在实际运用中,不同程序的ASCII 码值对应不同的作用。其中65 到90 为大写的26 个英文字母,97 到122 为小写的26 个英文字母。
1.5 蓝牙模块
蓝牙是一种无线技术的标准,不仅可以实现固定设备数据交换,还可实现移动设备、楼宇个人网之间的短距离数据交换。蓝牙可连接多个设备,克服了数据同步的难题。蓝牙技术是世界著名的5 家大公司于1998年5月联合宣布的一种无线通信新技术。蓝牙设备是蓝牙技术应用的主要载体,常见蓝牙设备比如电脑、手机等。蓝牙产品容纳蓝牙模块,支持蓝牙无线电连接与软件应用。蓝牙设备连接必须在一定范围内进行配对。这种配对搜索被称之为短程临时网络模式,也被称之为微微网,可以容纳设备最多不超过8 台。蓝牙设备连接成功,主设备只有一台,从设备可以多台。蓝牙技术具备射频特性。采用了TDMA 结构与网络多层次结构,在技术上应用了跳频技术、无线技术等,具有传输效率高、安全性高等优势,所以被各行各业所应用。
JDY-31 是基于蓝牙3.0SPP 协议的芯片,支持主流系统(Windows、Linux、Android)的数据透传,工作频段为2.4 GHz,最大发射功率为8 dB、调制方式为GFSK,传输距离可达30 米。贴片式JDY-31 引脚图如图3所示,JDY-31 使用经典蓝牙协议、可应用于Windows 电脑蓝牙串口透传、Android 蓝牙串口透传、智能家居控制、汽车ODB 检测设备、蓝牙玩具、共享移动电源、共享体重秤、医疗仪器等。
图3 JDY 引脚图
JDY-31 使用官方串口助手,JDY-31 模块串口发送AT指令时必须加上 ,列举一些常用指令:AT+VERSION查询版本号、AT+RESET 软件复位、AT+DISC 断开连接、AT+ENLOG 串口状态输出使能等。
2 系统硬件设计
2.1 最小系统电路设计
18、19 拐脚外接电容和晶振的并联谐振电路,电容选择为30 pF,晶振选择为23 MHz,该回路为单片机提供了12 MHz 的时钟。RET 拐脚外接电容与按键并联电路,当按键按下时并保持两个时钟周期时,就会重新启动单片机。P3.3 拐脚外接LED 灯,用于显示当前单片机的开关机状态。P0 口八个拐脚都外接上拉电阻,这是由单片机内部结构决定的,由于内部三态门且无上拉电阻,故外接上拉电阻将输入拉高或拉低,既不影响逻辑又保证输入不会漂空。
2.2 传感器及模数转换(HX711)外围电路设计
对于单片机来说,需要将VCC 引脚接电源、GND 引脚接地。因为使用通道A,所以INNA 和INPA 连接按键模拟输入,DOUT 拐脚与单片机P1.1 拐脚连接用于数字和串口数据的输出,PD_SCK 拐脚与单片机P1.2 拐脚连接,用于实现数字、断电控制和串口时钟的输入。
根据以上时序进行编程,即可完成对HX711 芯片的控制。
对于传感器与HX711 的连接需谨慎注意,传感器对形变的感测灵敏度很高,故要小心不要超载,以防出现外力撤销后形状不能复原的状况。传感器有四根线用于连接,其中红线为电源正极输入,黑线为电源负极输入,白线输出信号1,绿线输出信号2。
2.3 按键及LCD1602 显示电路设计
VSS 引脚和VCC 引脚分别接电源和地。BLA 和BLK是背光源的正负极分别接电源和地。V0 引脚连接上拉电阻,由于3 脚就是用来调整显示的字符和不显示之间的对比度,调整好了对比度,就可以让显示更加清晰,本次实验中连接已调好值的电阻。RS 拐脚与单片机P2.5 拐脚连接,用于单片机控制选择数据寄存器和指令寄存器。R/W 拐脚与单片机P2.6 连接,用于单片机进行读操作和写操作的控制。对RS和R/W 拐脚的控制可以实现以下功能:RS 低电平、R/W 低电平时,写入指令和显示地址;RS 低电平、R/W 高电平时,读信号;RS 高电平、R/W 低电平时,写入数据。E 引脚与单片机P2.7 拐脚连接,当P2.7 拐脚有下降沿产生时,液晶模块执行命令。DB0 ~DB7 引脚8 051 的P0 相连,通过这8 个引脚读写数据和命令。
2.4 蓝牙模块及矩阵键盘电路设计
如图4所示,系统采用4×4 位矩阵键盘,分别与单片机的P1.0、P1.1、P1.2、P1.3 相连,蓝牙模块JDY31 读数据拐脚RXD 与单片机P3.0 相连,写数据拐脚TXD 与单片机P3.1 相连,GND 拐脚连地,VCC 拐脚连+5 V 电源。
图4 系统完整硬件设计
3 系统实现
3.1 程序与功能说明
程序流程图如图5所示,该电子秤系统具有去包装称重、去皮、有记忆微加、有记忆微减、计算总价、超重报警、液晶显示屏显示数值、蓝牙连接手机APP 记录数据等功能。
图5 系统实现流程
开启时,提示灯闪烁,期间在传感器上放包装盒,系统自动录入该包装盒重量,提示灯熄灭,蜂鸣器蜂鸣示意,之后称重时,系统会自动去掉包装重量。若顾客或商家想要对重量进行微调,可通过微加键和微减键进行调节,且调节结果有记忆功能,之后不必再调节。按下去皮键,系统对正在称重的皮重进行记录,并在以后的重量显示中,去掉皮重。
输入单价后,系统对物品进行总价计算并显示在显示屏上,若单价输入错误,可通过按键返回上一步重新输入。手机蓝牙串口助手APP 通过蓝牙与系统连接,此时APP 能够接收物品总价。
3.2 实物测试
图6为测量时,显示屏分别显示重量、单价及总价,此时重量为0.218 kg,单价为56.2元/kg,计算得出总价为12.2元。
图6 测量及计价状态
4 结 论
随着电子技术的不断发展,未来电子秤的功能注定得到不断的改进。本文电子秤运用HX711、STC89C51、LCD1602 以及蓝牙技术,能对5 kg 以内物品进行重量称量,重量误差在0.001 kg 以内,精度高,体积小,能够输入物品单价、计算总价并显示,操作简单,携带方便,不仅在日常家用称重中能够得到应用,并且在大型商场也有十分广阔的前景,应用范围十分广泛。