方 簫 ,陳 林 ,嚴 赫 ,尹洪智
(1.武漢科技大學 信息科學與工程學院,武漢 430081;2.北京瑞陽恒興科技有限公司,北京 100096)
隨著現代科技的發展,氣體檢測裝置在化工業、污泥堆肥等行業中具有很大的實用價值[1]。污泥堆肥過程中會釋放氨氣,既會導致氮元素流失,又會產生臭味,氨氣濃度的檢測能夠幫助操作人員或控制設備有效地對堆體進行動態調控從而減少氨氣的釋放,并且減少氮素流失[2]。以往氨氣濃度檢測儀大多以便攜式檢測儀為主,不能很好地對檢測環境進行實時監控,基于傳統微控制器實現的氨氣檢測儀表,其硬件電路設計較為復雜,開發周期較長,導致研發成本較高。PSoC是片上可編程的微控制器,系統設計時能為設計者提供更加靈活的設計方法,提高系統設計的成功率和開發效率,降低開發系統的復雜性和費用,同時增強系統的可靠性和抗干擾能力[3]。
本設計選用日本FIGRO公司生產的TGS826氨氣傳感器作為檢測元件,美國Cypress Semiconductor公司的PSoC5芯片CY8C5568AXI-06作為檢測系統控制核心,完成了檢測儀系統設計。
可編程片上系統PSoC是一種基于通用IP模塊,資源可配置的微控制器[4]。使用ARM公司Cortex-M3內核的PSoC5,在集成了性能優異的處理器的同時具有可動態配置的數字與模擬資源。數字部分主要有:I2C,SPI,UART,PWM 發生器等。 模擬部分主要有:運算放大器,模數轉換器ADC,可編程濾波器,數模轉換器DAC等,另外片上集成一塊2 K的E2PROM方便數據存儲[5]。
基于PSoC的儀表設計方案與傳統儀表設計方案如圖1所示,PSoC片上集成了可動態配置的模塊如運放、A/D轉換器、數字濾波器以及E2PROM等,使得硬件電路設計更加精簡;運用PSoC集成的這些模擬器件來替代傳統的分立器件,使其結構簡單可靠、降低開發成本、縮短開發周期;并且這些片上集成的資源動態可配置,使得系統設計更加靈活。

圖1 儀表傳統設計方案與PSoC設計方案Fig.1 Traditional and PSoC Instrumentation design scheme
本檢測儀系統結構圖如圖2所示,檢測儀表系統主要包含如下部分:氨氣傳感器、電源、PSoC5微控制器、LCD顯示屏、報警信號驅動電路、上位機。

圖2 氨氣檢測儀系統結構Fig.2 Ammonia detector’s system structure
上位機通過RS485與以PSoC5為核心的測量模塊相連,上位機用于接收與顯示數據并負責校準儀表。測量部分由電源,氨氣傳感器,測量電路,LCD顯示組成。PSoC主要負責傳感器信號采集,運算,數據存儲,通信管理,模擬量輸出等工作。
本設計使用的氨氣傳感器典型檢測區間為22.8 mg/m3~228 mg/m3(30 ppm~300 ppm),其對氨氣具有高靈敏度,應用電路簡單、陶瓷基底、抗環境干擾能力強等優點[6]。傳感器應用基本電路如圖3所示,使用的氨氣傳感器是一個6端傳感器,其中2個加熱端,其余4個端子用于接入測量電路。Vc為電阻回路輸入電壓,VRL為負載電阻輸出電壓,VH為傳感器加熱電壓。RS是傳感器感應電阻,在檢測環境中RS會隨著環境中氨氣的變化而變化,通過檢測負載電阻兩端的負載電壓VRL,可通過式(1)計算出當前傳感器的感應電阻值RS。由于傳感器在某一個恒定加熱電壓下能表現出最佳敏感特性,本設計中氨氣傳感器選用5 V電壓作為傳感器加熱電壓[6-7]。使用TPS5430作為傳感器5 V加熱電壓VH的供電芯片,其具有帶負載能力強,輸出阻抗小,能夠提供穩定的供電電壓;電阻回路的2 V電壓Vc由PSoC內部精度為8位電壓數模轉換器VDAC提供。


圖3 氨氣傳感器應用電路Fig.3 Applied circuit for ammonia sensor
氨氣傳感器特性曲線如圖4(a),橫軸為氣體濃度,縱軸為傳感器的電阻比率RS/RO,RO為氨氣濃度為 38 mg/m3(50 ppm)時傳感器的感應電阻值[6]。
傳感器的電阻比率與氨氣濃度呈線性關系[6-7],即:

式中:y=log10Rr為當前電阻比對數值;x=log10NH3為當前氨氣含量對數值;b為常數;k=(log10Rr2-log10Rr1)/(log10NH32-log10NH31)為斜率,Rr1,Rr2為標定樣點處電阻比值,NH31,NH32為標定樣點處氨氣濃度值。由式(2)可得當前氨氣值:

式中:NH3為當前氨氣值;Rr=RS/RO為電阻比。檢測過程中VRL/VC與RS/RL的關系曲線如圖4(b)所示,Vc和RL為固定值,在曲線兩端RS/RL的比值變化對應VRL/VC比值變化區域很小,此時感應電阻RS變化值 ΔRS與采樣信號 VRL變化值 ΔVRL之間比值ΔVRL/ΔRS很小,使得該區段信號分辨率低;而在RS/RL比值為1時,曲線斜率最大,RS/RL比值在1左右變化時,ΔVRL/ΔRS比值大,信號分辨率高。在檢測過程中根據感應電阻值使用PSoC片上模擬開關Amux來更換負載電阻RL控制RS/RL比值在0.5~2之間,用來保證檢測過程中信號的分辨率。

圖4 相關特性曲線Fig.4 Related characteristic curve
PSoC片上測量電路設計首先要完成片內資源的設計,其次在集成開發環境中進行軟件設計。其片內資源設計流程具體為:確定系統需求,選取用戶模塊、放置用戶模塊、設置全局變量和用戶模塊參數、定義輸出引腳、產生應用代碼、編輯應用代碼[8]。時鐘資源是PSoC的全局資源,本設計使用外部晶振作為時鐘源,經過內部鎖相環倍頻到24 MHz后作為全局時鐘資源。PSoC片上模擬電路設計如圖5所示,本系統使用了PSoC5模擬部分的 ADC_1,ADC_2,VDAC8_1,模擬復用器 AMux_1以及Opamp用于電路設計當中,由于片內不存在電阻電容等器件,圖中電阻和虛線連接線路均為片外電路注釋,便于將采樣電路設計完整的展現出來。
模擬部分資源配置,模擬部分使用的引腳均配置為模擬引腳,數模轉換器VDAC8_1配置輸出2 V電壓作為電阻回路電壓Vc,連接至放大器Opamp輸入端,Opamp配置為電壓跟隨模式,其輸出端接至逐次逼近型模數轉換器ADC_1,ADC_1配置為12位連續采樣模式,采樣頻率為1.9 MHz,參考電壓為內部1.024 V,模擬信號VRL輸出接至內部Delta Sigma模數轉換器 ADC_2,ADC_2配置為12位連續采樣模式,參考電壓為內部1.024 V,采樣頻率為320 kHz,模擬信號復用器AMux_1通過電子開關的通斷選擇負載電阻RL。片上除了模擬模塊的應用外還使用了通用異步通訊UART,定時器Timer,時鐘Clock,E2PROM等固件資源完成了整個檢測儀的設計。

圖5 PSoC5芯片片上模擬電路設計圖Fig.5 On-chip analog circuit design for PSoC5 chip
PSoC的程序設計使用專用的開發環境PSoC Creator進行開發。在PSoC Creator集成編譯環境下完成對模塊的調用和配置。配置完成后通過編譯為片上配置的資源提供多個應用程序接口(API)以及中斷服務程序(ISR)。軟件設計時,使用系統提供的API函數和C/C++語言完成檢測儀的程序設計。
調用API實現初始化系統的一段代碼如下:
…………
VDAC8_1_Start();//啟用數模轉換
ADC_1_Start();//啟用模數轉換
ADC_1_StartConvert();//開始轉換
Opamp_1_Start();//啟用放大器模塊
…………
氨氣儀表主程序流程圖,如圖6所示。在儀表開始工作時,先進行元件初始化,元件初始化包括:模數轉換模塊ADC,電壓模數轉換模塊VDAC,放大器Opmap,時鐘Clock,通用異步串行傳輸模塊UART,定時器Timer等的初始化。元件初始化完成之后讀取E2PROM中存儲的數據,選擇通訊波特率,預熱傳感器,如果檢測儀標定完成則更具采樣值計算當前環境氨氣含量,否則顯示當前傳感器感應電阻值。當前氨氣含量與預警值比較,若需要報警,則輸出報警信號,否則將氨氣濃度值顯示在LCD上。

圖6 氨氣儀表主程序流程圖Fig.6 Flowchart for ammonia instruments’main program
檢測儀與上位機通訊選用的是Modbus通訊協議,如果是本機通訊地址,則進行Modbus功能碼的識別,如果是檢測儀能夠執行的功能碼則進行相應的數據處理,如果不能識別功能碼則終止Modbus子程序。如果收到的本機地址和檢測儀的地址不一致,判斷是否需要發送當前通訊地址給上位機,如果需要發送則發送當前通訊地址,如果不需要發送則終止Modbus子程序。通過上位機軟件可在系統運行過程中實時更改通訊波特率和設備通訊地址,這樣做可以實現多個設備在Modbus總線上的靈活配置,這樣做可以實現多個設備在Modbus總線上的靈活配置,有利于儀表一體化管理[9]。
圖7所示為氨氣檢測儀置于空氣中時實際運行圖,圖8為使用上位機讀取的氨氣檢測儀置于濃度為116.6 mg/m3(153.4 ppm)的氨氣樣氣時的監測曲線。實驗中檢測濃度偏差小于全量程±2%,檢測儀的設計滿足預期設計要求。

圖7 氨氣濃度檢測儀Fig.7 Ammonia concentration detector

圖8 置于116.6 mg/m3樣氣中檢測曲線Fig.8 Detection curve in the 116.6 mg/m3 sample gas
基于PSoC設計的氨氣檢測儀,與傳統的微控制器設計氨氣檢測儀相比,精簡了設計電路,節省了開發時間和成本,設計中預留了可配置的I/O,使得產品能夠在后期需要更新升級的時候更為靈活,節省再次開發的成本和開發周期。通過實驗可知,用PSoC設計的氨氣濃度檢測儀表,能夠完成系統預期設計要求,經過長時間運作該儀表能夠正確顯示通訊,信號輸出正常,該氨氣濃度儀表現已用于污泥堆肥環境中氨氣濃度檢測。
[1] 姚善卓,張玲玲,李友杰.氨氣來源及氨氣傳感器應用[J].廣州化工,2011,9(2):44-46.
[2] 鄭國砥,高定,陳同斌.污泥堆肥過程中氮素損失和氨氣釋放的動態與調控[J].中國給水排水,2009,25(11):121-124.
[3] 郭帥,何永義.基于嵌入式PSoC的MCU選色控制器設計[J].單片機與嵌入式系統應用,2004(3):42-45,48.
[4] 徐開蕓,劉蘭英,金永良.PSoC在針織機械設備電氣控制系統中的應用[J].制造業自動化,2010,32(10):43-45,48.
[5] PSoC?5:CY8C55 Family Datasheet (DB/OL).(2012-07-29)[2013-04-16].http://www.cypress.com/?rID=37581.
[6] TGS 826-for the Detection of Ammonia (DB/OL).[2013-4-16].http://wenku.baidu.com/view/4630d12abcd126fff7050bc2.html.
[7] TGS 通用傳感器資料 (DB/OL).(2003-6)[2013-04-16].http://wenku.baidu.com/view/34bd303b87c24028915fc33f.htm.
[8] 王波,楊永明,汪金剛,等.基于PSoC的無線傳感器網絡節點設計[J].傳感技術學報,2009,22(3):413-416.
[9] 李杰,王航.一種基于ModBus總線的通信方案探討[J].工業儀表與自動化裝置,2012(4):101-104.