田炳丽 姚梓豪 李 超
(1.青岛海军潜艇学院作战指挥系,山东青岛 266071;2.哈尔滨工程大学青岛创新发展基地,山东青岛 266071;3.自然资源部第一海洋研究所海洋与气候研究中心,山东青岛 266071)
船舶的正常驱动需要足够的空气供给,船舶的柴油机、锅炉等燃烧设备的燃烧,机舱环境的冷却等都依赖于足量空气的供给及其所产生的空气流[1]。目前,船舶新风系统主要采用常规的机械通风、机械结合循环冷却装置通风、射流通风这三种方式,这三种通风方式各有其特点,不同船舶应根据实际情况并结合自身需求采用不同方式[2]。我国新风系统的发展尚处于初级阶段,本文根据实际需求,设计了一套基于ARM、多参数新风传感器、风机和无线传输模块的船舶新风控制系统[3-4],新风传感器的参数可通过无线传输模块从单片机传输到手机App上,通过单片机和手机App界面手动或自动控制风机,实现室内环境的远程监控。
结合传统新风系统以及现代智能工业的特点,基于新风系统智能化、自动化、网络化要求,本文设计的新风控制系统包括新风传感器、风机、无线模块等。通过新风传感器采集空气质量的相关数据,送入单片机进行数据分析及处理,其中新风传感器采集到的数据主要有温度、湿度、二氧化碳浓度等。单片机外接DTU模块,处理完新风传感器数据后送入无线模块。无线模块内部安装手机SIM卡进行联网,将新风传感器数据送入Internet,可以和其他手机App通信,手机App可以实时显示空气质量数据,并可以手动发送指令来控制风扇的启动和关闭,以此来实现室内环境的远程监控。
整个系统硬件主要包括控制模块、数据采集模块、无线通信模块、风机,系统总体框架如图1所示。
1.2.1 控制器芯片的选择
控制器的芯片要根据整个系统的功能要求选取,实现人机交互、实时监控的功能,还要负责指令接收和数据处理,实现与服务器的通信。本设计采用STM32F103ZET6芯片,它具有72 MHz CPU,闪存高达1 MB。控制器的接口包含电动机控制外围设备以及CAN、USB全速接口。STM32系列的ARM Cortex-M3具有32位闪存,微控制器工作时不仅具有低功率、低电压的优点,而且实时性能极佳,可以实现数据高速更新传送。
在本设计中,芯片接收传感器数据并进行处理,芯片的串口通过无线模块与服务器进行通信,实时传输空气质量数据,同时接收服务器传输的指令并根据指令控制风机。
1.2.2 传感器的选择
采用多合一空气质量传感器模组SNL-AIRC05。该传感器模组可以采集空气中二氧化碳浓度、甲醛、TVOC、PM2.5/PM1/PM10颗粒物、温度、湿度8种空气质量参数,测量精准,更新快速,为室内环境调温、调湿、通风及净化提供决策数据。该传感器测量精度、误差及范围如表1所示。
表1 传感器性能参数
1.2.3 无线模块的选择
采用正点原子开发的一款高性能全网通4G DTU产品——ATK-M751,它以高速率、低延迟和无线数传为核心功能,可快速实现应用场景下的无线传输方案,保证了实时监控功能的实现。它支持TCP、UDP、HTTP等多种协议,支持连接多种云服务器(如原子云、阿里云、百度云和OneNET),支持TCP/UDP/HTTP/MQTT数据透传,支持USB无线网卡,支持自动定时采集任务,支持自定义心跳包和注册包数据,支持上位机/AT指令/短信/透传等指令配置参数,并且支持RS232和RS485两种串行接口,可以广泛用于无线数传、智能家居等诸多领域。
1.2.4 驱动模块的选择
在本设计中,为简化接线,减少控制器的引脚占用,降低电路设计成本,采用PWM调节电子开关控制板,即大功率MOS管模块。该模块是电子开关控制板,采用双MOS并联有源输出,内阻更低、电流更大,功率稳定,满足本设计中风机设备的使用;宽电压、完美支持PWM,只需控制器的一个引脚提供高低电平信号,就可实现风机的开关功能。
本设计采用原子云服务器,根据对数据库的读写功能来对控制器的输出控制进行设计和实现,同时根据五合一新风传感器的通信协议设计控制器的数据分析处理功能和传感器驱动功能。最后根据控制器的输出控制来配置手机App,这样就能够实现实时监控环境空气质量各参数的功能。
新风系统监控功能的实现离不开相关软件的支持,本设计中软件的总体方案包括数据分析及处理,App界面设计,以实现远程在手机或电脑上查看各种空气质量参数和控制风机运转的功能。系统软件功能图如图2所示。
图2 系统软件功能图
系统的软件设计即根据设计要求对控制器、手机App软件功能的设计。中央控制器分为主函数、驱动函数、数据处理及显示函数。主函数与数据显示函数能够实现控制器的实时监控功能,主函数与数据处理函数实现传感器控制字和空气质量数据的发送以及空气参数和控制指令的接收。通过App界面(图3)可以查看相应的空气质量参数,也可以发送指令。
图3 手机App图
控制器程序是保证系统有效运行的主要部分,既要能够实现数据采集接收以及转发,还要能够对数据进行分析处理,控制风机运转。
2.1.1 主函数
以控制系统的要求作为根据,控制器的主程序主要由初始化、串口3云平台数据收发、串口2传感器数据读取、输出控制、数据处理等函数构成。
新风传感器的数据由手机App界面显示,串口2完成传感器数据采集任务,串口3完成远程通信功能,包括数据收发、传感器数据更新、控制指令更新,更新后的数据可以在手机App上显示,同时完成云数据更新。主函数流程图如图4所示。
图4 主函数流程图
2.1.2 数据收发函数
数据收发函数分为两部分,分别为串口2传感器数据收发函数和串口3的4G DTU远程数据收发函数。本设计采用中断接收方式接收数据,在初始化过程中对中断标志位进行初始化,为简化程序,在中断回调函数中对两个串口进行设置,其中接收服务器风机控制指令的优先级比传感器接收数据的优先级高,优先处理风机控制指令后再处理传感器数据。数据收发函数流程图如图5所示。
图5 数据收发函数流程图
2.1.3 显示函数
由于ATK-M751具有RS232和RS485接口,故可当作普通串口使用,要发送具体格式给手机App只需要在云平台内的数据接收中显示正确格式即可。考虑到传感器数据存在缓冲区,同时显示过程中名称以及变量名变化,基于数据的灵活性,可在STM32编程软件中对串口3重新定义printf函数,使其能够灵活显示各空气质量参数,在保证数据显示灵活性的同时又可以简化编程。
2.1.4 驱动函数
本设计中所采用的风机驱动模块为双MOS开关驱动模块,只需供电和一个开关或PWM信号即可启动风机运行。控制模式由控制信号决定,若只需要控制风机的启动与停止,则只需控制器的一个引脚提供高低电平作为开关信号;若需要对风机进行调速控制,则需要控制器提供一个PWM信号根据占空比进行调速。在本设计中,为简化流程,只对风机进行开关控制,故应用引脚电平的置位和复位功能来对风机进行控制。
原子云平台为设备提供了安全可靠的联网通信能力,可连接大量设备,支持设备采集数据传输至云平台,配合ATK-M751自动定时采集任务实现实时监控,同时提供云端API,服务器可通过云端API将控制指令发送至设备端,实现远程控制。原子云通信流程图如图6所示。
图6 原子云通信流程图
上行数据:设备通过配置ATK-M751与原子云建立远程通信连接,上报数据只需通过发布主题功能即可将数据发送到原子云平台,将处理好的数据转发,手机App只需订阅该主题就能显示处理好的数据,或通过上位机进行显示。
下行指令:手机App发布相关主题后,用户下达控制指令,指令将通过API发送到云平台,将控制指令转发,设备只需订阅相关主题即可接收控制指令,控制风机。
控制系统软件开发环境是由控制器芯片决定的,编程方式有两种:标准库和HAL库。HAL库相比于标准库,具有上手容易、配置简单、功能强大、通用性强等特点。对比分析两种编程方式,本设计控制器的编程方式采用HAL库,它可以通过界面对控制器芯片引脚直接定义功能,自动生成代码初始化系统所使用的引脚,同时将引脚相关功能集成为库,可直接使用函数来实现所需功能。
本系统测试主要分为功能测试和性能测试。
功能测试是根据设计要求读取空气质量的各种参数,结合收到的指令对风机的运转进行控制。在系统功能测试过程中,首先要对设备进行联网,联网后可在服务器界面看到设备状态,在查看主机是否成功发送数据至网络数据库时,可以在“消息收发”界面查看设备运行状态。在调试过程中,“消息收发”界面具有消息保留功能,因此可以根据该界面来进行在线调试,调试程序是否正常运行、数据格式是否正确。
本设计中系统的性能测试包括控制系统性能测试以及传感器采集和输出功能测试。控制系统采用Keil软件编程,利用软件集成的功能可进行在线调试。根据设计要求,新风系统是针对区域内空气质量的各种指标做检测,因新风传感器是采用RS485串口输出采集数据,因而在调试过程中采用USB转RS485作为数据接收端口,该传感器模块作为信号采集端,运行在发送模式。
在系统功能测试过程中,主机将数据成功发送至网络数据库,控制器可以根据数据库的指令作出相应操作,并反馈数据给主机。在进行性能测试时,将主机收集到的数据与实际空气质量参数做对比,测试结果与实际结果符合。
系统各功能模块调试后进行整体联机测试,各模块能够正常运行,系统能够按照预期完成工作。
本文以新风系统作为研究对象,基于ARM STM32 F103控制器,以SNL-AIRC-05多合一新风传感模组为数据采集模块、4G DTU ATK-M751为无线通信模块,利用原子云平台等设计了一套新风控制系统,在新风系统基本功能不变的基础上,提升了新风系统的网络化和智能化水平。