以纮康HY16F184實現Gas Sensor量測應用設計
3. 系統設計
本文引用地址:http://cqxgywz.com/article/278457.htm3.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當作輸入參考引腳,這樣可以避免量測訊號時負載效應的產生,詳細關于AIO1與AIO2的通道設置,可以參考下圖5。完整硬件線路圖可以參考下圖6。

圖5 HY16F184 ADC通道設置AIO2與AIO1

圖6 HY16F184 Gas Sensor硬件線路連接圖(TOP)

圖7 HY16F184 Gas Sensor硬件線路連接圖(Bottom)
主要組件介紹
(1)HY16F184 : 數據處理與運算核心,主要負責執行PWM輸出與運算CCS801 Gas Sensor的PPM, RS, RH_Current數據,并且透過I2C通訊做數據輸出。
(2)ADC:HY16F184內建之模擬數字轉換器,能夠精確的將Gas sensor上的RS與RH_Current訊號,做模擬數字電壓訊號轉換。
(3)CCS801 Gas Sensor :氣體傳感器,負責偵測環境中氣體變化量,內部的RS電阻值會隨著氣體中可燃性氣體濃度的不同而產生變化量。
(4)NX2301 PMOS : 在此主要當作開關使用,由HY16F184的PWM來做開關控制使用。開啟時候可對Heater做加熱動作,關閉時候沒有電流經過不做加熱動作。
3.2. 軟件說明
程序流程圖 :

圖8 Gas Sensor程序流程圖
4. 數據規格與總結
4.1. 耗電流測量
在CPU頻率設定為2MHz與工作電壓VDD=3V, VDDA=2.4V, 使用PWM做PMOS開關控制. PWM On的輸出持續時間是100ms,此時為CCS801的加熱時間,之后PWM Off的時間為持續400ms,以500ms為一個控制周期不斷的循環控制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;
每個信道數據(Chx)共8*3=24bit
Bit0,統一為旗標,Bit0=0b,代表為舊資料; Bit0=1b,代表為新資料;
使用者應該在Bit0=1b時,取得數據才有效.
Bit23,統一為Sign bit,
Bit23=0b,代表正數; Bit23=1b, 代表負數
4.3. ADC Raw Data數據顯示界面介紹
掃描Gas Sensor所輸出的ADC Raw Data可透過I2C接口來做數據的傳輸與讀取,搭配纮康設計的I2C轉USB的網橋配合PC端的GUI,可以做為實時的ADC Raw Data數據顯示。詳細數據畫面顯示GUI操作說明,可以參考如下 :
1.Connect : USB連接狀態,如果有正常連接會顯示 Connect,如果連接不正常,會顯示control board connect fail
2.I2C Slave addr: 預設為0x20.
3.Chart: 顯示四個信道的Gas sensor掃描數據。
4.Scan: 開始讀取四個信道的Gas sensor掃描數據。
5.Save: 存取四個信道的Gas sensor掃描數據。

圖9 HY16F184 Gas Sensor與USB轉I2C Board硬件接線圖

圖10 ADC Raw Data數據顯示界面
連上GUI觀察CH1~CH3的數據顯示畫面如下圖,因為PWM On與PWM Off的周期為500ms, 所以換算頻率約每2秒在GUI畫面做一次數據的更新。CH1的數據為氣體濃度PPM,當Gas Sensor沒有偵測到任何的可燃性氣體時候,可以看到都為平穩數值不會跳動,CH2的數據為RS,一開始的ADC Raw Data會呈現平穩的上升,CH3則為RH_Current數據,一開始的ADC Raw data會呈現平穩的下降。

圖11 Gas Sensor無偵測到任何可燃性氣體時候的ADC Raw Data變化量
當有揮發性有機化合物接近Gas Sensor時候,在此是拿奇異筆接近Gas Sesnor,可以看到CH1的PPM數據會透過算法算出變化量,同時CH2的RS ADC Raw data會呈現明顯下降狀態,CH3的RH_Current ADC Raw data也會呈現明顯下降狀態,在奇異筆離開Gas Sensor之后才會慢慢回復平穩狀態。

圖12 Gas Sensor偵測到可燃性氣體時候的ADC Raw Data變化量
4.4. 總結
在本文中,提供了完整的Gas Sensor相關應用與開發工具供使用者參考,用戶可以依據三個通道PPM, RS, RH_Current的ADC Raw Data變化量,來做后續功能設計與開發。
5. 參考文獻
[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相關文章:adc是什么
pwm相關文章:pwm是什么
電流變送器相關文章:電流變送器原理





評論