王凱,曹靜雯,談英姿,許映秋
(1.東南大學自動化學院,江蘇南京210096;2.南京信息工程大學信息與控制學院,江蘇南京210044;3.東南大學機械工程學院,江蘇南京 210096)
二氧化碳是一種溫室氣體,它的濃度是體現環境空氣品質的一個很重要的指標,若大氣中的CO2含量過高會對人類賴依生存的地球造成威脅,大氣中CO2的正常含量是0.03%,當CO2的濃度達到1%會使人感到氣悶、頭昏、心悸,達到4%5%時人會感到氣喘、頭痛、眩暈,而達到10%的時候,會使人體機能嚴重混亂,使人喪失知覺、神志不清甚至呼吸停止而死亡[1]。公共場合由人體呼吸排出的大量二氧化碳氣體會使局部CO2濃度變高,因此,在醫院、學校等人口密集的環境中設置CO2監控設備可以有效地監測和改善空氣品質,為人們提供更好的生活環境[2]。另外,在災難后的救援環境中,二氧化碳濃度也是用來檢測某一區域內是否有生命活動的重要特征之一。
二氧化碳濃度測量主要用于環境監測和生命體征提取。工業現場或大型公共場所需要通過多點監測的方式組成CO2檢測網絡并進行長線傳輸;救援設備攜帶二氧化碳檢測模塊作為傳感器網路從節點提取生命體征,但傳統串口傳輸方式不能滿足網絡及長線傳輸[3]。
最常用的CO2濃度檢測方法是非色散紅外吸收法[4],該方法精度很高,但是體積龐大且造價昂貴,不適合用于便攜設備上或者組成多傳感器監測網絡。本文選用固態電化學型傳感器來進行CO2濃度測量,該種類型傳感器需要預熱時間較長,但是體積小、成本低。
本文以飛思卡爾MC9S08DZ128芯片為核心控制器,采用TGS4160作為CO2傳感器[2],設計實現了基于CANOpen協議的CO2濃度采集節點,提高數據傳輸的可靠性,方便組成傳感器檢測網絡以及掛載到移動設備上對CO2濃度進行檢測。

圖1 系統硬件框圖
圖1所示為本系統硬件框圖,CO2傳感器TGS4160輸出信號通過信號調理電路送到MC9S08DZ128的AD端口進行AD轉換,單片機對AD轉換的值進行處理濾波,最終計算得到 CO2濃度值。CANopen模塊負責單片機與CANOpen總線之間的通信,并通過PDO每隔100 ms發送一次CO2濃度值。電源模塊為單片機及信號調理模塊提供3.3 V電源以及為TGS4160提供5 V加熱電源。
系統采用飛思卡爾8位低功耗單片機MC9S08DZ128作為主控芯片,該芯片自帶12位AD采樣模塊,兩個CAN接口,兩路串行通訊接口,8路定時器,128 KFlash,8 KRAM,功耗低適合長時間運行,完全滿足本系統需求。
外部晶振為8 MHz,采用SCI方式作為調試接口,CAN接口用82C250芯片作為CAN總線通信芯片,CPU及外圍接口電路原理圖如圖2所示。

圖2 主控制器及外圍接口電路
傳感器模塊ID以及模塊的工作方式通過撥碼開關的形式設定,通過LED指示模塊工作狀態。
TGS4160是一種固態電化學型 CO2傳感器[2],它由一只對二氧化碳敏感的固體電解質單元與一個用于溫度補償的內部熱敏電阻組成。它的工作原理是當傳感器暴露在CO2氣體中時,會發生如下的電化學反應使電極兩端產生電勢差,電勢差與CO2濃度曲線如圖3所示。
傳感器輸出信號為微弱的電壓信號,因此在AD采樣之前需對原始信號進行調理、放大才能進行AD采樣。同時,TGS4160要求核心溫度450℃時采樣數據有效,需加熱單元,加熱單元采用5 V供電。為保證加熱電壓的可靠性,對加熱電壓也需要進行監控,采用AD0口采集傳感器經調理放大后的電壓信號,AD1口采集加熱電壓信號。TGS4160對輸入阻抗要求很高[2,8],為保證信號采集的精度,系統中采用高輸入阻抗,差分輸入的線性運放LMC6035作為運算放大器[5],傳感器輸出信號首先經過LMC6035通道1放大10倍,再通過電壓跟隨器輸出到單片機AD端口進行模/數轉換,傳感器電路圖如圖4所示。


為使傳感器模塊能夠承受較寬電壓范圍的輸入,采用開關電源芯片CS51414作為主電源芯片,輸入電壓首先通過CS51414輸出6 V的電壓,再分別經過LM1117-3.3 V和LM1117-5 V產生3.3 V和5 V的電壓分別為CPU及其外設、信號調理電路以及傳感器加熱電路供電。本模塊電壓輸入范圍在740 V范圍內均能夠正常工作。
電源電路原理圖如圖5所示,其中LED用來指示電源狀態。

圖5 電源電路原理圖
CANopen協議是基于CAN-bus的高層協議,它是一個開放的、標準化的協議[6]。這個協議支持各種CAN廠商設備的互用性、互換性。它能夠實現在CAN網絡中提供標準的系統、通信模式。利用對象字典可以提供設備功能描述和執行網絡管理等功能[7][9]。
CANopen模型中共定義了4種通信對象(COB):過程數據對象PDO、服務數據對象SDO、網絡管理對象NMO和特殊功能對象。同時CANopen協議中為了對各對象進行規范化管理,定義了設備的對象字典,是一個有序的對象組[7]。CANopen網絡中每個節點都有一個對象字典,它包含了描述這個設備和網絡行為的所有參數,對象字典通過16位的索引值和8位的子索引值來尋址。以PDO來傳送CO2濃度數據。
系統軟件程序基于Codewarrior集成開發環境編寫,其主要包括兩個功能模塊:傳感器校準模塊和數據測量傳輸模塊。校準模塊的功能是獲取傳感器的參考電平——新鮮空氣中的傳感器加熱穩定后的電壓輸出值,每個TGS4160傳感器特性不同參考電平也有少許差異[2],在第一次使用傳感器時需先進性校準以獲得參考電平EMF1。數據測量傳輸模塊功能即測量CO2濃度并通過CANOpen總線發送CO2傳感器數值,根據圖3所示曲線,△EMF與CO2濃度的對數近似成線性關系[2],則設該線性關系為

取圖3上兩點代入式(1)計算a,b,則?。?50 ×10-6,0 mv),(5 000 ×10-6,75 mv),兩點計算,又由于在信號調理過程中傳感器電壓放大10倍進行采樣,則上兩點對應為(350 ×10-6,0 mv),(5 000 ×10-6,750 mv),代入式(1):

即可得到CO2濃度計算公式:

在傳感器校準模式下,傳感器模塊不發送數據;在測量傳輸模式下,傳感器通過TPDO1每隔100 ms發送一次CO2濃度值。CO2濃度值采用無符號的16位整形數表示,則該PDO有效數據為2個字節,PDO數據段第一個字節為CO2濃度值高位,第二個字節為CO2濃度值地位,該PDO格式如表1所示。

表1 CO2傳感器模塊發送PDO數據格式
系統軟件流程圖如圖6所示。

圖6 系統軟件流程圖
系統采用輪詢的方式進行,在測量傳輸模式下系統循環檢測CO2濃度值,并每100 ms通過PDO發送一次當前CO2濃度數據;在校準模式下,每1 min測量一組電平數據并通過串口向上位機發送,當啟動時間超過2 h,取最新10組的測量值的平均值作為傳感器的基準電平,校準模式結束,等待系統重啟。基準電平存儲在Flash中,在正常測量模式下每次調用該基準電平值以計算△EMF。
在測試過程中,使用RS232總線作為對比測試CANOpen網絡的性能,分別發送100組數據,每組數據間隔100 ms,其中CAN總線通信速率設為1 M,RS232波特率設為115 200 bit/s,傳輸介質均為雙絞線,改變傳輸介質長度:當傳輸距離為1.5 m時,RS232總線出現個別數據丟失,當傳輸距離為2.5 m時數據丟失嚴重,當傳輸距離為3.5 m時,RS232無法通信;對CAN總線進行測試過程中即使介質長度增長到10 m依然能夠實現穩定的數據傳輸,完全能夠滿足長線傳輸的需要。
經過多次試驗,本CO2傳感器模塊能夠較為準確的反應出所在環境中CO2濃度的變化,且反應時間為3 s左右,如圖7所示。

圖7 傳感器模塊響應時間測試曲線
圖8是傳感器校準時傳感器電壓隨時間變化曲線,傳感器開始加熱工作105 min后傳感器輸出數據趨于穩定,該穩定值的平均值可作為基準電平。

圖8 傳感器模塊校準時輸出電壓曲線
圖9是在一個六個人房間內 (7 m×5 m×3.5 m)CO2濃度隨時間變化的曲線,可看出人在房間內待的時間越長,房間內 CO2濃度越高,4.5 h后到達3 500 ×10-6左右的穩定值。
圖7所示曲線為使用碳酸飲料空瓶(CO2含量>1%)作為CO2發生源測試傳感器模塊響應時的CO2濃度隨時間變化曲線,左側虛線表示碳酸飲料瓶靠近傳感器的時刻,右側虛線表示碳酸飲料瓶遠離傳感器模塊的時刻,反映出本模塊的響應時間在3 s左右,且由低濃度向高濃度變化快,高濃度向低濃度變化過程稍長。但動態過程均小于2 s。

圖9 6人房間CO2濃度變化曲線
綜上所述,本文研究的CO2傳感器模塊精度較高,測量范圍寬,響應時間短,傳輸距離長,可實現多傳感器組網,但是預熱時間較長,故較適合長時間連續工作,適用于CO2濃度監測、生命信息探測等領域的應用。
[1]何誠剛.基于單片機控制的二氧化碳濃度測試計[J].電子設計工程,2009,17(5):11-12,23.
[2]王云景,趙紅旗.二氧化碳傳感器TGS4160的原理及應用[J].國外電子元器件,2004(02):63-65.
[3]張春峰,朱玉玉,等.基于ZigBee的溫室無線CO2傳感器網絡節點設計[J].工業控制計算機,2009,22(10):36-37.
[4]王彪,劉奎學,何月華,等.新型CO2傳感檢測儀的研制[J].儀器儀表學報,2006,27(08):836-839.
[5]陳放,吳麗萍.二氧化碳傳感器節點的設計[J].杭州電子科技大學學報,2011,31(2):50-53.
[6]林茂,賈凱等.CANopen協議在機器人控制器中的應用[J].微計算機信息,2012,26(3-2):152-154.
[7]王奇,劉志剛,等.基于CANopen的列車通信網絡實現研究[J].電氣應用,2010(7):74-77.
[8]黃楠韜.幾種重要的氣體傳感器的特性分析[J].華北科技學院學報,2009,6(3):117-118,122.
[9]楊旗,陸云龍.基于CAN總線的傳感器網絡節點設計[J].儀表技術與傳感器,2011(9):95-96,110.