余燕娟,高 翔
(1.漳州职业技术学院电子工程学院,福建漳州363000;2.厦门大学附属第一医院,福建厦门361000)
甲醛会对机体组织产生刺激、致敏、致突变的影响[1],是公认的致癌物质之一,但甲醛也在化工、纺织、木材、防腐等工业的生产过程中有着重要的作用. 为了保证此类工厂生产过程中员工的健康,针对甲醛的计量进行连续性监测以保证员工作业安全十分重要. 传统的甲醛的检测方法,如分光光度法、色谱法检测周期长、操作难、专业性强[2],难以做到高效快捷、快速推广,同时也很难连续检测. 目前多数用于甲醛快捷检测方法存在一次只能监测一点,且监测多采用电化学传感器,信号较弱易受干扰等的问题[3]. 为了更好地适应工厂的实际需求,分析发现甲醛监测系统需要满足如下条件:对甲醛实现精准计量检测;检测快速,系统稳定,且检测可重复;甲醛超标时可以进行干预处理;可以对工厂中多个点进行同时检测;管理人员可以通过软件对全部测试点进行管理. 对此,本文拟设计一种能实现这些功能的系统以完成对甲醛的监测.
根据设计要求,为实现多点甲醛的监测,结合工厂甲醛检测特点,系统采用了基于RS485 总线的分布式的控制结构,拓展多路甲醛采集,实现了多个甲醛采集板的与中心控制板的通信网络,完成了多个数据采集板的级联[4-5]. 由纳米传感器采集的甲醛数据经RS485 总线发送中央控制板,并经过ESP8266模块以Wi-Fi 形式发送服务器PC. 终端PC 机接收中央控制器传送的数据并进行显示、数据图形化、报警等处理. 该甲醛检测系统可对区域内多个监测点甲醛气体浓度进行监测和报警,并且给予通风排气的动作,以便工厂人员及时了解和处理.
RS485 总线是工业级的总线标准,支持多点、远距离、高灵敏度数据通信,传输速率快[6-7],可将多个点甲醛监测集成,节省各个分点软件和硬件资源的浪费,实现远程控制. 系统由PC、无线通信模块、中央控制板、数据采集板、传感器等构成,其结构如图1所示.
图1 系统结构框图
系统的中央控制板主要以ARM 的STM32F103单片机为核心,STM32F103 是32 位高性能、低功耗单片机,具有72 MHz 的CPU,1MB 的Flash 主要完成与上下级之间数据、命令的接收和发送. 中央控制板与下一级通信接口为MAX485,二者使用Modbus协议进行通信.与上一级的通信通过ESP8266模块,ESP8266 模块内置TCP/IP 协议,支持串口通信,兼容3.3V 单片机,从而实现网络数据传送,其结构如图2所示,硬件结构如图3所示.
数据采集器以ADuC834 单片机为核心协调控制各个电路运行工作. 该系列单片机优势在于AD和DA,ADuC834 具 备16/24 位 高 速、高 精 度 的ADC,单通道12位轨到轨电压输出DAC.ADuC834完成对甲醛传感器的信号获取、报警输出、甲醛信号传递、排气系统控制等功能,并利用MAX485 完成RS485总线的电平转换.数据采集板结构见图4.
ADuC834 的AD 电压输入范围是±20 mV ~±2.56 V,传感器输出电压(0.1 ~2.5) V,正好符合AD 输入电压范围可以直接送入单片机内部,模块还设计了过压保护电路,保护由于传感器电压波动造成过压输入. 单片机内部运算甲醛值,如超标则做出声、光双重报警,并通过DA 对排气系统实现开启操作. 监测的甲醛数据在ADuC834 进行编码转换,将二进制码转换成ASCII 码,通过自定义Modbus通讯编码由RS485总线发送出去[5].
图2 中央控制板结构方式图
图3 中央控制板硬件
图4 数据采集板结构框图
甲醛传感器选择是新型纳米材料的甲醛传感器NGTFS10a,是一种半导体甲醛气体传感器. 甲醛气体可改变纳米材料表面的电导率,其中其内电阻的变化范围为(10 ~250) kΩ. 该甲醛传感器由恒流源供电,恒流源供电电路如图5所示.
LM334 的恒流范围为1 μA ~10 mA,计算公式如式(1),R12为13.4 kΩ,恒流源输出为10 mA.
传感器测量得到输出电压Vout变化为(0.1 ~2.5)V. 通过电压与甲醛浓度关系函数y= 369ln(x+1.45)- 137,从而获得甲醛浓度值,该传感器对于甲醛有较高灵敏度和选择性,可检测的最小甲醛浓度为0.03 mg/m3,分辨率可达0.01 mg/m3.
图5 恒流源电路
为了满足系统多区域设计要求,采用RS485 总线扩展多个数据采集板,实现多个采集器级联. 分布式检测的结构特点,保证了多个甲醛点的同时检测,简化甲醛监测设备,降低成本[6]. 设计选取MAX485 作为电平从TTL 转RS485 总线的桥接芯片. RS485 总线通道选取的是双绞线保证可靠传输. 控制系统中有两部分电路需要使用MAX485 实现TTL电平与RS485的转换,ADuC834单片机串口转RS485 总线接口,另一个是STM32 连接总线转换,其MAX485芯片接线情况如图6所示.
图6 MAX485接口电路
这里采用并接式二线制总线接口,当控制端口P2.2 或PA4_USART2_EN 为高电平时,通过TXD可发送数据,若为低电平,则RXD 接收数据. 总线终端为了避免电平拉低连接10 kΩ 上拉电阻,为了避免线路浪涌干扰,在总线与地之间接入TVS 二极管,为了减少信号干扰,当通信距离超过500 m 时,在电路终端添加120 Ω 电阻,以达到阻抗匹配[7]. 电路图如图7所示.
当甲醛超标时,为了对正在工作的员工起到警示作用,每个终端采集器都设计两种报警,即声音报警和灯光警示. 总控制室的上层软件设置有软件报警. 图8 为声音报警电路. 甲醛监测数据超过安全值,ADuC834 单片机P2.0 置为高电平,导通二极管D5,三极管导通蜂鸣器电路导通,发出报警声,提示工人注意甲醛超标情况.
图7 总线终端电路
图8 声音报警电路
为了协助声音报警,同时设计光报警,其电路结构如图9所示.
图9 光报警电路
光报警由单片机P2_1 端口控制,为了更好地提示,光源选择了直径为1 cm 的高亮二极管,因此利用Q3构成了应的驱动电路. 单片机P2_1 控制灯光开启与熄灭,以达到光报警.
中央控制板与上层PC 选择Wi-Fi 通信方式完成信号传输,完成信号Wi-Fi 转换的电路模块为ATK-ESP8266 模块,该模块具备有三种工作方式:COM-AP/COM-STA/COM-SP+STA[7],即 可 从Wi-Fi 接收数据从串口输出,还可串口接收数据以Wi-Fi 形式输出,或者是两者兼顾. 本文选择COM-STA 模式,模块作为无线Wi-Fi STA 用于将串口数据发送到连接设备. 用户可以根据SOCKET AT 指令集对模块的工作方式进行设置. ATKESP8266 模块串口端波特率固定为115 200,允许5个用户访问[8-9]. 中央控制板接收采集板的数据利用SOCKET AT 指令,通过串口将数据传送至ESP8266模块,ESP8266 模块内置TCP/IP 协议,与远端PC 建立握手通信,完成远程通信. 用户Wi-Fi 通信模块与STM32 单片机的接口连接方式如图10 所示.STM32 的 发 送 端PA9_USART1_TX 接Wi-Fi 模 块串口接收端,接收端PA10_USART1_RX 接Wi-Fi模块数据发送端. 为了避免电流逆涌,还在Wi-Fi模块的RX及TX端口沿数据流方向串联二极管.
图10 STM32与ESP8266模块接线方式
排气控制是为了改善甲醛计量超出安全值而设置的干预方式,当甲醛值超标时开启排气. 单片机ADuC834 的管脚P2_6 连接继电器,在与排气风扇的驱动电路连接,当P2_6 置为高电平时候,继电器闭合,排气风扇开启.
考虑程序的设计开发效率、可拓展性、维护便捷性,单片机程序采用的是模块化的设计方法. 数据采集板根据功能区别分为排气控制模块、报警模块、数据分析处理模块、通信模块及主程序. 设备通电后,硬件设备进入主程序,程序流程图如图11 所示,完成ADuC834 单片机、LED 报警灯的初始化,传感器进入预热处理,随后进入程序中断等待状态,当有中断响应时候,进入中断程序,完成数据分析及处理. 数据处理模块流程如图12 所示,对获取的传感器值进行AD 转换,获取甲醛数值,并与设定的甲醛安全计量值进行对比,判断甲醛检测值是否超标,如若超标就进入报警模块和排气控制模块,并将测得甲醛信息通过串口总线发送出去. 如不超标直接发送串口总线. 其中通信模块中的数据根据自定义Modbus通信协议进行编码再发送.
图11 主程序流程图
图12 数据处理模块流程图
远程PC 客户端软件基于VC++平台开发,采用了面向对象C++的语言,利用MFC 框架设计模式,符合用户熟悉窗口化界面的习惯,同时利用设计的多种图形化类及PlotLab 实现数据可视化,界面直观明了,以使用户快速获取信息[10-11]. 运用小型嵌入式数据库SQLite[12],免去用户安装数据库麻烦,零配置与应用程序有效结合,提高整个控制软件的移植性、高效性、稳定性. 系统经附近家具厂进行测试后,软件监测界面如图13 所示,当成品区的甲醛值超标时,报警灯由绿色变成红色,同时文字提示位置及报警时间,给予用户明确的警示.
图13 系统监控客户端软件
本系统中央控制器与采集器的通信使用了Modbus 通讯协议进行可靠通信. Modbus 协议是用于总线型设备主-从设备之间通信[13].分布式多点甲醛进行监测以中央控制板STM32 为主设备,各点采集板为从设备. Modbus 通讯协议有两种握手方式:一问一答方式和广播方式,此处设计选择一问一答方式,即每次通讯由主设备发起询问、从设备应答的形式. Modbus 协议有两种数据格式RTU 和ASCII码,设计选择更易人类读取的ASCII码.主设备数据帧格式如表1所示.
表1 主设备下发命令格式
命令以标识符“:”(ASCII 码为3AH)为起始,地址码为数据从设备对应的编码,根据甲醛监测点的多少对监测数据采集板从01H开始编码,依次递增;功能码是通知从设备完成的动作对应的编码,如10H 为读取甲醛数据命令;0DH,0AH 为结束标识符,是这条命令的结尾,以避免问答协议造成从设备监听状态引起响应总线冲突. 从设备ASCII 码数据帧格式如表2所示.
数据帧以ASCII 模式通信,在消息中的每4 bit都作为一个ASCII 字符,甲醛监测数据精确到小数点后两位. 校验方式为两个字节的CRC 校验,以保证数据正确性.
表2 从设备发送数据格式
选择某家具厂作为系统的测试点,由于家具生产过程中需大量使用粘合剂、涂料等,这些材料均会释放甲醛. 选取工厂中的多个地点进行监测,根据监测点工作特性将其分为材料区、切割区、组立区、包装区、成品区五个区域,利用甲醛检测仪对监测点的甲醛进行实时监测,同时利用无线网络上传控制室的控制软件. 其中针对切割区用本系统进行测量的同时,也利用国家甲醛检测标准AHMT 比色法隔一个小时进行甲醛采样检测,针对两种测量方式进行10 小时数据对比,如表3 所示. 可见本系统甲醛浓度值检测相对误差小于3%,误差主要可能是2 个原因:甲醛传感器本身对于温湿度的影响1% ~2%的漂移;纳米传感器不仅对甲醛气体感应,同时也对一氧化碳、氨气、乙醇、苯、甲苯等气体敏感.
表3 测量数据
多点甲醛连续监测系统采用了具有高精度AD的单片机ADuC834获取甲醛值,具备报警和排气控制等干预功能,利用RS485 总线形式集成多个数据采集板,中央控制板完成Wi-Fi 方式传输数据到服务器监控软件,实现监测系统网络化、智能化控制.选取了甲醛容易超标的家具厂对系统进行测试,检测点分别设在家具生产的不同车间,经测试系统运行稳定、可靠,为工厂员工及系统软件监管人员都起到很好的提醒作用. 同时发现排风系统可以有效改善甲醛的计量值,且温湿度对于甲醛的释放是有影响的. 该系统对于生产过程中易产生甲醛的工厂进行实时多点甲醛监测具有较好的实践意义.