孟亞男 黃迎旭 趙凱 王德平
摘 要:【目的】隨著社會經(jīng)濟發(fā)展,溫度檢測系統(tǒng)在日常生產(chǎn)和生活中變得越來越重要。為準確檢測溫度及實現(xiàn)快速報警功能,本研究設計一種基于nRF24L01無線傳輸模塊的溫度檢測報警系統(tǒng)?!痉椒ā肯到y(tǒng)通過無線傳輸方式來實現(xiàn)溫度檢測和報警功能,整個測溫報警系統(tǒng)由主機和從機兩部分組成。主機和從機均采用STC89C52RC單片機,從機將DS18B20溫度傳感器檢測到的溫度數(shù)據(jù)通過無線傳輸方式發(fā)送給主機。當檢測到的溫度超過設定值時,主機部分的單片機就會及時報警?!窘Y(jié)果】在單片機電路板上連接好各個模塊的接線,燒錄完程序后對系統(tǒng)進行測試。系統(tǒng)能快速準確地檢測溫度,當檢測到的溫度超過設定值時可迅速報警?!窘Y(jié)論】系統(tǒng)具有硬件結(jié)構(gòu)簡單、功耗較低、成本低廉等優(yōu)點,在家居、農(nóng)業(yè)、工業(yè)等領(lǐng)域有很好的應用價值。
關(guān)鍵詞:nRF24L01;單片機;DS18B20;報警
中圖分類號:TP273? ? 文獻標志碼:A? ? ? 文章編號:1003-5168(2023)09-0006-05
DOI:10.19968/j.cnki.hnkj.1003-5168.2023.09.001
Abstract: [Purposes] With the development of social economy, temperature detection system is becoming more and more important in daily production and life. In order to accurately detect the temperature and realize the rapid alarm function, this study designs a temperature detection and alarm system based on nRF24L01 wireless transmission module. [Methods] The system realizes the temperature detection and alarm function through wireless transmission. The whole temperature measurement alarm system consists of two parts : the host and the slave,which both adopt STC89 C52 RC single chip microcomputer. The slave sends the temperature data detected by DS18 B20 temperature sensor to the host through wireless transmission. When the detected temperature exceeds the set value, the microcontroller of the host part will alarm in time. [Findings] The wiring of each module was connected on the circuit board of the single-chip microcomputer. After downloading the program, the system will be tested and could detect the temperature quickly and accurately. When the detected temperature exceeded the set value, it could quickly alarm. [Conclusions] The system has the advantages of simple hardware structure, low power consumption and low cost, and has good application value in home, agriculture, industry and other fields.
Keywords: nRF24L01; microcontroller; DS18B20; alarm
0 引言
無論是在日常生活中還是在工業(yè)生產(chǎn)中,溫度都是一個重要的物理參數(shù),很多場景都要用到溫度檢測。例如,在溫室大棚、智能家居、鍋爐設備中,需要快速、精準地檢測溫度,并能及時調(diào)整控制,保證現(xiàn)場安全。在社會經(jīng)濟發(fā)展過程中,人們對溫度檢測的精準性及控制要求在不斷提高。在一些糧倉或農(nóng)業(yè)養(yǎng)殖場所,溫度的重要性不言而喻,有些場景要單點測溫,有些場景則要多點測溫,來保證農(nóng)業(yè)生產(chǎn)安全,避免因溫度異常而發(fā)生事故,造成不可估量的損失[1]。此前,無論是測量單點溫度還是多點溫度,大多采用直接布線的方式,使線路不僅結(jié)構(gòu)復雜且維護困難,線路一旦老化,不僅報警失靈,還會引發(fā)一系列安全事故。因此,需要一種體型小巧方便、布線簡單、性價比高、測量精度高、能及時發(fā)現(xiàn)溫度異常變化并發(fā)出警報的測溫儀器。針對現(xiàn)場環(huán)境需求,本研究設計出一種基于無線傳輸方式的溫度報警系統(tǒng),以STC89C52RC單片機為該系統(tǒng)的主控器件。nRF24L01無線通信模塊既可單點傳輸,也可多點傳輸,選擇DS18B20溫度傳感器來測量環(huán)境溫度。采用不同封裝結(jié)構(gòu),DS18B20可應用到不同場景中,能有效解決傳統(tǒng)有線通信布線復雜的問題。該測溫系統(tǒng)可應用到蔬菜大棚、糧倉儲存、火災報警、工業(yè)生產(chǎn)線等場景中。
1 系統(tǒng)總體設計方案
系統(tǒng)總體結(jié)構(gòu)如圖1所示,可分為主機和從機兩部分。主機和從機都是由單片機控制的,二者均采用nRF24L01無線通信方式。從機部分監(jiān)測點用DS18B20溫度傳感器來采集現(xiàn)場溫度數(shù)據(jù),將其傳輸至對應監(jiān)測點的STC89C52RC單片機中,通過nRF24L01無線通信模塊將采集到的溫度數(shù)據(jù)無線傳送至主機,主機將接收到的各個監(jiān)控點溫度顯示在LCD顯示屏上。當從機部分從某個監(jiān)控點采集到的溫度超過設定溫度值上限時,主機部分的STC89C52RC單片機在顯示出監(jiān)測點溫度的同時,能啟動報警模塊,發(fā)出報警信號[2]。
2 系統(tǒng)硬件設計
2.1 單片機模塊
單片機最小系統(tǒng)是單片機模塊的主要組成部分,一般由復位電路和晶振電路組成。本研究使用宏晶公司生產(chǎn)的STC89C52RC單片機芯片,其最大特點是接口設計靈活,與無線傳輸模塊電路、報警模塊電路等外接電路連接十分方便。STC89C52RC單片機的工作電源電壓為2.7~6.0 V,共有五個中斷源、兩個中斷優(yōu)先級,正常工作模式下的功耗為4~7 mA,一般的USB供電口就能滿足供電要求,也可通過變壓、整流等設計所需的電路接口或使用干電池來供電。因此,電源電路可根據(jù)現(xiàn)場需求進行靈活設計。STC89C52RC單片機的性能高、造價低廉、功耗低,共有40個引腳,各個端口的引腳接線連接十分便利。STC89C52RC的封裝方式有多種,本研究采用PDIP封裝方式。PDIP封裝方式下的單片機最小系統(tǒng)硬件連接電路如圖2所示。
2.2 溫度檢測模塊
溫度傳感器是一種重要傳感器,常用于糧倉儲存測溫、電信機房測溫、鍋爐測溫等領(lǐng)域,是一種非常重要的傳感器類型。以往大多數(shù)場合使用的是模擬溫度傳感器,常用的模擬溫度傳感器有熱敏電阻,工作時電阻值會隨周圍環(huán)境溫度的變化而變化。模擬溫度傳感器先采集電阻兩端電壓,再將其轉(zhuǎn)換為當前環(huán)境溫度。隨著科技發(fā)展,數(shù)字化溫度傳感器也投入使用,其外形小巧、接口簡單,可應用在實際生產(chǎn)的不同領(lǐng)域[3]。
本研究選用DS18B20傳感器來檢測溫度。DS18B20是一種使用單總線協(xié)議的數(shù)字化溫度傳感器,可將溫度數(shù)據(jù)以數(shù)字信號方式傳遞給單片機,不用設計模數(shù)轉(zhuǎn)換電路,使整體設計更為簡便。STC89C52RC單片機與外圍設備進行數(shù)據(jù)傳輸常用的串行總線有I2C、SPI和SCI。DS18B20溫度傳感器采用的單總線與上述三種總線不同,其單條信號線不僅能傳輸時鐘,也能雙向傳輸數(shù)據(jù),線路變得更簡單,方便線路的擴展和維護。該系統(tǒng)中的DS18B20溫度傳感器選擇三腳直插式的封裝方式,通過一個I/O引腳接口就能與單片機進行通信。此外,DS18B20測量精度很高,可有效測量的溫度范圍為-55~+128 ℃,內(nèi)部電路集成有A/D轉(zhuǎn)換器,使電路結(jié)構(gòu)設計更加簡單,還可減少溫度數(shù)值轉(zhuǎn)換造成的精度損失。由圖2可知,DS18B20外部引出的三根引腳分別是GND、DQ、VCC,為保證正常使用,電源引腳還要接一個上拉電阻。DS18B20不僅抗干擾能力強,且體積小巧、封裝形式多樣,通過DQ引腳就能與單片機進行通信,接線十分方便。如果現(xiàn)場需要測試多個采集點溫度,可將DS18B20所有的I/O接口連接在一起,使用多個從機和監(jiān)測點來完成多點溫度檢測。
2.3 通信模塊
nRF24L01是系統(tǒng)所使用的無線通信器件,也是本研究設計的創(chuàng)新點。隨著單片機開發(fā)及各種數(shù)據(jù)通信方式發(fā)展,傳統(tǒng)的有線測溫方式將逐漸退出市場,取而代之的是通過單片機對溫度數(shù)據(jù)進行無線傳輸,實現(xiàn)控制現(xiàn)場溫度。
目前,國內(nèi)單點測溫和多點測溫大多使用的是有線通信方式,有線通信不僅結(jié)構(gòu)復雜、費用高昂,應用場景有限。在一些特殊場合中,要用到無線方式傳輸溫度數(shù)據(jù)[4]。nRF24L01接口電路如圖3所示,nRF24L01的5個數(shù)據(jù)通信傳輸引腳均連接單片機的P1口;4號CE引腳為使能端口引腳,連接P13,通過引腳來選擇發(fā)送或接收狀態(tài);6號SCK引腳為時鐘信號引腳;8號MISO引腳為“主入從出”引腳,也就是控制端輸入、接收端輸出引腳;3號SCN引腳為接收端選擇引腳,Not為低電平有效;5號MOSI為“主出從入”引腳,即控制端輸出、接收端輸入引腳;7號IRQ引腳為中斷引腳,與單片機的P33相連,也是低電平有效。假設無線通信模塊接收到有效數(shù)據(jù)、到達最多重發(fā)次數(shù)或數(shù)據(jù)發(fā)送完成,會使中斷引腳變?yōu)榈碗娖?,單片機將進入中斷,根據(jù)此時寄存器狀態(tài)來進行處理。nRF24L01芯片工作頻段為2.4~2.5 GHz 的ISM頻段,采用全雙工通信方式,無論是發(fā)射數(shù)據(jù)模式還是接收數(shù)據(jù)模式,消耗的功率都比較低,符合節(jié)能要求。nRF24L01共有6個數(shù)據(jù)通道和126個通信通道,在Keil軟件中,通過C51語言來設置工作頻率、通信地址,能實現(xiàn)多點通信和調(diào)頻的功能要求。整個通信模塊分為兩個部分,從機為發(fā)送信號部分,主機為接收信號部分。在程序初始化后,從機讀取DS18B20溫度傳感器內(nèi)部含有溫度信息的數(shù)據(jù),通過無線方式發(fā)送給主機。主機接收到溫度數(shù)據(jù)后,在液晶屏上顯示的同時,判斷其是否超過設定值,若是超過設定值則報警,否則繼續(xù)接收讀取從機傳送來的溫度數(shù)據(jù)。
2.4 顯示模塊
LCD1602液晶顯示屏作為顯示模塊,能滿足基本的溫度顯示要求。LCD1602采用標準的16引腳接口,在STC89C52單片機控制板上部已標記好LCD1602的電路連接線位置,16位引腳口排列成一排,LCD1602液晶顯示屏與STC89C52單片機可使用杜邦線進行連接,十分方便[5]。LCD1602芯片引腳電路如圖4所示。顯示模塊可將測量到的溫度信息及時顯示出來。在軟件編譯中,需要提前定義好寄存器選擇(RS)、讀/寫信號線(RW)、使能端(E)端口參數(shù),DB0~DB7為8位雙向數(shù)據(jù)線。顯示模塊作為子程序,主程序在需要顯示時調(diào)用顯示子程序即可,保證即使顯示部分電路出現(xiàn)故障或顯示屏損壞,系統(tǒng)仍能正常實現(xiàn)報警功能,保障現(xiàn)場安全。
2.5 報警模塊
報警模塊是用來產(chǎn)生報警信號,預防危險事故的發(fā)生。蜂鳴器作為報警模塊,其工作原理比較簡單,兩塊金屬片通電后,其中一塊金屬片帶有正電荷,另外一塊金屬片帶有負電荷,二者因相互吸引而發(fā)生碰撞、震動,從而產(chǎn)生聲音[6]。若是將蜂鳴器直接連接單片機上,蜂鳴器產(chǎn)生的聲音較小。由圖2可知,可通過三極管來增大蜂鳴器的報警音量。當檢測到的溫度值超過設定值時,系統(tǒng)就會控制P2.3引腳產(chǎn)生低電平信號,同時PNP三極管的發(fā)射結(jié)電流導通,此時放大電流流過集電極,驅(qū)動揚聲器發(fā)出報警聲音,引起相關(guān)工作人員注意。在單片機不需要發(fā)出報警信號或按下復位鍵重啟時,P2.3引腳就會變?yōu)楦唠娖?,發(fā)射結(jié)和基極也就沒有電流流過,無電流經(jīng)過時報警器不會產(chǎn)生報警信號。
3 系統(tǒng)軟件設計
系統(tǒng)軟件設計是整個系統(tǒng)能安全、可靠運行的關(guān)鍵。使用Keil軟件進行C51語言編程,最終在主函數(shù)中調(diào)用各個子函數(shù)程序來實現(xiàn)整體報警功能。在系統(tǒng)設計過程中,根據(jù)現(xiàn)場要求來選擇單路溫度采集或多路溫度采集。在多路溫度采集過程中,要設置不同通信頻道來區(qū)分不同的采集點溫度。軟件系統(tǒng)的整體流程如圖5所示。先對從機和主機進行程序初始化,從機將無線模塊設置成發(fā)送模式,將溫度數(shù)據(jù)發(fā)送至主機。主機將無線模塊設置成接收模式,對接收到的溫度數(shù)據(jù)進一步處理分析,若是超過設定的溫度值,就會啟動報警模塊程序。
4 結(jié)語
本研究以無線傳輸作為主要研究對象,將溫度
度檢測、報警、顯示等功能模塊組合在一起,設計出無線溫度報警系統(tǒng)。選擇STC89C52RC作為該系統(tǒng)的主控制器,使用DS18B20數(shù)字型溫度傳感器采集溫度數(shù)據(jù)、LCD1602液晶顯示溫度數(shù)據(jù),一旦超過溫度設定值,蜂鳴器便會及時報警[7]。無線溫度報警系統(tǒng)的硬件設計克服有線報警系統(tǒng)建造復雜、易損壞、造價高昂等缺點,可簡化布局,性價比也高。無線溫度報警系統(tǒng)結(jié)構(gòu)小巧、布局靈活,可安裝在很多地方,且功能擴展較為方便,適用于多種測溫場景,實際應用價值非常好。
參考文獻:
[1]劉婷婷,王悠,李琦琦.基于單片機的煙草干燥溫度控制系統(tǒng)設計[J].物聯(lián)網(wǎng)技術(shù),2022(9):85-86,90.
[2]楊宇.基于單片機和DS18B20的溫度監(jiān)控系統(tǒng)設計[J].有色金屬設計,2022(2): 66-69.
[3]郭天祥.新概念51單片機C語言教程:入門、提高、開發(fā)、拓展全攻略[M].2版.北京:電子工業(yè)出版社,2018.
[4]楊智霞.基于單片機的無線多點溫度監(jiān)控系統(tǒng)設計[J].無線互聯(lián)科技,2022(16): 86-88.
[5]吳坤,何英昊.基于DS18B20的簡易溫度報警器的設計[J].電子制作,2019(1):83-84,61.
[6]喬學增.基于單片機簡易溫度報警器設計與實現(xiàn)[J].佳木斯大學學報(自然科學版), 2022(5):51-54,114.
[7]張陽熠,程家勤,謝國雄,等.基于恩智浦MCU的溫度/濕度控制器設計[J].新鄉(xiāng)學院學報,2022(9):34-36,53.