王獻合,黃巧巧,田麗娜 (湖北文理學院理工學院,湖北 襄陽 441025)
基于單片機的無線測溫系統(tǒng)設計
王獻合,黃巧巧,田麗娜
(湖北文理學院理工學院,湖北襄陽441025)
基于STC89C52單片機設計無線測溫系統(tǒng),實現(xiàn)無線通信。該設計用傳感器采集數(shù)據(jù)后,反饋給單片機并顯示實時的溫度值,當溫度超出范圍時接收端的單片機控制蜂鳴器使其報警。此設計具有實時監(jiān)控系統(tǒng)精度高、抗干擾能力強、傳輸速率高、通信穩(wěn)定和使用方便等特點。
單片機;無線傳輸;溫度傳感器;蜂鳴器
溫度是和人們的生活息息相關的物理量之一,溫度的采集或控制都使用的非常重要。特別是溫度監(jiān)測點處于危險的環(huán)境時,考慮人員的安全,為此,本文研究了一種基于基于單片機的無線測溫系統(tǒng)。
無線測溫系統(tǒng)由測量發(fā)送和主控接收兩個分系統(tǒng)分構(gòu)成。各分系統(tǒng)設計原理如圖1和圖2所示。當系統(tǒng)開始工作時,由主控單元發(fā)送測量控制指令,測量發(fā)送系統(tǒng)按照指令執(zhí)行現(xiàn)場溫度的實時測量,然后無線模塊把測量數(shù)據(jù)發(fā)送給主控接收分系統(tǒng);主控接收系統(tǒng)通過無線模塊接收,系統(tǒng)保存和分析測量數(shù)據(jù),并對其進行顯示報警等處理。
2.1單片機系統(tǒng)
測量發(fā)送分系統(tǒng)的核心器件有單片機構(gòu)成,主要進行溫度數(shù)據(jù)采集工作。本系統(tǒng)選用單片機STC89C52做控制器件,STC89C52是STC公司生產(chǎn)的一種高性能、低功耗的8位微控制器,有8K在系統(tǒng)可編程Flash存儲器。單片機控制模塊由STC89C52最小系統(tǒng)組成,由STC89C52單片機,晶振電路和復位電路等構(gòu)成。本設計時鐘頻率有晶振電路提供,晶振電路由兩個30pF電容元件和一個11.0592MHz晶體振蕩器構(gòu)成,連接單片機的X1、X2引腳。滿足溫度數(shù)據(jù)采集的實時性要求。X1,X2接外部振蕩電路,RESET端接復位電路,EA端拉高。
2.2NRF24L01無線模塊
采用NRF24L01做無線模塊,NRF24L01使用頻段是2.4GHz開放ISM頻段,該頻段全球可以免許可證使用,共有126頻道,可以滿足多點通信和跳頻通信的需要。最高工作速率達2Mb/s,高效GFSK調(diào)制方式,內(nèi)置硬件CRC檢錯和點對多點通信地址控制,提高了數(shù)據(jù)抗突發(fā)干擾和隨機干擾的能力,其可靠傳輸距離1000米。該模塊地址可以由軟件進行自由設置,只有接收到本模塊地址時才能進行傳輸數(shù)據(jù),進而直接與各系列的單片機相接,其軟件編程較為方便。
數(shù)據(jù)傳送過程,首先要將NRF24L01設置成發(fā)射模式,然后把接收數(shù)據(jù)的節(jié)點地址(TX_ADDR)以及發(fā)送的數(shù)據(jù)(TX_PLD)按照一定的時序從SPI口依次寫入NRF24L01緩存區(qū),TX_PLD必須在NRF24L01模塊的使能端有效時才能連續(xù)寫入,而節(jié)點地址只需在發(fā)射時寫入一次,接著把CE設置成高電平并保持至少10微秒,經(jīng)130微秒延遲后發(fā)射數(shù)據(jù);若自動應答開啟,則NRF24L01發(fā)射完數(shù)據(jù)后馬上進入接收模式狀態(tài),等待接收應答信號。當收到應答信號,就完成通信成功,把TX_DS置高,此時發(fā)送的數(shù)據(jù)將從TXFIFO中清除;假如沒有收到應答信號,NRF24L01將會自動重新發(fā)射數(shù)據(jù),并對重發(fā)次數(shù)進行計數(shù)加1,當重發(fā)次數(shù)達到上限時,將MAX_RT設置為高電平,同時TXFIFO中的數(shù)據(jù)保留以便再次重發(fā);當MAX_ RT和TX_DS其中一個設置高電平時,使IRQ變?yōu)榈碗娖剑l(fā)生中斷,通知MCU。當數(shù)據(jù)發(fā)射成功時,如果此刻CE為低電平,那么NRF24L01就進入空閑模式1;如果發(fā)送堆棧中有數(shù)據(jù)同時CE為高電平,則進行再次發(fā)射,若發(fā)送堆棧中無數(shù)據(jù)同時CE為高電平,將進入空閑模式2。
數(shù)據(jù)接收過程,首先把NRF24L01設置為接收模式,經(jīng)130微秒延遲后進入等待接收數(shù)據(jù)狀態(tài)。當收到有效的地址和效驗碼時,NRF24L01將會自動把接收的數(shù)據(jù)存儲在RXFIFO中,于此同時把中斷標志位設置成高電平,IRQ設置為低電平,產(chǎn)生中斷,通知MCU讀取數(shù)據(jù)。若此時自動應答開啟,接收端將進入發(fā)射狀態(tài)并且回傳應答信號。如果接收成功,并且CE變低電平,則NRF24L01模塊進入空閑模式。本設計無線模塊由單片機端口P2口控制。
2.3溫度采集傳感器的硬件設計
采用美國DALLAS公司生產(chǎn)的DS18B20可組網(wǎng)數(shù)字溫度傳感器芯片,具有耐磨耐碰,體積小,硬件開銷低,抗干擾能力強,精度高的特點。適用于各種狹小空間設備數(shù)字測溫和控制領域。經(jīng)濟、方便。溫度采集由DS18B20的DQ端接入單片機P0.0口。
2.4顯示模塊和報警電路
本設計的接收系統(tǒng)采用液晶顯示模塊LCD1602顯示測量數(shù)據(jù),單片機端口P0由上拉電阻提高驅(qū)動能力,進行數(shù)據(jù)輸出并作為LCD的驅(qū)動。LCD1602顯示模塊數(shù)據(jù)端接單片機P0口,RS,RW,E分別接單片機的P3.5、P3.6、P3.4。
當外界溫度超過預設溫度的上、下限時,會自動報警。由蜂鳴器下拉三極管組成實現(xiàn)報警功能。
2.5電源模塊電路設計
由VCC提供+5V的電壓,經(jīng)過LM 1117降壓為+3.3V電壓,作為NRF24L01模塊的電源。AMS1117是一個低漏失電壓調(diào)整器,它的穩(wěn)壓管,輸出3.3V電壓給nRF24L01供電。圖3無線模塊電源電路。
本系統(tǒng)的軟件設計分為接受和發(fā)送兩部分。主要完成控制指令的發(fā)送、測量數(shù)據(jù)包的接收和處理等任務。發(fā)送部分主要是對溫度傳感器上采集來的數(shù)據(jù)進行處理,然后由NRF24L01發(fā)送出去。發(fā)送部分流程圖見圖4。接收部分主要是對NRF24L01上接收到的數(shù)據(jù)進行處理并在液晶顯示頻上顯示,同時判斷溫度值是否超出設定的安全區(qū)間,當溫度值不在安全范圍內(nèi)時,蜂鳴器報警,接收部分流程圖見圖5。
基于STC89C52單片機的無線測溫系統(tǒng)經(jīng)調(diào)試工作正常。實驗結(jié)果表明,實時監(jiān)控系統(tǒng)精度高、抗干擾能力強,傳輸信號的距離較遠,能滿足較多的應用場合,且數(shù)據(jù)傳輸?shù)目煽啃愿摺1鞠到y(tǒng)軟、硬件設計完善,可靠性高,使用方便。
[1]李建忠.單片機原理及應用[M].西安電子科技大學出版社,2008.
[2]郭天祥.新概念51單片機C語言教程.電子工業(yè)出版社,2009.
[3]黎洪松,張衛(wèi)鋼.數(shù)字通信原理[M].西安電子科技大學出版社,2005.
[4]陳其純.電子線路[M].北京:高等教育出版社,2001.
[5]張殿閣.業(yè)余電子制作電路技術基礎[M].北京:科學出版社,1991.
王獻合(1983—),男,河南范縣人,本科,助理工程師,研究方向;無線通信。