《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設計應用 > 基于單片機的無線測溫系統(tǒng)設計
基于單片機的無線測溫系統(tǒng)設計
來源:微型機與應用2012年第13期
佘 東1,胡中玉2
(1.四川機電職業(yè)技術(shù)學院,四川 攀枝花 617000; 2.昆明學院,云南 昆明 650214)
摘要: 利用短距離無線通信技術(shù)構(gòu)成一個基于單片機的簡易、低功耗的無線多點溫度測量系統(tǒng)。系統(tǒng)以AT89C2051、AT89C51單片機為核心,采用數(shù)字式溫度傳感器DS18B20、無線收發(fā)芯片nRF24L01實現(xiàn)了溫度的采集、控制、無線收發(fā)等,給出了系統(tǒng)硬件及軟件的具體設計思想與實現(xiàn)方法。
Abstract:
Key words :

摘  要: 利用短距離無線通信技術(shù)構(gòu)成一個基于單片機的簡易、低功耗的無線多點溫度測量系統(tǒng)。系統(tǒng)以AT89C2051、AT89C51單片機為核心,采用數(shù)字式溫度傳感器DS18B20、無線收發(fā)芯片nRF24L01實現(xiàn)了溫度的采集、控制、無線收發(fā)等,給出了系統(tǒng)硬件及軟件的具體設計思想與實現(xiàn)方法。
關鍵詞: 無線傳感器網(wǎng)絡;單片機;溫度檢測;傳感器節(jié)點

 無線傳感網(wǎng)絡WSNs(Wireless Sensor Networks)是當前在國際上備受關注的、涉及多學科高度交叉、知識高度集成的前沿熱點研究領域。其測量系統(tǒng)綜合了現(xiàn)代傳感器技術(shù)、微電子技術(shù)、通信技術(shù)、嵌入式計算技術(shù)和分布式處理技術(shù)等,能夠通過各類集成化的微型傳感器實時檢測、感知和采集網(wǎng)絡分布區(qū)域內(nèi)的各種環(huán)境或檢測對象的信息,并對這些信息進行處理,從而獲得詳盡而準確的信息[1]。
無線測溫系統(tǒng)是通過無線傳感網(wǎng)絡建立的一種測溫系統(tǒng),系統(tǒng)中包含大量的無線傳感節(jié)點。在任意時刻,傳感節(jié)點間通過無線通信完成溫度信息的處理。利用單片機、溫度傳感器及無線收發(fā)芯片等構(gòu)成的無線多點測溫系統(tǒng)電路簡單,性能穩(wěn)定,抗干擾能力強,可靠性高,功耗低,可廣泛應用于環(huán)境監(jiān)測及工農(nóng)業(yè)等領域。
1 無線測溫系統(tǒng)硬件電路設計
 系統(tǒng)以短距離無線通信為基礎,實現(xiàn)環(huán)境的多點溫度檢測。系統(tǒng)由多個無線節(jié)點組成,每個節(jié)點由單片機構(gòu)成,并配置一個溫度傳感器,每個節(jié)點既實時監(jiān)視該點附近的溫度,同時也無線雙向中轉(zhuǎn)信息,將信息傳輸?shù)教炀€范圍內(nèi)的其他節(jié)點上,這樣使所有的節(jié)點都可以和接收節(jié)點鏈接起來。其系統(tǒng)框圖如圖1所示。

1.1 監(jiān)測節(jié)點電路設計
1.1.1 溫度采集模塊[2-3]

 溫度采集的方法有多種,但考慮簡單實用、易于實現(xiàn)、性能穩(wěn)定、功耗低、可靠性高等因素,該模塊采用DS18B20數(shù)字式溫度傳感器來實現(xiàn)環(huán)境溫度的檢測。DS18B20是美國Dallas半導體公司生產(chǎn)的單總線溫度傳感器,其測溫范圍為-55 ℃~+125 ℃,最高分辨率可達0.062 5℃。信息經(jīng)過單線接口送入DS18B20或從DS18B20送出。讀、寫和完成溫度變換所需的電源可以由數(shù)據(jù)線本身提供,而不需要外部電源。DS18B20的外圍接線如圖2所示。

1.1.2 無線收發(fā)模塊[4-5]
 該模塊選用NORDIC公司推出的高速、低功耗、低成本的2 Mb/s工業(yè)級嵌人式2.4 GHz無線收發(fā)芯片nRF24L01,它具有增強型的ShockBurst功能,集成了雙向通信所需要的鏈路層。同時,內(nèi)置速率高達8 Mb/s的SPI接口能很好地解決nRF24L01與單片機數(shù)據(jù)傳輸率的問題。nRF24L01采用PCB天線,為保證其頻率和阻抗與射頻芯片匹配,以獲取最大傳輸功率并抑制高頻噪聲,在nRF24L01外圍電路接入了電感和電容。nRF24L01的外圍部分接線如圖3所示。

1.2 接收節(jié)點電路設計
 接收節(jié)點的能量由穩(wěn)定的電源供給,無需考慮節(jié)能問題。但考慮到數(shù)據(jù)顯示控制等需要較多的管腳,故采用AT89C51作為控制芯片。此外,因為計算路由的過程非常繁瑣,程序較長,電路中用27C256芯片擴展了一個32 KB的ROM來滿足要求。另外,電路中的無線收發(fā)模塊仍采用nRF24L01無線收發(fā)芯片。接收節(jié)點部分接線如圖5所示。

2 無線測溫系統(tǒng)軟件設計
 系統(tǒng)軟件采用了模塊化設計,主要包括監(jiān)測節(jié)點的溫度采集、接收節(jié)點的路徑計算和溫度顯示、無線傳輸?shù)?。下面主要給出了主程序、溫度采集程序、無線傳輸程序的設計思想。
2.1 主程序設計
 系統(tǒng)的主程序設計主要完成系統(tǒng)初始化、中斷優(yōu)先級設定以及判斷調(diào)用各模塊程序,即主要實現(xiàn)各模塊的連接,然后再確定各個監(jiān)測節(jié)點所在位置對于接收節(jié)點的相對坐標。
2.1.1 接收節(jié)點主程序
 系統(tǒng)上電以后,接收節(jié)點先進行初始化設置。初始化的內(nèi)容包括給相應的字符名稱賦值,打開中斷,等待中斷響應。當中斷響應后,單片機進入相應的中斷服務程序,接收來自所有監(jiān)測節(jié)點的序列號信息,計算出每個節(jié)點的位置并存儲,再計算出到達每個監(jiān)測節(jié)點的路徑,向監(jiān)測節(jié)點發(fā)送溫度測試指令,等監(jiān)測節(jié)點接收到完整數(shù)據(jù)后,將接收節(jié)點置接收方式,準備接收測得的數(shù)據(jù)。在接收節(jié)點接收完監(jiān)測節(jié)點上傳的數(shù)據(jù)后,根據(jù)中斷指令進行顯示,保持一段時間以后,向第二個監(jiān)測節(jié)點發(fā)送溫度測試指令。按此順序循環(huán),直到所有監(jiān)測節(jié)點的溫度被顯示。其流程圖如圖6所示。

2.1.2 監(jiān)測節(jié)點主程序
 監(jiān)測節(jié)點主程序開始后首先進行初始化設置。初始化的內(nèi)容包括給相應的字符名稱賦值,設置串口通信參數(shù)。然后開始發(fā)送自己的序列號,接收其他節(jié)點的序列號組,如果其中不包含自己的序列號,則轉(zhuǎn)發(fā);若包含,則不發(fā)。進入睡眠模式,直到收到接收節(jié)點的溫度測試指令,開始向DS18B20發(fā)初始化脈沖,然后發(fā)送skipROM命令,執(zhí)行溫度的檢測;然后將測得的數(shù)據(jù)發(fā)送給接收節(jié)點,復位中斷返回,準備進行新的測試。其流程圖如圖7所示。

 

 

2.3 無線傳輸程序設計
 無線傳輸通過nRF24L01無線收發(fā)芯片實現(xiàn)。為使系統(tǒng)程序編制更加簡單且穩(wěn)定性高,在設計中使nRF24L01工作于Enhanced ShockBurstTM 收發(fā)模式下。ShockBurstTM的配置字使nRF24L01能夠處理射頻協(xié)議,在配置完成后,在nRF24L01工作的過程中,只需改變其最低一個字節(jié)中的內(nèi)容,就可以實現(xiàn)接收模式和發(fā)送模式之間切換,流程圖如圖9、圖10所示。

 本系統(tǒng)經(jīng)實驗室測試,取得了很好的效果且具有一定的實用性。傳感器節(jié)點間無障礙傳輸距離基本可達到50 m左右,當距離小于10 m時有很強的抗干擾能力,且溫度數(shù)據(jù)可完成多跳傳輸,準確無誤地到達接收節(jié)點。
參考文獻
[1] 王雪.無線傳感網(wǎng)絡測量系統(tǒng)[M].北京:機械工業(yè)出版社,2007:1-13.
[2] 求是科技.單片機典型模塊設計實例導航[M].北京:人民郵電出版社,2004:166-171.
[3] 湯競南,沈國琴.51單片機C語言開發(fā)與實例[M].北京:人民郵電出版社,2008:138-143.
[4] 曾勇,楊濤,馮月暉.基于nRF24L01的超低功耗無線傳感器網(wǎng)絡節(jié)點設計[J].電子技術(shù)應用,2008,34(7):45-48.
[5] 求是科技.單片機通信技術(shù)與工程實踐[M].北京:人民郵電出版社,2005:317-328.

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