基于VHDL的數(shù)字濕度計(jì)研究
摘要:濕度計(jì)是一種常用的檢測(cè)儀器,文中利用FPGA器件與HS1101濕度傳感器設(shè)計(jì)實(shí)現(xiàn)了一種簡(jiǎn)易的數(shù)字濕度計(jì),用于檢測(cè)室內(nèi)濕度。該濕度計(jì)具有結(jié)構(gòu)簡(jiǎn)單、測(cè)量準(zhǔn)確性高、穩(wěn)定性好等優(yōu)點(diǎn)。
關(guān)鍵詞:濕度;濕度傳感器;VHDL;FPGA
0 引言
濕度與人類的生存和社會(huì)活動(dòng)密切相關(guān)。濕度檢測(cè)、控制、報(bào)警等被廣泛應(yīng)用于各種場(chǎng)合,如軍事、氣象、農(nóng)業(yè)、工業(yè)、醫(yī)療、建筑以及家用電器等方面。
本文利用FPGA器件與HS1101濕度傳感器設(shè)計(jì)實(shí)現(xiàn)了一種簡(jiǎn)易的數(shù)字濕度計(jì),用于檢測(cè)室內(nèi)濕度,它具有結(jié)構(gòu)簡(jiǎn)單、測(cè)量準(zhǔn)確性高、穩(wěn)定性好等優(yōu)點(diǎn)。
1 硬件電路設(shè)計(jì)
數(shù)字濕度計(jì)硬件電路圖如圖1所示,由濕度檢測(cè)電路、AD轉(zhuǎn)換電路、FPGA電路板等組成。其中濕度檢測(cè)電路采用HS1101濕度傳感器用于檢測(cè)室內(nèi)濕度。該傳感器具有性價(jià)比高、體積小、精度高、響應(yīng)速度快等優(yōu)點(diǎn),廣泛應(yīng)用于儀表、空調(diào)、除濕機(jī)、加濕機(jī)、倉(cāng)儲(chǔ)、氣象以及工業(yè)自動(dòng)化等領(lǐng)域。HS1101濕度傳感器是一種利用電容原理檢測(cè)的濕度傳感器,相對(duì)濕度的變化和電容值呈線性規(guī)律,在檢測(cè)中,電容值隨著空氣濕度的變化而變化。
因此,本文利用將電容值的變化轉(zhuǎn)換成電壓的變化,然后利用AD轉(zhuǎn)換芯片ADC0804和FPGA器件進(jìn)行數(shù)據(jù)采集。
2 軟件程序設(shè)計(jì)
根據(jù)系統(tǒng)的設(shè)計(jì)要求,將程序部分設(shè)計(jì)分為四個(gè)模塊,包括分頻模塊、AD轉(zhuǎn)換模塊、數(shù)據(jù)轉(zhuǎn)換模塊、顯示譯碼模塊。采用OuartusII開(kāi)發(fā)平臺(tái)和VHDL語(yǔ)言完成程序設(shè)計(jì)。
2.1 分頻模塊
分頻電路是FPGA設(shè)計(jì)中使用頻率非常高的基本單元之一。本設(shè)計(jì)的分頻電路簡(jiǎn)單方便、節(jié)約資源、可移置性強(qiáng)、便于系統(tǒng)升級(jí),同時(shí)在以后的FPGA設(shè)計(jì)中也有很大的應(yīng)用空間。圖2分頻模塊中是將50MHz時(shí)鐘信號(hào)分頻為2kHz的頻率。
2.2 AD轉(zhuǎn)換模塊
AD轉(zhuǎn)換模塊如圖3所示。從分頻模塊的輸出端口clk 2k輸出2kHz到AD轉(zhuǎn)換模塊的clock端口作為時(shí)鐘頻率信號(hào);intr為中斷信號(hào);input data[7..0]為濕度數(shù)據(jù)輸入端口,由濕度傳感器檢測(cè)的模擬信號(hào),通過(guò)AD電路轉(zhuǎn)換為數(shù)字信號(hào)傳給inputdata[7..0]端口;cs是片選輸出端口,writeout是寫(xiě)輸出端口,readout是讀輸出端口,分別對(duì)應(yīng)ADC0804的片選/CS、讀控制/RD、寫(xiě)控制/WR的引腳;dataout[7..0]為數(shù)據(jù)輸出端口。
圖4為AD轉(zhuǎn)換模塊仿真圖,當(dāng)復(fù)位鍵reset為0時(shí),輸入數(shù)據(jù)為62時(shí),輸出數(shù)據(jù)為0;當(dāng)復(fù)位鍵reset為1時(shí),輸入數(shù)據(jù)為28時(shí),輸出數(shù)據(jù)為28。
2.3 數(shù)據(jù)轉(zhuǎn)換模塊
數(shù)據(jù)轉(zhuǎn)換模塊是將AD轉(zhuǎn)換后的數(shù)據(jù)(高4位,低4位)通過(guò)查表的方式,用BCD碼形式來(lái)表示。ADC0804的基準(zhǔn)電壓為5V時(shí),由于ADC0804是8位的AD轉(zhuǎn)換器,因此最小電壓準(zhǔn)位是5/256=0.02V,利用濕度檢測(cè)電路將1%RH改變對(duì)應(yīng)0.02V電壓變化。數(shù)據(jù)轉(zhuǎn)換模塊如圖5所示。
如果輸入AD轉(zhuǎn)換后數(shù)據(jù)為0010 0011,通過(guò)查表可得high為00110010,low為00000011,再將得到的數(shù)據(jù)進(jìn)行加法操作處理,得到輸出濕度為35%RH,如圖6所示。
2.4 顯示譯碼模塊
采用共陰數(shù)碼管,當(dāng)某一字段的陽(yáng)極為高電平時(shí),相應(yīng)字段就點(diǎn)亮;當(dāng)某一字段的陽(yáng)極為低電平時(shí),相應(yīng)字段就不亮。顯示譯碼模塊如圖7所示。
顯示譯碼模塊仿真圖如下圖8。輸入為0,輸出為01111111,數(shù)碼管顯示的是0;若輸入為1,輸出為00000110,則數(shù)碼管顯示的是1。
2.5 整體框圖
整體框圖如圖9所示,共有四個(gè)模塊組成。其中顯示譯碼模塊調(diào)用了兩個(gè)。
3 結(jié)束語(yǔ)
利用FPGA器件與HS1101濕度傳感器設(shè)計(jì)實(shí)現(xiàn)了一種簡(jiǎn)易的數(shù)字濕度計(jì),用于檢測(cè)室內(nèi)濕度。采用QuartusII開(kāi)發(fā)平臺(tái)和VHDL語(yǔ)言完成程序設(shè)計(jì),通過(guò)仿真驗(yàn)證和下載驗(yàn)證,證明實(shí)現(xiàn)的濕度計(jì)具有結(jié)構(gòu)簡(jiǎn)單、測(cè)量準(zhǔn)確性高、穩(wěn)定性好等優(yōu)點(diǎn)。