李培培,李 辉
(天津职业技术师范大学自动化与电气工程学院,天津 300222)
随着科技的发展,智能技术已成为人们生活中不可或缺的一部分。在工业中,对工业洗衣机的控制也在不断走向智能化,工业洗衣机被用于医院、酒店等需要大规模清洗衣物的场所,且洗衣房需要在密闭的环境中进行衣物的清洗与消毒。这样,既减少人工成本,又提高工作效率[1]。然而,有些洗衣房仍采用人工添加药液的方法,这不仅会降低工业洗衣机的效率,还会增加工人的工作压力。远程智能控制系统正是可以解决这一问题的自动化设备。文献[2]对工业洗衣机进行网络化改造,并结合智能化的洗涤算法,提高了工业洗衣机的洗涤效率,但未能实现对工业洗衣机的远程控制;文献[3]提出基于嵌入式WEB的工业洗衣机远程监控系统,实现了对工业洗衣机的远程控制,但未能实现药液的精准智能投放功能。针对以上现状,本文设计了一种工业洗衣机云服务远程智能控制系统。该系统通过传感器不间断检测洗衣过程中的数据信息,利用无线传输模块将数据上传到云平台并将数据存储到数据库,应用模糊控制原理决定清洗衣物的过程,合理投入适量的洗涤剂和消毒剂,并创建手机端可视化界面,用户可使用手机实时查看数据,并下发指令通过云服务器和STM32控制端控制洗衣机。
系统总体结构图如图1所示。
图1 系统总体框图
整个系统由远程监控终端、现场触摸屏、Wi-Fi通信以及OneNet云平台构成。STM32单片机作为设备端的主控芯片,通过ESP8266模块与OneNet云平台建立连接,并将数据传输到OneNet云平台,手机作为远程监控终端,实现数据实时监测及控制设备的功能。同时OneNet是一个数据共享平台,可为企业信息管理提供数据接口。
硬件包括:主控芯片STM32、ESP8266Wi-Fi通信模块、4个温度传感器模块、4个浊度传感器模块、1个称重传感器模块,利用这些模块实现数据采集和OneNet云平台的数据上传功能[4]。
1.2.1 STM32主控芯片选型
STM32作为控制芯片,在OneNet平台上实现了对工业洗衣机的功能控制。考虑到工业洗衣机也会在地理位置较为偏僻的地方作业,有环境信号不稳定等情况,故选择了F4系列的STM32F407ZGT6作为主控芯片[5]。该芯片集成度高、功耗低、集成性能好,可为系统的可靠性、准确性和及时性提供保障。
1.2.2 Wi-Fi通信模块
Wi-Fi通信模块选用ESP8266芯片,这款芯片是专门针对无线连接需求而开发的,既能独立运行,又能作为Slave搭载其他Host运行。ESP8266性能稳定、体积小、AT指令简洁高效,且有AP、STA和AP+STA 3种模式可供选择[6]。其终端可以作为ESP8266和STM32之间的固定连接点,主要通过ESP8266上的RXD、TXD与STM32上的PA9(UART1~TXD)、PA10(UART1~RXD)之间的数据传输来实现[7-8]。该方案使用STA模式,利用AT指令进行运算。其中AT指令说明如表1所示。
表1 AT指令说明
1.2.3 浊度采集
浊度检测采用的浊度传感器为TSW-30,浊度电流信号通过一个电阻器转换成0~5V的电压信号,然后通过A/D转换进行采样,传输的光越多,电流越大;传输的光越少,电流越小[9]。根据表2所示的对应引脚进行连接,即可完成浊度的测定。
表2 模块与STM32引脚连接
1.2.4 水温采集
为了测量水温,使用较为常见的数字温度传感器DS18B20,传感器有数字信号输出,可以很容易地被单片机读取。该数字温度传感器不但精度高、体积小,硬件开销低,而且具有很强的抗干扰性。另外,该系统仅采用一条线路即可完成单片机STM32F407和DS18B20间的双向通信,无需复杂的线路,操作更加简单。
1.2.5 衣物重量采集
选用HX711传感器测量衣物重量,HX711为电阻应变式传感器,能够将衣物的重量转化成电信号。该传感器具有高精度,应用范围广,可在相对较差的环境中使用的特点。
1.2.6 现场触摸屏控制
为了实现工业洗衣机的现场控制,其控制设备采用触摸屏方式进行控制。单片机和触摸屏之间通过MODBUS通信协议建立通信,实现通过触摸屏来控制设备的功能。本系统使用1台触摸屏和4台设备进行通信[10]。
触摸屏的主要功能为数据显示、洗涤状态显示、药液自动添加、洗涤时间以及洗涤模式设定。界面上显示4个通道分别对应4台洗衣机且每台洗衣机有相对应的设备编号,数据显示区分别显示对应编号洗衣机的水体浊度与温度,每检测1次对应编号洗衣机的衣物重量,按1次确定按钮,并将数据显示在数据显示区。
设备通电后,将ESP8266模块配置成STA模式,通过建立无线路由器和OneNet之间的TCP连接,获取云平台的IP。对所发送的数据按照MQTT协议的要求进行封装和切片。将产品ID、设备ID及认证信息封装在协议头中;数据类型和大小封装在消息头中;分割数据集并封装存储JSON的信息[11]。数据传输流程如图2所示。
图2 数据传输流程图
MQTT协议是基于TCP/IP建立的,以发行/订购模式运行。MQTT协议的主要优势是为远程设备提供可靠和实时的信息服务,并且只需要很少的编码和带宽[12]。MQTT具有简单、开放和相对容易实现的特点,且MQTT可以在TCP/IP等网络中正常工作,提供有序、非破坏性的双向连接,因此其应用领域十分广阔。
本设计采用的是通道1,PA1口的ADC1,计算浊度的代码为
adcx=Get_Adc_Average(ADC_Channel_1,10);
temp=(float)adcx*(3.3/4096);
temp=temp*100/3.3;
if(temp>100)temp=100;
2.4.1 模糊推理
模糊逻辑确定了工业洗衣机的工作流程,在运行过程中,检测到的参数如水温、衣物量、浊度被作为模糊推理的输入条件[13]。通过模糊推理,得出智能工业洗衣机的主要目标是确定洗涤剂和消毒剂的使用量、洗涤时间、所选择的洗涤方式等。根据水温和水体浊度确定所需添加的洗涤液和消毒剂的量及洗涤时间,所用脱水时间、水位高低等由被清洗衣物的质地和重量来决定。洗衣机模糊推理结构如图3所示。
图3 洗衣机模糊推理结构图
2.4.2 自动添加药液的洗涤方法
药液存储于洗衣机内置药液存储盒中,存储盒内分为4个槽,分别存放1种洗涤剂和3种消毒剂。存储盒的上盖设有药液的主要入口,底部设置有药液排放口和电磁阀,用于控制药液的开闭。
启动洗衣机,先加水预洗,然后按药液自动投放按钮,在洗衣机模糊控制过程中检测衣物重量、衣物污浊度、水温,控制设备根据检测的数据对应药液用量、洗涤时间、漂洗次数等规范参数控制洗衣机进行洗涤。
该系统的软件设计主要包括:OneNet平台部署、数据库建立、编辑手机端可视化界面、STM32F407的编程。其中对STM32F407的编程主要包括主程序、ESP8266连接、水浊度检测、温度检测、衣物负载量、OneNet云平台的连接以及数据上传等。
该系统采用OneNet作为设备的云平台,该平台支持不同的网络环境、API、网络协议等,且不同类型的传感器可以准确、快速地部署在各种领域和生活场景中。此外,OneNet也是一个大数据平台,能够存储和传输来自智能终端的多个同步数据流[14-15]。OneNet平台部署具体步骤为:
(1)产品创建。在OneNet平台上创建一个可用MQTT通信协议访问的公共产品,并记住该产品的ID和APIKEY。
(2)设备创建。在已创建的产品中创建设备,输入设备信息和设备编号,记录设备ID。
(3)建立TCP连接。IP地址为183.230.40.39,端口号为6002。
(4)数据点的传输。数据采用SDK中的接口功能和MQTT的封装形式进行上传。
(5)生成应用。成功上传数据后,可以通过数据流创建应用。
在OneNet平台上,应用的设计要遵循以下步骤:登录OneNet官网→访问开发者中心→访问已创建的产品→应用管理→编辑应用。用户可以使用OneNet中的多种组件和配置来优化界面[16]。
数据上传至物联网平台后需要通过设备对数据进行展示,OneNet的VIEW3.0平台提供了可视化界面的开发工具,设计的监测界面如图4所示。
图4 手机监控页面
后台数据库用于保存OneNet平台的所有数据信息,对系统的使用起到数据支撑作用。系统采用MySQL数据库对传感器所检测到的温度、浊度、衣物负载量等数据进行存储,利用OneNet平台提供的API接口与数据库建立连接,实现数据迁移至可持久存储的数据库[17],方便用户查看历史数据。
本设计以STM32F407ZGT6为核心,利用ESP8266和OneNet云平台的特性,设计一套基于物联网信息技术与无线传输技术的工业洗衣机云服务远程智能控制系统。通过采集多种传感器检测到的数据,并上传实时数据到OneNet云平台中,利用数据库对数据进行存储,用户可通过手机监控整个洗衣环境,实现工业洗衣机药液的自动投放功能。实验结果表明,传感器对数据检测的变化反应灵敏、数据准确,系统运行稳定、对接收的指令反应迅速,符合设计要求。未来可进一步融合5G技术,使智慧工业快速发展。