以纮康HY16F184實(shí)現(xiàn)Gas Sensor量測(cè)應(yīng)用設(shè)計(jì)
3. 系統(tǒng)設(shè)計(jì)
本文引用地址:http://butianyuan.cn/article/278457.htm3.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)作開關(guān)使用,由HY16F184的PWM來(lái)做開關(guān)控制使用。開啟時(shí)候可對(duì)Heater做加熱動(dòng)作,關(guān)閉時(shí)候沒有電流經(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開關(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ù)畫面顯示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: 開始讀取四個(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ù)顯示畫面如下圖,因?yàn)镻WM On與PWM Off的周期為500ms, 所以換算頻率約每2秒在GUI畫面做一次數(shù)據(jù)的更新。CH1的數(shù)據(jù)為氣體濃度PPM,當(dāng)Gas Sensor沒有偵測(cè)到任何的可燃性氣體時(shí)候,可以看到都為平穩(wěn)數(shù)值不會(huì)跳動(dòng),CH2的數(shù)據(jù)為RS,一開始的ADC Raw Data會(huì)呈現(xiàn)平穩(wěn)的上升,CH3則為RH_Current數(shù)據(jù),一開始的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),在奇異筆離開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)用與開發(fā)工具供使用者參考,用戶可以依據(jù)三個(gè)通道PPM, RS, RH_Current的ADC Raw Data變化量,來(lái)做后續(xù)功能設(shè)計(jì)與開發(fā)。
5. 參考文獻(xiàn)
[1] http://www.hycontek.com/attachments/MSP/DS-HY16F188_TC.pdf, 纮康科技HY16F188 Datasheet.
[2] http://www.hycontek.com/attachments/MSP/UG-HY16F188_TC.pdf, 纮康科技HY16F188 User Guide.
[3] http://www.ccmoss.com/products/ccs801, CCS801 CMOS Sensor Website.
adc相關(guān)文章:adc是什么
pwm相關(guān)文章:pwm是什么
電流變送器相關(guān)文章:電流變送器原理
評(píng)論