梁越勇 徐 倩 季航宇 浦希成
(江蘇科技大學(xué)計算機科學(xué)與工程學(xué)院 鎮(zhèn)江 212001)
本次設(shè)計基于射頻模塊nRF24l01的技術(shù)實現(xiàn),用于控制遠(yuǎn)程數(shù)據(jù)的傳輸,是主機和從機上的無線通信子模塊。隨著科技的進步,應(yīng)用無線技術(shù)的產(chǎn)品也日益豐富,低廉的成本和簡單的原理使得基于無線傳輸?shù)脑O(shè)計成為諸多電子產(chǎn)品、工農(nóng)業(yè)產(chǎn)業(yè)鏈的第一選擇。無線傳輸正逐步走進人們的生活,其特點不僅僅體現(xiàn)在使人們生活變得更加人性化、智能化,更重要的是使人們的生產(chǎn)生活變得安全,效率更高,同時促進了自動化產(chǎn)業(yè)的發(fā)展。
本研究融合了無線通信系統(tǒng)、數(shù)據(jù)采集、遠(yuǎn)程控制等技術(shù),以提高人們的生產(chǎn)生活的效率為目標(biāo),設(shè)計了一個遠(yuǎn)程監(jiān)控環(huán)境溫度的報警系統(tǒng)。此系統(tǒng)包含控制中心主模塊,無線傳輸模塊,溫度傳感器模塊,1602顯示模塊,報警模塊等,實現(xiàn)了對生產(chǎn)環(huán)境的溫度監(jiān)控。
系統(tǒng)實現(xiàn)對從機周圍的不合格溫度進行報警,當(dāng)溫度超出閾值時,系統(tǒng)通過無線傳輸模塊實現(xiàn)數(shù)據(jù)的傳輸,通過蜂鳴器進行報警。本系統(tǒng)采用的主要硬件有:STC8952單片機,蜂鳴信號發(fā)生器,LCD1602顯示屏,18B20溫度傳感器,nRF24L01無線通訊器件[1~3]等。系統(tǒng)總體框圖如圖1所示。
圖1 系統(tǒng)硬件總體框圖
控制中心主模塊主要采用STC89C52芯片,該芯片是一種低功耗、高性能CMOS8位微控制器。內(nèi)部電路具有看門狗硬件電路定時器,3個16位定時器和計數(shù)器,4個外部中斷等電路,用來控制發(fā)射機和接收機的工作[4],控制發(fā)射機上的溫度傳感器把數(shù)據(jù)傳給無線射頻模塊,接收機STC89C52控制1602的顯示工作和蜂鳴器的報警[5]。其引腳如圖2所示。
圖2 STC89C52單片機引腳圖
本系統(tǒng)的所有軟件程序都是基于Keil uVision3平臺,采用C語言設(shè)計。
圖3 主機軟件流程
系統(tǒng)功能中基本結(jié)構(gòu)如下:
void init_io(void);∕初始化IO 口;
void Temper();∕傳感器溫度的采集和處理;
TX_Mode(TX_BUF);∕把nRF24L01設(shè)置為發(fā)送模式并發(fā)送數(shù)據(jù);
Check_ACK(1);∕等待發(fā)送完畢,清除 TX FIFO;
void TX_Mode(uchar*BUF);∕判斷溫度函數(shù);
void show();∕1602顯示處理;
void proc();∕溫度超限處理;
主機和從機的基本運行過程如圖3、圖4所示。
圖4 從機軟件流程
18B20溫度傳感器的測量范圍是-55℃~+125℃,固有測溫誤差1℃。溫度傳感器探頭將外界溫度的高低變化轉(zhuǎn)化為晶振的振蕩頻率的變化,所產(chǎn)生的信號作為脈沖輸入。該溫度傳感器有三個引腳,一旦接反就會立即發(fā)熱,倒導(dǎo)致燒毀。具有斷電溫度信息不丟失的特性,具有較強的實用性[6]。
nRF24L01工作在 2.4GHz~2.5GHz世界通用ISM頻段的單片無線收發(fā)器芯片。nRF24L01功耗低,掉電模式和空閑模式使節(jié)能設(shè)計更方便[7]。nRF24L01在發(fā)射模式后進入接收模式,如果收到應(yīng)答,系統(tǒng)認(rèn)為此次通信成功,如果沒有收到應(yīng)答,就會重新發(fā)射數(shù)據(jù)。此無線射頻模塊在系統(tǒng)發(fā)射機和接收機上各有一個用來無線傳輸,并把數(shù)據(jù)傳給相應(yīng)的控制中心主模塊[8]。
它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊。1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個字符液晶模塊(顯示字符和數(shù)字)。采用標(biāo)準(zhǔn)16腳帶背光接口。P0端口(P0.0~P0.7,39~32引腳):P0口是一個漏極開路的8位雙向I∕O口。作為輸出指令字節(jié)。驗證時要求外接上拉電阻。當(dāng)報警器工作時,1606顯示模塊顯示當(dāng)前設(shè)置的閾值溫度和由發(fā)射機傳來的當(dāng)前環(huán)境溫度,通過按鍵可對當(dāng)前閾值溫度進行調(diào)整,最低溫度不得高于設(shè)置的最高溫度。
蜂鳴器采用直流電壓供電,廣泛應(yīng)用于計算機、打印機、復(fù)印機、報警器、電子玩具、汽車電子設(shè)備、電話機、定時器等電子產(chǎn)品中作發(fā)聲器件[9~10]。與無源蜂鳴器不同,有源蜂鳴器帶振蕩源,可以采用直流驅(qū)動信號。
本設(shè)計采用主從方式的SPI協(xié)議,在點對點的通信中,SPI接口不需要進行尋址操作,且為全雙工通信[11]。
本設(shè)計中使用的電源需要單獨進行設(shè)計,由于正常用電是220V的交流電,而STC89C52和其他功能模塊是在5V直流電源下工作的,所以需要另外設(shè)計一個5V直流電源。要得到穩(wěn)定可用的DC5V電源,要將50HZ的交流電經(jīng)降壓變壓器降為12V交流電,然后通過橋式整流器、電容濾波后得到12*0.9=10.8的直流電,由于不夠穩(wěn)定,所以還要在該直流電后面加一個集成穩(wěn)壓塊和一個較大電容作為儲能用,使得輸出電壓不因負(fù)載的變化而影響。
電源對模塊的整體運行十分重要,嚴(yán)格設(shè)計的電源可以大大降低模塊的非正常關(guān)機率。由于本溫度報警器的設(shè)計是一個獨立運行的計算機微系統(tǒng),通常情況下應(yīng)通過指令A(yù)T^SMSO來進行關(guān)閉,同時一定要確認(rèn)模塊關(guān)機后再進行切斷電源的操作。在實際應(yīng)用中,如果系統(tǒng)會時常發(fā)生斷電情況,則需要為該溫度報警器配備備用電池,以保證系統(tǒng)的正常工作。我們在設(shè)計的5V電源后加一個TR1972-33,使得電壓約為4.4V,再接一個470微法的電解電容。
電源設(shè)計電路圖如圖5所示。
圖5 電源設(shè)計電路圖
本次設(shè)計的無線溫度報警器是基于點對點的設(shè)計,在實際應(yīng)用中,小范圍的檢測區(qū)域適用于點對點檢測,如果是較大范圍的區(qū)域,往往需要多點來進行檢測,即一對多的檢測體系,基于本設(shè)計我們進行了基于一對多的檢測改進,主要的功能模塊是由nRF24L01來完成,即一個接收機對應(yīng)多個發(fā)射機,各個發(fā)射機分別被置于不同區(qū)域采集數(shù)據(jù),然后通過無線收發(fā)模塊進行數(shù)據(jù)傳輸,最后在接收機的STC89C52進行數(shù)據(jù)處理、控制顯示。可以在顯示屏上顯示多點的平均溫度,以及所有點的最高和最低溫度,通過和閾值溫度進行比較,判斷是否發(fā)出警報。多點溫度采集如圖6所示。
圖6 多點溫度采集圖
一對多的擴展設(shè)計是由各個一對一的無線溫度報警器組成的,所以我們重點對一對一的溫度報警器進行研究和測試,后期進行集成開發(fā),廣泛應(yīng)用,增加該設(shè)計的實用領(lǐng)域。
將主機和從機隔開20m,分別上電,打開電源按鍵,代碼編譯成功后,加載程序文件夾中的hex[12]文件鏈接好下載器就可以下載了,在從機上設(shè)置好最高溫度T1和最低溫度T2(T1>T2),主機上溫度傳感器開始獲取周圍溫度T,并通過無線射頻模塊發(fā)送到從機,從機接收到數(shù)據(jù)后,在顯示屏上顯示當(dāng)前溫度,同時顯示已經(jīng)設(shè)置好的溫度上下限,此時,我們利用打火機給主機升溫,使得T>T1,這時蜂鳴器開始鳴叫,然后利用冰塊給溫度傳感器降溫,使得T<T2,這時蜂鳴器開始鳴叫。這時我們擴大主機和從機的距離,從機上的溫度不再隨著主機溫度傳感器周圍溫度的變化而變化,主機和從機的連接斷開。
在一定距離之內(nèi),主機和從機保持連接狀態(tài),從機顯示當(dāng)前主機的溫度,并判斷這個溫度是否在設(shè)置好的溫度之間,在一定溫度范圍內(nèi),DS18B20可以檢測溫度變化,該溫度報警器工作要求如圖6所示。橫軸為溫度測試范圍,縱軸為距離測試范圍。
圖7 報警器溫度、距離要求圖
1)使用方便:無需外界網(wǎng)絡(luò)的支持,只需給主機從機供電即可工作;
2)人性化設(shè)計:主機和從機都很小,操作容易,顯示器顯示溫度一目了然;
3)緊急報警功能:當(dāng)主機溫度超過理想的溫度范圍時,蜂鳴器就會報警;
4)可靠:由于采用了跳頻技術(shù),nRF24L01在性能上穩(wěn)定可靠,即通信設(shè)備會不斷搜索干擾比較小的信道,可能每隔一段時間就會從一個頻率轉(zhuǎn)換到另一個頻率[13~14],從而保證了數(shù)據(jù)傳輸?shù)目煽啃裕?/p>
5)斷電不丟失:溫度傳感器DS18B20具有斷電不丟失的特性,這使得在操作過程中即使因某種情況導(dǎo)致斷電,從機顯示器上依然會保持前一刻的數(shù)據(jù)[15~16];
6)有極大的社會價值:在工農(nóng)業(yè)中,能夠有效地對產(chǎn)品、對生產(chǎn)環(huán)境進行檢測報告;
7)具有很高的可擴展性:可以進行深度二次開發(fā),增加具體功能。
在系統(tǒng)開發(fā)過程中,我們查閱了大量的相關(guān)文獻,包括單片機SPI協(xié)議、nRF24L01的原理和使用、C語言的編寫、代碼的燒入等內(nèi)容。此次設(shè)計實現(xiàn)了無線報警的功能,體現(xiàn)了在機械自動化方面的應(yīng)用,本報警裝置可根據(jù)具體的應(yīng)用背景進行改造,完成產(chǎn)品環(huán)境合格度的檢測,產(chǎn)品質(zhì)量大小規(guī)格等的檢測,能夠有效地提高生產(chǎn)效率,節(jié)省勞動成本,推動自動化產(chǎn)業(yè)的發(fā)展。
本設(shè)計的不足是傳輸距離較短,下一步我們將致力于研究如何增大無線傳輸?shù)木嚯x,以實現(xiàn)系統(tǒng)的優(yōu)化。