找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 23014|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

基于nRF2401模塊的無線溫度監(jiān)測系統(tǒng)設(shè)計(jì)文檔下載

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主

基于nRF24L01模塊的無線通信系統(tǒng)設(shè)計(jì)

摘要

溫度是一個(gè)非常重要的參數(shù)。在工業(yè)、醫(yī)療、軍事和生活等許多地方,都需要用到測溫裝置來檢測溫度。傳統(tǒng)直接布線測量不滿足要求,特別是在某些環(huán)境惡劣的工業(yè)環(huán)境和戶外環(huán)境,通過直接布線測量不現(xiàn)實(shí)。因此采用無線傳輸溫度檢測尤為必要。
目前有些設(shè)計(jì)能夠?qū)崿F(xiàn)無線溫度采集,但價(jià)格過高是其最大的缺點(diǎn)。在實(shí)際溫度控制過程中既要求系統(tǒng)具有穩(wěn)定性、實(shí)時(shí)性又需要降低功耗。因此設(shè)計(jì)一種低功耗的無線溫度檢測系統(tǒng)很有意義。本文提出一種采用單片機(jī)AT89S52控制DS18B20實(shí)現(xiàn)的無線溫度測量系統(tǒng)。通過簡單的無線通信協(xié)議,實(shí)現(xiàn)可靠性與功耗平衡,該系統(tǒng)能實(shí)現(xiàn)對(duì)溫度的檢測,能夠同時(shí)進(jìn)行溫度檢測,是可以實(shí)現(xiàn)遠(yuǎn)程控制的無線溫度檢測系統(tǒng)。低功耗、實(shí)時(shí)性的無線溫度檢測是該設(shè)計(jì)的最大特點(diǎn)。無線傳輸采用nRF24L01模塊傳輸。
該系統(tǒng)結(jié)構(gòu)簡單,可靠,功耗較低,成本低,是一種無線傳感器的解決方案。


目錄

摘要
Abstract
目錄
前言
1 系統(tǒng)方案分析與選擇論證
1.1 系統(tǒng)方案設(shè)計(jì)
1.1.1 主控芯片方案
1.1.2 無線通信模塊方案
1.1.3 溫度傳感方案
1.1.4 顯示模塊方案
1.1.5 單片機(jī)與PC機(jī)通信模塊
1.2 系統(tǒng)最終方案
2 主要芯片介紹和系統(tǒng)模塊硬件設(shè)計(jì)
2.1 AT89S52
2.1.1 單片機(jī)控制模塊
2.2 單片2.4GHz nRF24L01無線模塊
2.2.1 nRF24L01芯片概述
2.2.2 引腳功能及描述
2.2.3 工作模式
2.2.4 工作原理
2.2.5 配置字
2.2.6 nRF24L01模塊原理圖
2.3 溫度傳感器 DS18B20
2.3.1 DS18B20管腳配置和內(nèi)部結(jié)構(gòu)
2.3.2 DS18B20的工作原理
2.3.3 DS18B20的硬件設(shè)計(jì)
2.4 顯示模塊
2.4.1 接收端顯示模塊
2.4.2 發(fā)送端顯示模塊
2.5 報(bào)警電路
2.6 接收端與PC機(jī)通信
2.7 電源電路設(shè)計(jì)
2.8 其他外圍電路
3 系統(tǒng)軟件設(shè)計(jì)
3.1 單片機(jī)軟件設(shè)計(jì)
3.1.1 發(fā)送端軟件設(shè)計(jì)
3.1.2 接收端軟件設(shè)計(jì)
4 系統(tǒng)仿真
4.1 電源電路的仿真
4.1.1 +5V電源電路仿真
4.2 發(fā)送端溫度采集與顯示仿真
4.3 接收端LCD1602顯示溫度仿真
5 硬件電路板設(shè)計(jì)
5.1 系統(tǒng)硬件原理圖
5.1.1 發(fā)送端原理圖
5.1.2 接收端原理圖
5.2 系統(tǒng)PCB圖
5.2.1 發(fā)送端PCB圖
5.2.2 接收端PCB圖
5.3 硬件制作
5.4 硬件調(diào)試
5.5 硬件調(diào)試結(jié)果
6 nRF24L01應(yīng)用于無線組網(wǎng)
6.1 無線組網(wǎng)的意義及研究價(jià)值
6.2 通信模型及協(xié)議設(shè)計(jì)
總結(jié)
致謝


前言
隨著社會(huì)的進(jìn)步和生產(chǎn)的需要,利用無線通信進(jìn)行溫度數(shù)據(jù)采集的方式應(yīng)用已經(jīng)滲透到生活各個(gè)方面。

圖1.1短距離無線通信的應(yīng)用
在工業(yè)現(xiàn)場,由于生產(chǎn)環(huán)境惡劣,工作人員不能長時(shí)間停留在現(xiàn)場觀察設(shè)備是否運(yùn)行正常,就需要采集數(shù)據(jù)并傳輸數(shù)據(jù)到一個(gè)環(huán)境相對(duì)好的操控室內(nèi),這樣就會(huì)產(chǎn)生數(shù)據(jù)傳輸問題。由于廠房大、需要傳輸數(shù)據(jù)多,使用傳統(tǒng)的有線數(shù)據(jù)傳輸方式就需要鋪設(shè)很多很長的通訊線,浪費(fèi)資源,占用空間,可操作性差,出現(xiàn)錯(cuò)誤換線困難。而且,當(dāng)數(shù)據(jù)采集點(diǎn)處于運(yùn)動(dòng)狀態(tài)、所處的環(huán)境不允許或無法鋪設(shè)電纜時(shí),數(shù)據(jù)甚至無法傳輸,此時(shí)便需要利用無線傳輸?shù)姆绞竭M(jìn)行數(shù)據(jù)采集。
在農(nóng)業(yè)生產(chǎn)上,不論是溫室大棚的溫度監(jiān)測,還是糧倉的管理,傳統(tǒng)上都是采取分區(qū)取樣的人工方法,工作量大,可靠性差。而且大棚和糧倉占地面積大,檢測目標(biāo)分散,測點(diǎn)較多,傳統(tǒng)的方法已經(jīng)不能滿足當(dāng)前農(nóng)業(yè)發(fā)展的需要。當(dāng)前的科技水平下,無線通信技術(shù)的發(fā)展使得溫度采集測量精確,簡便易行。
在日常生活中,隨著人們生活水平的提高,居住條件也逐漸變得智能化。如今很多家庭都會(huì)安裝室內(nèi)溫度采集控制系統(tǒng),其原理就是利用無線通信技術(shù)采集室內(nèi)溫度數(shù)據(jù),并根據(jù)室內(nèi)溫度情況進(jìn)行遙控通風(fēng)等操作,自動(dòng)調(diào)節(jié)室內(nèi)溫度濕度,可以更好地改善人們的居住環(huán)境。
以上只是簡單列舉幾個(gè)現(xiàn)實(shí)的例子,在現(xiàn)實(shí)生活中,這種無線溫度采集系統(tǒng)已經(jīng)被成功應(yīng)用于工農(nóng)業(yè)、環(huán)境監(jiān)測、軍事國防、機(jī)器人控制等許多重要領(lǐng)域,而且類似于這種溫度采集系統(tǒng)的無線通信網(wǎng)絡(luò)已經(jīng)被廣泛的應(yīng)用到民用和軍事領(lǐng)域。凡是布線繁雜或不允許布線的場合都希望能通過無線方案來解決。為此,需要設(shè)計(jì)相應(yīng)的接口系統(tǒng),控制這些射頻芯片工作,完成可靠穩(wěn)定的無線數(shù)據(jù)通信,這樣的研究也變得更加有意義了。
本系統(tǒng)的設(shè)計(jì)采用了Nordic公司新推出的工作于2.4GHz頻段NRF24L01射頻芯片,由AT89S52單片機(jī)控制實(shí)現(xiàn)短距離無線數(shù)據(jù)通信。該接口設(shè)計(jì)具有成本低、傳輸速率高、軟件設(shè)計(jì)簡單以及通信穩(wěn)定可靠等特點(diǎn)。整個(gè)系統(tǒng)有發(fā)送和接收二部分,通過NRF24L01無線數(shù)據(jù)通信收發(fā)模塊來實(shí)現(xiàn)無線數(shù)據(jù)傳輸。發(fā)送部分以單片機(jī)AT89S52為核心,使用溫度轉(zhuǎn)換芯片DS18B20實(shí)時(shí)采集溫度并通過nRF24l01將采集的溫度無線傳送給接收部分,然后在LCD1602上顯示,并通過串口發(fā)送到PC機(jī)上顯示,通過蜂鳴器實(shí)現(xiàn)對(duì)溫度過高或過低進(jìn)行報(bào)警。

1 系統(tǒng)方案分析與選擇論證

1.1 系統(tǒng)方案設(shè)計(jì)

1.1.1 主控芯片方案

方案一:采用傳統(tǒng)的AT89S52單片機(jī)作為主控芯片。此芯片價(jià)格便宜、操作簡便,低功耗,比較經(jīng)濟(jì)實(shí)惠。
方案二:采用TI公司生產(chǎn)的MSP430F149系列單片機(jī)作為主控芯片。此單片機(jī)是一款高性能的低功耗的16位單片機(jī),具有非常強(qiáng)大的功能,且內(nèi)置高速12位ADC。但其價(jià)格比較昂貴,而且是TPFQ貼片封裝,不利于焊接,需要PCB制板,大大增加了成本和開發(fā)周期。
方案三:采用宏晶科技有限公司的STC12C5A60S2增強(qiáng)型51單片機(jī)作為主控芯片。此芯片內(nèi)置ADC和SPI總線接口,且內(nèi)部時(shí)鐘不分頻,可達(dá)到1MPS。而且價(jià)格適中。
考慮到此系統(tǒng)需要不用到ADC,從性能和價(jià)格上綜合考慮我們選擇方案一,即用AT89S52作為本系統(tǒng)的主控芯片。

1.1.2 無線通信模塊方案

方案一:采用GSM模塊進(jìn)行通信,GSM模塊需要借助移動(dòng)衛(wèi)星或者手機(jī)卡,雖說能夠遠(yuǎn)距離傳輸,但是其成本較大、且需要內(nèi)置SIM卡,通信過程中需要收費(fèi),后期成本較高。
方案二:采用TI公司CC2430無線通信模塊,此模塊采用Zigbee總線模式,傳輸速率可達(dá)250kbps,且內(nèi)部集成高性能8051內(nèi)核。但是此模塊價(jià)格較貴,且Zigbee協(xié)議相對(duì)較為復(fù)雜。
方案二:采用NRF24L01無線射頻模塊進(jìn)行通信,NRF24L01是一款高速低功耗的無線通信模塊。他能傳輸上千米的距離(加PA),而且價(jià)格較便宜、,采用SPI總線通信模式電路簡單,操作方便。
考慮到系統(tǒng)的復(fù)雜性和程序的復(fù)雜度,我們采用方案三作為本系統(tǒng)的通信模塊。
1.1.3 溫度傳感方案
方案一:采用AD590是美國ANALO G DEV ICES 公司的單片集成兩端感溫電流源。AD590測量熱力學(xué)溫度、攝氏溫度、兩點(diǎn)溫度差、多點(diǎn)最低溫度、多點(diǎn)平均溫度的具體電路,廣泛應(yīng)用于不同的溫度控制場合由于AD590精度高、價(jià)格低、不需輔助電源、線性好,常用于測溫和熱電偶的冷端補(bǔ)償。但其需要用到差分放大器放大和A/D轉(zhuǎn)換,需要原件多。
方案二:采用美國DALLAS公司生產(chǎn)的 DS18B20可組網(wǎng)數(shù)字溫度傳感器芯片,具有耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域。經(jīng)濟(jì),方便。
使用DS18B20線路簡單,編程容易,但是比AD590精度低。AD590還需要其它輔助電路,線路復(fù)雜,編程難度大,但是溫度精確?紤]到電路的設(shè)計(jì),成本,還有多點(diǎn)通信,我們選擇方案二,即用DS18B20作為本系統(tǒng)的溫度傳感器。

1.1.4 顯示模塊方案

方案一:選擇主控為ST7920的帶字庫的LCD12864來顯示信息。12864是一款通用的液晶顯示屏,能夠顯示多數(shù)常用的漢字及ASCII碼,而且能夠繪制圖片,描點(diǎn)畫線,設(shè)計(jì)成比較理想的結(jié)果。
方案二:采用字符液晶LCD1602顯示信息,1602是一款比較通用的字符液晶模塊,能顯示字符和數(shù)字等信息,且價(jià)格便宜,容易控制。
方案三:采用LED7段數(shù)碼顯示管顯示,其成本低,容易顯示控制,但不能顯示字符。
綜合以上方案,我們選擇了經(jīng)濟(jì)實(shí)惠的字符液晶LCD1602來作為接收端的顯示。發(fā)送端用7段數(shù)碼管顯示。

1.1.5 單片機(jī)與PC機(jī)通信模塊

采用RS-232串口與PC機(jī)通信。
1.2 系統(tǒng)最終方案

發(fā)送端:

發(fā)送端由溫度傳感器DS18B20,AT89S52單片機(jī),nRF24L01無線射頻模塊,數(shù)碼管顯示模塊和外設(shè)繼電器組成。

圖1.2發(fā)送端系統(tǒng)方框圖

接收端:

接收端由AT89S52單片機(jī),nRF24L01無線射頻模塊,LCD1602顯示模塊,報(bào)警電路和串口組成。

圖1.3 接收端系統(tǒng)方框圖

2 主要芯片介紹和系統(tǒng)模塊硬件設(shè)計(jì)

2.1 AT89S52
單片機(jī)是一種集成的電路芯塊采用了超大規(guī)模技術(shù)把具有運(yùn)算能力(如算術(shù)運(yùn)算、邏輯運(yùn)算、數(shù)據(jù)傳送、中斷處理)的微處理器(CPU),隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),只讀程序存儲(chǔ)器(ROM),輸入輸出電路(I/O口),可能還包括定時(shí)計(jì)數(shù)器,串行通信口(SCI),顯示驅(qū)動(dòng)電路(LCD或LED驅(qū)動(dòng)電路),脈寬調(diào)制電路(PWM),模擬多路轉(zhuǎn)換及A/D轉(zhuǎn)換器等電路集成到一塊單片機(jī)上,構(gòu)成一個(gè)最小然而很完善的計(jì)算機(jī)系統(tǒng)。這些電路能在軟件的控制下準(zhǔn)確快速的完成程序設(shè)計(jì)者事先規(guī)定的任務(wù)?偟亩詥纹瑱C(jī)的特點(diǎn)可以歸納為以下幾個(gè)方面:集成度高、存儲(chǔ)容量大、外部擴(kuò)展能力強(qiáng)、控制功能強(qiáng)、低電壓、低功耗、性能價(jià)格比高、可靠性高這幾個(gè)方面。
單片機(jī)有著微處理器所不具備的功能,它可以獨(dú)立地完成現(xiàn)代工業(yè)控制所要求的智能化控制功能這就是單片機(jī)的最大特點(diǎn)。然而單片機(jī)又不同于單板機(jī),芯片在沒有開發(fā)前,它只是具備功能極強(qiáng)的超大規(guī)模集成電路,如果賦予它特定的程序,它便是一個(gè)最小的、完整的微機(jī)控制系統(tǒng)。它與單板機(jī)或個(gè)人電腦有著本質(zhì)的區(qū)別,單片機(jī)屬于芯片級(jí)應(yīng)用,需要用戶了解單片機(jī)芯片的結(jié)構(gòu)和指令系統(tǒng)以及其它集成電路應(yīng)用技術(shù)和系統(tǒng)設(shè)計(jì)所需要的理論和技術(shù),用這樣特定的芯片設(shè)計(jì)應(yīng)用程序,從而使芯片具備特定的智能
AT89S52是一種低功耗、高性能CMOS 8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用Atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52在眾多嵌入式控制應(yīng)用系統(tǒng)中得到廣泛應(yīng)用。
AT89S51具有如下特點(diǎn):40個(gè)引腳,8k Bytes Flash片內(nèi)程序存儲(chǔ)器,256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè) 全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。引腳圖如圖2.1
此外,AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式?臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷 系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三 種封裝形式,以適應(yīng)不同產(chǎn)品的需求。

圖2.1 單片機(jī)管腳圖
(1)主要功能特性:
· 兼容MCS-51指令系統(tǒng)      
· 8k可反復(fù)擦寫(>1000次)ISP Flash ROM
· 32個(gè)雙向I/O口      
· 4.5-5.5V工作電壓
· 2個(gè)16位可編程定時(shí)/計(jì)數(shù)器     
· 時(shí)鐘頻率0-33MHz
· 全雙工UART串行中斷口線      
· 256x8bit內(nèi)部RAM
· 2個(gè)外部中斷源      
· 低功耗空閑和省電模式
· 中斷喚醒省電模式     
· 3級(jí)加密位
· 看門狗(WDT)電路     
· 軟件設(shè)置空閑和省電功能
· 靈活的ISP字節(jié)和分頁編程   
· 雙數(shù)據(jù)寄存器指針
(2)AT89S52單片機(jī)引腳介紹:
引腳如圖2.1所示,以下是各引腳的說明。
VCC:AT89S52 電源正端輸入,接+5V。
VSS:電源地端。
XTAL1:單芯片系統(tǒng)時(shí)鐘的反向放大器輸入端。
XTAL2:系統(tǒng)時(shí)鐘的反向放大器輸出端,一般在設(shè)計(jì)上只要在XTAL1和XTAL2上接上一只石英振蕩晶體系統(tǒng)皆可以工作了,此外可以在兩個(gè)引腳與地之間加入一20PF的小電容,可以使系統(tǒng)更穩(wěn)定,避免噪聲干擾而死機(jī)。
RESET:AT89S52的重置引腳,高電平工作,當(dāng)要對(duì)晶片重置時(shí),只要對(duì)此引腳點(diǎn)評(píng)提升至高電平并保持兩個(gè)機(jī)器周期以上的時(shí)間,AT89S51便能完成系統(tǒng)重置的各項(xiàng)動(dòng)作,使得內(nèi)部特殊功能寄存器內(nèi)容均被設(shè)成已知狀態(tài),并且至地址0000H處開始讀入程序代碼而執(zhí)行程序。
EA/Vpp:“EA”為英文“External Access”的縮寫,表示存取外部程序代碼之意,低電平動(dòng)作,也就是說當(dāng)引腳為低電平后,系統(tǒng)會(huì)調(diào)用外部的程序代碼(存于外部EPROM中)來執(zhí)行程序。因此在8031及8032中,EA引腳必須接低電平,因?yàn)槠鋬?nèi)部無程序存儲(chǔ)器空間。如果使用8751內(nèi)部程序空間時(shí),引腳要接成高電平。此外,在將程序代碼燒錄至8751內(nèi)部EPROM時(shí),可以利用此引腳來輸入21              V的燒錄高壓(Vpp)。
PORT0(P0.0―P0.7):端口0是一個(gè)8位寬的開路電極(Open Drain)雙向輸出入端口,共有8個(gè)位,P0.0表示位0,P0.1表示位1,依此類推。其他三個(gè)I/O端口(P1、P2、P3)則不具有此電路組態(tài),而是內(nèi)部有一提升電路,P0在當(dāng)做I/O用時(shí)可以推動(dòng)8個(gè)LS的TTL負(fù)載。如果當(dāng)EA引腳為低電平時(shí)(即取用外部程序代碼或數(shù)據(jù)存儲(chǔ)器),P0就以多工方式提供地址總線(A0―A7)及數(shù)據(jù)總線(D0―D7)。設(shè)計(jì)者必須外加一個(gè)鎖存器將端口0送出的地址鎖住成為A0―A7,再配合端口2所送出的A8―A15合成一個(gè)完整的16位地址總線,而定位地址到64K的外部存儲(chǔ)器空間。
PORT1(P1.0―P1.7):端口1也是具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動(dòng)4個(gè)LS TTL負(fù)載,若將端口1的輸出設(shè)為高電平,使是由此端口來輸入數(shù)據(jù)。如果是使用8052或是8032的話,P1.0又當(dāng)作定時(shí)器2的外部緩沖輸入腳,而P。1可以有T2EX功能,可以做外部中斷輸入的觸發(fā)引腳。
PORT2(P2.0―P2.7):端口2是具有內(nèi)部提升電路的雙向I/O端口,每一個(gè)引腳可以推動(dòng)4個(gè)LS的TTL負(fù)載,同樣地,若將端口2的輸出設(shè)為高電平時(shí),此端口便能當(dāng)成輸入端口來使用。P2除了當(dāng)做一般I/O端口使用外,若是在AT89S51擴(kuò)充外接程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),也提供地址總線的高字節(jié)A8―A15,這個(gè)時(shí)候P2便不能當(dāng)做I/O來使用了。
PORT3(P3.0―P3.7):端口3也具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動(dòng)4個(gè)TTL負(fù)載,同時(shí)還多工具有其他的額外特殊功能,包括串行通信、外部中斷控制、計(jì)時(shí)計(jì)數(shù)控制及外部數(shù)據(jù)存儲(chǔ)器內(nèi)容的讀取或?qū)懭肟刂频裙δ堋?/div>
其引腳分配如下:
P3.0:RXD,串行通信輸入。
P3.1:TXD,串行通信輸出。
P3.2:INT0,外部中斷0輸入。
P3.3:INT1,外部中斷1輸入。
P3.4:T0,計(jì)時(shí)計(jì)數(shù)器0輸入。
P3.5:T1,計(jì)時(shí)計(jì)數(shù)器1輸入。
P3.6:WR,外部數(shù)據(jù)存儲(chǔ)器的寫入信號(hào)。
P3.7:RD,外部數(shù)據(jù)存儲(chǔ)器的讀取信號(hào)。

2.1.1 單片機(jī)控制模塊

單片機(jī)控制模塊由AT89S52最小系統(tǒng)組成,其中包括單片機(jī),晶振電路和復(fù)位電路。
(1)、晶振電路
晶振電路由兩個(gè)30pF電容和一個(gè)12MHz晶體振蕩器構(gòu)成,接入單片機(jī)的X1、X2引腳。
(2)、復(fù)位電路
單片復(fù)位端低電平有效。
單片機(jī)最小系統(tǒng)如圖2.2:

圖2.2 單片機(jī)最小系統(tǒng)

2.2 單片2.4GHz nRF24L01無線模塊
2.2.1 nRF24L01芯片概述
nRF24L01是一款新型單片射頻收發(fā)器件,工作于2.4 GHz~2.5 GHz ISM頻段。內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊,并融合了增強(qiáng)型ShockBurst技術(shù),其中輸出功率和通信頻道可通過程序進(jìn)行配置。nRF24L01功耗低,在以-6 dBm的功率發(fā)射時(shí),工作電流也只有9 mA;接收時(shí),工作電流只有12.3 mA,多種低功率工作模式(掉電模式和空閑模式)使節(jié)能設(shè)計(jì)更方便。
nRF24L01主要特性如下:
GFSK調(diào)制;
硬件集成OSI鏈路層;
具有自動(dòng)應(yīng)答和自動(dòng)再發(fā)射功能;
片內(nèi)自動(dòng)生成報(bào)頭和CRC校驗(yàn)碼;
數(shù)據(jù)傳輸率為l Mb/s或2Mb/s;
SPI速率為0 Mb/s~10 Mb/s;
125個(gè)頻道;
與其他nRF24系列射頻器件相兼容;
QFN20引腳4 mm×4 mm封裝;
供電電壓為1.9 V~3.6 V。
2.2.2 引腳功能及描述
nRF24L01的封裝及引腳排列如圖所示。各引腳功能如下:
圖2.3 nRF24L01封裝圖
CE:使能發(fā)射或接收;
CSN,SCK,MOSI,MISO:SPI引腳端,微處理器可通過此引腳配置nRF24L01:
IRQ:中斷標(biāo)志位;
VDD:電源輸入端;
VSS:電源地;
XC2,XC1:晶體振蕩器引腳;
VDD_PA:為功率放大器供電,輸出為1.8 V;
ANT1,ANT2:天線接口;
IREF:參考電流輸入。
2.2.3 工作模式
通過配置寄存器可將nRF241L01配置為發(fā)射、接收、空閑及掉電四種工作模式,如表所示。
待機(jī)模式1主要用于降低電流損耗,在該模式下晶體振蕩器仍然是工作的;
待機(jī)模式2則是在當(dāng)FIFO寄存器為空且CE=1時(shí)進(jìn)入此模式;
待機(jī)模式下,所有配置字仍然保留。
在掉電模式下電流損耗最小,同時(shí)nRF24L01也不工作,但其所有配置寄存器的值仍然保留。
表1:nRF24L01四種工作模式
模式
PWR_UP
PRIM_RX
CE
FIFO寄存器狀態(tài)
接收模式
1
1
1
-
發(fā)射模式
1
0
1
數(shù)據(jù)在TX FIFO 寄存器中
發(fā)射模式
1
0
1→0
停留在發(fā)送模式,直至數(shù)據(jù)發(fā)送完
待機(jī)模式2
1
0
1
TX FIFO 為空
待機(jī)模式1
1
-
0
無數(shù)據(jù)傳輸
掉電
0
-
-
-

2.2.4 工作原理
發(fā)射數(shù)據(jù)時(shí),首先將nRF24L01配置為發(fā)射模式:接著把接收節(jié)點(diǎn)地址TX_ADDR和有效數(shù)據(jù)TX_PLD按照時(shí)序由SPI口寫入nRF24L01緩存區(qū),TX_PLD必須在CSN為低時(shí)連續(xù)寫入,而TX_ADDR在發(fā)射時(shí)寫入一次即可,然后CE置為高電平并保持至少10μs,延遲130μs后發(fā)射數(shù)據(jù);若自動(dòng)應(yīng)答開啟,那么nRF24L01在發(fā)射數(shù)據(jù)后立即進(jìn)入接收模式,接收應(yīng)答信號(hào)(自動(dòng)應(yīng)答接收地址應(yīng)該與接收節(jié)點(diǎn)地址TX_ADDR一致)。如果收到應(yīng)答,則認(rèn)為此次通信成功,TX_DS置高,同時(shí)TX_PLD從TX FIFO中清除;若未收到應(yīng)答,則自動(dòng)重新發(fā)射該數(shù)據(jù)(自動(dòng)重發(fā)已開啟),若重發(fā)次數(shù)(ARC)達(dá)到上限,MAX_RT置高,TX FIFO中數(shù)據(jù)保留以便在次重發(fā);MAX_RT或TX_DS置高時(shí),使IRQ變低,產(chǎn)生中斷,通知MCU。最后發(fā)射成功時(shí),若CE為低則nRF24L01進(jìn)入空閑模式1;若發(fā)送堆棧中有數(shù)據(jù)且CE為高,則進(jìn)入下一次發(fā)射;若發(fā)送堆棧中無數(shù)據(jù)且CE為高,則進(jìn)入空閑模式2。
接收數(shù)據(jù)時(shí),首先將nRF24L01配置為接收模式,接著延遲130μs進(jìn)入接收狀態(tài)等待數(shù)據(jù)的到來。當(dāng)接收方檢測到有效的地址和CRC時(shí),就將數(shù)據(jù)包存儲(chǔ)在RX FIFO中,同時(shí)中斷標(biāo)志位RX_DR置高,IRQ變低,產(chǎn)生中斷,通知MCU去取數(shù)據(jù)。若此時(shí)自動(dòng)應(yīng)答開啟,接收方則同時(shí)進(jìn)入發(fā)射狀態(tài)回傳應(yīng)答信號(hào)。最后接收成功時(shí),若CE變低,則nRF24L01進(jìn)入空閑模式1。
在寫寄存器之前一定要進(jìn)入待機(jī)模式或掉電模式。如下圖,給出SPI操作及時(shí)序圖:
圖2.4 SPI讀操作
圖2.5 SPI 寫操作
2.2.5 配置字
SPI口為同步串行通信接口,最大傳輸速率為10 Mb/s,傳輸時(shí)先傳送低位字節(jié),再傳送高位字節(jié)。但針對(duì)單個(gè)字節(jié)而言,要先送高位再送低位。與SPI相關(guān)的指令共有8個(gè),使用時(shí)這些控制指令由nRF24L01的MOSI輸入。相應(yīng)的狀態(tài)和數(shù)據(jù)信息是從MISO輸出給MCU。
nRF24L0l所有的配置字都由配置寄存器定義,這些配置寄存器可通過SPI口訪問。nRF24L01 的配置寄存器共有25個(gè),常用的配置寄存器如表2所示。

表2:常用配置寄存器
地址(H)
寄存器名稱
功能
00
CONFIG
設(shè)置24L01工作模式
01
EN_AA
設(shè)置接收通道及自動(dòng)應(yīng)答
02
EN_RXADDR
使能接收通道地址
03
SETUP_AW
設(shè)置地址寬度
04
SETUP_RETR
設(shè)置自動(dòng)重發(fā)數(shù)據(jù)時(shí)間和次數(shù)
07
STATUS
狀態(tài)寄存器,用來判定工作狀態(tài)
0A~0F
RX_ADDR_P0~P5
設(shè)置接收通道地址
10
TX_ADDR
設(shè)置接收接點(diǎn)地址
11~16
RX_PW_P0~P5
設(shè)置接收通道的有效數(shù)據(jù)寬度
2.2.6 nRF24L01模塊原理圖

nRF24L01單端匹配網(wǎng)絡(luò):晶振,偏置電阻,去耦電容。

圖2.6 nRF24L01單端50Ω射頻輸出電路原理圖

2.3 溫度傳感器 DS18B20
DALLAS最新單線數(shù)字溫度傳感器DS18B20簡介新的"一線器件"體積更小、適用電壓更寬、更經(jīng)濟(jì) Dallas 半導(dǎo)體公司的數(shù)字化溫度傳感器DS1820是世界上第一片支持 "一線總線"接口的溫度傳感器。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測量系統(tǒng)的構(gòu)建引入全新概念。DS18B20、 DS1822 "一線總線"數(shù)字化溫度傳感器 同DS1820一樣,DS18B20也 支持"一線總線"接口,測量溫度范圍為-55°C~+125°C,在-10~+85°C范圍內(nèi),精度為±0.5°C。DS1822的精度較差為± 2°C ,F(xiàn)場溫度直接以"一線總線"的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。
2.3.1 DS18B20管腳配置和內(nèi)部結(jié)構(gòu)
DS18B20的管腳和封裝如下圖2.7:
圖2.7 DS18B20引腳及封裝
引腳定義:
(1)DQ為單數(shù)據(jù)總線,是數(shù)字信號(hào)輸入/輸出端;
(2)GND為電源地;
(3)VDD為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)。
內(nèi)部結(jié)構(gòu):
圖2.8 DS18B20內(nèi)部結(jié)構(gòu)圖
(1)光刻ROM中的64位序列號(hào)是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產(chǎn)品類型標(biāo)號(hào),接著的48位是該DS18B20自身的序列號(hào),最后8位是前面56位的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。
(2) DS18B20中的溫度傳感器可完成對(duì)溫度的測量,以12位轉(zhuǎn)化為例:用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625℃/LSB形式表達(dá),其中S為符號(hào)位。

bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
LS Byte
23
22
21
20
2-1
2-2
2-3
2-4

bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
MS Byte
S
S
S
S
S
26
25
24

圖2.9 DS18B20溫度值格式表
這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在18B20的兩個(gè)8比特的RAM中,二進(jìn)制中的前面5位是符號(hào)位,如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際溫度。
例如+125℃的數(shù)字輸出為07D0H,+25.0625℃的數(shù)字輸出為0191H,-25.0625℃的數(shù)字輸出為FF6FH,-55℃的數(shù)字輸出為FC90H。
2.3.2 DS18B20的工作原理
DS18B20的溫度檢測與數(shù)字?jǐn)?shù)據(jù)輸出全集成于一個(gè)芯片之上,從而抗干擾力更強(qiáng)。其一個(gè)工作周期可分為兩個(gè)部分,即溫度檢測和數(shù)據(jù)處理。在講解其工作流程之前我們有必要了解18B20的內(nèi)部存儲(chǔ)器資源。18B20共有三種形態(tài)的存儲(chǔ)器資源,它們分別是:
  •      ROM 只讀存儲(chǔ)器,用于存放DS18B20ID編碼,其前8位是單線系列編碼(DS18B20的編碼是19H),后面48位是芯片唯一的序列號(hào),最后8位是以上56的位的CRC碼(冗余校驗(yàn))。數(shù)據(jù)在出產(chǎn)時(shí)設(shè)置不由用戶更改。DS18B2064ROM。
  •      RAM 數(shù)據(jù)暫存器,用于內(nèi)部計(jì)算和數(shù)據(jù)存取,數(shù)據(jù)在掉電后丟失,DS18B209個(gè)字節(jié)RAM,每個(gè)字節(jié)為8位。第1、2個(gè)字節(jié)是溫度轉(zhuǎn)換后的數(shù)據(jù)值信息,第3、4個(gè)字節(jié)是用戶EEPROM(常用于溫度報(bào)警值儲(chǔ)存)的鏡像。在上電復(fù)位時(shí)其值將被刷新。第5個(gè)字節(jié)則是用戶第3個(gè)EEPROM的鏡像。第6、7、8個(gè)字節(jié)為計(jì)數(shù)寄存器,是為了讓用戶得到更高的溫度分辨率而設(shè)計(jì)的,同樣也是內(nèi)部溫度轉(zhuǎn)換、計(jì)算的暫存單元。第9個(gè)字節(jié)為前8個(gè)字節(jié)的CRC碼。EEPROM 非易失性記憶體,用于存放長期需要保存的數(shù)據(jù),上下限溫度報(bào)警值和校驗(yàn)數(shù)據(jù),DS18B203EEPROM,并在RAM都存在鏡像,以方便用戶操作。

控制器對(duì)18B20操作流程:
  •      復(fù)位:首先我們必須對(duì)DS18B20芯片進(jìn)行復(fù)位,復(fù)位就是由控制器(單片機(jī))給DS18B20單總線至少480uS的低電平信號(hào)。當(dāng)18B20接到此復(fù)位信號(hào)后則會(huì)在15~60uS后回發(fā)一個(gè)芯片的存在脈沖。
  •      存在脈沖:在復(fù)位電平結(jié)束之后,控制器應(yīng)該將數(shù)據(jù)單總線拉高,以便于在15~60uS后接收存在脈沖,存在脈沖為一個(gè)60~240uS的低電平信號(hào)。至此,通信雙方已經(jīng)達(dá)成了基本的協(xié)議,接下來將會(huì)是控制器與18B20間的數(shù)據(jù)通信。如果復(fù)位低電平的時(shí)間不足或是單總線的電路斷路都不會(huì)接到存在脈沖,在設(shè)計(jì)時(shí)要注意意外情況的處理。
  •      控制器發(fā)送ROM指令:雙方打完了招呼之后最要將進(jìn)行交流了,ROM指令共有5條,每一個(gè)工作周期只能發(fā)一條,ROM指令分別是讀ROM數(shù)據(jù)、指定匹配芯片、跳躍ROM、芯片搜索、報(bào)警芯片搜索。ROM指令為8位長度,功能是對(duì)片內(nèi)的64位光刻ROM進(jìn)行操作。其主要目的是為了分辨一條總線上掛接的多個(gè)器件并作處理。誠然,單總線上可以同時(shí)掛接多個(gè)器件,并通過每個(gè)器件上所獨(dú)有的ID號(hào)來區(qū)別,一般只掛接單個(gè)18B20芯片時(shí)可以跳過ROM指令(注意:此處指的跳過ROM指令并非不發(fā)送ROM指令,而是用特有的一條跳過指令)。
  •      控制器發(fā)送存儲(chǔ)器操作指令:在ROM指令發(fā)送給18B20之后,緊接著(不間斷)就是發(fā)送存儲(chǔ)器操作指令了。操作指令同樣為8位,共6條,存儲(chǔ)器操作指令分別是寫RAM數(shù)據(jù)、讀RAM數(shù)據(jù)、將RAM數(shù)據(jù)復(fù)制到EEPROM、溫度轉(zhuǎn)換、將EEPROM中的報(bào)警值復(fù)制到RAM、工作方式切換。存儲(chǔ)器操作指令的功能是命令18B20作什么樣的工作,是芯片控制的關(guān)鍵。
  •      執(zhí)行或數(shù)據(jù)讀寫:一個(gè)存儲(chǔ)器操作指令結(jié)束后則將進(jìn)行指令執(zhí)行或數(shù)據(jù)的讀寫,這個(gè)操作要視存儲(chǔ)器操作指令而定。如執(zhí)行溫度轉(zhuǎn)換指令則控制器(單片機(jī))必須等待18B20執(zhí)行其指令,一般轉(zhuǎn)換時(shí)間為500uS。如執(zhí)行數(shù)據(jù)讀寫指令則需要嚴(yán)格遵循18B20的讀寫時(shí)序來操作。數(shù)據(jù)的讀寫方法將有下文有詳細(xì)介紹。
當(dāng)主機(jī)收到DSl8B20的響應(yīng)信號(hào)后,便可以發(fā)出ROM操作命令之一,這些命令如下:
指令代碼                                                                         代碼
Skip ROM(跳躍ROM指令)[CCH]
這條指令使芯片不對(duì)ROM編碼做出反應(yīng),在單總線的情況之下,為了節(jié)省時(shí)間則可以選用此指令。如果在多芯片掛接時(shí)使用此指令將會(huì)出現(xiàn)數(shù)據(jù)沖突,導(dǎo)致錯(cuò)誤出現(xiàn)。
Read Scratchpad (從RAM中讀數(shù)據(jù))[BEH]
此指令將從RAM中讀數(shù)據(jù),讀地址從地址0開始,一直可以讀到地址9,完成整個(gè)RAM數(shù)據(jù)的讀出。芯片允許在讀過程中用復(fù)位信號(hào)中止讀取,即可以不讀后面不需要的字節(jié)以減少讀取時(shí)間。
Convert T(溫度轉(zhuǎn)換)[44H]
收到此指令后芯片將進(jìn)行一次溫度轉(zhuǎn)換,將轉(zhuǎn)換的溫度值放入RAM的第1、2地址。此后由于芯片忙于溫度轉(zhuǎn)換處理,當(dāng)控制器發(fā)一個(gè)讀時(shí)間隙時(shí),總線上輸出“0”,當(dāng)儲(chǔ)存工作完成時(shí),總線將輸出“1”。在寄生工作方式時(shí)必須在發(fā)出此指令后立刻超用強(qiáng)上拉并至少保持500MS,來維持芯片工作。
與DS18B20的所有通訊都是由一個(gè)單片機(jī)的復(fù)位脈沖和一個(gè)DS18B20的應(yīng)答脈沖開始的。單片機(jī)先發(fā)一個(gè)復(fù)位脈沖,保持低電平時(shí)間最少480μs,最多不能超過960μs。然后,單片機(jī)釋放總線,等待DS18B20的應(yīng)答脈沖。DS18B20在接受到復(fù)位脈沖后等待15~60μs才發(fā)出應(yīng)答脈沖。應(yīng)答脈沖能保持60~240μs。單片機(jī)從發(fā)送完復(fù)位脈沖到再次控制總線至少要等待480 μs。
讀時(shí)隙需15~60 μs,且在2次獨(dú)立的讀時(shí)隙之間至少需要1 μs的恢復(fù)時(shí)間。讀時(shí)隙起始于單片機(jī)拉低總線至少1 μs。DSl8820在讀時(shí)隙開始15μs后開始采樣總線電平。
寫時(shí)隙需要15~75 μs,且在2次獨(dú)立的寫時(shí)隙之間至少需要1μs的恢復(fù)時(shí)間。寫時(shí)隙起始于單片機(jī)拉低總線。
2.3.3 DS18B20的硬件設(shè)計(jì)

DS18B20在本系統(tǒng)中與發(fā)送端單片機(jī)的P3.3連接。如圖:

圖2.10的DS18B20硬件連接圖

2.4 顯示模塊
本系統(tǒng)顯示模塊分兩種:1、接收端顯示模塊用LCD1602液晶模塊。2、發(fā)送端使用數(shù)碼管顯示。
2.4.1 接收端顯示模塊
本設(shè)計(jì)在接收端部分采用LCD1602液晶顯示模塊來顯示溫度,,P0由上拉電阻提高驅(qū)動(dòng)能力,作為數(shù)據(jù)輸出并作為LCD的驅(qū)動(dòng),P2口的P2.7-P2.6分別作為液晶顯示模塊的使能信號(hào)E,數(shù)據(jù)/命令選擇RS,R/W端則配置成寫。具體電路如圖2.11所示。

圖2.11  LCD1602液晶顯示模塊電路圖

2.4.2 發(fā)送端顯示模塊
本設(shè)計(jì)在發(fā)送端部分采用數(shù)碼管顯示,P0由上拉電阻提高驅(qū)動(dòng)能力,作為數(shù)據(jù)輸出。P2.7-P2.4分別作為數(shù)碼管位顯示S1-S4。
如圖2.12所示:

圖2.12發(fā)送端數(shù)碼管顯示連接

2.5 報(bào)警電路
當(dāng)外界溫度超過預(yù)設(shè)溫度上下限時(shí),為更加有效的引起用戶的注意,及時(shí)關(guān)注溫度的變化,本系統(tǒng)設(shè)計(jì)了聲報(bào)警電路。該電路由蜂鳴器和NPN三極管組成,具體電路如圖2.13所示。

圖2.13 接收端報(bào)警電路

2.6 接收端與PC機(jī)通信
本系統(tǒng)采用MAX232來完成TTL- EIA(美國電子工業(yè)聯(lián)合會(huì))雙向電平轉(zhuǎn)換。MAX232內(nèi)部有電壓倍增電路和轉(zhuǎn)換電路,僅需+5 V電源便可工作,使用十分方便,其與AT89S52連接時(shí)可以采用最簡單的方式連接(見圖2.14),MAX232的T1 IN引腳與89S52的串行輸入口線P3.1TXD相連,R1 OUT引腳與89S52的串行輸入口線P3.0RXD相連,MAX232的T1 OUT、R1 IN分別于與RS232的2、3引腳相連。MAX232泵電源引腳必須接0.1μf 電容,如圖中的C7、C8、C9、C10。

圖2.14 單片機(jī)與PC機(jī)串口通信電路

2.7 電源電路設(shè)計(jì)
A、本系統(tǒng)單片機(jī)需要一組+5V電源,采用的電源電路如圖2.15所示。該電路是把市電220V交流電壓經(jīng)電壓器降壓至8V,輸入進(jìn)行全橋整流,成為脈動(dòng)直流,經(jīng)過,一級(jí)濾波后送至三端穩(wěn)壓集成電路lm7805穩(wěn)壓,再經(jīng)二級(jí)濾波后即為+5V輸出,圖2.15的四個(gè)二極管組成了全橋整流電路,C1,C3是一級(jí)濾波電容,U1是穩(wěn)壓管lm7805,C4是二級(jí)濾波電容。

圖2.15 +5V電源電路

B、本系統(tǒng)無線模塊需要一+3.3V電源,采用電源電路如圖2.16所示。該電路把先前轉(zhuǎn)換得到的+5V電源經(jīng)過低壓差電壓調(diào)節(jié)器lm1117轉(zhuǎn)換為+3.3V電源。

圖2.16 無線模塊+3.3V電源供電電路

2.8 其他外圍電路

本系統(tǒng)需要在溫度過高的情況下驅(qū)動(dòng)繼電器,打開通風(fēng)系統(tǒng)。
繼電器連接發(fā)送端單片機(jī)P3.7口。

3 系統(tǒng)軟件設(shè)計(jì)

3.1 單片機(jī)軟件設(shè)計(jì)
3.1.1 發(fā)送端軟件設(shè)計(jì)
本系統(tǒng)發(fā)送端采用DS18B20溫度傳感器采集溫度,經(jīng)AT89S52收集處理數(shù)據(jù),溫度數(shù)據(jù)數(shù)碼管顯示,如果溫度過高,則單片機(jī)控制繼電器工作,再由nRF24L01模塊發(fā)送到接收端。其中包括DS18B20和nRF24L01模塊的初始化配置。軟件流程圖如3.1。
圖3.1 發(fā)送端程序流程圖

3.1.2 接收端軟件設(shè)計(jì)
本系統(tǒng)接收端采用nRF24L01無線模塊接收發(fā)送端傳來的溫度數(shù)據(jù),經(jīng)單片機(jī)AT89S52在LCD1602液晶顯示器上顯示。溫度過高則報(bào)警電路工作。最后單片機(jī)把數(shù)據(jù)經(jīng)串口傳輸給PC機(jī)。其中包括nRF24L01模塊和LCD1602液晶顯示器的初始化。流程圖如3.2 。
圖3.2 接受端程序流程圖

4 系統(tǒng)仿真

4.1 電源電路的仿真
4.1.1 +5V電源電路仿真
使用multisim仿真,由家電220V經(jīng)過變壓器轉(zhuǎn)換成7.6V交流電壓,再經(jīng)過橋式整流,后經(jīng)7805穩(wěn)壓芯片得到直流5V電壓。如圖4.1
圖4.1 +5V電源設(shè)計(jì)仿真

4.2 發(fā)送端溫度采集與顯示仿真
發(fā)送端溫度采集與顯示電路由Protues仿真軟件進(jìn)行仿真。DS18B20接單片機(jī)P3.3口。P0口接4位數(shù)碼管段選端,P2.7-P2.4分別接數(shù)碼管位選段S4-S1。當(dāng)前DS18B20顯示18.0,LCD1602顯示18.0 。顯示仿真成功。
圖4.3 溫度采集及顯示仿真
4.3 接收端LCD1602顯示溫度仿真
接收端接收到溫度數(shù)據(jù)后由單片機(jī)處理數(shù)據(jù)。由LCD1602液晶顯示器顯示。1602的數(shù)據(jù)端接單片機(jī)的P0口,RS,RW和E端分別接P2.0-P2.2口。用Protue顯示仿真結(jié)果如圖4.4 。

圖4.4 接收端LCD1602液晶顯示仿真

5 硬件電路板設(shè)計(jì)

5.1 系統(tǒng)硬件原理圖

5.1.1 發(fā)送端原理圖

電源模塊:由VCC提供+5V高電平,Power接口接入,經(jīng)過LM1117降壓為+3.3V電平,為nRF24L01模塊提供高電平。
顯示模塊:P1口接無線模塊的控制端口。P0.0—P0.7接數(shù)碼管段選端D0-D7。
無線模塊控制模塊:無線模塊由P2口控制。
溫度采集模塊:溫度采集由DS18B20 I/O端接入單片機(jī)P3.3口。
單片機(jī)最小系統(tǒng):X1,X2接外部振蕩電路,RESET端接復(fù)位電路,EA端接高。


圖5.1 發(fā)送端原理圖

5.1.2 接收端原理圖

接收端由單片機(jī)主控電路、USB電源+5V接入、串口通信電路、無線模塊供電電路、LCD1602液晶顯示接口和報(bào)警電路組成。
單片機(jī)主控電路由AT89S52最小系統(tǒng)組成。
+5V電源由USB接口提供給單片機(jī)和其他模塊。接入后發(fā)光二極管點(diǎn)亮。
串口通信模塊由DB9和RS232的外圍電路組成。串口通信一邊接單片機(jī)的RXD和TXD,一邊連接PC機(jī)。
LCD1602顯示模塊數(shù)據(jù)端接單片機(jī)P0口,RS,RW,E分別接單片機(jī)的P2.0-P2.2 。
報(bào)警電路接單片機(jī)的P2.7腳。由一個(gè)三極管和喇叭組成。

圖5.2 接收端原理圖

5.2 系統(tǒng)PCB圖

5.2.1 發(fā)送端PCB圖

圖5.3 發(fā)送端PCB圖

5.2.2 接收端PCB圖

圖5.4 接收端PCB板圖

5.3 硬件制作

硬件的制作有印制電路板,打孔和焊接原件組成。
印制電路板用熱傳印紙打印電路圖,經(jīng)過熱傳印機(jī)把紙上的電路圖轉(zhuǎn)印到電路銅板上,之后進(jìn)行腐蝕銅板處理,把不需要的銅去掉,得到所要電路。經(jīng)過印制打孔后的電路板如下圖。








圖5.5 印制后的電路板

焊接原件后如下圖。
圖5.6 焊接原件后的電路板
5.4 硬件調(diào)試
在沒通電之前,先用萬用表檢查線路的正確性,并核對(duì)元器件的型號(hào)、規(guī)格是否符合要求。特別注意電源的正負(fù)極以及電源之間是否有短路,并重點(diǎn)檢查地址總線、數(shù)據(jù)總線、控制總線是否存在相互間的短路或其他信號(hào)線的短路。晶體振蕩器和電容應(yīng)盡可能靠近單片機(jī)芯片安裝,以減少寄生電容,更好是保證振蕩器穩(wěn)定和可靠地工作。在本系統(tǒng)中我們都進(jìn)行了仔細(xì)的檢杏,所以此步驟不會(huì)發(fā)生故障,這一步如果檢查不細(xì)通電后可能會(huì)造成不可想象的后果,所以這一步也至關(guān)重要。
通電后檢查各器件引腳的電位,仔細(xì)測量各點(diǎn)電位是否正常,尤其應(yīng)注意單片機(jī)的插座上的各點(diǎn)電位,若有高壓,將有可能損壞單片機(jī)仿真器。同樣,如果電壓過低就沒有能力驅(qū)動(dòng)其負(fù)載。
在斷電的情況下,除單片機(jī)以外,用仿真插頭將所連接電路與單片機(jī)仿真器的仿真接口相連,為軟件調(diào)試做好準(zhǔn)備。
其中遇到的問題很多,如印制電路線不合格,中間有些許斷路,造成調(diào)試的失敗。還有USB電源供電電壓不足的問題,電源電壓經(jīng)過供電給負(fù)載,電壓下降0.5V,致使單片機(jī)不工作的問題。
5.5 硬件調(diào)試結(jié)果
我們進(jìn)行的是單點(diǎn)通信,傳輸溫度數(shù)據(jù)。發(fā)送端采集溫度,在4位LED數(shù)碼顯示管上顯示,并發(fā)送到接收端。其結(jié)果如圖。

圖5.7 發(fā)送端采集到溫度顯示
接收端接收到溫度及顯示:

圖5.8 接收端接收到數(shù)據(jù)并顯示在LCD1602上

6 nRF24L01應(yīng)用于無線組網(wǎng)6.1 無線組網(wǎng)的意義及研究價(jià)值
隨著GSM、WCDMA及3G商用,近距無線通信并能上網(wǎng)成了一種迫切需求:實(shí)現(xiàn)低功耗、低價(jià)位、可替代電纜的無線數(shù)據(jù)鏈路。人們希望通過一個(gè)小型的 短距離的無線網(wǎng)絡(luò)為移動(dòng)和商業(yè)用戶提供各種服務(wù)。而目前幾乎所有的無線網(wǎng)絡(luò)都在某一點(diǎn)上連接到有線網(wǎng)絡(luò)中,以便訪問文件、數(shù)據(jù)庫和因特網(wǎng)。此時(shí),點(diǎn)對(duì)多點(diǎn)無線通信的設(shè)計(jì)便顯得尤為重要。
6.2 通信模型及協(xié)議設(shè)計(jì)
1、通信模型的建立
常見的點(diǎn)對(duì)多點(diǎn)通信系統(tǒng)多采用環(huán)型和星型兩種模式。

它們的系統(tǒng)示意圖分別如圖6.1和圖6.2所示。
圖6.1 環(huán)形系統(tǒng)示意圖





圖6.2所示為星形系統(tǒng)示意圖。

圖6.2 星形系統(tǒng)示意圖
其中,環(huán)型系統(tǒng)主要用于傳輸距離較遠(yuǎn)且實(shí)時(shí)性要求不高的場合;而星型系統(tǒng)則特別適用于近距離條件下,數(shù)據(jù)量較大且實(shí)時(shí)性要求較高的場合。


總結(jié)

數(shù)據(jù)采集與處理是51單片機(jī)的常用領(lǐng)域,除了電信號(hào)以外,單片機(jī)還可以利用傳感器實(shí)現(xiàn)對(duì)非電信號(hào)的采集。本設(shè)計(jì)介紹的數(shù)字溫度計(jì)就是一個(gè)典型事例。本設(shè)計(jì)采用一種直接數(shù)字輸入式的溫度傳感芯片DS18B20實(shí)現(xiàn)了單片機(jī)控制的數(shù)字溫度計(jì)系統(tǒng);贒S18B20數(shù)字溫度傳感器構(gòu)成的實(shí)時(shí)監(jiān)控系統(tǒng)確實(shí)具有精度高、抗干擾能力強(qiáng)、電路簡單等諸多優(yōu)點(diǎn),溫度傳感器得到電纜長度達(dá)到幾十米都可以正常讀取溫度數(shù)據(jù)。相比之下,傳統(tǒng)的溫度檢測系統(tǒng)采用熱敏電阻等溫度敏感元件,熱敏電阻成本低,但需要后續(xù)信號(hào)調(diào)理、AD轉(zhuǎn)換處理電路才能將溫度信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),不但電路復(fù)雜,而且熱敏電阻的可靠性相對(duì)較差,測量溫度的精度差,很難保證熱敏電阻的一致性和線性,在應(yīng)用中需要很好的解決引線誤差補(bǔ)償問題、共模干擾問題和放大電路零點(diǎn)漂移誤差等技術(shù)問題。
本設(shè)計(jì)內(nèi)容重點(diǎn):
NRF24L01無線傳輸模塊的操作。
DS18B20的各種操作命令。
單片機(jī)數(shù)碼管和LCD1602顯示。
單片機(jī)的串口通信。
研究展望:
進(jìn)入21世紀(jì)后,智能溫度控制器正朝著高精度、多功能、總線標(biāo)準(zhǔn)化、高可靠性及安全性、開發(fā)虛擬溫度控制器和網(wǎng)絡(luò)溫度控制器、研制單片測溫控溫系統(tǒng)等高科技的方向迅速發(fā)展。
1.提高溫度控制器測溫精度和分辨力
在20世紀(jì)90年代中期最早推出的智能溫度控制器,采用的是8位A/D轉(zhuǎn)換器,其測溫精度較低,分辨力只能達(dá)到2°C。目前,國外已相繼推出多種高精度、高分辨力的智能溫度傳感器,所用的是9~12位A/D轉(zhuǎn)換器,分辨力一般可達(dá)0.5~0.0625°C。為了提高多通道智能溫控器的轉(zhuǎn)換速率,也有的芯片采用高速逐次逼近式A/D轉(zhuǎn)換器。
2.增加溫度控制器測試功能
新型智能溫度控制器的測試功能也在不斷增強(qiáng)。例如,采用DS1629型單線智能溫度傳感器增加了實(shí)時(shí)日歷時(shí)鐘(RTC),使其功能更加完善。DS1624還增加了存儲(chǔ)功能,利用芯片內(nèi)部256字節(jié)的E2PROM存儲(chǔ)器,可存儲(chǔ)用戶的短信息。另外,智能溫度控制器正從單通道向多通道的方向發(fā)展,這就為研制和開發(fā)多路溫度測控系統(tǒng)創(chuàng)造了良好條件。
智能溫度控制器都具有多種工作模式可供選擇,主要包括單次轉(zhuǎn)換模式、連續(xù)轉(zhuǎn)換模式、待機(jī)模式,有的還增加了低溫極限擴(kuò)展模式,操作非常簡便。對(duì)某些智能溫度控制器而言,主機(jī)(外部微處理器或單片機(jī))還可通過相應(yīng)的寄存器來設(shè)定其A/D轉(zhuǎn)換速率,分辨力及最大轉(zhuǎn)換時(shí)間。


完整文檔下載(word格式 可編輯):
word文檔.doc (2.12 MB, 下載次數(shù): 49)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表