摘 要: 利用短距離無(wú)線通信技術(shù)構(gòu)成一個(gè)基于單片機(jī)的簡(jiǎn)易、低功耗的無(wú)線多點(diǎn)溫度測(cè)量系統(tǒng),。系統(tǒng)以AT89C2051,、AT89C51單片機(jī)為核心,采用數(shù)字式溫度傳感器DS18B20,、無(wú)線收發(fā)芯片nRF24L01實(shí)現(xiàn)了溫度的采集,、控制,、無(wú)線收發(fā)等,給出了系統(tǒng)硬件及軟件的具體設(shè)計(jì)思想與實(shí)現(xiàn)方法,。
關(guān)鍵詞: 無(wú)線傳感器網(wǎng)絡(luò),;單片機(jī);溫度檢測(cè),;傳感器節(jié)點(diǎn)
無(wú)線傳感網(wǎng)絡(luò)WSNs(Wireless Sensor Networks)是當(dāng)前在國(guó)際上備受關(guān)注的,、涉及多學(xué)科高度交叉、知識(shí)高度集成的前沿?zé)狳c(diǎn)研究領(lǐng)域,。其測(cè)量系統(tǒng)綜合了現(xiàn)代傳感器技術(shù),、微電子技術(shù)、通信技術(shù),、嵌入式計(jì)算技術(shù)和分布式處理技術(shù)等,,能夠通過(guò)各類集成化的微型傳感器實(shí)時(shí)檢測(cè)、感知和采集網(wǎng)絡(luò)分布區(qū)域內(nèi)的各種環(huán)境或檢測(cè)對(duì)象的信息,,并對(duì)這些信息進(jìn)行處理,,從而獲得詳盡而準(zhǔn)確的信息[1]。
無(wú)線測(cè)溫系統(tǒng)是通過(guò)無(wú)線傳感網(wǎng)絡(luò)建立的一種測(cè)溫系統(tǒng),,系統(tǒng)中包含大量的無(wú)線傳感節(jié)點(diǎn),。在任意時(shí)刻,傳感節(jié)點(diǎn)間通過(guò)無(wú)線通信完成溫度信息的處理,。利用單片機(jī),、溫度傳感器及無(wú)線收發(fā)芯片等構(gòu)成的無(wú)線多點(diǎn)測(cè)溫系統(tǒng)電路簡(jiǎn)單,性能穩(wěn)定,,抗干擾能力強(qiáng),,可靠性高,功耗低,,可廣泛應(yīng)用于環(huán)境監(jiān)測(cè)及工農(nóng)業(yè)等領(lǐng)域,。
1 無(wú)線測(cè)溫系統(tǒng)硬件電路設(shè)計(jì)
系統(tǒng)以短距離無(wú)線通信為基礎(chǔ),實(shí)現(xiàn)環(huán)境的多點(diǎn)溫度檢測(cè),。系統(tǒng)由多個(gè)無(wú)線節(jié)點(diǎn)組成,,每個(gè)節(jié)點(diǎn)由單片機(jī)構(gòu)成,并配置一個(gè)溫度傳感器,,每個(gè)節(jié)點(diǎn)既實(shí)時(shí)監(jiān)視該點(diǎn)附近的溫度,,同時(shí)也無(wú)線雙向中轉(zhuǎn)信息,將信息傳輸?shù)教炀€范圍內(nèi)的其他節(jié)點(diǎn)上,,這樣使所有的節(jié)點(diǎn)都可以和接收節(jié)點(diǎn)鏈接起來(lái),。其系統(tǒng)框圖如圖1所示。
1.1 監(jiān)測(cè)節(jié)點(diǎn)電路設(shè)計(jì)
1.1.1 溫度采集模塊[2-3]
溫度采集的方法有多種,,但考慮簡(jiǎn)單實(shí)用,、易于實(shí)現(xiàn),、性能穩(wěn)定、功耗低,、可靠性高等因素,,該模塊采用DS18B20數(shù)字式溫度傳感器來(lái)實(shí)現(xiàn)環(huán)境溫度的檢測(cè)。DS18B20是美國(guó)Dallas半導(dǎo)體公司生產(chǎn)的單總線溫度傳感器,,其測(cè)溫范圍為-55 ℃~+125 ℃,,最高分辨率可達(dá)0.062 5℃。信息經(jīng)過(guò)單線接口送入DS18B20或從DS18B20送出,。讀,、寫和完成溫度變換所需的電源可以由數(shù)據(jù)線本身提供,而不需要外部電源,。DS18B20的外圍接線如圖2所示,。
1.1.2 無(wú)線收發(fā)模塊[4-5]
該模塊選用NORDIC公司推出的高速、低功耗,、低成本的2 Mb/s工業(yè)級(jí)嵌人式2.4 GHz無(wú)線收發(fā)芯片nRF24L01,它具有增強(qiáng)型的ShockBurst功能,,集成了雙向通信所需要的鏈路層,。同時(shí),內(nèi)置速率高達(dá)8 Mb/s的SPI接口能很好地解決nRF24L01與單片機(jī)數(shù)據(jù)傳輸率的問(wèn)題,。nRF24L01采用PCB天線,,為保證其頻率和阻抗與射頻芯片匹配,以獲取最大傳輸功率并抑制高頻噪聲,,在nRF24L01外圍電路接入了電感和電容,。nRF24L01的外圍部分接線如圖3所示。
1.2 接收節(jié)點(diǎn)電路設(shè)計(jì)
接收節(jié)點(diǎn)的能量由穩(wěn)定的電源供給,,無(wú)需考慮節(jié)能問(wèn)題,。但考慮到數(shù)據(jù)顯示控制等需要較多的管腳,故采用AT89C51作為控制芯片,。此外,,因?yàn)橛?jì)算路由的過(guò)程非常繁瑣,程序較長(zhǎng),,電路中用27C256芯片擴(kuò)展了一個(gè)32 KB的ROM來(lái)滿足要求,。另外,電路中的無(wú)線收發(fā)模塊仍采用nRF24L01無(wú)線收發(fā)芯片,。接收節(jié)點(diǎn)部分接線如圖5所示,。
2 無(wú)線測(cè)溫系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件采用了模塊化設(shè)計(jì),主要包括監(jiān)測(cè)節(jié)點(diǎn)的溫度采集,、接收節(jié)點(diǎn)的路徑計(jì)算和溫度顯示,、無(wú)線傳輸?shù)?。下面主要給出了主程序、溫度采集程序,、無(wú)線傳輸程序的設(shè)計(jì)思想,。
2.1 主程序設(shè)計(jì)
系統(tǒng)的主程序設(shè)計(jì)主要完成系統(tǒng)初始化、中斷優(yōu)先級(jí)設(shè)定以及判斷調(diào)用各模塊程序,,即主要實(shí)現(xiàn)各模塊的連接,,然后再確定各個(gè)監(jiān)測(cè)節(jié)點(diǎn)所在位置對(duì)于接收節(jié)點(diǎn)的相對(duì)坐標(biāo)。
2.1.1 接收節(jié)點(diǎn)主程序
系統(tǒng)上電以后,,接收節(jié)點(diǎn)先進(jìn)行初始化設(shè)置,。初始化的內(nèi)容包括給相應(yīng)的字符名稱賦值,打開(kāi)中斷,,等待中斷響應(yīng),。當(dāng)中斷響應(yīng)后,單片機(jī)進(jìn)入相應(yīng)的中斷服務(wù)程序,,接收來(lái)自所有監(jiān)測(cè)節(jié)點(diǎn)的序列號(hào)信息,,計(jì)算出每個(gè)節(jié)點(diǎn)的位置并存儲(chǔ),再計(jì)算出到達(dá)每個(gè)監(jiān)測(cè)節(jié)點(diǎn)的路徑,,向監(jiān)測(cè)節(jié)點(diǎn)發(fā)送溫度測(cè)試指令,,等監(jiān)測(cè)節(jié)點(diǎn)接收到完整數(shù)據(jù)后,將接收節(jié)點(diǎn)置接收方式,,準(zhǔn)備接收測(cè)得的數(shù)據(jù),。在接收節(jié)點(diǎn)接收完監(jiān)測(cè)節(jié)點(diǎn)上傳的數(shù)據(jù)后,根據(jù)中斷指令進(jìn)行顯示,,保持一段時(shí)間以后,,向第二個(gè)監(jiān)測(cè)節(jié)點(diǎn)發(fā)送溫度測(cè)試指令。按此順序循環(huán),,直到所有監(jiān)測(cè)節(jié)點(diǎn)的溫度被顯示,。其流程圖如圖6所示。
2.1.2 監(jiān)測(cè)節(jié)點(diǎn)主程序
監(jiān)測(cè)節(jié)點(diǎn)主程序開(kāi)始后首先進(jìn)行初始化設(shè)置,。初始化的內(nèi)容包括給相應(yīng)的字符名稱賦值,,設(shè)置串口通信參數(shù)。然后開(kāi)始發(fā)送自己的序列號(hào),,接收其他節(jié)點(diǎn)的序列號(hào)組,,如果其中不包含自己的序列號(hào),則轉(zhuǎn)發(fā),;若包含,,則不發(fā)。進(jìn)入睡眠模式,,直到收到接收節(jié)點(diǎn)的溫度測(cè)試指令,,開(kāi)始向DS18B20發(fā)初始化脈沖,,然后發(fā)送skipROM命令,執(zhí)行溫度的檢測(cè),;然后將測(cè)得的數(shù)據(jù)發(fā)送給接收節(jié)點(diǎn),,復(fù)位中斷返回,準(zhǔn)備進(jìn)行新的測(cè)試,。其流程圖如圖7所示,。
2.3 無(wú)線傳輸程序設(shè)計(jì)
無(wú)線傳輸通過(guò)nRF24L01無(wú)線收發(fā)芯片實(shí)現(xiàn)。為使系統(tǒng)程序編制更加簡(jiǎn)單且穩(wěn)定性高,,在設(shè)計(jì)中使nRF24L01工作于Enhanced ShockBurstTM 收發(fā)模式下,。ShockBurstTM的配置字使nRF24L01能夠處理射頻協(xié)議,在配置完成后,,在nRF24L01工作的過(guò)程中,,只需改變其最低一個(gè)字節(jié)中的內(nèi)容,就可以實(shí)現(xiàn)接收模式和發(fā)送模式之間切換,,流程圖如圖9,、圖10所示。
本系統(tǒng)經(jīng)實(shí)驗(yàn)室測(cè)試,,取得了很好的效果且具有一定的實(shí)用性,。傳感器節(jié)點(diǎn)間無(wú)障礙傳輸距離基本可達(dá)到50 m左右,當(dāng)距離小于10 m時(shí)有很強(qiáng)的抗干擾能力,,且溫度數(shù)據(jù)可完成多跳傳輸,準(zhǔn)確無(wú)誤地到達(dá)接收節(jié)點(diǎn),。
參考文獻(xiàn)
[1] 王雪.無(wú)線傳感網(wǎng)絡(luò)測(cè)量系統(tǒng)[M].北京:機(jī)械工業(yè)出版社,,2007:1-13.
[2] 求是科技.單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航[M].北京:人民郵電出版社,2004:166-171.
[3] 湯競(jìng)南,,沈國(guó)琴.51單片機(jī)C語(yǔ)言開(kāi)發(fā)與實(shí)例[M].北京:人民郵電出版社,,2008:138-143.
[4] 曾勇,楊濤,,馮月暉.基于nRF24L01的超低功耗無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,,2008,34(7):45-48.
[5] 求是科技.單片機(jī)通信技術(shù)與工程實(shí)踐[M].北京:人民郵電出版社,,2005:317-328.