張國(guó)岳
(北京機(jī)械工業(yè)自動(dòng)化研究所,北京 100120)
地下管網(wǎng),是城市運(yùn)作的重要硬件基礎(chǔ)。由于其隱藏于地下,空間相對(duì)封閉,會(huì)產(chǎn)生以爆炸性為主要危害的甲烷、以毒性為主要危害的一氧化碳和硫化氫、及因含量降低而導(dǎo)致人員傷害的低氧氣含量環(huán)境,極易造成人員傷害及財(cái)產(chǎn)損失。及時(shí)發(fā)現(xiàn)并消除物的不安全狀態(tài)可有效避免事故發(fā)生,因此需要一種系統(tǒng),可實(shí)時(shí)對(duì)上述四種氣體進(jìn)行實(shí)時(shí)檢測(cè),并有著能夠覆蓋城市范圍的傳輸網(wǎng)絡(luò),以使相關(guān)人員及時(shí)發(fā)現(xiàn)轄區(qū)內(nèi)管網(wǎng)的危險(xiǎn)氣體隱患并作出反應(yīng)。
甲烷、一氧化碳、硫化氫及氧氣傳感器在工業(yè)上有著成熟而廣泛的應(yīng)用。STM32F103系列Cortex-M3內(nèi)核處理器作為一種可靠的嵌入式平臺(tái),對(duì)實(shí)時(shí)內(nèi)核支持良好,片上資源豐富,能夠很好地整合外圍設(shè)備。GSM網(wǎng)絡(luò)分布廣泛,可靠性高,使用GPRS進(jìn)行TCP數(shù)據(jù)傳輸能夠滿(mǎn)足系統(tǒng)對(duì)傳輸范圍和可靠性的要求。
系統(tǒng)通過(guò)STM32處理器采集氣體傳感器的檢測(cè)信號(hào),使用GPRS模塊將氣體濃度信號(hào)以TCP協(xié)議通過(guò)GSM網(wǎng)絡(luò)上傳,監(jiān)控計(jì)算機(jī)運(yùn)行上位機(jī)監(jiān)控軟件對(duì)氣體濃度數(shù)據(jù)進(jìn)行匯總,判斷報(bào)警,令監(jiān)控人員及時(shí)發(fā)現(xiàn)危險(xiǎn),以便采取措施。
該系統(tǒng)節(jié)點(diǎn)設(shè)備由傳感器單元、處理器單元、GPRS單元、執(zhí)行單元及電源管理單元組成。傳感器單元包括對(duì)應(yīng)CH4、CO、H2S、O2四種氣體的傳感器及其信號(hào)放大電路,信號(hào)通過(guò)處理器的A/D轉(zhuǎn)換被采集;處理器單元包括系統(tǒng)核心STM32F103CET6處理器,存儲(chǔ)設(shè)備地址及設(shè)置參數(shù)的EEPROM,存儲(chǔ)歷史運(yùn)行數(shù)據(jù)和報(bào)警記錄的FLASH ROM以及與設(shè)置用設(shè)備進(jìn)行通信的設(shè)置接口;GPRS單元包括GPRS模塊、SIM卡電路及天線(xiàn),通過(guò)串行接口與處理器通信,實(shí)現(xiàn)數(shù)據(jù)的無(wú)線(xiàn)遠(yuǎn)程通信;執(zhí)行單元包括直流繼電器及其驅(qū)動(dòng)電路,用于在報(bào)警或故障時(shí)輸出節(jié)點(diǎn)控制信號(hào);電源管理單元負(fù)責(zé)對(duì)接入的交流市電進(jìn)行轉(zhuǎn)換,為系統(tǒng)各單元及元件提供所需的電源。
對(duì)于可燃?xì)?,選用目前應(yīng)用最為廣泛,技術(shù)比較成熟的催化燃燒式傳感器。傳感器由一對(duì)串聯(lián)的鉑金絲繞制電阻組成,兩端電阻阻值平衡,其中一端電阻涂覆催化劑,作為檢測(cè)段,另一端作為參考端。其測(cè)量原理為:電流加熱鉑金絲,在檢測(cè)環(huán)境沒(méi)有可燃?xì)獾那闆r下,電橋輸出平衡;當(dāng)傳感器接觸到可燃?xì)鈺r(shí),涂覆催化劑的感應(yīng)端產(chǎn)生氧化反應(yīng),反應(yīng)的同時(shí)釋放出熱量,使其溫度升高、電阻增大,而參考端的電阻值不變,導(dǎo)致兩端阻值不平衡,分壓改變。輸出的信號(hào)與可燃?xì)夂砍烧龋ㄟ^(guò)檢測(cè)電壓變化,得到可燃?xì)鉂舛萚1]??扇?xì)鈧鞲衅鞯碾娐啡鐖D2所示。其中傳感器SENSOR與電阻R1、R2電位器V1組成電橋,電位器V1用于調(diào)整電橋的靜態(tài)平衡。傳感器信號(hào)進(jìn)入運(yùn)算放大器的反向輸入端,放大器正向輸入端引入共模輸入,實(shí)現(xiàn)對(duì)信號(hào)的差分放大。電阻R7、R8、R9與電位器V2及熱敏電阻RT1構(gòu)成反饋電路,VT2用于電路增益的調(diào)整,RT1為負(fù)溫度系數(shù)的熱敏電阻,用以補(bǔ)償器件的溫度漂移。放大后的信號(hào)輸出到處理器的A/D轉(zhuǎn)換器。
圖1 節(jié)點(diǎn)設(shè)備結(jié)構(gòu)框圖
圖2 可燃?xì)鈧鞲衅鞣糯箅娐?/p>
對(duì)于毒性氣體CO、H2S的檢測(cè),使用定電位電解傳感器。利用電化學(xué)原理將被測(cè)氣體的含量轉(zhuǎn)化為電信號(hào),其主要由電解槽、電解液和電極組成,傳感器的三個(gè)電極分別被稱(chēng)為感應(yīng)電極、參比電極和對(duì)電極。傳感器的工作原理為:被測(cè)氣體由進(jìn)氣孔通過(guò)滲透膜擴(kuò)散到敏感電極表面,在感應(yīng)電極、電解液、對(duì)電極之間進(jìn)行氧化反應(yīng),參比電極在傳感器中不暴露在被分析氣體之中,用來(lái)為電解液中的工作電極提供恒定的電化學(xué)電位。被測(cè)氣體通過(guò)傳感器滲透膜,進(jìn)入電解槽,傳感器電解液中擴(kuò)散吸收的被測(cè)氣體發(fā)生氧化反應(yīng)。與此同時(shí)產(chǎn)生對(duì)應(yīng)的極限擴(kuò)散電流,在一定范圍內(nèi)其大小與被測(cè)氣體濃度成正比[2]。通過(guò)檢測(cè)電流,卻定被測(cè)氣體的濃度。毒性氣體傳感器測(cè)量電路如圖3所示。傳感器內(nèi)部經(jīng)電化學(xué)反應(yīng)從感應(yīng)電擊輸出電流信號(hào),通過(guò)運(yùn)算放大器U2將電流信號(hào)轉(zhuǎn)換成電壓信號(hào),電壓信號(hào)通過(guò)U1放大進(jìn)入處理器A/D轉(zhuǎn)換器。其中RT1為負(fù)溫度系數(shù)熱敏電阻,用于傳感器信號(hào)的溫度補(bǔ)償。U1采用OP90精密低電壓微功耗運(yùn)算放大器[3]。
氧氣傳感器為原電池式,其結(jié)構(gòu)包括透過(guò)膜、電解液、鉛陽(yáng)極電極、貴金屬陰極電極。當(dāng)氧氣通過(guò)滲透膜進(jìn)入電解液時(shí)在陽(yáng)極產(chǎn)生氧化反應(yīng)在陰極產(chǎn)生還原反應(yīng),當(dāng)外電路有負(fù)載時(shí)電解產(chǎn)生的電流與氧濃度成正比。根據(jù)測(cè)得的電流值可求得氧氣濃度。氧傳感器測(cè)量電路如圖4所示。其中電阻R1用于電源的等效變換,輸出電壓信號(hào)。電位器V1構(gòu)成反饋電路,用于調(diào)整放大器放大系數(shù)。信號(hào)經(jīng)運(yùn)算放大器OP07放大后進(jìn)入處理器A/D轉(zhuǎn)換器。
圖4 氧氣傳感器放大電路
處理器的功能包括:對(duì)傳感器信號(hào)進(jìn)行采樣及A/D轉(zhuǎn)換,并對(duì)信號(hào)進(jìn)行濾波及校準(zhǔn)處理;對(duì)GPRS模塊進(jìn)行配置并通過(guò)其與上位機(jī)進(jìn)行通信;利用存儲(chǔ)器存儲(chǔ)、讀取歷史運(yùn)行數(shù)據(jù)及報(bào)警記錄;記錄并執(zhí)行設(shè)置信息;產(chǎn)生報(bào)警信息及控制繼電器動(dòng)作。處理器使用ST公司的STM32F103CET6 ARM 32位Cortex-M3內(nèi)核處理器。2.0V~3.6V供電,最高頻率72MHz,512K字節(jié)Flash,64K字節(jié)SRAM具有3路12位1μs間隔A/D轉(zhuǎn)換器,三路USART,I2C及SPI總線(xiàn)接口控制器,能夠滿(mǎn)足系統(tǒng)需要。EEPROM存儲(chǔ)器用于存儲(chǔ)節(jié)點(diǎn)設(shè)備的設(shè)備地址及對(duì)傳感器信號(hào)進(jìn)行修正的的運(yùn)行參數(shù)。選用AT24C04 I2C總線(xiàn)存儲(chǔ)器。FLASH ROM用于存儲(chǔ)系統(tǒng)的歷史運(yùn)行數(shù)據(jù)和報(bào)警記錄存儲(chǔ)器選用ATMEL公司的AT45DB161D SPI總線(xiàn)存儲(chǔ)器。預(yù)留設(shè)置接口為帶有光隔離的RS-485總線(xiàn)接口,用于參數(shù)設(shè)置設(shè)備對(duì)系統(tǒng)進(jìn)行設(shè)置的通信連接。
GPRS單元主要包括GPRS模塊、SIM卡電路及天線(xiàn),GPRS模塊使用有方M590E.3.3~4.8V供電,雙頻頻段EGSM900/DCS180,靈敏度-106dBm,最大電流2A,工作電流210mA,協(xié)議兼容GSM/GPRS Phase 2/2+,AT指令集支持GSM07.07及擴(kuò)展指令集。GSC射頻連接器,配合天線(xiàn)。能夠滿(mǎn)足系統(tǒng)需要。在電源設(shè)計(jì)上,考慮到模塊瞬時(shí)電流可達(dá)2A,在電源處使用1000uF鋁電解電容進(jìn)行濾波,同時(shí)并聯(lián)0.1uF陶瓷電容濾除數(shù)字信號(hào)噪聲,并聯(lián)100pF陶瓷電容濾除射頻噪聲。串行接口通過(guò)200Ω電阻與處理器的USART2接口連接,并在模塊接收引腳與地之間加100pF電容,提高模塊抗干擾能力。
軟件系統(tǒng)在μVision4平臺(tái)下開(kāi)發(fā),采用將系統(tǒng)各功能分解為任務(wù)模塊的結(jié)構(gòu)性設(shè)計(jì)方法,使用Micriμm公司的μC/OS-Ⅲ實(shí)時(shí)內(nèi)核進(jìn)行任務(wù)調(diào)度管理和時(shí)間管理,程序以C語(yǔ)言編寫(xiě)。
首先需進(jìn)行μC/OS-Ⅲ內(nèi)核在STM32處理器上的移植、編寫(xiě)內(nèi)核時(shí)鐘的中斷服務(wù)程序。μC/OS-Ⅲ源代碼中,與CPU相關(guān)的文件包括os_cpu.h、os_cpu_a.asm、os_cpu_c.c、cpu_core.c、cpu_core.h、cpu_def.h、cpu_cfg.h、cpu.h、cpu_a.asm、cpu_c.c[4]。在 os_cpu.h文件中對(duì)系統(tǒng)時(shí)鐘的中斷優(yōu)先級(jí)進(jìn)行配置:
對(duì)os_cpu_a.asm中有關(guān)處理器中斷向量控制器的設(shè)置進(jìn)行修改:
設(shè)置內(nèi)核時(shí)鐘。Cortex內(nèi)核包括一個(gè)24位的向下計(jì)數(shù)器,具備自動(dòng)重加載和完成后中斷的功能,其設(shè)計(jì)是作為RTOS的系統(tǒng)時(shí)鐘節(jié)拍中斷[5]。因此將此資源作為內(nèi)核時(shí)鐘,其中斷服務(wù)程序如下:
G P R S 模塊的初始化過(guò)程如圖5 所示。系統(tǒng)上電后處理器等待GPRS模塊返回就緒信息“+PBREADY”。就緒后檢查信號(hào)強(qiáng)度及GSM網(wǎng)絡(luò)注冊(cè)狀態(tài);選擇TCP協(xié)議棧,為了縮短開(kāi)發(fā)周期,選擇模塊內(nèi)置協(xié)議棧;設(shè)置APN參數(shù)選擇運(yùn)營(yíng)商及進(jìn)行用戶(hù)身邊認(rèn)證;進(jìn)行PPP連接并確認(rèn)獲取分配的IP;設(shè)置檢測(cè)系統(tǒng)所使用網(wǎng)絡(luò)IP地址及端口號(hào)或解析DNS獲得動(dòng)態(tài)域名,并等待TCP連接建立;確認(rèn)TCP連接建立后系統(tǒng)即可進(jìn)行遠(yuǎn)程數(shù)據(jù)通信,發(fā)送數(shù)據(jù)前用AT+IPSTATUS指令檢查數(shù)據(jù)鏈路緩沖區(qū)大小,避免數(shù)據(jù)溢出。運(yùn)行過(guò)程中對(duì)模塊的信號(hào)強(qiáng)度,鏈路狀態(tài)進(jìn)行周期檢查,以恢復(fù)網(wǎng)絡(luò)連接,保證通信穩(wěn)定。
處理器周期性采集傳感器檢測(cè)信號(hào),并對(duì)樣信號(hào)使用遞推平均值算法進(jìn)行濾波處理,該算法可以降低擾動(dòng)的變化率,避免因干擾造成誤報(bào)警。檢測(cè)數(shù)據(jù)變化曲線(xiàn)平滑,提高用戶(hù)體驗(yàn)。對(duì)濾波后的數(shù)據(jù)根據(jù)其數(shù)值所在范圍進(jìn)行校正處理,以保證示值的線(xiàn)性度。將完成處理的數(shù)據(jù)比對(duì)相應(yīng)的報(bào)警閾值,若在一定連續(xù)周期的檢測(cè)結(jié)果超過(guò)閾值,則產(chǎn)生報(bào)警,處理器記錄并上傳報(bào)警信息、控制執(zhí)行單元?jiǎng)幼?,其中氧氣為下限?bào)警,即當(dāng)測(cè)得氧氣數(shù)據(jù)低于報(bào)警閾值時(shí)觸發(fā)報(bào)警,并認(rèn)為正常情況下空氣中標(biāo)準(zhǔn)氧含量(體積比)為21%[6]。
經(jīng)實(shí)驗(yàn),本系統(tǒng)能夠?qū)崿F(xiàn)對(duì)甲烷、一氧化碳、硫化氫及氧氣的可靠檢測(cè),經(jīng)標(biāo)準(zhǔn)氣體計(jì)量驗(yàn)證,檢測(cè)結(jié)果誤差均不大于±5%,在流量300mL/m(毫升每分鐘)條件下,甲烷檢測(cè)示值達(dá)到標(biāo)準(zhǔn)氣體濃度值的90%所用時(shí)間不大于30秒;一氧化碳、硫化氫測(cè)示值達(dá)到標(biāo)準(zhǔn)氣體濃度值的90%所用時(shí)間不大于90秒;氧氣檢測(cè)達(dá)到標(biāo)準(zhǔn)氣體濃度值的±10%所用時(shí)間不大于90秒。甲烷檢測(cè)滿(mǎn)量程100%LEL(Lower Explosion Limited,爆炸下限),分辨率1%LEL;一氧化碳檢測(cè)滿(mǎn)量程200ppm(part per million百萬(wàn)分之一),分辨率1ppm;硫化氫檢測(cè)滿(mǎn)量程100ppm,分辨率1ppm;氧氣檢測(cè)滿(mǎn)量程25%Vol(volume摩爾體積比),分辨率0.1%Vol。GPRS數(shù)據(jù)通信穩(wěn)定,傳輸延時(shí)小,能夠及時(shí)反映氣體濃度變化及出發(fā)并上傳報(bào)警信息。本系統(tǒng)可以作為一種遠(yuǎn)程監(jiān)測(cè)地下管網(wǎng)氣體環(huán)境的一種解決辦法,能夠令相關(guān)人員及時(shí)發(fā)現(xiàn)危險(xiǎn)以便進(jìn)行處置,同時(shí)減輕其巡線(xiàn)工作量,降低成本。但由于地下管網(wǎng)環(huán)境惡劣,部分地區(qū)管網(wǎng)中水位隨季節(jié)變化大,因此對(duì)系統(tǒng)的可靠性還有待進(jìn)一步驗(yàn)證。
圖5 GPRS模塊初始化及TCP連接流程
[1]畢明樹(shù),楊國(guó)剛.氣體和粉塵爆炸防止工程學(xué)[M].北京:化學(xué)工業(yè)出版社,2012.
[2]李國(guó)剛,環(huán)境空氣和廢氣污染物分析測(cè)試方法[M].北京:化學(xué)工業(yè)出版社,2013.
[3]王曉明,無(wú)線(xiàn)二氧化硫傳感器的網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2010,9:32-35.
[4]Jean J.Labrosse.嵌入式實(shí)時(shí)操作系統(tǒng)μC-OSIII.宮輝等[M].北京:北京航空航天大學(xué)出版社,2012.
[5]Jean J.Labrosse.嵌入式實(shí)時(shí)操作系統(tǒng)μC-OSIII應(yīng)用開(kāi)發(fā).何小慶 張愛(ài)華[M].北京:北京航空航天大學(xué)出版社,2012.
[6]GB 3836.爆炸性氣體環(huán)境用電器設(shè)備[S].北京:中國(guó)標(biāo)準(zhǔn)出版社,2000.