余燕娟,高 翔
(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 方式傳輸數據到服務器監控軟件,實現監測系統網絡化、智能化控制.選取了甲醛容易超標的家具廠對系統進行測試,檢測點分別設在家具生產的不同車間,經測試系統運行穩定、可靠,為工廠員工及系統軟件監管人員都起到很好的提醒作用. 同時發現排風系統可以有效改善甲醛的計量值,且溫濕度對于甲醛的釋放是有影響的. 該系統對于生產過程中易產生甲醛的工廠進行實時多點甲醛監測具有較好的實踐意義.