《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 帶語音功能的溫濕度測量儀設(shè)計
帶語音功能的溫濕度測量儀設(shè)計
中電網(wǎng)
摘要: 溫度和濕度是標定環(huán)境不可缺少的參數(shù),在蔬菜大棚、糧食倉庫等許多場合,對溫,、濕度的要求非常嚴格,因此對環(huán)境溫,、濕度參數(shù)的實時檢測提出了更高的要求,,溫濕度測試系統(tǒng)[1]在工業(yè)生產(chǎn)和日常生活中的應(yīng)用也越來越廣泛。本文介紹的溫濕度測量儀利用凌陽16位單片機SPCE061A作為控制中心,,配合電容式濕度傳感器HS1101和一線制數(shù)字溫度傳感器DS18B20采集數(shù)據(jù),,具有實時顯示和語音提示功能。
Abstract:
Key words :

引言

溫度和濕度是標定環(huán)境不可缺少的參數(shù),,在蔬菜大棚,、糧食倉庫等許多場合,對溫,、濕度的要求非常嚴格,,因此對環(huán)境溫、濕度參數(shù)的實時檢測提出了更高的要求,,溫濕度測試系統(tǒng)[1]在工業(yè)生產(chǎn)和日常生活中的應(yīng)用也越來越廣泛,。本文介紹的溫濕度測量儀利用凌陽16位單片機SPCE061A作為控制中心,配合電容式濕度傳感器HS1101和一線制數(shù)字溫度傳感器DS18B20采集數(shù)據(jù),,具有實時顯示和語音提示功能,。

1、系統(tǒng)工作原理及硬件設(shè)計

1.1 系統(tǒng)基本構(gòu)成

溫濕度測量儀主要包括兩個部分:溫度測量和濕度測量,。其基本構(gòu)成如圖1所示,。該系統(tǒng)利用凌陽16位單片機SPCE061A作為系統(tǒng)的控制中心,采用電容式濕度傳感器HS1101和一線制數(shù)字溫度傳感器DS18B20,,將測量到的溫度值和濕度值送入單片機中,,經(jīng)過數(shù)據(jù)處理后,進行實時顯示,,并通過按鍵控制測量結(jié)果的語音播放,。

帶<a class=語音功能的溫濕度測量儀設(shè)計 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單片機

SPCE061A單片機是凌陽公司以16位微處理器μ’NSPTM為核心生產(chǎn)的一種16位微控制器,,其時鐘頻率范圍為0.32MHZ~49.125MHZ,具有較高的處理速度,,能快捷的處理各種復(fù)雜的數(shù)字信號,,它內(nèi)置2K的RAM和32K的內(nèi)存FLASH,具有14個中斷源,,32位可編程的并行I/O口,,兩個16位可編程定時器/計數(shù)器,7通道10位A/D轉(zhuǎn)換器和單通道聲音A/D轉(zhuǎn)換器,,雙通道10位D/A轉(zhuǎn)換器和可編程音頻處理,,具有較強的語音處理功能[2]。

1.3 溫度測量

溫度傳感器選擇DALLAS公司生產(chǎn)的一線制數(shù)字溫度傳感器DS18B20,,它具有3引腳TO-92小體積封裝形式;溫度測量范圍為-55℃~+125℃,可編程為9位~12位A/D轉(zhuǎn)換精度,,測溫分辨率可達0.0625℃,被測溫度用符號擴展的16位數(shù)字量方式串行輸出,。

由于DS18B20只有一個串行通信接口,,與單片機的連接電路非常簡單,只需和單片機的一個I/O端口連接即可,,本系統(tǒng)選擇了IOB7端口,,其連接電路圖如圖2所示。DS18B20的I/O口屬于漏極開路輸出,,外接上拉電阻后常態(tài)下呈高電平,。該器件內(nèi)含寄生電源,其供電方式可以選擇寄生電源方式,,也可以選用外部電源[3],。為方便起見,采用外部電源供電,。

帶語音功能的溫濕度測量儀設(shè)計 www.21ic.com

1.4 濕度測量

濕度是指空氣中水蒸氣的含量,,其表示方法有絕對濕度、相對濕度,、露點等,。日常生活中所指的濕度是相對濕度,即空氣中所含水蒸氣量(水蒸氣壓)與其相同情況下飽和水蒸氣量(飽和水蒸氣壓)的百分比,,用%RH表示[3],。

電容式濕度傳感器HS1101具有檢測速度快、高精度,、高可靠性,、長期穩(wěn)定性和使用方便、體積小等特點,適用于一些對精度要求不高的場合,。在不同的相對濕度中傳感器的電容值不同,,單片機不能直接讀電容值,需要外接測量電路,。電容式傳感器的測量電路有電壓輸出式和頻率輸出式兩種,,考慮到單片機內(nèi)有兩個定時/計數(shù)器,測量頻率比較方便,,選用頻率輸出測量電路,,如圖3所示。采用555定時器和濕度傳感器HS1101以及一些電阻構(gòu)成多諧振蕩器電路,,產(chǎn)生的振蕩頻率由下式計算,。

由濕度傳感器HS1101的工作原理知道,測得的頻率值與相對濕度值有關(guān),,關(guān)系如下式:

其中,, 為25℃,55%RH時電路的參考頻率,。

帶語音功能的溫濕度測量儀設(shè)計 www.21ic.com

1.5 顯示及鍵盤

系統(tǒng)采用液晶顯示模塊RT12864M顯示溫度值和濕度值,,該模塊有并行和串行兩種連接方式,,考慮到傳輸速率,,令PSB端接高電平,使用8位并行口進行指令/數(shù)據(jù)傳輸,。并行口DB0~DB7與單片機的IOA0~IOA7相連接,,使能端E與IOB6連接,指令/數(shù)據(jù)選擇端與IOB4連接,,讀/寫選擇端與IOB5連接,,另外每個端口都需要外接上拉電阻,如圖4所示,。單片機通過IOB4~IOB6對顯示模塊進行控制,,按照液晶顯示模塊的讀寫時序編程,使顯示模塊正常顯示溫度值和濕度值,。

帶語音功能的溫濕度測量儀設(shè)計 www.21ic.com

系統(tǒng)的語音提示功能利用按鍵來控制,,連接電路簡單,按鍵一端接上拉電阻,,另一端與單片機IOB3相連,,按下鍵時,IOB3端口輸入為高電平,。

2,、系統(tǒng)軟件設(shè)計

凌陽單片機支持C語言與匯編語言之間的相互調(diào)用,為提高程序的可讀性與移植性,同時也便于調(diào)試,采用模塊化的方法編寫程序。系統(tǒng)軟件包括主程序,、溫度測量子程序,、濕度測量子程序、鍵盤掃描子程序,、中斷子程序,、語音播放子程序。在主程序中依次調(diào)用這些子程序,,實現(xiàn)系統(tǒng)功能,,主程序流程圖見圖5。

在主程序中,,首先要對單片機端口進行初始化,,將IOA端口設(shè)置為高電平輸出,IOB端口設(shè)置為低電平輸出,。然后分別調(diào)用測量溫度子程序和測量濕度子程序,,完成測量和顯示大約需要1秒鐘的時間,然后再掃描鍵盤,,判斷是否進行語音播放,。因為單片機內(nèi)的看門狗計數(shù)器每0.75s的時間內(nèi)會使系統(tǒng)自動復(fù)位,為防止該情況發(fā)生,,需要在0.75s內(nèi)將看門狗清零,。

溫度測量子程序首先對DS18B20初始化,如果計算機檢測到單總線上有DS18B20器件存在,,就發(fā)出跳過ROM命令(CCH),。當(dāng)該命令被成功執(zhí)行后,主機發(fā)出溫度轉(zhuǎn)換命令(44H),。延時一段時間,,待轉(zhuǎn)換結(jié)束后,再重新初始化,,跳過ROM命令,,然后主機發(fā)出讀存儲器命令(BEH),得到溫度數(shù)據(jù),。為了縮短傳感器數(shù)據(jù)的轉(zhuǎn)換時間,,將傳感器的分辨率改為9位(出廠時默認分辨率為12位),這樣溫度轉(zhuǎn)換時間97.5ms,,精度0.5℃,。

濕度測量部分采用頻率輸出電路,因此軟件編程時,,利用單片機的定時/計數(shù)功能得到與濕度值有關(guān)的頻率值,,再轉(zhuǎn)換成相應(yīng)的濕度值,。單片機中有兩個定時/計數(shù)器,利用定時器TimerB定時1s,,在這段時間內(nèi),,計數(shù)器TimerA采用外部中斷源EXT1(下降沿觸發(fā))作為時鐘源,從0x0000開始計數(shù),,利用定時中斷,,定時時間到則進入中斷程序,保存計數(shù)值,。執(zhí)行完中斷程序后,,停止定時器定時和計數(shù)器計數(shù),此時保存的計數(shù)值就是接到IOB2端口的輸出頻率,,再根據(jù)頻率與相對濕度的關(guān)系轉(zhuǎn)換成相應(yīng)的濕度值,。

帶語音功能的溫濕度測量儀設(shè)計 www.21ic.com

3、語音播放程序設(shè)計

凌陽SPCE061A單片機支持語音播放所要求的硬件和軟件的全部功能,。硬件方面:SPCE061A有兩類D/A轉(zhuǎn)換通道,,一類是直接采用數(shù)/模轉(zhuǎn)換的DAC方式,另一類是采用脈寬調(diào)制的PWM驅(qū)動方式,。兩類實現(xiàn)方式實質(zhì)都是將數(shù)字信號轉(zhuǎn)換成模擬信號輸出,。本系統(tǒng)采用雙通道數(shù)/模轉(zhuǎn)換DAC方式,將數(shù)字信號轉(zhuǎn)換成模擬信號輸出,,經(jīng)信號放大后,,由揚聲器輸出。軟件方面:SPCE061A自帶有多種音頻壓縮算法,,可分別實現(xiàn)高保真音樂,、普通話等語音效果[6],本系統(tǒng)采用SACM_S480音頻壓縮算法將錄制的語音文件壓縮成凌陽音頻格式,,語音播放程序調(diào)用語音文件進行測量結(jié)果播報。

語音播放程序框圖如圖6所示,。語音播放程序主要完成D/A轉(zhuǎn)換器,、TimerA定時器和音量的初始化,從ROM里取出預(yù)先壓縮好的語音數(shù)據(jù),,解壓縮后存放在播放隊列中,,中斷服務(wù)程序定時地從播放隊列中讀取數(shù)據(jù),從D/A轉(zhuǎn)換器轉(zhuǎn)換后送揚聲器發(fā)出聲音,。本系統(tǒng)設(shè)計溫濕度顯示和播放整數(shù)部分,,在程序中分別對溫度和濕度測量結(jié)果計算十位和個位,判斷十位是否為零,,如果十位是零,,則直接播放個位;如果十位不是零,再判斷個位是否為零,如果個位是零,,則直接返回,,播放十位;如果個位不是零,則播放個位,。

帶語音功能的溫濕度測量儀設(shè)計 www.21ic.com

4,、測試結(jié)果及誤差分析

表1是采用本裝置得到的恒溫箱溫度實測值與標準二類水銀溫度計的測量溫度值以及誤差。表2是在25℃下室內(nèi)環(huán)境中,,通過空氣加濕器調(diào)節(jié)濕度,,采用便攜式露點濕度檢測儀(精度1% RH)測量的環(huán)境濕度與本系統(tǒng)測試的濕度值對比及誤差。

帶語音功能的溫濕度測量儀設(shè)計 www.21ic.com

從表1可以看出,,DS18B20的溫度測量比較穩(wěn)定,,本設(shè)計中溫度分辨率為0.5℃,如果調(diào)整傳感器的分辨率可將測溫精度提高到0.1℃,。表2的數(shù)據(jù)可以看出,,HS1101由于容易受到環(huán)境因素的干擾,誤差控制在5%范圍之內(nèi),,當(dāng)濕度超過80%時,,由于濕度過大達到飽和狀態(tài),系統(tǒng)無法測量出濕度,。

5,、結(jié)論

本文開發(fā)的集數(shù)據(jù)采集、處理,、顯示及語音提示一體的便攜式測量儀,,可用于室內(nèi)溫濕度測量,溫度測量范圍0~80℃,,精度0.5℃;濕度測量范圍0~80%RH,,精度5%RH。溫濕度測量結(jié)果可通過液晶模塊實時顯示及按鍵控制進行語音播報,。采用數(shù)字式溫度傳感器,、頻率測量技術(shù)及單片機智能技術(shù),本系統(tǒng)具有較高的穩(wěn)定性和準確性,。

參考文獻

[1]羅亞非.凌陽16位單片機應(yīng)用基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,,2005.

[2]沙占友.中外集成傳感器實用手冊[M].北京:電子工業(yè)出版社,2005.

[4]王選民,黃利君.應(yīng)用SPCE061A單片機實現(xiàn)高精度測頻[J].微計算機信息,2006(32):103-105

[5]段世政,聶惠娟.基于SPCE061A的語音識別系統(tǒng)設(shè)計[J].新鄉(xiāng)師范高等專科學(xué)校學(xué)報,2006(05):44-45

[6]張瀟瀟.溫度濕度控制器[J].電子測量技術(shù),2006(08): 64-65

[7]冀捐灶,史軍勇,張吉廣.一種用單片機實現(xiàn)的實用型溫濕度控制儀[J].儀表技術(shù)與傳感器,2004(10):10-12

[8]車愛靜,文環(huán)明,張艷.基于凌陽SPCE061A單片機的語音控制系統(tǒng)[J].電腦開發(fā)與應(yīng)用,2006(10):49-51

[9]黃耀,,蔣亞東,,謝光忠.高精度多功能溫濕度氧濃度測量儀.國外電子測量技術(shù),2006,,25(6):28-30.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。