摘要:隨著人民生活水平的提高,對生活居所的環(huán)境品質(zhì)和安全提出了更高的要求,對家居環(huán)境溫濕度的監(jiān)測以及對瓦斯?jié)舛?、光強的監(jiān)測對人們的生活和安全有及其重要的作用,本文研究了基于NRF905的分散節(jié)點的多點傳輸無線監(jiān)測系統(tǒng),較為詳細地介紹了該系統(tǒng)的組成結(jié)構(gòu)、工作原理、硬件構(gòu)成、軟件設(shè)計和測試結(jié)果。本系統(tǒng)試驗運行良好可靠性高,且非常方便進行節(jié)點數(shù)擴展,具有較好的推廣應(yīng)用前景。
關(guān)鍵詞:NRF905;智能家居;節(jié)點;監(jiān)測;STC12C5A16S2
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1674-7712 (2012) 18-0112-03
智能家居是利用先進的電子技術(shù)、網(wǎng)絡(luò)通訊技術(shù)等,將家庭中各種與信息相關(guān)的通訊設(shè)備,家用電器和家庭保安裝置通過家庭總線技術(shù)(HBS)連接到一個家庭智能化系統(tǒng)上進行集中的或異地的監(jiān)視、控制和家庭事務(wù)性管理,并保持這些家庭設(shè)施與住宅環(huán)境的有機地結(jié)合在一起的系統(tǒng)。智能家居不僅具有傳統(tǒng)的居住功能,并且通過在家中建立的通訊網(wǎng)絡(luò),實現(xiàn)對家庭中的各種與信息相關(guān)的設(shè)備、家用電器及保安裝置,進行集中的或遠程的監(jiān)測和管理,使人們的生活更加安全、便利、舒適和符合環(huán)保。在日常生活和室內(nèi)商業(yè)活動中,為保證各項工作在某恒定的氣體濃度、溫度、濕度、光照等安全范圍內(nèi)進行,對溫濕度、光照度的監(jiān)測及控制具有極其重要的意義。
本系統(tǒng)設(shè)計一個基于NRF905的無線智能家居監(jiān)測系統(tǒng),主要是在端節(jié)點采集氣體濃度、溫度、濕度、光照強度等相關(guān)信息,然后通過NRF905無線射頻模塊傳送相應(yīng)信息到主機,實時采集到的信息在主機和主人設(shè)定的預(yù)警值進行比較計算,如果超出預(yù)警閾值設(shè)定,則發(fā)出報警信號。
一、系統(tǒng)原理介紹
本系統(tǒng)主要由主機和端節(jié)點1、2、3構(gòu)成。主機主要包括微處理器模塊、LCD顯示模塊、時鐘模塊、數(shù)據(jù)儲存模塊、NRF905無線射頻模塊、報警模塊和鍵盤設(shè)定模塊構(gòu)成,實現(xiàn)萬年歷時鐘實時顯示,并對各個端節(jié)點數(shù)據(jù)進行實時獲取到主機集中存儲和顯示,采集到的信息數(shù)據(jù)和主人設(shè)定的預(yù)警值進行比較計算,如果超出預(yù)警閾值設(shè)定,則蜂鳴器發(fā)出報警信號。
端節(jié)點主要包括無線射頻模塊、溫濕度采集模塊、溫度采集模塊、瓦斯?jié)舛葯z測模塊和光照采集模塊構(gòu)成。端節(jié)點1考慮為主臥室包括NRF905無線射頻模塊和溫濕度采集模塊,對采集到的溫濕度數(shù)據(jù)通過無線模塊發(fā)送給主機;端節(jié)點2考慮為廚房主要包括NRF905無線射頻模塊、溫度采集模塊和瓦斯氣體濃度采集模塊,對采集到的溫度和瓦斯氣體濃度數(shù)據(jù)通過無線模塊發(fā)送給主機;端節(jié)點3考慮為客廳主要包括NRF905無線射頻模塊、光照采集模塊和溫濕度采集模塊,對采集到的溫濕度數(shù)據(jù)、光照強度數(shù)據(jù)通過無線模塊發(fā)送給主機。
二、系統(tǒng)硬件設(shè)計
(1)主機微處理器。由于主機需要多個I/O口線與LCD顯示模塊、時鐘模塊、數(shù)據(jù)儲存模塊、NRF905無線射頻模塊、報警模塊和鍵盤設(shè)定模塊進行連接,因此微處理器采用DIP40封裝的單片機STC12C5A16S2來實現(xiàn)。單片機STC12C5A16S2含有16K字節(jié)Flash閃速存儲器,1280字節(jié)內(nèi)部RAM,1個時鐘/機器周期,高速,高可靠,2路PWM,8路10位高速A/D轉(zhuǎn)換,40個I/O口線,具有超強抗干擾性,寬電壓,不怕電源動。內(nèi)部集成高可靠復(fù)位電路,外部復(fù)位電路可徹底省掉,也可繼續(xù)使用。
(2)顯示模塊。顯示模塊選擇主控為ST7920的帶字庫的LCD12864液晶顯示模塊來顯示信息。ST7920控制器的LCD產(chǎn)品可以提供8位,4位并行和串行三種工作接口,能夠顯示多數(shù)常用的漢字及ASCII碼,適用于各類儀小型設(shè)備的顯示領(lǐng)域,是比較常用的顯示器,為了節(jié)省對微處理器IO口的占用,我們采用LCD12864液晶顯示模塊串行工作模式,LCD12864串行液晶接口基本電路圖如圖2所示。
(3)主機時鐘和數(shù)據(jù)存儲模塊。主機采用DS1302時鐘芯片,DS1302是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個31×8的用于臨時性存放數(shù)據(jù)的RAM寄存器,使用非常方便。
數(shù)據(jù)存儲模塊采用AT24C256為主芯片,24C256是美國Atmel公司的低功耗CMOS型E2PROM內(nèi)含32K×8位存儲空間具有工作電壓寬(2.5-5.5V)、擦寫次數(shù)多(大于10000次)、寫入速度快(小于10ms)、抗干擾能力強、數(shù)據(jù)不易丟失、體積小等特點。而且他是采用了I2C總線式進行數(shù)據(jù)讀寫的串行器件占用很少的資源和IO線并且支持在線編程進行數(shù)據(jù)實時的存取十分方便。時鐘和數(shù)據(jù)存儲電路圖如圖3所示。
(4)鍵盤和主機報警設(shè)計模塊。鍵盤采用4個輕觸開關(guān),有鍵按下時單片機對應(yīng)的IO口P20-P23某一個引腳得到低電平,通過對P20-P23的掃描判斷有哪一個鍵按下。報警模塊采用5V有源蜂鳴器外加三極管來驅(qū)動實現(xiàn),當實際值超過設(shè)定的閾值時,P24輸出低電平,Q9導(dǎo)通,蜂鳴器響,實現(xiàn)報警功能。鍵盤設(shè)定和主機報警電路如圖4所示。
(一)NRF905無線射頻模塊
主機和端節(jié)點都需要配置NRF905模塊,NRF905是挪威NordicVLSI公司推出的單片射頻收發(fā)器,工作電壓為1.9~3.6V,32引腳QFN封裝(5×5mm),工作于433/868/915MHz三個ISM(工業(yè)、科學(xué)和醫(yī)學(xué))頻道,頻道之間的轉(zhuǎn)換時間小于650us。NRF905由電源管理、晶體振蕩器、低噪聲放大器、頻率合成器、接收解調(diào)器、功率放大器、晶體振蕩器和調(diào)制器組成,不需外加濾波器,曼徹斯特編碼/解碼由片內(nèi)硬件完成,無需用戶對數(shù)據(jù)進行曼徹斯特編碼,使用SPI接口與微控制器通信,配置非常方便。此外,其功耗非常低,以-10dBm的輸出功率發(fā)射時電流只有11mA,工作于接收模式時的電流為12.5mA,內(nèi)建空閑模式與關(guān)機模式,易于實現(xiàn)節(jié)能。
NRF905有兩種工作模式分別是ShockBurstTM接收模式和ShockBurstTM發(fā)送模式。ShockBurstTM模式與射頻數(shù)據(jù)包有關(guān)的高速信號處理都在NRF905片內(nèi)進行,數(shù)據(jù)速率由微控制器配置的SPI接口決定,數(shù)據(jù)在微控制器中低速處理,但在NRF905中高速發(fā)送,因此中間有很長時間的空閑,這很有利于節(jié)能。由于NRF905工作于ShockBurstTM模式,因此使用低速的微控制器也能得到很高的射頻數(shù)據(jù)發(fā)射速率。在ShockBurstTM接收模式下,當一個包含正確地址和數(shù)據(jù)的數(shù)據(jù)包被接收到后,地址匹配(AM)和數(shù)據(jù)準備好(DR)兩引腳通知微控制器。在ShockBurstTM發(fā)送模式,NRF905自動產(chǎn)生字頭和CRC校驗碼,當發(fā)送過程完成后,數(shù)據(jù)準備好引腳通知微處理器數(shù)據(jù)發(fā)射完畢。由以上分析可知,NRF905的ShockBurstTM收發(fā)模式有利于節(jié)約存儲器和微控制器資源,同時也減小了編寫程序的時間。
因NRF905工作電壓和微處理器工作電壓不同,因此NRF905射頻模塊與微處理器IO口之間串接1K電阻作為限流電阻。主機微處理器與NRF905射頻模塊之間的連接如下圖5。
(二)端節(jié)點硬件設(shè)計
端節(jié)點硬件系統(tǒng)微處理器主要采用STC5206AD,與之連接的主要包括NRF905無線射頻模塊、DHT11溫濕度采集模塊、DS18B20溫度采集模塊、MQ-5瓦斯?jié)舛葯z測模塊和光敏電阻光照采集模塊構(gòu)成。
(1)端節(jié)點微處理器。端節(jié)點因為所需要的IO口較少,但是需要進行模數(shù)轉(zhuǎn)換獲取數(shù)據(jù),因此微處理器我們采用STC5206AD,端節(jié)點微處理器與NRF905模塊之間的連線同主機微處理器與NRF905模塊連接相同,見上圖5。
(2)DHT11溫濕度一體化采集模塊。DHT11是一款高度集成的溫濕度傳感器芯片,提供全標定的數(shù)字輸出。它采用專利的CMOSens技術(shù),確保產(chǎn)品具有極高的可靠性和卓越的長期穩(wěn)定性。傳感器包括一個電容性聚合體測濕敏感元件、一個用能隙材料制成的測溫元件。并在同一芯片上14位的A\D轉(zhuǎn)換器以及串行接口電路實現(xiàn)無縫連接。因此DHT11具有品質(zhì)卓越、超快響應(yīng)、抗干擾、能力強、極高的性價比等優(yōu)點。每個傳感器芯片都在極為精確的濕度腔室中進行標定以鏡面、冷凝式濕度計為參照。標準系數(shù)以程序形式存儲在OTP內(nèi)存中,在標定的過程中使用單總線的串行接口。
(3)溫度采集和瓦斯氣體檢測模塊。DS18B20數(shù)字溫度計是DALLAS公司生產(chǎn)的單總線器件,具有線路簡單,體積小的特點。因此用它來組成一個測溫系統(tǒng),具有線路簡單,在一根通信線,可以掛很多這樣的數(shù)字溫度計,十分方便。DS18B20的每個器件上都有獨一無二的序列號,實際應(yīng)用中不需要外部任何元器件即可實現(xiàn)測溫。測量溫度范圍在-55°到+125°之間,分辨率用戶可以從9位到12位選擇,精度非常高。
瓦斯氣體檢測我們采用MQ-5氣體傳感器,它使用的氣敏材料是在清潔空氣中電導(dǎo)率較低的二氧化錫(SnO2)。當傳感器所處環(huán)境中存在可燃氣體時,傳感器的電導(dǎo)率隨空氣中可燃氣體濃度的增加而增大。使用簡單的電路即可將電導(dǎo)率的變化轉(zhuǎn)換為與該氣體濃度相對應(yīng)的輸出信號。
MQ-5氣體傳感器對甲烷等可燃性氣體有較好的靈敏度,對乙醇,煙霧幾乎不響應(yīng)。它具有快速的響應(yīng)回復(fù)特性,長期的使用壽命和可靠的穩(wěn)定性等優(yōu)點。廣泛適用于可燃性氣體監(jiān)測裝置。優(yōu)良的抗乙醇,煙霧干擾能力。通過微處理器STC5206AD片內(nèi)自帶的ADC采集獲取電壓VRL,根據(jù)傳感器內(nèi)阻計算公式RS為=(VCC/VRL-1)×RL,內(nèi)阻RS和瓦斯?jié)舛仍诔叵禄境示€性關(guān)系,因此經(jīng)過補償算法,可以通過計算出RS的大小測得瓦斯?jié)舛?。溫度采集和瓦斯氣體檢測模塊原理圖見圖7。
(4)溫濕度和光強度檢測模塊。溫濕度采集和第2小節(jié)介紹相同,這里不再復(fù)述。光強度檢測主要通過光敏電阻和一個固定電阻構(gòu)成分壓電路,光敏電阻的阻值根據(jù)接收到光的強弱而發(fā)生改變,分到的電壓就會發(fā)生變化,然后將得到的電壓送入P11進行ADC采集從而得到準確的光強度值。
三、系統(tǒng)軟件設(shè)計
由于主機微處理器STC12C5A16S2和端節(jié)點微處理器STC5206AD內(nèi)核支持C51語言程序設(shè)計,故采用C語言進行軟件開發(fā),是軟件具有可讀性強、可移植強的特點。主機初始化進行時鐘數(shù)據(jù)設(shè)定和NRF905參數(shù)設(shè)定,然后進行鍵盤掃描獲取預(yù)設(shè)值,接著往從機發(fā)送地址信號,對應(yīng)的端節(jié)點將會發(fā)出正確應(yīng)答信號,主機接收到應(yīng)答信號后,就可以進行數(shù)據(jù)接收,并通過校驗碼判定接收數(shù)據(jù)是否正確,如果數(shù)據(jù)不正確則重新發(fā)送地址信號進行數(shù)據(jù)重新接收,如果接收數(shù)據(jù)正確則進行數(shù)據(jù)存儲,并進行時鐘數(shù)據(jù)讀取和接收到的端節(jié)點數(shù)據(jù)在LCD12864的同時顯示,最后把接收到的數(shù)據(jù)和鍵盤設(shè)定的數(shù)據(jù)進行閾值判斷是否超限,如果超限則發(fā)出報警信號,如果不超限則返回重新進行。
端節(jié)點主要是在節(jié)點進行環(huán)境的數(shù)據(jù)采集,并等待接收地址信號與主機握手,如接收的地址和本機地址溫和,則握手成功,之后就發(fā)送數(shù)據(jù),主機接收到數(shù)據(jù)后進行校驗數(shù)據(jù)是否正確,如果數(shù)據(jù)不正確則端節(jié)點重新發(fā)送數(shù)據(jù),如果數(shù)據(jù)正確則返回重新進行。主機程序流程圖見圖8,端節(jié)點程序流程圖見圖9。
四、測試結(jié)果
先給主機和端節(jié)點進行供電,調(diào)節(jié)某一信息的報警門限閾值,節(jié)點將數(shù)據(jù)傳送給主機顯示,主機所將顯示的溫濕度、溫度、瓦斯?jié)舛燃肮庹諒姸葦?shù)據(jù)和實際終端儀器測試的進行對照,同時觀察期報警效果。光照部分我們根據(jù)室內(nèi)最大亮度100%電壓值和最暗亮度0%電壓值作為參照值,進行1000個刻度的劃分。因節(jié)點3的溫濕度測試情況和節(jié)點1大致相同,不再列表。
通過我們反復(fù)測量的數(shù)據(jù)可知,節(jié)點1由于DHT11本身測量精度的問題,整個測量數(shù)據(jù)還是存在誤差,這是由于DHT11器件本身問題導(dǎo)致,但數(shù)據(jù)誤差處于正常范圍之內(nèi)。節(jié)點2采用的DS18B20溫度數(shù)據(jù)誤差明顯小于DHT11的溫度采集數(shù)據(jù)。節(jié)點2的瓦斯?jié)舛群凸?jié)點3光照部分我們都是通過單片機內(nèi)部10位高精度AD采樣,達到千分之一的分辨率,達到較好的精度。從整體測量數(shù)據(jù)看,我們的結(jié)果是在預(yù)期范圍內(nèi)的,報警功能全部無誤,能夠?qū)崿F(xiàn)監(jiān)測安全的要求。
五、結(jié)語
本系統(tǒng)具有人性化人機交互界面,操控簡單,采集溫濕度、瓦斯?jié)舛?、光強等多個節(jié)點,數(shù)據(jù)全面。由于NRF905是基于節(jié)點的射頻雙工通信系統(tǒng),內(nèi)部有自己的地址和加密方式,很容易的實現(xiàn)對多點實時監(jiān)測,具有可無人值守,節(jié)約資源,可靠性高,成本低,便于擴展節(jié)點數(shù)等優(yōu)點,其監(jiān)測范圍可以在500米以內(nèi),可以廣泛運用家居和室內(nèi)商業(yè)活動等需要進行環(huán)境監(jiān)控的場所。
參考文獻:
[1]楊加國.單片機原理與應(yīng)用及C51程序設(shè)計[M].北京:清華大學(xué)出版社,2008.
[2]深圳宏晶科技.STC12C5A60S2產(chǎn)品選型手冊[Z],2010.
[3]周洪,胡文山,張立明.智能家居控制系統(tǒng)[M].北京:中國電力出版社,2006.
[4]鄭君剛.基于無線傳感器網(wǎng)絡(luò)技術(shù)智能家居報警系統(tǒng)設(shè)計[J].沈陽建筑大學(xué)學(xué)報(自然科學(xué)版),2008,2:345-348.
[5]于昕梅,彭鶴挺.智能家居控制系統(tǒng)設(shè)計[J].電腦開發(fā)與應(yīng)用,2009,1:58-60.
[作者簡介]陳海彬(1980.3-),男,福建漳平市人,本科,學(xué)士,助教,泉州信息職業(yè)技術(shù)學(xué)院,研究方向:自動化控制、嵌入式系統(tǒng)。