基于WIFI传输的自动称重系统

2019-09-23 09:05郭晋秦乔家诚尹豪哲
太原学院学报(自然科学版) 2019年3期
关键词:按键单片机芯片

郭晋秦,乔家诚,尹豪哲,乔 寒

(太原工业学院 自动化系,山西 太原 030008)

0 引言

据国家统计局公布的相关数据显示,截至2017年底我国已有的登记在册的综合市场数目达到1 309个,市场摊位数达到1 254 329个。此类市场中进行批量称重作业时,一般采用的方式是由人工根据经验把握货物装填量,对包装袋进行估计装填,再使用传统的电子秤逐个进行称重、核准。这种传统称重方式存在效率低下、数据不准确、需要大量人工操作等缺陷,已经无法满足当前社会对快速化、智能化的要求。如今WIFI技术已经得到广泛应用,具有使用便捷、传输距离远等优势。本文以STC89C51为控制芯片,ESP8266作为数据传输模块,设计了一种智能高效、可远程控制的自动称重系统。

1 系统总体设计

系统总体架构设计分为三层:一是数据采集层。在传统皮带秤的基础上,选用四组合适的压力传感器对货物重量进行实时检测,使用直流驱动电机带动皮带运转。二是核心控制层。传感器所测得的数据信息经过AD模块转换后,传送到STC89C51芯片中进行处理,并在LCD1602屏幕上实时显示。三是终端控制层,利用WIFI模块进行数据的双向传输,实现电机速度调节、系统参数设置等远程操控功能,其结构设计如图1所示。

图1 系统结构设计Fig.1 System structure design

2 硬件系统

系统硬件部分由MCU控制模块、传感器模块、AD模块、LCD显示模块、电机驱动模块、WIFI模块、电源模块等构成,总体框图如图2所示。

2.1 MCU控制模块

图2 硬件总体框图Fig.2 Hardware general box chart

MCU控制模块是以STC89C51芯片为核心组成的小型控制系统。STC89C51芯片拥有灵巧的8位CPU和可编程Flash,使其在嵌入式控制应用系统得到了广泛的应用[1]。在本设计中,主要通过RXD和TXD引脚与ESP8266模块进行串口通讯,使用P1口来连接传感器信号和电机信号,以及LCD1602显示等信号。

2.2 压力传感器模块

本模块采用平行梁单点式压力传感器感知压力信号,完成称重数据的采集。该传感器数据精度高、称重量程大、稳定性好,并且安装使用简单方便,采集到的数据信号以电信号形式进行传输。传感器通过四根导线进行连接,两根为±5 V电源线,为传感器提供稳定的工作电压,另外两根为正负信号线,传感器内部生成的电脉冲信号通过信号线进行传输。

本设计中使用了四组压力传感器,以保证所测数据的准确性。

2.3 AD模块

本设计中,AD模块采用24位高精度A/D转换器芯片HX711,该芯片具有两路模拟通道输入,内部集成了128倍增益可编程放大器,是一款理想的高精度、低成本的采样前端模块,符合高精度称重的选型要求。

压力传感器通过连接HX711数据采集结构,将测得的电脉冲信号转化为单片机能够识别的数字信号。HX711芯片所需外围电路均已集成于模块当中,简化了与MCU的连接。压力传感器通过四根外接导线直接与HX711进行连接,输入信号可任意选择通道A、B。HX711工作电压与传感器相同,可直接向传感器供电,上电即可自动复位。AD模块外设四个引脚与单片机连接,两个±5 V电源引脚,两个信号引脚DOUT、SCK分别对应连接单片机的两个I/O口,可将重量数据送到MCU内部进行处理。AD模块接口电路如图3所示。

图3 AD模块接口电路(以一组为例)Fig.3 AD module interface circuit(take a group as an example)

2.4 LCD1602显示电路

本设计采用LCD1602来显示称重数值和开关状态等信息。LCD1602的显示容量为16×2个字符,工作电压5 V,它与单片机的接线如图4所示。其中,1脚接地;2脚接5 V电源;3脚为显示器的对比度调整引脚,与一个10 K的电位器相连进行调节;4脚RS接P2.6,为数据/命令选择端;5脚RW接P2.5,读写信号

图4 LCD接口电路Fig.4 LCD interface circuit

控制端;6脚EN接P2.7,为使能端;7~14脚DB0~DB7对应连接P0,进行数据的读写。

2.5 WIFI模块

本模块选用乐鑫公司的基于UART接口的ESP8266-12芯片[1]。ESP8266芯片能够实现用户数据和机器数据基于WIFI的相互传输。它有两种驱动方法。第一种是直接将ESP8266作为单片机,通过I/O口进行控制;该方法成本较小,但开发难度大,需使用特定代码才能实现。第二种是外接单片机,而ESP8266仅完成数据、命令传输功能;该方法需要通过AT指令来完成,该方案开发易于实现,性能稳定,但成本相对较高。本设计选用第二种方案。使用时将ESP8266的TXD、RXD引脚分别连接单片机的P3.0和P3.1口;ESP8266的9脚和11脚通过1K的上拉电阻外接3.3 V电源,如图5所示。

图5 WIFI模块接口电路Fig.5 WIFI module interface circuit

设置WIFI模块的工作模式。ESP8266支持AP模式、station模式和AP+station 共存模式三种模式。本文采用AP+station模式,ESP8266产生一个WIFI热点,终端设备接入热点,组建一个小型局域网。单片机通过AT指令对模块进行初始化配置。配置指令如下:

2.6 直流电机驱动模块

系统使用200 W 9 A的直流电机带动传送带的运行,运行快慢对称重系统的准确度有很大影响,且速度太快可能会对操作人员产生伤害。所以电机速度的精准调节显得相当重要。本设计使用PWM方法控制电机运行。PWM控制方法是指在保持周期不变的情況下,通过调节脉冲宽度达到调节电机转速的目的,即改变直流电机电枢上电压的“占空比”来改变平均电压的大小,控制电机转速。此方法具有运行稳定、执行方便的特点。

设置较低的占空比可以降低电机运行的起动速度,达到本系统的运行要求。通过控制单片机的外设按键,来改变占空比的大小,实现电机速度的多级调节,满足系统设计要求。

2.7 电源模块

考虑到称重系统在实际使用中的工作需求和电机的参数要求,本文采用600 W、24 V的开关电源为直流电机以及整个控制系统进行供电。开关电源可靠性高,具有输出波动小、低噪音、工作状态稳定、抗干扰性能好等优点。开关电源通过外接三孔插头与220 V交流电源连接,电源接地有效保障了系统的安全性。

3 软件设计

3.1 主程序设计

主程序部分的工作过程分析:通电后各模块进行上电初始化,LCD屏幕点亮,显示系统开机;对启动键A进行扫描,当检测到启动开关被按下,驱动电机,皮带开始运转,系统进入工作模式,在LCD屏上实时显示称重数据;工作模式下对压力测量值与预设值进行重复比较,当压力测量值在预设值±5%范围内,完成一次称重,间隔10 s后进入下一个称重周期。如果测量值连续3个周期为零,则电机停止运行,系统进入待机状态,直到按下启动键A恢复工作状态。

3.2 按键控制程序设计

按下启动键A电机启动,程序继续扫描按键。本系统共设置有4个功能按键,分别是启动按键A,停止按键B,加速按键1,减速按键2。其中停止按键设置最高优先级,确保运行安全。主程序流程图如图6所示。

图6 主程序与按键控制程序流程图Fig.6 Master program and key control program flowchart

3.3 WIFI模块程序设计

系统使用ESP8266模块进行通信。程序扫描与传感器所连接I/O口是否收到数据,当检测到有数据传入,程序读取数据后,发送到连接在同一网络下的终端设备中。也可以从终端软件发出动作指令,指令信号发送到ESP8266模块,当程序检测到有指令传入,读取指令给芯片,经过芯片处理后进行相应动作。数据收发流程图如图7所示。

图7 模块数据发送和接受流程图Fig.7 Flow chart for module data sending and receiving

4 结语

本文从市场实际需求出发,设计了一款基于WIFI传输的自动称重系统,以STC89C51单片机为核心控制元件[2],实现数据采集、传输、显示,数据终端显示,终端速度调节等功能。本系统安装方便,使用简单,功能可靠,具有很强的实用性。

猜你喜欢
按键单片机芯片
芯片会议
人体微芯片
基于有限状态机的按键检测程序设计
关于射频前端芯片研发与管理模式的思考
多按键情况下,单片机端口不足的解决方法
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
按键消抖在单片机和FPGA实验教学中的应用