1. 內容簡介
近年來由于日趨嚴重的環(huán)境污染及工業(yè)上之需求,使得傳感器的發(fā)展倍受重視。在空氣污染防治日益復雜及工業(yè)上迫切需要的今日,高效能的氣體傳感器愈來愈受重視。以金屬氧化物半導體(MOS)為材料之氣體傳感器,由于其耐熱性及耐蝕性佳、應答速率快、組件制作容易,以及易與微處理器組合成氣體感測系統(tǒng)或攜帶式監(jiān)測器,因此被廣泛的使用在家庭、工廠環(huán)境中以偵測毒性氣體及燃燒爆炸性氣體。而本文將介紹以HY16F184內建高精密Sigma-Delta 24 Bit ADC搭配CCS801 CMOS Sensor來實現(xiàn)一個Gas Sensor應用電路。 在本文中的Gas Sensor應用電路上,主要的組件有:氣體傳感器(CCS801 Gas Sensor)、ADC和MCU控制芯片。 而纮康HY16F184控制芯片內建高精密Sigma-delta 24 Bit ADC、可程序放大PGA和多段式穩(wěn)壓輸出等功能,可以很大幅簡化PCB周邊線路,精準完成由模擬到數(shù)字的訊號轉換。
本文Gas Sensor應用電路是由纮康HY16F184芯片之內建ADC精確的量測到CCS801 CMOS Sensor內的RS電阻變化量,并且透搭配CCS801 CMOS Sensor所提供的C Library算法,可以換算出相對應的PPM濃度數(shù)值。而在加熱驅動器(Heater)回路上的微小電流變化量(RH_Current),同樣也可使用HY16F184內建ADC精準的量測到。本文內也提供了GUI軟件接口,透過I2C通訊來輸出實時的PPM與RS和RH_Current數(shù)據(jù)變化量。使用I2C轉USB網橋與計算機連接,由計算機端GUI做實時三個信道的數(shù)據(jù)變化量顯示。
2. 原理說明
2.1. 量測原理
CCS801 Gas sensor半導體氣體感測材料在偵測氣體時,RS電阻會產生變化,如下圖1。此情況主要導因于偵測可燃性氣體如一氧化碳(CO)及多種揮發(fā)性有機化合物(VOC)與吸附在半導體氧化物且?guī)ж撾姾傻难蹼x子產生反應。當空氣偵測到可燃性氣體時候,RS電阻會產生變化,此時可測量到RS兩端的電壓會有所改變。典型的RS電阻值范圍在100k~2M奧姆之間。 RH電阻則是可當溫度反應電阻,當Gas Sensor有一電流回路流經Heater+與Heater GND,則可視為加熱現(xiàn)象,隨著Heater溫度的變化,RH端的電阻也會有所改變,典型的RH電阻值范圍在20~100奧姆之間。
圖1 CCS801 CMOS Sensor
2.2. Gas Sesnor應用電路基本架構
本文Gas Sensor的基本架構如下圖2所示,包含一個氣體傳感器(CCS801 Gas Sensor)、PMOS NX2301、ADC和MCU單芯片。HY16F184可輸出PWM來控制PMOS NX2301做為電流開關控制。當PWM輸出為High時候,則是關閉PMOS,此時較為省電,不會有電流流經過Heater端。而當PWM輸出為Low時候,則是導通PMOS,會有電流流經過Heater端,此時則開始做Gas Sensor加熱動作,當Gas Sensor再加熱的時相對來說也會比較耗電。 本文的電路應用架構即是利用PWM來做整體消耗電流功耗控制,設定PWM輸出周期為97us,PWM輸出Low的時間為比57us而PWM輸出High的時間為40us。PWM On的輸出持續(xù)時間是100ms,此時為CCS801的加熱時間,之后PWM Off的時間為持續(xù)400ms,當PWM Off時候,此時會輸出保持High,以500ms為一個控制周期不斷的循環(huán)控制PMOS NX2301開關,做為加驅動器(Heater)的控制。詳細的PWM控制時間圖,可以參考以下圖3。 HY16F184除了使用PWM做PMOS開關控制來達到功耗控制與省電的設計效果,還使用了高精度ADC來做RS與RH_Current變化量測量,而擷取到的數(shù)據(jù)可以由I2C來做數(shù)據(jù)的輸出與讀取,詳細HY16F184 ADC規(guī)格可以參考下圖4。
圖2 HY16F184 Gas Sensor基本架構圖
圖4 纮康HY16F系列32位高性能Flash單片機(HY16F184)
(2)電壓操作范圍2.4~3.6V,以及-40℃~85℃工作溫度范圍。
(3)支持外部16MHz石英震蕩器或內部20MHz高精度RC震蕩器,
擁有多種CPU工作頻率切換選擇,可讓使用者達到最佳省電規(guī)劃。
(3.1)運行模式 350uA@2MHz/2(3.2)待機模式 10uA@32KHz/2(3.3)休眠模式 2.5uA
(5)數(shù)據(jù)存儲器8KBytes SRAM。
(6)擁有BOR and WDT功能,可防止CPU死機。
(7)24-bit高精準度ΣΔADC模擬數(shù)字轉換器
(7.1)內置PGA (Programmable Gain Amplifier)最高可達128倍放大。
(7.2)內置溫度傳感器TPS。
(8)超低輸入噪聲運算放大器OPAMP。
(9)16-bit Timer A
(10)16-bit Timer B模塊具PWM波形產生功能
(11)16-bit Timer C 模塊具數(shù)字Capture/Compare 功能
(12)硬件串行通訊SPI模塊
(13)硬件串行通訊I2C模塊
(14)硬件串行通訊UART模塊
(15)硬件RTC時鐘功能模塊
(16)硬件Touch KEY功能模塊
(17)Sigma-delta 24 Bit ADC ENOB & RMS Noise
3. 系統(tǒng)設計
3.1. 硬件說明
使用HY16F184內建ADC搭配CCS801 CMOS Sensor做Gas Sensor應用電路。 HY16F184的ADC通道模擬腳位會使用到AIO0/AIO1/AIO2/AIO3。 AIO0與AIO3主要負責做流經過RH電阻的RH_Current電流變化量測量,AIO1與AIO2負責做RS電阻的電壓變化量測量,因為RS電阻本身為高阻抗(100k~2M奧姆),而ADC的輸入阻抗大約只有200k奧姆, 所以在AIO2的輸入腳位部份會先經過HY16F184內建R2ROP做一個Unit Gain buffer輸出,再由OPOI輸出到ADC當作輸入?yún)⒖家_,這樣可以避免量測訊號時負載效應的產生,詳細關于AIO1與AIO2的通道設置,可以參考下圖5。完整硬件線路圖可以參考下圖6。
圖5 HY16F184 ADC通道設置AIO2與AIO1
圖6 HY16F184 Gas Sensor硬件線路連接圖(TOP)
圖7 HY16F184 Gas Sensor硬件線路連接圖(Bottom)
主要組件介紹
(1)HY16F184 : 數(shù)據(jù)處理與運算核心,主要負責執(zhí)行PWM輸出與運算CCS801 Gas Sensor的PPM, RS, RH_Current數(shù)據(jù),并且透過I2C通訊做數(shù)據(jù)輸出。
(2)ADC:HY16F184內建之模擬數(shù)字轉換器,能夠精確的將Gas sensor上的RS與RH_Current訊號,做模擬數(shù)字電壓訊號轉換。
(3)CCS801 Gas Sensor :氣體傳感器,負責偵測環(huán)境中氣體變化量,內部的RS電阻值會隨著氣體中可燃性氣體濃度的不同而產生變化量。
(4)NX2301 PMOS : 在此主要當作開關使用,由HY16F184的PWM來做開關控制使用。開啟時候可對Heater做加熱動作,關閉時候沒有電流經過不做加熱動作。
3.2. 軟件說明
程序流程圖 :
圖8 Gas Sensor程序流程圖
4. 數(shù)據(jù)規(guī)格與總結
4.1. 耗電流測量
在CPU頻率設定為2MHz與工作電壓VDD=3V, VDDA=2.4V, 使用PWM做PMOS開關控制。 PWM On的輸出持續(xù)時間是100ms,此時為CCS801的加熱時間,之后PWM Off的時間為持續(xù)400ms,以500ms為一個控制周期不斷的循環(huán)控制PMOS,在此情況下所測得到的耗電流約0.89mA。
4.2. ADC Raw Data與I2C通訊格式說明
I2C Slave Address:0x20
I2C Command:0x80
S+Addr+0x80+rS+(Addr+1)+CH1Data_L+CH1Data_M+CH1Data_H+CH2Data_L+CH2Data_M+CH2Data_H+CH3Data_L+CH3Data_M+CH3Data_H+CH4Data_L+CH4Data_M+CH4Data_H+P
S: Star; Addr: Slave address; rS: repeat start; P: stop.
CH1: RS 的ADC RawData經過ccsmox_set_data_iaq計算后所得PPM
CH2: RS端的ADC RawData
CH3: RH_Current端的ADC RawData
CH4: NC
L: ADC Low byte; M: ADC Middle byte; H: ADC High byte;
每個信道數(shù)據(jù)(Chx)共8*3=24bit
Bit0,統(tǒng)一為旗標,Bit0=0b,代表為舊資料; Bit0=1b,代表為新資料;
使用者應該在Bit0=1b時,取得數(shù)據(jù)才有效。
Bit23,統(tǒng)一為Sign bit,
Bit23=0b,代表正數(shù); Bit23=1b, 代表負數(shù)
4.3. ADC Raw Data數(shù)據(jù)顯示界面介紹
掃描Gas Sensor所輸出的ADC Raw Data可透過I2C接口來做數(shù)據(jù)的傳輸與讀取,搭配纮康設計的I2C轉USB的網橋配合PC端的GUI,可以做為實時的ADC Raw Data數(shù)據(jù)顯示。詳細數(shù)據(jù)畫面顯示GUI操作說明,可以參考如下 :
1.Connect : USB連接狀態(tài),如果有正常連接會顯示 Connect,如果連接不正常,會顯示control board connect fail
2.I2C Slave addr: 預設為0x20.
3.Chart: 顯示四個信道的Gas sensor掃描數(shù)據(jù)。
4.Scan: 開始讀取四個信道的Gas sensor掃描數(shù)據(jù)。
5.Save: 存取四個信道的Gas sensor掃描數(shù)據(jù)。
圖9 HY16F184 Gas Sensor與USB轉I2C Board硬件接線圖
圖10 ADC Raw Data數(shù)據(jù)顯示界面
連上GUI觀察CH1~CH3的數(shù)據(jù)顯示畫面如下圖,因為PWM On與PWM Off的周期為500ms, 所以換算頻率約每2秒在GUI畫面做一次數(shù)據(jù)的更新。CH1的數(shù)據(jù)為氣體濃度PPM,當Gas Sensor沒有偵測到任何的可燃性氣體時候,可以看到都為平穩(wěn)數(shù)值不會跳動,CH2的數(shù)據(jù)為RS,一開始的ADC Raw Data會呈現(xiàn)平穩(wěn)的上升,CH3則為RH_Current數(shù)據(jù),一開始的ADC Raw data會呈現(xiàn)平穩(wěn)的下降。
圖11 Gas Sensor無偵測到任何可燃性氣體時候的ADC Raw Data變化量
當有揮發(fā)性有機化合物接近Gas Sensor時候,在此是拿奇異筆接近Gas Sesnor,可以看到CH1的PPM數(shù)據(jù)會透過算法算出變化量,同時CH2的RS ADC Raw data會呈現(xiàn)明顯下降狀態(tài),CH3的RH_Current ADC Raw data也會呈現(xiàn)明顯下降狀態(tài),在奇異筆離開Gas Sensor之后才會慢慢回復平穩(wěn)狀態(tài)。
圖12 Gas Sensor偵測到可燃性氣體時候的ADC Raw Data變化量
4.4. 總結
在本文中,提供了完整的Gas Sensor相關應用與開發(fā)工具供使用者參考,用戶可以依據(jù)三個通道PPM, RS, RH_Current的ADC Raw Data變化量,來做后續(xù)功能設計與開發(fā)。
責任編輯:gt
-
傳感器
+關注
關注
2551文章
51134瀏覽量
753904 -
芯片
+關注
關注
455文章
50851瀏覽量
423988 -
微處理器
+關注
關注
11文章
2263瀏覽量
82485
發(fā)布評論請先 登錄
相關推薦
評論