引言
溫度和濕度是標(biāo)定環(huán)境不可缺少的參數(shù),在蔬菜大棚、糧食倉(cāng)庫(kù)等許多場(chǎng)合,對(duì)溫、濕度的要求非常嚴(yán)格,因此對(duì)環(huán)境溫、濕度參數(shù)的實(shí)時(shí)檢測(cè)提出了更高的要求,溫濕度測(cè)試系統(tǒng)[1]在工業(yè)生產(chǎn)和日常生活中的應(yīng)用也越來(lái)越廣泛。本文介紹的溫濕度測(cè)量?jī)x利用凌陽(yáng)16位單片機(jī)SPCE061A作為控制中心,配合電容式濕度傳感器HS1101和一線制數(shù)字溫度傳感器DS18B20采集數(shù)據(jù),具有實(shí)時(shí)顯示和語(yǔ)音提示功能。
1、系統(tǒng)工作原理及硬件設(shè)計(jì)
1.1 系統(tǒng)基本構(gòu)成
溫濕度測(cè)量?jī)x主要包括兩個(gè)部分:溫度測(cè)量和濕度測(cè)量。其基本構(gòu)成如圖1所示。該系統(tǒng)利用凌陽(yáng)16位單片機(jī)SPCE061A作為系統(tǒng)的控制中心,采用電容式濕度傳感器HS1101和一線制數(shù)字溫度傳感器DS18B20,將測(cè)量到的溫度值和濕度值送入單片機(jī)中,經(jīng)過(guò)數(shù)據(jù)處理后,進(jìn)行實(shí)時(shí)顯示,并通過(guò)按鍵控制測(cè)量結(jié)果的語(yǔ)音播放。
語(yǔ)音功能的溫濕度測(cè)量?jī)x設(shè)計(jì) www.21ic.com" height="180" src="http://files.chinaaet.com/images/2012/10/10/b834ea80-3c75-42bc-898d-4c3656024c47.jpg" width="271" />
1.2 SPCE061A單片機(jī)
SPCE061A單片機(jī)是凌陽(yáng)公司以16位微處理器μ’NSPTM為核心生產(chǎn)的一種16位微控制器,其時(shí)鐘頻率范圍為0.32MHZ~49.125MHZ,具有較高的處理速度,能快捷的處理各種復(fù)雜的數(shù)字信號(hào),它內(nèi)置2K的RAM和32K的內(nèi)存FLASH,具有14個(gè)中斷源,32位可編程的并行I/O口,兩個(gè)16位可編程定時(shí)器/計(jì)數(shù)器,7通道10位A/D轉(zhuǎn)換器和單通道聲音A/D轉(zhuǎn)換器,雙通道10位D/A轉(zhuǎn)換器和可編程音頻處理,具有較強(qiáng)的語(yǔ)音處理功能[2]。
1.3 溫度測(cè)量
溫度傳感器選擇DALLAS公司生產(chǎn)的一線制數(shù)字溫度傳感器DS18B20,它具有3引腳TO-92小體積封裝形式;溫度測(cè)量范圍為-55℃~+125℃,可編程為9位~12位A/D轉(zhuǎn)換精度,測(cè)溫分辨率可達(dá)0.0625℃,被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出。
由于DS18B20只有一個(gè)串行通信接口,與單片機(jī)的連接電路非常簡(jiǎn)單,只需和單片機(jī)的一個(gè)I/O端口連接即可,本系統(tǒng)選擇了IOB7端口,其連接電路圖如圖2所示。DS18B20的I/O口屬于漏極開(kāi)路輸出,外接上拉電阻后常態(tài)下呈高電平。該器件內(nèi)含寄生電源,其供電方式可以選擇寄生電源方式,也可以選用外部電源[3]。為方便起見(jiàn),采用外部電源供電。
1.4 濕度測(cè)量
濕度是指空氣中水蒸氣的含量,其表示方法有絕對(duì)濕度、相對(duì)濕度、露點(diǎn)等。日常生活中所指的濕度是相對(duì)濕度,即空氣中所含水蒸氣量(水蒸氣壓)與其相同情況下飽和水蒸氣量(飽和水蒸氣壓)的百分比,用%RH表示[3]。
電容式濕度傳感器HS1101具有檢測(cè)速度快、高精度、高可靠性、長(zhǎng)期穩(wěn)定性和使用方便、體積小等特點(diǎn),適用于一些對(duì)精度要求不高的場(chǎng)合。在不同的相對(duì)濕度中傳感器的電容值不同,單片機(jī)不能直接讀電容值,需要外接測(cè)量電路。電容式傳感器的測(cè)量電路有電壓輸出式和頻率輸出式兩種,考慮到單片機(jī)內(nèi)有兩個(gè)定時(shí)/計(jì)數(shù)器,測(cè)量頻率比較方便,選用頻率輸出測(cè)量電路,如圖3所示。采用555定時(shí)器和濕度傳感器HS1101以及一些電阻構(gòu)成多諧振蕩器電路,產(chǎn)生的振蕩頻率由下式計(jì)算。
由濕度傳感器HS1101的工作原理知道,測(cè)得的頻率值與相對(duì)濕度值有關(guān),關(guān)系如下式:
其中, 為25℃,55%RH時(shí)電路的參考頻率。
1.5 顯示及鍵盤(pán)
系統(tǒng)采用液晶顯示模塊RT12864M顯示溫度值和濕度值,該模塊有并行和串行兩種連接方式,考慮到傳輸速率,令PSB端接高電平,使用8位并行口進(jìn)行指令/數(shù)據(jù)傳輸。并行口DB0~DB7與單片機(jī)的IOA0~I(xiàn)OA7相連接,使能端E與IOB6連接,指令/數(shù)據(jù)選擇端與IOB4連接,讀/寫(xiě)選擇端與IOB5連接,另外每個(gè)端口都需要外接上拉電阻,如圖4所示。單片機(jī)通過(guò)IOB4~I(xiàn)OB6對(duì)顯示模塊進(jìn)行控制,按照液晶顯示模塊的讀寫(xiě)時(shí)序編程,使顯示模塊正常顯示溫度值和濕度值。
系統(tǒng)的語(yǔ)音提示功能利用按鍵來(lái)控制,連接電路簡(jiǎn)單,按鍵一端接上拉電阻,另一端與單片機(jī)IOB3相連,按下鍵時(shí),IOB3端口輸入為高電平。
2、系統(tǒng)軟件設(shè)計(jì)
凌陽(yáng)單片機(jī)支持C語(yǔ)言與匯編語(yǔ)言之間的相互調(diào)用,為提高程序的可讀性與移植性,同時(shí)也便于調(diào)試,采用模塊化的方法編寫(xiě)程序。系統(tǒng)軟件包括主程序、溫度測(cè)量子程序、濕度測(cè)量子程序、鍵盤(pán)掃描子程序、中斷子程序、語(yǔ)音播放子程序。在主程序中依次調(diào)用這些子程序,實(shí)現(xiàn)系統(tǒng)功能,主程序流程圖見(jiàn)圖5。
在主程序中,首先要對(duì)單片機(jī)端口進(jìn)行初始化,將IOA端口設(shè)置為高電平輸出,IOB端口設(shè)置為低電平輸出。然后分別調(diào)用測(cè)量溫度子程序和測(cè)量濕度子程序,完成測(cè)量和顯示大約需要1秒鐘的時(shí)間,然后再掃描鍵盤(pán),判斷是否進(jìn)行語(yǔ)音播放。因?yàn)閱纹瑱C(jī)內(nèi)的看門(mén)狗計(jì)數(shù)器每0.75s的時(shí)間內(nèi)會(huì)使系統(tǒng)自動(dòng)復(fù)位,為防止該情況發(fā)生,需要在0.75s內(nèi)將看門(mén)狗清零。
溫度測(cè)量子程序首先對(duì)DS18B20初始化,如果計(jì)算機(jī)檢測(cè)到單總線上有DS18B20器件存在,就發(fā)出跳過(guò)ROM命令(CCH)。當(dāng)該命令被成功執(zhí)行后,主機(jī)發(fā)出溫度轉(zhuǎn)換命令(44H)。延時(shí)一段時(shí)間,待轉(zhuǎn)換結(jié)束后,再重新初始化,跳過(guò)ROM命令,然后主機(jī)發(fā)出讀存儲(chǔ)器命令(BEH),得到溫度數(shù)據(jù)。為了縮短傳感器數(shù)據(jù)的轉(zhuǎn)換時(shí)間,將傳感器的分辨率改為9位(出廠時(shí)默認(rèn)分辨率為12位),這樣溫度轉(zhuǎn)換時(shí)間97.5ms,精度0.5℃。
濕度測(cè)量部分采用頻率輸出電路,因此軟件編程時(shí),利用單片機(jī)的定時(shí)/計(jì)數(shù)功能得到與濕度值有關(guān)的頻率值,再轉(zhuǎn)換成相應(yīng)的濕度值。單片機(jī)中有兩個(gè)定時(shí)/計(jì)數(shù)器,利用定時(shí)器TimerB定時(shí)1s,在這段時(shí)間內(nèi),計(jì)數(shù)器TimerA采用外部中斷源EXT1(下降沿觸發(fā))作為時(shí)鐘源,從0x0000開(kāi)始計(jì)數(shù),利用定時(shí)中斷,定時(shí)時(shí)間到則進(jìn)入中斷程序,保存計(jì)數(shù)值。執(zhí)行完中斷程序后,停止定時(shí)器定時(shí)和計(jì)數(shù)器計(jì)數(shù),此時(shí)保存的計(jì)數(shù)值就是接到IOB2端口的輸出頻率,再根據(jù)頻率與相對(duì)濕度的關(guān)系轉(zhuǎn)換成相應(yīng)的濕度值。
3、語(yǔ)音播放程序設(shè)計(jì)
凌陽(yáng)SPCE061A單片機(jī)支持語(yǔ)音播放所要求的硬件和軟件的全部功能。硬件方面:SPCE061A有兩類D/A轉(zhuǎn)換通道,一類是直接采用數(shù)/模轉(zhuǎn)換的DAC方式,另一類是采用脈寬調(diào)制的PWM驅(qū)動(dòng)方式。兩類實(shí)現(xiàn)方式實(shí)質(zhì)都是將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)輸出。本系統(tǒng)采用雙通道數(shù)/模轉(zhuǎn)換DAC方式,將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)輸出,經(jīng)信號(hào)放大后,由揚(yáng)聲器輸出。軟件方面:SPCE061A自帶有多種音頻壓縮算法,可分別實(shí)現(xiàn)高保真音樂(lè)、普通話等語(yǔ)音效果[6],本系統(tǒng)采用SACM_S480音頻壓縮算法將錄制的語(yǔ)音文件壓縮成凌陽(yáng)音頻格式,語(yǔ)音播放程序調(diào)用語(yǔ)音文件進(jìn)行測(cè)量結(jié)果播報(bào)。
語(yǔ)音播放程序框圖如圖6所示。語(yǔ)音播放程序主要完成D/A轉(zhuǎn)換器、TimerA定時(shí)器和音量的初始化,從ROM里取出預(yù)先壓縮好的語(yǔ)音數(shù)據(jù),解壓縮后存放在播放隊(duì)列中,中斷服務(wù)程序定時(shí)地從播放隊(duì)列中讀取數(shù)據(jù),從D/A轉(zhuǎn)換器轉(zhuǎn)換后送揚(yáng)聲器發(fā)出聲音。本系統(tǒng)設(shè)計(jì)溫濕度顯示和播放整數(shù)部分,在程序中分別對(duì)溫度和濕度測(cè)量結(jié)果計(jì)算十位和個(gè)位,判斷十位是否為零,如果十位是零,則直接播放個(gè)位;如果十位不是零,再判斷個(gè)位是否為零,如果個(gè)位是零,則直接返回,播放十位;如果個(gè)位不是零,則播放個(gè)位。
4、測(cè)試結(jié)果及誤差分析
表1是采用本裝置得到的恒溫箱溫度實(shí)測(cè)值與標(biāo)準(zhǔn)二類水銀溫度計(jì)的測(cè)量溫度值以及誤差。表2是在25℃下室內(nèi)環(huán)境中,通過(guò)空氣加濕器調(diào)節(jié)濕度,采用便攜式露點(diǎn)濕度檢測(cè)儀(精度1% RH)測(cè)量的環(huán)境濕度與本系統(tǒng)測(cè)試的濕度值對(duì)比及誤差。
從表1可以看出,DS18B20的溫度測(cè)量比較穩(wěn)定,本設(shè)計(jì)中溫度分辨率為0.5℃,如果調(diào)整傳感器的分辨率可將測(cè)溫精度提高到0.1℃。表2的數(shù)據(jù)可以看出,HS1101由于容易受到環(huán)境因素的干擾,誤差控制在5%范圍之內(nèi),當(dāng)濕度超過(guò)80%時(shí),由于濕度過(guò)大達(dá)到飽和狀態(tài),系統(tǒng)無(wú)法測(cè)量出濕度。
5、結(jié)論
本文開(kāi)發(fā)的集數(shù)據(jù)采集、處理、顯示及語(yǔ)音提示一體的便攜式測(cè)量?jī)x,可用于室內(nèi)溫濕度測(cè)量,溫度測(cè)量范圍0~80℃,精度0.5℃;濕度測(cè)量范圍0~80%RH,精度5%RH。溫濕度測(cè)量結(jié)果可通過(guò)液晶模塊實(shí)時(shí)顯示及按鍵控制進(jìn)行語(yǔ)音播報(bào)。采用數(shù)字式溫度傳感器、頻率測(cè)量技術(shù)及單片機(jī)智能技術(shù),本系統(tǒng)具有較高的穩(wěn)定性和準(zhǔn)確性。
參考文獻(xiàn)
[1]羅亞非.凌陽(yáng)16位單片機(jī)應(yīng)用基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2005.
[2]沙占友.中外集成傳感器實(shí)用手冊(cè)[M].北京:電子工業(yè)出版社,2005.
[4]王選民,黃利君.應(yīng)用SPCE061A單片機(jī)實(shí)現(xiàn)高精度測(cè)頻[J].微計(jì)算機(jī)信息,2006(32):103-105
[5]段世政,聶惠娟.基于SPCE061A的語(yǔ)音識(shí)別系統(tǒng)設(shè)計(jì)[J].新鄉(xiāng)師范高等??茖W(xué)校學(xué)報(bào),2006(05):44-45
[6]張瀟瀟.溫度濕度控制器[J].電子測(cè)量技術(shù),2006(08): 64-65
[7]冀捐灶,史軍勇,張吉廣.一種用單片機(jī)實(shí)現(xiàn)的實(shí)用型溫濕度控制儀[J].儀表技術(shù)與傳感器,2004(10):10-12
[8]車愛(ài)靜,文環(huán)明,張艷.基于凌陽(yáng)SPCE061A單片機(jī)的語(yǔ)音控制系統(tǒng)[J].電腦開(kāi)發(fā)與應(yīng)用,2006(10):49-51
[9]黃耀,蔣亞?wèn)|,謝光忠.高精度多功能溫濕度氧濃度測(cè)量?jī)x.國(guó)外電子測(cè)量技術(shù),2006,25(6):28-30.