[摘 要] 采用AT89LV52單片機(jī)作為主控制器,測(cè)量部分由數(shù)字傳感器DS18B20實(shí)現(xiàn)溫度采集,數(shù)據(jù)處理后通過(guò)PTR8000無(wú)線傳輸?shù)降缴衔粰C(jī),上位機(jī)可以實(shí)現(xiàn)存儲(chǔ)、顯示、查詢、控制功能,并可以利用RS232接口將數(shù)據(jù)傳至PC機(jī)。介紹了系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),并在多點(diǎn)室溫測(cè)量中得到了應(yīng)用,給出了系統(tǒng)框圖、主要電路、軟件流程。利用單片機(jī)實(shí)現(xiàn)了數(shù)據(jù)的無(wú)線傳輸,單點(diǎn)的溫度獲取時(shí)間只需800ms左右時(shí)間,單點(diǎn)測(cè)溫誤差在±0.5℃以內(nèi),系統(tǒng)功耗不大于20mW,子機(jī)最多可以擴(kuò)展到256個(gè)。
[關(guān)鍵詞] PTR8000 DS18B20 無(wú)線 溫度采集
溫度檢測(cè)在工業(yè)、農(nóng)業(yè)、生活中得到了越來(lái)越廣泛的應(yīng)用,如溫室、冷庫(kù)、大棚溫度監(jiān)測(cè)系統(tǒng)需對(duì)多點(diǎn)進(jìn)行溫度采集,本系統(tǒng)采用無(wú)線通信芯片完成溫度的無(wú)線采集。在測(cè)量系統(tǒng)中,傳感器與控制器計(jì)算機(jī)接口的連接是通過(guò)若干條導(dǎo)線連接,當(dāng)傳感器數(shù)量較多時(shí),尤其是信的長(zhǎng)距離傳輸相互容易產(chǎn)生干擾,而采用單片機(jī)及無(wú)線通信芯片,進(jìn)行無(wú)線通信,則可以很容易解決這個(gè)問(wèn)題,這樣的測(cè)試系統(tǒng)在實(shí)際應(yīng)用方便靈活,避免了系統(tǒng)布線,并且可以方便地改變溫度采集點(diǎn)或采集區(qū)域。
一、系統(tǒng)設(shè)計(jì)
為了實(shí)現(xiàn)多點(diǎn)溫度檢測(cè),采用AT89LV52單片機(jī)作為主控制器,通過(guò)DS18B20溫度傳感器獲取對(duì)應(yīng)位置的溫度值,經(jīng)處理后通過(guò)PTR8000無(wú)線傳輸?shù)降缴衔粰C(jī),上位機(jī)可以查詢各點(diǎn)溫度,并可以利用RS232接口將數(shù)據(jù)傳至PC機(jī)。系統(tǒng)總體框圖如圖1所示。
系統(tǒng)的采集端主要由DS18B20數(shù)字溫度傳感器及AT89LV52單片機(jī)組成,無(wú)線傳輸部分主要由單片機(jī)控制PTR8000完成信息收發(fā)。接收機(jī)由AT89LV52單片機(jī)控制PTR8000完成數(shù)據(jù)的收集,單片機(jī)外接AT24C02實(shí)現(xiàn)掉電存儲(chǔ),點(diǎn)陣式液晶顯示器MGLS12864實(shí)現(xiàn)數(shù)據(jù)顯示,利用鍵盤可以實(shí)現(xiàn)歷史溫度查詢并設(shè)定報(bào)警溫度,通過(guò)RS232串口可以將數(shù)據(jù)上傳至PC機(jī)。
二、系統(tǒng)硬件結(jié)構(gòu)
1.PTR8000簡(jiǎn)介
PTR8000是以nRF905為核心的一款無(wú)線收發(fā)模塊,工作電壓為1.9~3.6V,工作在433/868/915MHz的ISM(工業(yè)、科學(xué)、醫(yī)療)頻段,由一個(gè)完全集成的頻率調(diào)制器、一個(gè)帶解調(diào)器的接收器、一個(gè)功率放大器、一個(gè)晶體振蕩器和一個(gè)調(diào)節(jié)器組成。最大傳輸速率可達(dá)到100Kbit/s,可以很容易通過(guò)SPI接口進(jìn)行編程配置。
PTR8000采用Nordic公司的ShockBurst技術(shù)收發(fā)數(shù)據(jù)。ShockBurst將與RF協(xié)議有關(guān)的高速信號(hào)處理放到芯片內(nèi),使收發(fā)芯片能夠提供高速的數(shù)據(jù)傳輸,收發(fā)芯片由微控制器通過(guò)一個(gè)SPI接口控制,通信速率由微控制器通過(guò)程序設(shè)定。在發(fā)送模式中,PTR8000自動(dòng)產(chǎn)生前導(dǎo)碼和CRC校驗(yàn)碼,數(shù)據(jù)準(zhǔn)備就緒DR信號(hào)通知AT89LV52數(shù)據(jù)傳輸已經(jīng)完成。在接收模式中,地址匹配AM和數(shù)據(jù)準(zhǔn)備就緒DR信號(hào)通知AT89LV52一個(gè)有效的地址和數(shù)據(jù)包已經(jīng)各自接收完成。
由PWR、TRX_CE、TXEN三個(gè)引腳完成PTR8000四種工作模式的設(shè)定:掉電各SPI編程模式、待機(jī)和SPI編程模式、發(fā)射模式、接收模式,如表所示。
2.PTR8000硬件電路
PTR8000內(nèi)置有完整的通信協(xié)議和CRC,單片機(jī)通過(guò)SPI接口便可完成無(wú)線數(shù)據(jù)收發(fā),但PTR8000工作電壓為3V,如果PTR8000與5 V單片機(jī)連接,則必須進(jìn)行電平轉(zhuǎn)換。這里選用低電壓通用單片機(jī)AT89LV52,其供電和邏輯電平均為3 V,因此不存在電平轉(zhuǎn)換的問(wèn)題。AT89LV52是ATMEL公司推出的低電壓,高性能CMOS 8位單片機(jī),工作電壓范圍可達(dá)2.7V-6.0V,芯片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,可用于低功耗場(chǎng)合。
PTR8000與AT89LV52的硬件連接如圖1所示。
3.溫度檢測(cè)
數(shù)字溫度傳感器大大簡(jiǎn)化了溫度檢測(cè)裝置的設(shè)計(jì)方案,工作穩(wěn)定性高,并且能夠直接將溫度轉(zhuǎn)換為數(shù)字值,便于單片機(jī)進(jìn)行綜理。本系統(tǒng)采用DS18B20單總線數(shù)字傳感器實(shí)現(xiàn)溫度檢測(cè)。DS18B20是美國(guó)DALLAS公司生產(chǎn)的單總線溫度傳感器,它能夠直接讀出被測(cè)溫度的數(shù)字量,其測(cè)溫范圍為-55~+125℃,在-10~+85℃時(shí)精度為±0.5℃。DS18B20采用單總線技術(shù)(1-WIRES),即單片機(jī)只用一根輸入輸出接口線,就可以實(shí)現(xiàn)單片機(jī)與傳感器的數(shù)據(jù)傳送,為此DS18B20數(shù)據(jù)線與單片機(jī)P2.4相連。DS18B20讀寫數(shù)據(jù)僅需要一根口線,溫度變換功率來(lái)源于數(shù)據(jù)總線,總線本身也可以向所掛接的DS18B20供電,而無(wú)需額外電源。為增強(qiáng)系統(tǒng)穩(wěn)定性,在此選用外加電源方式,外加電源正負(fù)極分別接DS18B20引腳VDD及GND,如圖2所示。
三、系統(tǒng)軟件設(shè)計(jì)
1.無(wú)線通信軟件設(shè)計(jì)
由于RF協(xié)議相關(guān)的高速信號(hào)處理部分已經(jīng)嵌入在模塊內(nèi)部,PTR8000可與各種低成本單片機(jī)匹配使用,也可以于DSP等高速處理器配合使用。PTR8000提供一個(gè)SPI接口,AT89LV52利用數(shù)據(jù)口模擬SPI通信,在接收模式中,地址匹配(AM)和數(shù)據(jù)準(zhǔn)備就緒(DR)信號(hào)通知一個(gè)有效的地址和數(shù)據(jù)包已經(jīng)各自接收完成,微控制器即可通過(guò)SPI讀取接收的數(shù)據(jù)。在發(fā)送模式中,PTR8000自動(dòng)產(chǎn)生前導(dǎo)碼和CRC校驗(yàn)碼, DR信號(hào)通知AT89LV52數(shù)據(jù)傳輸已經(jīng)完成。
(1)配置編程。上電以后AT89LV52首先配置PTR8000模塊。先將PWR_UP、TXEN、TRX_CE設(shè)為配置模式,AT89LV52通過(guò)SPI將配置數(shù)據(jù)移入PTR8000模塊;在掉電和待機(jī)模式工作后,配置內(nèi)容仍然有效。
(2)發(fā)射模式。當(dāng)AT89LV52有數(shù)據(jù)需要發(fā)往規(guī)定節(jié)點(diǎn)時(shí),首先設(shè)置TRX_CE、TXEN來(lái)啟動(dòng)傳輸,無(wú)線系統(tǒng)自動(dòng)上電,將數(shù)據(jù)加前導(dǎo)碼和CRC校驗(yàn)碼并打包發(fā)送,如果AUTO_RETRAN被設(shè)置為高,PTR8000將連續(xù)地發(fā)送數(shù)據(jù)包,直到TRX_CE被置為低。當(dāng)TRX_CE被設(shè)置為低時(shí),PTR8000結(jié)束數(shù)據(jù)傳輸并將自己設(shè)置成待機(jī)模式。
(3)接收模式。設(shè)置TRX_CE為1,TXEN為0選擇接收模式,PTR8000開(kāi)始監(jiān)測(cè)信息,當(dāng)PTR8000發(fā)現(xiàn)和接收頻率相同的載波時(shí),載波檢測(cè)(CD)被置高,當(dāng)PTR8000接收到有效的地址時(shí),地址匹配(AM)被置高。PTR8000接收到有效的數(shù)據(jù)校驗(yàn)正確時(shí),PTR8000去掉前導(dǎo)碼,數(shù)據(jù)準(zhǔn)備就緒(DR)被置高。AT89LV52通過(guò)SPI接口讀出有效數(shù)據(jù),當(dāng)所有的有效數(shù)據(jù)被讀出后,PTR8000將AM和DR置低。
2.溫度測(cè)量軟件設(shè)計(jì)
溫度測(cè)量部分主要是利用程序控制DS18B20完成溫度讀取,DS18B20有嚴(yán)格的通信協(xié)議來(lái)保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性,AT89LV52控制DS18B20必須經(jīng)過(guò)三個(gè)步驟:
(1)每一次讀寫之前都要對(duì)DS18B20進(jìn)行復(fù)位。
(2)復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。
(3)復(fù)位要求AT89LV52將數(shù)據(jù)線下拉500微秒,然后釋放,DS18B20收到信號(hào)后等待16~60微秒左右,后發(fā)出60~240微秒的存在低脈沖,AT89LV52收到此信號(hào)表示復(fù)位成功。
設(shè)置分辨率為12位,DS1820測(cè)量得到的溫度數(shù)據(jù)存儲(chǔ)在的兩個(gè)字節(jié)的RAM中,二進(jìn)制中的前面5位是符號(hào)位,如果測(cè)得的溫度大于0,這5位為0,只要將測(cè)到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際溫度。
四、結(jié)束語(yǔ)
本系統(tǒng)通過(guò)對(duì)和Nordic公司生產(chǎn)的PTR8000無(wú)線通信模塊的應(yīng)用,設(shè)計(jì)出了一套無(wú)線多點(diǎn)溫度系統(tǒng)。該系統(tǒng)功耗低體積小,傳輸距離遠(yuǎn)、實(shí)時(shí)性好,可以用于糧庫(kù)測(cè)溫系統(tǒng)、冷庫(kù)測(cè)溫系統(tǒng)、中央空調(diào)測(cè)溫系統(tǒng)等多點(diǎn)溫度測(cè)量場(chǎng)所。
參考文獻(xiàn):
[1]李 霞 秦建敏 張志棟:數(shù)字溫度傳感器DS1820在冰情測(cè)報(bào)系統(tǒng)中的應(yīng)用[J].太原理工大學(xué)學(xué)報(bào),2008,39(1):33~35
[2]高吉祥 張興華:基于PTR8000的無(wú)線數(shù)據(jù)采集系統(tǒng)[J].長(zhǎng)春工程學(xué)院學(xué)報(bào),2007,8(2):73~76
[3]劉濱濤 金 煜 殷小祥 韓學(xué)軍:溫度監(jiān)測(cè)系統(tǒng)中無(wú)線通訊部分的設(shè)計(jì)與實(shí)現(xiàn)[J].高壓電器,2006,42(5):358~360
[4]樊建明 陳淵睿:基于數(shù)字溫度傳感器的溫室多點(diǎn)測(cè)量系統(tǒng)設(shè)計(jì)[J].傳感器與微系統(tǒng),2007,26(7):89~92
[5]李文仲:C8051F系列單片機(jī)與短距離無(wú)線數(shù)據(jù)通信[M].北京:北航空航天出版社,2007
[6]沙占有:智能化集成溫度傳感器原理與應(yīng)用[M].北京:機(jī)械工業(yè)出社,2002:84~102
[7]譚 量 胡 冀:基于nRF9E5的多點(diǎn)無(wú)線溫度采集系統(tǒng)設(shè)計(jì)[J].杭州電子科技大學(xué)學(xué)報(bào),2006,26(8):30~33
[8]李金鳳 葛良全 吳建平 郝俊勝:基于單總線的智能多點(diǎn)測(cè)溫系統(tǒng)設(shè)計(jì)[J].傳感器與微系統(tǒng),2007,26(11):97~98
[9]劉濱濤 金 煜 殷小祥 韓學(xué)軍:溫度監(jiān)測(cè)系統(tǒng)中無(wú)線通訊部分的設(shè)計(jì)與實(shí)現(xiàn)[J].高壓電器,2006,42(5):358~361
[10]郭永強(qiáng) 方康玲 馬 亮:基于SoC單片機(jī)的無(wú)線通信系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2007,23(7-2):98~100