王凱,曹靜雯,談英姿,許映秋
(1.東南大學(xué)自動化學(xué)院,江蘇南京210096;2.南京信息工程大學(xué)信息與控制學(xué)院,江蘇南京210044;3.東南大學(xué)機械工程學(xué)院,江蘇南京 210096)
二氧化碳是一種溫室氣體,它的濃度是體現(xiàn)環(huán)境空氣品質(zhì)的一個很重要的指標(biāo),若大氣中的CO2含量過高會對人類賴依生存的地球造成威脅,大氣中CO2的正常含量是0.03%,當(dāng)CO2的濃度達到1%會使人感到氣悶、頭昏、心悸,達到4%5%時人會感到氣喘、頭痛、眩暈,而達到10%的時候,會使人體機能嚴重混亂,使人喪失知覺、神志不清甚至呼吸停止而死亡[1]。公共場合由人體呼吸排出的大量二氧化碳氣體會使局部CO2濃度變高,因此,在醫(yī)院、學(xué)校等人口密集的環(huán)境中設(shè)置CO2監(jiān)控設(shè)備可以有效地監(jiān)測和改善空氣品質(zhì),為人們提供更好的生活環(huán)境[2]。另外,在災(zāi)難后的救援環(huán)境中,二氧化碳濃度也是用來檢測某一區(qū)域內(nèi)是否有生命活動的重要特征之一。
二氧化碳濃度測量主要用于環(huán)境監(jiān)測和生命體征提取。工業(yè)現(xiàn)場或大型公共場所需要通過多點監(jiān)測的方式組成CO2檢測網(wǎng)絡(luò)并進行長線傳輸;救援設(shè)備攜帶二氧化碳檢測模塊作為傳感器網(wǎng)路從節(jié)點提取生命體征,但傳統(tǒng)串口傳輸方式不能滿足網(wǎng)絡(luò)及長線傳輸[3]。
最常用的CO2濃度檢測方法是非色散紅外吸收法[4],該方法精度很高,但是體積龐大且造價昂貴,不適合用于便攜設(shè)備上或者組成多傳感器監(jiān)測網(wǎng)絡(luò)。本文選用固態(tài)電化學(xué)型傳感器來進行CO2濃度測量,該種類型傳感器需要預(yù)熱時間較長,但是體積小、成本低。
本文以飛思卡爾MC9S08DZ128芯片為核心控制器,采用TGS4160作為CO2傳感器[2],設(shè)計實現(xiàn)了基于CANOpen協(xié)議的CO2濃度采集節(jié)點,提高數(shù)據(jù)傳輸?shù)目煽啃裕奖憬M成傳感器檢測網(wǎng)絡(luò)以及掛載到移動設(shè)備上對CO2濃度進行檢測。
圖1 系統(tǒng)硬件框圖
圖1所示為本系統(tǒng)硬件框圖,CO2傳感器TGS4160輸出信號通過信號調(diào)理電路送到MC9S08DZ128的AD端口進行AD轉(zhuǎn)換,單片機對AD轉(zhuǎn)換的值進行處理濾波,最終計算得到 CO2濃度值。CANopen模塊負責(zé)單片機與CANOpen總線之間的通信,并通過PDO每隔100 ms發(fā)送一次CO2濃度值。電源模塊為單片機及信號調(diào)理模塊提供3.3 V電源以及為TGS4160提供5 V加熱電源。
系統(tǒng)采用飛思卡爾8位低功耗單片機MC9S08DZ128作為主控芯片,該芯片自帶12位AD采樣模塊,兩個CAN接口,兩路串行通訊接口,8路定時器,128 KFlash,8 KRAM,功耗低適合長時間運行,完全滿足本系統(tǒng)需求。
外部晶振為8 MHz,采用SCI方式作為調(diào)試接口,CAN接口用82C250芯片作為CAN總線通信芯片,CPU及外圍接口電路原理圖如圖2所示。
圖2 主控制器及外圍接口電路
傳感器模塊ID以及模塊的工作方式通過撥碼開關(guān)的形式設(shè)定,通過LED指示模塊工作狀態(tài)。
TGS4160是一種固態(tài)電化學(xué)型 CO2傳感器[2],它由一只對二氧化碳敏感的固體電解質(zhì)單元與一個用于溫度補償?shù)膬?nèi)部熱敏電阻組成。它的工作原理是當(dāng)傳感器暴露在CO2氣體中時,會發(fā)生如下的電化學(xué)反應(yīng)使電極兩端產(chǎn)生電勢差,電勢差與CO2濃度曲線如圖3所示。
傳感器輸出信號為微弱的電壓信號,因此在AD采樣之前需對原始信號進行調(diào)理、放大才能進行AD采樣。同時,TGS4160要求核心溫度450℃時采樣數(shù)據(jù)有效,需加熱單元,加熱單元采用5 V供電。為保證加熱電壓的可靠性,對加熱電壓也需要進行監(jiān)控,采用AD0口采集傳感器經(jīng)調(diào)理放大后的電壓信號,AD1口采集加熱電壓信號。TGS4160對輸入阻抗要求很高[2,8],為保證信號采集的精度,系統(tǒng)中采用高輸入阻抗,差分輸入的線性運放LMC6035作為運算放大器[5],傳感器輸出信號首先經(jīng)過LMC6035通道1放大10倍,再通過電壓跟隨器輸出到單片機AD端口進行模/數(shù)轉(zhuǎn)換,傳感器電路圖如圖4所示。
為使傳感器模塊能夠承受較寬電壓范圍的輸入,采用開關(guān)電源芯片CS51414作為主電源芯片,輸入電壓首先通過CS51414輸出6 V的電壓,再分別經(jīng)過LM1117-3.3 V和LM1117-5 V產(chǎn)生3.3 V和5 V的電壓分別為CPU及其外設(shè)、信號調(diào)理電路以及傳感器加熱電路供電。本模塊電壓輸入范圍在740 V范圍內(nèi)均能夠正常工作。
電源電路原理圖如圖5所示,其中LED用來指示電源狀態(tài)。
圖5 電源電路原理圖
CANopen協(xié)議是基于CAN-bus的高層協(xié)議,它是一個開放的、標(biāo)準(zhǔn)化的協(xié)議[6]。這個協(xié)議支持各種CAN廠商設(shè)備的互用性、互換性。它能夠?qū)崿F(xiàn)在CAN網(wǎng)絡(luò)中提供標(biāo)準(zhǔn)的系統(tǒng)、通信模式。利用對象字典可以提供設(shè)備功能描述和執(zhí)行網(wǎng)絡(luò)管理等功能[7][9]。
CANopen模型中共定義了4種通信對象(COB):過程數(shù)據(jù)對象PDO、服務(wù)數(shù)據(jù)對象SDO、網(wǎng)絡(luò)管理對象NMO和特殊功能對象。同時CANopen協(xié)議中為了對各對象進行規(guī)范化管理,定義了設(shè)備的對象字典,是一個有序的對象組[7]。CANopen網(wǎng)絡(luò)中每個節(jié)點都有一個對象字典,它包含了描述這個設(shè)備和網(wǎng)絡(luò)行為的所有參數(shù),對象字典通過16位的索引值和8位的子索引值來尋址。以PDO來傳送CO2濃度數(shù)據(jù)。
系統(tǒng)軟件程序基于Codewarrior集成開發(fā)環(huán)境編寫,其主要包括兩個功能模塊:傳感器校準(zhǔn)模塊和數(shù)據(jù)測量傳輸模塊。校準(zhǔn)模塊的功能是獲取傳感器的參考電平——新鮮空氣中的傳感器加熱穩(wěn)定后的電壓輸出值,每個TGS4160傳感器特性不同參考電平也有少許差異[2],在第一次使用傳感器時需先進性校準(zhǔn)以獲得參考電平EMF1。數(shù)據(jù)測量傳輸模塊功能即測量CO2濃度并通過CANOpen總線發(fā)送CO2傳感器數(shù)值,根據(jù)圖3所示曲線,△EMF與CO2濃度的對數(shù)近似成線性關(guān)系[2],則設(shè)該線性關(guān)系為
取圖3上兩點代入式(1)計算a,b,則取(350 ×10-6,0 mv),(5 000 ×10-6,75 mv),兩點計算,又由于在信號調(diào)理過程中傳感器電壓放大10倍進行采樣,則上兩點對應(yīng)為(350 ×10-6,0 mv),(5 000 ×10-6,750 mv),代入式(1):
即可得到CO2濃度計算公式:
在傳感器校準(zhǔn)模式下,傳感器模塊不發(fā)送數(shù)據(jù);在測量傳輸模式下,傳感器通過TPDO1每隔100 ms發(fā)送一次CO2濃度值。CO2濃度值采用無符號的16位整形數(shù)表示,則該PDO有效數(shù)據(jù)為2個字節(jié),PDO數(shù)據(jù)段第一個字節(jié)為CO2濃度值高位,第二個字節(jié)為CO2濃度值地位,該PDO格式如表1所示。
表1 CO2傳感器模塊發(fā)送PDO數(shù)據(jù)格式
系統(tǒng)軟件流程圖如圖6所示。
圖6 系統(tǒng)軟件流程圖
系統(tǒng)采用輪詢的方式進行,在測量傳輸模式下系統(tǒng)循環(huán)檢測CO2濃度值,并每100 ms通過PDO發(fā)送一次當(dāng)前CO2濃度數(shù)據(jù);在校準(zhǔn)模式下,每1 min測量一組電平數(shù)據(jù)并通過串口向上位機發(fā)送,當(dāng)啟動時間超過2 h,取最新10組的測量值的平均值作為傳感器的基準(zhǔn)電平,校準(zhǔn)模式結(jié)束,等待系統(tǒng)重啟。基準(zhǔn)電平存儲在Flash中,在正常測量模式下每次調(diào)用該基準(zhǔn)電平值以計算△EMF。
在測試過程中,使用RS232總線作為對比測試CANOpen網(wǎng)絡(luò)的性能,分別發(fā)送100組數(shù)據(jù),每組數(shù)據(jù)間隔100 ms,其中CAN總線通信速率設(shè)為1 M,RS232波特率設(shè)為115 200 bit/s,傳輸介質(zhì)均為雙絞線,改變傳輸介質(zhì)長度:當(dāng)傳輸距離為1.5 m時,RS232總線出現(xiàn)個別數(shù)據(jù)丟失,當(dāng)傳輸距離為2.5 m時數(shù)據(jù)丟失嚴重,當(dāng)傳輸距離為3.5 m時,RS232無法通信;對CAN總線進行測試過程中即使介質(zhì)長度增長到10 m依然能夠?qū)崿F(xiàn)穩(wěn)定的數(shù)據(jù)傳輸,完全能夠滿足長線傳輸?shù)男枰?/p>
經(jīng)過多次試驗,本CO2傳感器模塊能夠較為準(zhǔn)確的反應(yīng)出所在環(huán)境中CO2濃度的變化,且反應(yīng)時間為3 s左右,如圖7所示。
圖7 傳感器模塊響應(yīng)時間測試曲線
圖8是傳感器校準(zhǔn)時傳感器電壓隨時間變化曲線,傳感器開始加熱工作105 min后傳感器輸出數(shù)據(jù)趨于穩(wěn)定,該穩(wěn)定值的平均值可作為基準(zhǔn)電平。
圖8 傳感器模塊校準(zhǔn)時輸出電壓曲線
圖9是在一個六個人房間內(nèi) (7 m×5 m×3.5 m)CO2濃度隨時間變化的曲線,可看出人在房間內(nèi)待的時間越長,房間內(nèi) CO2濃度越高,4.5 h后到達3 500 ×10-6左右的穩(wěn)定值。
圖7所示曲線為使用碳酸飲料空瓶(CO2含量>1%)作為CO2發(fā)生源測試傳感器模塊響應(yīng)時的CO2濃度隨時間變化曲線,左側(cè)虛線表示碳酸飲料瓶靠近傳感器的時刻,右側(cè)虛線表示碳酸飲料瓶遠離傳感器模塊的時刻,反映出本模塊的響應(yīng)時間在3 s左右,且由低濃度向高濃度變化快,高濃度向低濃度變化過程稍長。但動態(tài)過程均小于2 s。
圖9 6人房間CO2濃度變化曲線
綜上所述,本文研究的CO2傳感器模塊精度較高,測量范圍寬,響應(yīng)時間短,傳輸距離長,可實現(xiàn)多傳感器組網(wǎng),但是預(yù)熱時間較長,故較適合長時間連續(xù)工作,適用于CO2濃度監(jiān)測、生命信息探測等領(lǐng)域的應(yīng)用。
[1]何誠剛.基于單片機控制的二氧化碳濃度測試計[J].電子設(shè)計工程,2009,17(5):11-12,23.
[2]王云景,趙紅旗.二氧化碳傳感器TGS4160的原理及應(yīng)用[J].國外電子元器件,2004(02):63-65.
[3]張春峰,朱玉玉,等.基于ZigBee的溫室無線CO2傳感器網(wǎng)絡(luò)節(jié)點設(shè)計[J].工業(yè)控制計算機,2009,22(10):36-37.
[4]王彪,劉奎學(xué),何月華,等.新型CO2傳感檢測儀的研制[J].儀器儀表學(xué)報,2006,27(08):836-839.
[5]陳放,吳麗萍.二氧化碳傳感器節(jié)點的設(shè)計[J].杭州電子科技大學(xué)學(xué)報,2011,31(2):50-53.
[6]林茂,賈凱等.CANopen協(xié)議在機器人控制器中的應(yīng)用[J].微計算機信息,2012,26(3-2):152-154.
[7]王奇,劉志剛,等.基于CANopen的列車通信網(wǎng)絡(luò)實現(xiàn)研究[J].電氣應(yīng)用,2010(7):74-77.
[8]黃楠韜.幾種重要的氣體傳感器的特性分析[J].華北科技學(xué)院學(xué)報,2009,6(3):117-118,122.
[9]楊旗,陸云龍.基于CAN總線的傳感器網(wǎng)絡(luò)節(jié)點設(shè)計[J].儀表技術(shù)與傳感器,2011(9):95-96,110.