基于ARM的上下料控制系统设计

2023-05-22 06:33谢军喜
物联网技术 2023年5期
关键词:客户端超声波报警

谢军喜,高 怡

(西安石油大学 电子工程学院,陕西 西安 710065)

0 引言

随着信息技术的发展与物联网技术的兴起,人们对于监测系统的需求不仅体现在实验室,也体现在工厂里。伴随全自动生产线和无人工厂的出现,开发一个实时远程数据采集和过程监控系统更能回应当下对监测系统的需求,更好地提供温度、压力、输出和故障状态等多种信息。

沈巍等人[1]针对传统物联网控制系统中指令执行时滞较长的问题,设计了基于ZigBee 的生产线监测节点,按照ZigBee 原理建立传感器路由,利用CC2591 功率放大芯片来提高监测节点的射频功率;所设计的监测节点不仅扩大了ZigBee 的覆盖范围,也改善了实时性差、布线困难的问题。杨江等人[2]以STC89C52 单片机为微控制器,采用短距离无线收发nRF24L01 芯片、温湿度传感器DHT11,设计出一套针对室内环境的网络监测系统,该系统只需对终端节点进行扩展就可应用于不同场合。邱鹏[3]设计了一种基于物联网(IoT)技术的智能生产线系统,在此生产线系统上引入了实时远程监控;通过三层远程监控系统结构在线实时监测和远程操作,实现了生产线的远程监测与实时控制。骆东松等人[4]针对旋转机械设备中的振动问题,利用嵌入式STM32 芯片、振动传感器以及温度传感器作为采集工具,通过对上位子系统进行开发,实现PC 与云数据库的交互过程以及对机械设备的远程监控。邓静等人[5]以冲压自动化生产线为智能监控系统的研究背景,采用Linux 操作系统,监控终端作为服务器、中央监控系统作为客户端,采用套接字编程的方法,实现监控终端与中央监控系统之间的网络通信。

基于上述监控系统中的问题与改进方案,设计一套基于ARM 的上下料监测系统,该系统利用物联网技术,使用基于CortexA9 的Tiny4412 开发板,结合TCP/IP 网络通信协议和HTTP 超文本传输协议,通过HC-SR04 超声波传感器和E18-D80NK 红外计数器采集数据,能够实现较小设备体积对智能上下料的控制监测。该系统运用摄像头采集物料运输实时画面,提高实时性和安全性。经测试,运行稳定,满足对上下料系统监测的需求。

1 系统设计总体方案

上下料控制系统总体设计方案如图1所示。总体分为3 个模块:数据采集模块、服务器模块和客户端模块。数据采集模块分为Tiny4412 数据采集模块和单片机数据采集模块,Tiny4412 数据采集模块通过HC-SR04 超声波测距模块监测物料运输位置情况;单片机数据采集模块通过红外计数传感器采集数据,得到计数值数据后,单片机进行初次判定,如果超过计数阈值范围则进行声光报警,同时给Tiny4412 数据采集模块发送报警信息[6]。服务器模块实时接收数据采集模块与客户端模块发送的数据,当服务器模块接收到客户端的请求后,会做出相应响应。服务器模块使用SQLite3 数据库存储物料传送信息。图1所示为系统总体设计方案。

图1 系统总体设计方案

2 系统硬件设计

2.1 通信同步电路

同步问题是嵌入式系统在通信时所需注意的。由于接收和发送方异地,要使两者能同频率地协调工作,前提是有同步系统提供支持。嵌入式系统平台采用Tiny4412 开发板,板上的UART 提供四个独立的异步I/O 口,每一个I/O 口均可运行于DMA 模式或中断模式;可支持5、6、7、8 位的串行数据收发、1 位或2 位停止位、奇/偶校验位、可修改的波特率。

通过产生外部中断或DMA 请求两种方式,UART 可以将数据在CPU 和外设之间传输。每个UART 通道含有两个64 字节的FIF0。通过数据总线将内部数据发送到FIFO 队列,然后再通过移相器的TXDn 引脚发送出去。数据接收过程是将外部信号通过RXDn 移入接收移相器,然后进入接收FIFO 队列,最后到达数据总线,利用CPU 对其处理,或在DMA 方式下直接存入存储器中。

本文采用的是RS 232 连接方式。RS 232 标准采用的接口是9 芯的D 型插头,只需要RXD、TXD 和GND 三个引脚就可进行串行通信,但由于RS 232 标准定义的高、低电平信号与Tiny4412 系统中的TTL 电路所定义的不同,TTL的标准逻辑“l”对应2~3.3 V 电平,标准逻辑“0”对应0~0.4 V 电平;而RS 232 的标准逻辑“1”对应-3~-15 V 电平,标准逻辑“0”对应3~15 V 电平,两者间要进行通信必须经过电平信号的转换,在此选用MAX232 电平转换芯片实现这种变换[7]。

MAX232 是由德州仪器公司推出的一款兼容RS 232 标准的芯片。MAX232 内部具有驱动器、接收器、电压发生器电路和转换电路。Tiny4412 UART 与MAX232 的连接方式如图2所示。

图2 Tiny4412 与MAX232 的连接电路

单片机AT89C52 的RXD 和TXD 端与嵌入式系统通信接口电路相连,它们之间采用的是全双工串行通信。接口电路主要由MAX232 及其外围电路来完成。AT89C52 的串行输入口引脚TXD 与MAX232 的T1 IN 引脚相连,串行输入口引脚RXD 与MAX232 的R1 OUT 引脚相连,MAX232的T1 OUT、R1 IN 分别与RS 232 的2、3 引脚相连,如图3所示。

图3 AT89C52 与MAX232 的连接

2.2 数据采集模块硬件平台

硬件平台结构如图4所示。采用ARM 平台Tiny4412 开发板和STC89C52 单片机作为系统的数据采集模块。其中嵌入式Tiny4412 平台负责分析处理、采集和传输数据,搭建网络通道,其主处理器为Exynos4412,运行主频最高速率可以达到1.5 GHz,可以及时对采集和传输接收到的数据进行分析处理。STC89C52 单片机与Tiny4412 之间通过UART 进行串口通信,满足系统的数据传输要求[8-10]。

图4 硬件平台结构

2.2.1 液晶显示模块

液晶显示子模块在本次设计中需要显示管理人员预设的计数阈值,同时也要实时显示当前计数个数。LCD1602 可以显示物料计数值,且操作简单,能够完整显示物料运输信息。在单片机数据采集模块上电后,液晶显示子模块显示初始值,实时显示当前已经传送的物料数目,按下按键K3 显示管理员预设的物料运输上限阈值[11-12]。

2.2.2 声光报警模块

灯光报警采用普中A2 开发板自带的LED 灯,声音报警采用有源蜂鸣器。如果当前物料运输计数信息超出设定的计数阈值,则LED 灯红灯闪烁,蜂鸣器报警[13]。

2.2.3 按键管理模块

按键管理模块共有3 个按键,分别为K1、K2、K3;K1为减键,K2 为加键,K3 为设置键。

2.3 传感器模块

使用HR-SC04 超声波传感器对物料运输位置数据进行采集。Tiny4412 开发板通过字符设备驱动对超声波传感器进行数据采集,通过GPIO 串口接收距离数据,再通过三点定位法实现具体位置定位。内核加载超声波驱动如图5所示,得到的距离结果如图6所示。使用E18-D80NK 红外计数器采集计数值,若红外探头检测到物体,则计数值加1,并实时显示在LCD1602 液晶屏上。

图5 内核加载超声波驱动

图6 两组超声波测距传感器测量的距离

3 系统软件设计

Tiny4412 开发板可支持多种操作系统,本文采用Linux嵌入式操作系统,使用SQlite3 数据库来存储采集的数据,采用SMTP 机制实现邮件子模块报警,使用TCP/IP 网络协议模型和B/S 架构实现服务器端和客户端之间的通信[14-15]。

3.1 服务器和客户端模块

服务器模块使用TCP/IP 网络协议模型,使用HTTP 网络传输协议与客户端进行通信[16]。整个服务器的搭建致力于对数据采集模块的数据进行分析,同时对客户端发送的HTTP请求报文进行解析,并通过发送HTML 网页响应其请求。

客户端模块使用B/S 模型,当服务器端建立连接后,通过Web 网页访问的方式对服务器进行访问,登录服务器只需要利用PC 机的网络IP 地址即可访问服务器,登录成功后对服务器发送不同的请求,获取到上下料出库信息[17-18]。

3.2 超声波测距模块

超声波测距的流程如图7所示,首先需要一个10 μs 的脉冲触发信号,该模块内部将发出8 个40 kHz 的周期电平,并由超声波传感器自动检测回波。一旦检测到有回波信号则输出回响信号。回响信号的脉冲宽度与所测的距离成正比。

图7 超声波数据采集流程

3.3 传送视频数据采集模块

采用Linux 系统中常用的V4L2 视频采集框架,使用带有USB 驱动的ZC301 摄像头来进行视频数据采集[19],如图8所示。

图8 视频采集流程

3.4 SQlite3 数据库模块

SQLite3 数据库是一种比较常见的文件型数据库,占用资源非常小,在Linux 系统上仅需1.56 MB。与其他数据库比较,SQLite3 具有数据分享方便、数据类型没有限制、操作简单等优点[20]。设置SQlite3 数据库的存储格式包括序号、传送个数、总计、操作时间等参数。

3.5 SMTP 邮件报警子模块

在数据处理子模块解析Tiny4412 数据采集模块采集的数据后,如果发现物料运输个数超过预先设置的阈值,就会激活SMTP 报警子模块发送邮件通知管理员。系统采用的是SMTP 邮件方式,使用EHLO 命令向服务器表明用户身份,使用AUTH LOGIN 命令用于邮箱认证,发送该命令后依次向服务器发送邮箱账号和登录密码。使用MAIL FROM 命令写入发件人地址,使用RCPT TO 命令写入收件人地址,在DATA 里写入所发送的邮件主题和内容[21]。SMTP 报警子模块主要是通过TCP/IP 协议连接邮箱服务器,该模块操作比较简单,通过TCP/IP 协议向邮箱服务器发送指令操作[22]。

4 系统测试

系统上电后,启动视频采集子模块,通过ZC301 摄像头采集视频数据,此后将得到的视频数据通过V4L2 架构传输显示在Tiny4412 平台的OLED 屏幕上。同时当单片机数据采集模块采集得到的计数值超出阈值时,会通过UART 串口通信给Tiny4412 数据采集模块发送报警信息,并通过SMTP邮件报警子模块给管理人员发送邮件进行报警。在获得报警信息后,Tiny412 数据采集模块给服务器发送警示,并判断单片机数据采集模块中的声光报警子模块是否处于工作状态。拍摄到的正在移动的人手图像如图9所示。红外计数器模块和声光报警模块分别如图10 和图11所示。

图9 拍摄到的正在移动的人手图像

图10 红外计数器模块

图11 声光报警模块

传感器节点采集到计数值之后,将数据发送给单片机数据采集模块,单片机对采集得到的环境温度数据进行初次判断。若采集得到的当前计数值超出上限阈值,则LED 灯亮,并且伴有蜂鸣器报警[23]。

传感器节点得到物料扫描信息,将数据发送给单片机数据采集模块,单片机数据采集模块将得到的数据显示在LCD上。红外计数器未被遮挡时,LCD 显示屏上不加1;当有物体通过红外计数器前方时,红外计数器加1。对采集的计数信息进行初次判断时,若采集得到的计数值超过上限阈值,则启动GSM 短信报警。

Tiny4412 开发板数据采集模块接收到报警信息后,触发邮件报警子模块开始工作,此时服务器调用邮件子模块线程,通过邮件给管理人员发送报警信息,如图12所示;如果管理人员距离较远,可进行GSM 短信报警,如图13所示。

图13 GSM 短信报警

管理人员可通过Web 网页对服务器进行访问。管理人员需要通过姓名、工号以及密码登录客户端。管理人员在登录成功之后,可进行上下料操作查询。每次扫描到物料发生变化后,系统会自动记录上次操作的时间供物料管理人员查看。如图14所示,当服务器模块接收到客户端模块通过TCP/IP网络协议发送的HTTP 请求报文时,会对接收到的请求报文进行解析,并将结果以HTML 文件格式返回给客户端模块。管理人员在登录时会向服务器发送请求报文,服务器解析请求报文判断客户端管理人员的具体请求,解析后编写HTML网页来对管理人员的请求进行访问。管理人员登录查询界面如图15所示。当管理人员查看物料运输情况时,需要填写本次扫描的物料数目以及操作人员的工号。流水线扫描操作界面以及库存详情信息分别如图16 和图17所示。

图14 客户端登录请求报文

图15 登录界面

图16 流水线扫描操作界面

图17 库存详情信息

5 结语

本文采用Tiny4412 开发板和STC89C52 单片机作为主控平台,选择LCD1602 液晶屏作为显示单元;使用HCSR04 超声波传感器和E18-D80NK 红外线传感器作为数据采集模块,对采集的数据进行判断分析,能够及时进行声光、邮件和短信报警。系统成功完成了对多种传感器技术的融合,满足上下料系统监测的需求,论证了此系统体系架构的可行性。

猜你喜欢
客户端超声波报警
基于Niosll高精度超声波流量计的研究
LKD2-HS型列控中心驱采不一致报警处理
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现
蝙蝠的超声波
2015款奔驰E180车安全气囊报警
超声波流量计的研究
超声波流量计在兰干渠上的应用
死于密室的租住者