【摘要】溫度對(duì)于發(fā)射臺(tái)機(jī)房來(lái)說(shuō),至關(guān)重要;下面簡(jiǎn)單介紹一種對(duì)機(jī)房?jī)?nèi)的溫度進(jìn)行采集并無(wú)線傳輸?shù)南到y(tǒng),本系統(tǒng)最大的特點(diǎn)就是信息的無(wú)線傳輸,省去了傳統(tǒng)有線傳輸?shù)氖`,簡(jiǎn)化了系統(tǒng)的安裝。選擇合適的無(wú)線模塊直接關(guān)系到信號(hào)傳輸?shù)挠行约跋到y(tǒng)的可靠性。本課題設(shè)計(jì)的是一套無(wú)線多溫度數(shù)據(jù)采集系統(tǒng),主要用于對(duì)環(huán)境溫度的采集與監(jiān)控,系統(tǒng)采用基于無(wú)線網(wǎng)絡(luò)的設(shè)計(jì)思想和溫度采集技術(shù)。無(wú)線傳輸避免了遠(yuǎn)距離布線所帶來(lái)的施工困難,成本高的缺點(diǎn)。本設(shè)計(jì)用AT89C52單片機(jī)和無(wú)線收發(fā)射模塊NRF24L01為主要硬件,設(shè)計(jì)了包括溫度采集,溫度顯示,系統(tǒng)控制,串口通信等外圍電路。溫度傳感器使用DS18B20,它實(shí)現(xiàn)對(duì)溫度的實(shí)時(shí)監(jiān)控并傳輸數(shù)據(jù)給單片機(jī),溫度上下限通過(guò)程序進(jìn)行設(shè)置。本設(shè)計(jì)是以Atmel公司的AT89C52單片機(jī)作為控制核心,提出以DS18B20的單總線分布式溫度采集與控制系統(tǒng),溫度傳感節(jié)點(diǎn)通過(guò)單總線與單片機(jī)相連。控制器通過(guò)溫度傳感器實(shí)時(shí)檢測(cè)節(jié)點(diǎn)的溫度變化,并在LCD1602上循環(huán)顯示節(jié)點(diǎn)溫度的變化。通過(guò)串口將檢測(cè)到的溫度信息回饋到上位機(jī)(PC機(jī)),從而遠(yuǎn)程實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)的檢測(cè)。
【關(guān)鍵詞】溫度傳感器;顯示程序設(shè)計(jì);無(wú)線收發(fā)模塊
無(wú)線溫度采集系統(tǒng)可被廣泛應(yīng)用于溫度測(cè)量或相應(yīng)的可轉(zhuǎn)換為溫度量或供電故障監(jiān)控的工業(yè)、農(nóng)業(yè)、環(huán)保、服務(wù)業(yè)、安全監(jiān)控等工程中,例如:城市路燈故障檢測(cè)和供電線路防盜監(jiān)視、城市居民小區(qū)供熱檢測(cè)、大型倉(cāng)庫(kù)溫度檢測(cè)、工業(yè)生產(chǎn)測(cè)控、農(nóng)業(yè)生產(chǎn)溫度測(cè)控、環(huán)保工程、故障監(jiān)控工程等。設(shè)計(jì)目標(biāo):
(1)能通過(guò)DS18B20實(shí)現(xiàn)對(duì)當(dāng)前環(huán)境溫度的檢測(cè)實(shí)時(shí)傳送給LCD1602循環(huán)顯示;
(2)設(shè)置高溫上限和低溫下限,當(dāng)前溫度超過(guò)高溫上限,警報(bào)器響、直流電機(jī)轉(zhuǎn)動(dòng),低于溫度下限,led燈亮,溫度恢復(fù)正常范圍,現(xiàn)象消除;
(3)通過(guò)無(wú)線模塊NRF24L01傳送當(dāng)前溫度值給接收單片機(jī),通過(guò)LCD1602顯示并通過(guò)串口傳送給上位機(jī)(PC),以實(shí)現(xiàn)實(shí)時(shí)監(jiān)測(cè)。
在本設(shè)計(jì)中主要模塊是溫度傳感器,顯示模塊以及無(wú)線傳輸模塊,所以選擇好這三個(gè)模塊是做好本設(shè)計(jì)的前提條件。
1.溫度傳感器模塊的選擇與論證
作為測(cè)量數(shù)據(jù)的直接來(lái)源,溫度傳感器的測(cè)量精度和工作穩(wěn)定性直接影響到后續(xù)電路工作的精確性,可以說(shuō)溫度傳感器是本設(shè)計(jì)的重中之重。整個(gè)系統(tǒng)的測(cè)量算法,無(wú)線數(shù)據(jù)傳輸協(xié)議都與溫度傳感器息息相關(guān),選擇合理的溫度傳感器將是本設(shè)計(jì)成功與否的關(guān)鍵。
方案一:
采用熱敏電阻,可滿足40攝氏度至90攝氏度測(cè)量范圍,但熱敏電阻精度、重復(fù)性、可靠性較差,對(duì)于檢測(cè)1攝氏度的信號(hào)是不適用的。
方案二:
采用單片模擬量的溫度傳感器,比如AD590,LM35等。但這些芯片輸出的都是模擬信號(hào),必須經(jīng)過(guò)A/D轉(zhuǎn)換后才能送給計(jì)算機(jī),這樣就使得測(cè)溫裝置的結(jié)構(gòu)復(fù)雜化。
方案三:
采用數(shù)字溫度傳感器DS18B20測(cè)量溫度,輸出信號(hào)全數(shù)字化。便于單片機(jī)處理及控制,省去傳統(tǒng)的測(cè)溫方法的很多外圍電路。且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測(cè)溫元件,此元件線性度較好。在0~100攝氏度時(shí),最大線形偏差小于1攝氏度。DS18B20的最大特點(diǎn)之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計(jì)DS18B20和微控制器AT89C52構(gòu)成的溫度測(cè)量裝置,它直接輸出溫度的數(shù)字信號(hào),可直接與計(jì)算機(jī)連接。這樣,測(cè)溫系統(tǒng)的結(jié)構(gòu)就比較簡(jiǎn)單。
采用溫度芯片DS18B20測(cè)量溫度,可以體現(xiàn)系統(tǒng)芯片化這個(gè)趨勢(shì),部分功能電路的集成,使總體電路更簡(jiǎn)潔,搭建電路和焊接電路時(shí)更快。而且,集成塊的使用,有效地避免外界的干擾,提高測(cè)量電路的精確度,所以集成芯片的使用將成為電路發(fā)展的一種趨勢(shì)。本方案應(yīng)用這一溫度芯片,也是順應(yīng)這一趨勢(shì)。
方案對(duì)比及選擇結(jié)果:方案一的設(shè)計(jì)成本低,但是其測(cè)量精度不夠,方案二電路設(shè)計(jì)復(fù)雜,而方案三只需要一根傳輸線,大大簡(jiǎn)化了設(shè)計(jì)復(fù)雜度。所以本設(shè)計(jì)的溫度傳感器設(shè)計(jì)方案采用方案三。
1.1 顯示模塊的選擇與論證
作為人機(jī)界面的一部分,顯示模塊主要功能是對(duì)測(cè)量得到的數(shù)據(jù)進(jìn)行顯示。顯示模塊的顯示能力也影響到溫度測(cè)量的精度。
方案一:
使用發(fā)光二極管顯示器(簡(jiǎn)稱LED),它配置靈活,使用方便,價(jià)格低廉,但顯示內(nèi)容有限,線路連接復(fù)雜,要有驅(qū)動(dòng)電路。不但顯示內(nèi)容單一,而且使用功耗高。
方案二:
使用液晶顯示器(LCD),它的功耗低,體積小,美觀,方便,使用壽命長(zhǎng),且能顯示圖形、字母等,接口簡(jiǎn)單,可以直接與單片機(jī)進(jìn)行連接,但成本較高,占用系統(tǒng)資源較大。LCD1602液晶原理圖如圖1所示。
圖1 液晶顯示模塊
1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來(lái),我們就能看到字母“A”。
因?yàn)?602識(shí)別的是ASCII碼,可以用ASCII碼直接賦值,在單片機(jī)編程中還可以用字符型常量或變量賦值,如“A”。
方案對(duì)比及選擇結(jié)果:方案二雖然編程復(fù)雜些,但是顯示精度高可以達(dá)到0.0625度,且本設(shè)計(jì)顯示信息較多,方案一顯示簡(jiǎn)單,不能滿足設(shè)計(jì)要求,所以本設(shè)計(jì)采用方案二。
1.2 無(wú)線通信模塊的選擇與論證
本系統(tǒng)最大的特點(diǎn)就是信息的無(wú)線傳輸,省去了傳統(tǒng)有線傳輸?shù)氖`,簡(jiǎn)化了系統(tǒng)的安裝。選擇合適的無(wú)線模塊直接關(guān)系到信號(hào)傳輸?shù)挠行约跋到y(tǒng)的可靠性。
方案一:
PTR2000是基于nRF401器件的無(wú)線數(shù)據(jù)傳輸模塊,采用低發(fā)射頻率、高靈敏度設(shè)計(jì)。該器件使用433 MHz頻段,是真正的單片UHF無(wú)線收發(fā)一體器件,其工作模式包括工作頻道的設(shè)置和發(fā)送、接收、待機(jī)狀態(tài),由TXEN、CS、PWM 3個(gè)引腳共同決定,其工作模式設(shè)置如表1所示。
表1 PTR2000工作模式設(shè)置
PTR2000利用串口進(jìn)行數(shù)據(jù)傳輸,而單片機(jī)和PC機(jī)均帶有串口,因此,可利用PTR2000作為單片機(jī)和PC機(jī)之間數(shù)據(jù)傳輸?shù)臒o(wú)線接口。
方案二:
NRF24L01是一款工作在2.4-2.5GHZ世界通用ISM頻段的單片無(wú)線收發(fā)器芯片。無(wú)線收發(fā)器包括:頻率發(fā)生器、增強(qiáng)型SchockBurstTM模式控制器、功率放大器、晶體振蕩器、調(diào)制器、解調(diào)器。輸出功率、頻道選擇和協(xié)議的設(shè)置可以通過(guò)SPI接口進(jìn)行設(shè)置。
極低的電流消耗:當(dāng)工作在發(fā)射模式下發(fā)射功率為-6dBm是電流消耗為9mA,接收模式時(shí)為12.3mA。掉電模式和待機(jī)模式下電流消耗更低。表2所示為NRF24L01快速參考參數(shù)。
表2 NRF24LO1快速參考參數(shù)
方案對(duì)比及結(jié)果選擇:PTR2000控制簡(jiǎn)單,利用串口進(jìn)行數(shù)據(jù)傳輸,NRF24L01控制復(fù)雜,需要自己焊接電源電路,但是PTR2000成本太高,故本設(shè)計(jì)選擇方案二。
2.溫度傳感器DS18B20程序設(shè)計(jì)
DS18B20采用單總線的通信方式,硬件結(jié)構(gòu)十分簡(jiǎn)單,但是相應(yīng)的它的軟件開發(fā)部分就十分繁瑣,想讓其正常工作,必須要嚴(yán)格按照其時(shí)序圖來(lái)編寫程序。圖2所示為DS18B20的復(fù)位時(shí)序圖:
圖2 DS18B20的復(fù)位時(shí)序
圖3所示為DS18B20的讀寫時(shí)序:
圖3 DS18B20的讀寫時(shí)序
圖4所示為DS18B20程序流程圖:
圖4 DS18B20程序流程圖
3.LCD1602顯示程序設(shè)計(jì)
LCD1602的控制命令較多,要想使其正確的顯示,就要對(duì)它的讀寫時(shí)序詳細(xì)分析,按照其讀寫時(shí)序來(lái)進(jìn)行讀寫。在本設(shè)計(jì)中,我們只需要對(duì)LCD1602進(jìn)行寫操作,使其顯示我們?cè)O(shè)定的內(nèi)容,所以我們暫時(shí)不考慮它的讀操作。圖5所示為L(zhǎng)CD1602寫操作時(shí)序及參考時(shí)間:
圖5 LCD1602寫操作時(shí)序及參考時(shí)間
4.無(wú)線收發(fā)模塊NRF24L01程序設(shè)計(jì)
無(wú)線傳輸模塊NRF24L01控制指令沒(méi)有LCD1602多,但是它與單片機(jī)通信采用的是SPI總線方式,但是本設(shè)計(jì)中的單片機(jī)沒(méi)有SPI總線,所以要用通用I/O端口來(lái)模擬SPI總線時(shí)序,操作時(shí)序及參考時(shí)間如圖6-9所示:
圖6 SPI讀操作
圖7 SPI寫操作
圖8 操作時(shí)序圖
圖9 SPI參考時(shí)間
圖10所示為NRF24L01發(fā)送與接收程序流程圖。
5.系統(tǒng)調(diào)試與性能測(cè)試
5.1 測(cè)試環(huán)境及工具
測(cè)試溫度:0~100攝氏度。
測(cè)試儀器及軟件:數(shù)字萬(wàn)用表,溫度計(jì)0~100攝氏度,串口調(diào)試助手,protues仿真軟件。
測(cè)試方法:目測(cè)。
5.2 系統(tǒng)硬件調(diào)試
使系統(tǒng)運(yùn)行,觀察系統(tǒng)硬件電路是否正常工作(包括單片機(jī)系統(tǒng),鍵盤電路,顯示電路,溫度測(cè)試電路,喇叭及直流電機(jī)電路,無(wú)線模塊電路等)。
采用溫度傳感器和溫度計(jì)同時(shí)測(cè)量溫度變化情況,目測(cè)顯示電路是否正常。并記錄各點(diǎn)溫度值,與實(shí)際溫度值比較,得出系統(tǒng)的溫度指標(biāo)。
5.3 系統(tǒng)軟件調(diào)試
在keil51 uvison4中進(jìn)行編譯,如沒(méi)有錯(cuò)誤,下載到單片機(jī)中觀察現(xiàn)象,如沒(méi)有和設(shè)想的現(xiàn)象一致,通過(guò)硬件的現(xiàn)象來(lái)分析具體出錯(cuò)的原因,返回keil51中繼續(xù)調(diào)試,直至成功,還可以在protues中進(jìn)行仿真,直觀的觀看結(jié)果。
5.4 系統(tǒng)性能測(cè)試
通過(guò)DS18B20測(cè)試當(dāng)前的溫度,能通過(guò)LCD1602顯示電路實(shí)時(shí)顯示;
可以通過(guò)鍵盤來(lái)設(shè)置高溫上限和低溫下限,超過(guò)高溫上限后喇叭以兩種頻率發(fā)聲,同時(shí)直流電機(jī)轉(zhuǎn)動(dòng),低于低溫下限后,led燈亮(模擬加熱),溫度恢復(fù)正常范圍后,現(xiàn)象消除;能通過(guò)無(wú)線模塊NRF24L01進(jìn)行數(shù)據(jù)傳輸與接收,能在LCD1602顯示電路中顯示,并能通過(guò)串口傳送溫度數(shù)據(jù)給上位機(jī)(PC)。
參考文獻(xiàn)
[1]林伸茂.8051單片機(jī)徹底研究基礎(chǔ)篇[M].北京:北京人民郵電出版社,2004.
[2]孫涵芳.MCS-51系列單片機(jī)原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,1996.
[3]饒慶和.MCS-51單片機(jī)實(shí)用技術(shù)[M].北京:電子工業(yè)出版社,2003.
[4]姜大源.單片機(jī)技術(shù)[M].北京:高等教育出版社,2005.
[5]劉娟.單片機(jī)C語(yǔ)言與PROTUES仿真技能實(shí)訓(xùn)[M].北京:中國(guó)電力出版社,2010.
作者簡(jiǎn)介:魏志東(1979—),男,山東臨沂人,工程師,現(xiàn)供職于山東省新聞出版廣電局大澤山轉(zhuǎn)播臺(tái),從事廣播電視發(fā)射轉(zhuǎn)播方面的工作。