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