基于nRF24L01的無(wú)線溫濕度檢測(cè)系統(tǒng)設(shè)汁
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:提出了一種針對(duì)無(wú)線數(shù)據(jù)傳輸問(wèn)題的解決方案,該方案基于nRF24L01來(lái)設(shè)計(jì)無(wú)線溫度采集系統(tǒng)。該系統(tǒng)采用低功耗、高性能單片機(jī)STC12C5A08S2和溫濕度傳感器DHT11來(lái)構(gòu)成多點(diǎn)、實(shí)時(shí)溫濕度監(jiān)測(cè)系統(tǒng),最后在PC機(jī)上完成配置、顯示和報(bào)警等功能。該系統(tǒng)使用方便,擴(kuò)展十分容易,可廣泛應(yīng)用于各種工農(nóng)業(yè)生產(chǎn)和養(yǎng)殖等場(chǎng)合。
關(guān)鍵詞:無(wú)線傳輸;nRF24L01;溫濕度檢測(cè);DHT11
0 引言
在當(dāng)今的工農(nóng)業(yè)生產(chǎn)中,需要進(jìn)行溫濕度采集的場(chǎng)合越來(lái)越多,準(zhǔn)確方便地測(cè)量溫度變得至關(guān)重要。傳統(tǒng)的有線測(cè)溫方式存在著布線復(fù)雜,線路容易老化,線路故障難以排查,設(shè)備重新布局要重新布線等問(wèn)題。特別是在有線網(wǎng)絡(luò)不通暢或由于現(xiàn)場(chǎng)環(huán)境因素的限制而不便架設(shè)線路的情況下,給溫濕度的數(shù)據(jù)采集帶來(lái)了很大的麻煩。要想監(jiān)測(cè)到實(shí)時(shí)的溫濕度數(shù)據(jù),就必須采用無(wú)線傳輸?shù)姆绞綄?duì)數(shù)據(jù)進(jìn)行采集、發(fā)送、接收并對(duì)無(wú)線采集來(lái)的數(shù)據(jù)通過(guò)上位機(jī)進(jìn)行處理,以控制并監(jiān)測(cè)設(shè)備的運(yùn)行情況,減少不必要的線路設(shè)備開支。
1 系統(tǒng)組成框圖
本文設(shè)計(jì)的多路無(wú)線溫濕度檢測(cè)系統(tǒng)將單片機(jī)檢測(cè)控制系統(tǒng)和射頻通信系統(tǒng)相結(jié)合,系統(tǒng)由主機(jī)和從機(jī)兩部分構(gòu)成,從機(jī)負(fù)責(zé)檢測(cè)溫濕度,并將采集到的數(shù)據(jù)通過(guò)射頻系統(tǒng)發(fā)送給主機(jī),主機(jī)接收從機(jī)發(fā)送過(guò)來(lái)的信號(hào),并通過(guò)串口和PC機(jī)進(jìn)行通信,記錄數(shù)據(jù).同時(shí)可通過(guò)PC機(jī)設(shè)定報(bào)警數(shù)據(jù)上下限。其系統(tǒng)組成框圖如圖1所示。
2 系統(tǒng)硬件電路
系統(tǒng)的溫濕度數(shù)據(jù)采用數(shù)字式溫濕度傳感器DHT11進(jìn)行數(shù)據(jù)采集,以51系列增強(qiáng)型單片機(jī)STC12C5A08S2為核心和無(wú)線射頻nRF2401構(gòu)成收
發(fā)電路,從機(jī)使用液晶LCD1602顯示,主機(jī)顯示則使用LCD12864,整個(gè)顯示系統(tǒng)可與PC上位機(jī)相連接。
2.1 溫濕度采集電路設(shè)計(jì)
DHT11是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。該傳感器應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),具有極高的可靠性與卓越的長(zhǎng)期穩(wěn)定性。圖2所示為其溫度采集電路。DHT11傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測(cè)溫元件,可與高性能8位單片機(jī)相連接。校準(zhǔn)系數(shù)以程序的形式儲(chǔ)存在OTP內(nèi)存中,傳感器內(nèi)部在檢測(cè)信號(hào)的過(guò)程中可調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口可使系統(tǒng)集成變得簡(jiǎn)易而快捷,而且信號(hào)傳輸距離可達(dá)20m以上。當(dāng)連接線長(zhǎng)度短于20m時(shí),應(yīng)使用5kΩ上拉電阻,大于20m時(shí),應(yīng)根據(jù)情況使用合適的上拉電阻。
2.2 無(wú)線發(fā)射、接收電路設(shè)計(jì)
nRF24L01是NORDIC公司生產(chǎn)的一款無(wú)線通信芯片,采用FSK調(diào)制方式,內(nèi)部集成有NORDIC自己的Enhanced Short Burst協(xié)議??梢詫?shí)現(xiàn)點(diǎn)對(duì)點(diǎn)或是1對(duì)6的無(wú)線通信。無(wú)線通信速度可以達(dá)到2 Mb/s。NORDIC無(wú)線發(fā)射、接收芯片nRF24L01的電路原理圖如圖3所示。
nRF24L01是單片射頻收發(fā)芯片,工作于2.4~2.5 GHz的ISM頻段,芯片內(nèi)置頻率合成器、功率放大器、晶體振蕩器和調(diào)制器等功能模塊,輸出功率和通信頻道可通過(guò)程序進(jìn)行配置。nRF24L01芯片的能耗非常低,以-5 dBm的功率發(fā)射時(shí),工作電流只有10.5 mA,接收時(shí)的工作電流只有18 mA,它具有多種低功率工作模式,節(jié)能環(huán)保,設(shè)計(jì)方便。
nRF24L01無(wú)線收發(fā)模塊的各管腳功能如表1所列,圖4所示是nRF24L01與單片機(jī)連接時(shí)的電路圖。
本無(wú)線發(fā)射接收模塊需要的電源為1.9~3.6 V,本系統(tǒng)中采用3.3 V直流電源來(lái)直接對(duì)無(wú)線發(fā)射接收模塊供電,5 V電源經(jīng).ASM1117-3.3芯片轉(zhuǎn)換后可得到穩(wěn)定的直流電源,其電源轉(zhuǎn)換電路如圖5所示。
2.3 串行通信模塊
主機(jī)單片機(jī)接收到nRF24L01的數(shù)據(jù)后,經(jīng)MAX232電平轉(zhuǎn)換可實(shí)現(xiàn)單片機(jī)程序下載與升級(jí),同時(shí)可實(shí)現(xiàn)單片機(jī)與PC機(jī)(上位機(jī))的通信,以便將顯示數(shù)據(jù)信息通過(guò)此電路傳送到PC機(jī),并存PC機(jī)上顯示,其串行通信電路如圖6所示。
3 軟件設(shè)計(jì)
3.1 下位機(jī)軟件
本系統(tǒng)使用C語(yǔ)言編程,應(yīng)根據(jù)設(shè)計(jì)任務(wù)的要求確定系統(tǒng)程序的完整結(jié)構(gòu),盡可能采用模塊化程序設(shè)計(jì)方法,將任務(wù)劃分為相對(duì)獨(dú)立的功能模塊,明確各模塊的功能、時(shí)間順序和相互關(guān)系,系統(tǒng)的軟件設(shè)計(jì)可以分為幾個(gè)部分,首先是各個(gè)模塊的底層驅(qū)動(dòng)程序編寫,而后是系統(tǒng)聯(lián)機(jī)調(diào)試,最后再編寫上位機(jī)的系統(tǒng)程序。
主程序是控制和管理的核心,系統(tǒng)上電后,首先進(jìn)行初始化,系統(tǒng)開始正常運(yùn)轉(zhuǎn)后,再進(jìn)行溫、濕度的監(jiān)測(cè)與處理等操作。
3.2 上位機(jī)軟件設(shè)計(jì)
系統(tǒng)上位機(jī)能完成的功能有顯示串口號(hào),提示串口是否已被成功打開;同時(shí),上位機(jī)能夠與下位機(jī)同步顯示溫度,而且能夠?qū)崟r(shí)曲線顯示溫度;上位機(jī)能夠設(shè)置下限溫濕度和上限溫濕度,當(dāng)高于上限溫濕度或低于下限溫濕度時(shí),還能夠報(bào)警。將主機(jī)單片機(jī)的控制電路串行接口與電腦串口經(jīng)過(guò)電平轉(zhuǎn)換連接后,選擇正確的通信協(xié)議,設(shè)置好波特率,即可進(jìn)行通信。圖7所示是上位機(jī)操作界面圖。
上位機(jī)軟件可在PC機(jī)上通過(guò)VC6.0編寫,主要是對(duì)MSComm控件及CserialPort類進(jìn)行操作。
首先是串口設(shè)置。本系統(tǒng)利用的是CSERIALPORT類中的初始化函數(shù)InitPort (this,nport,nbtl,‘N’,8,1,m_dwCommEvents,512).其巾nport為串口號(hào),nbtl為波特率,可利用串口設(shè)置對(duì)話框中的串口號(hào)和波特率兩個(gè)組合框分別得到初始化函數(shù)中的nport和nbtl。
其次是對(duì)溫濕度上下限的設(shè)置??衫肅SERIALPORT類中的啟動(dòng)串口監(jiān)測(cè)進(jìn)程函數(shù)Start Monitoring、發(fā)送字符串函數(shù)WriteToPort以及關(guān)閉串口進(jìn)程StopMonitoring來(lái)進(jìn)行溫度上下限的設(shè)置,其信息通過(guò)這些函數(shù)發(fā)送到串口,單片機(jī)從RS232上收到數(shù)據(jù)后,與自身的溫度相比較,再進(jìn)行相應(yīng)的處理。
第三是曲線顯示。動(dòng)態(tài)曲線顯示可利用CHistogram類中的SetRange(200,400),SetPos(temp)函數(shù),SetRange設(shè)置上下極限值,SetPos是在圖上顯示相應(yīng)的數(shù)據(jù)點(diǎn),temp是從單片機(jī)傳來(lái)的溫濕度數(shù)據(jù)的處理結(jié)果,具體的移動(dòng)曲線可由CHistogram類中函數(shù)實(shí)現(xiàn)。
4 結(jié)論
經(jīng)測(cè)試,在發(fā)射接收模塊沒加天線的情況下,無(wú)線發(fā)射接收模塊在大多數(shù)情況下的數(shù)據(jù)傳輸距離在200 m左右,發(fā)射頭發(fā)射功率、接收頭接收靈敏度等因素可能會(huì)影響傳輸距離,若外加天線,則會(huì)大大增加傳輸距離。另外,在調(diào)試過(guò)程中,振蕩電阻必須匹配,否則接收距離會(huì)變短甚至無(wú)法接收。
本系統(tǒng)的數(shù)字信號(hào)由單片機(jī)采樣,基于DHT11的數(shù)字溫濕度傳感器構(gòu)成的實(shí)時(shí)監(jiān)控系統(tǒng)具有精度高、抗干擾能力強(qiáng)、電路簡(jiǎn)單等諸多優(yōu)點(diǎn)。然后利用單片機(jī)與PC機(jī)的通信可將數(shù)據(jù)送到PC機(jī)進(jìn)行數(shù)據(jù)的存儲(chǔ)、后期處理與顯示。本系統(tǒng)數(shù)據(jù)處理功能強(qiáng)大、顯示直觀、界面友好、性價(jià)比高,可廣泛應(yīng)用于工業(yè)控制、儀器、儀表、農(nóng)業(yè)養(yǎng)殖及智能家居等諸多領(lǐng)域。