a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 手機與無線通信 > 設計應用 > 基于nRF905的糧庫無線溫濕度監控系統

基于nRF905的糧庫無線溫濕度監控系統

作者: 時間:2007-08-09 來源:網絡 收藏
引言

  是影響糧食倉儲過程中品質好壞的主要因素。目前我國許多糧食倉儲單位仍采用測溫儀器與人工抄錄、管理相結合的傳統方法,這不僅效率低,而且往往由于判斷失誤和管理不力造成局部或大范圍糧食霉變的現象時有發生。

  本文介紹采用射頻模塊、多個DS18B20構成的測溫網絡、濕度傳感器HS1101組成一種全數字,徹底擺脫了傳統的人工抄錄方法,能實時檢測糧倉中的,并根據所測的數據控制空調器、除濕機等外部設備的運行,確保糧倉內合適的溫濕度環境,該設計具有簡單可靠和靈活方便的特點。

硬件設計

  系統硬件結構由兩個部分組成:中央CMS和多個遠程終端節點RTN(見圖1)。

系統硬件

  圖1 系統硬件

  中央主要包括監控計算機和主接收器,監控計算機與主接收器之間通過串口(RS232)來通信,控制遠程終端節點單片機(P89LPC916)讀取溫濕度值、并且實時記錄讀取的通道編號、DS18B20編號、時間。可以作為原始資料的積累,用于將來的數據分析,人機界面和單片機的通信用Visual Basic編程。

  主接收器:通過射頻

模塊以點對點或廣播方式發送監控計算機的各種控制命令,在命令發出以后,采用逐一掃描的方式探測各個數據終端有沒有發送通信請求;若有則執行相應的要求。

  遠程終端主要由P89LPC916單片機、射頻模塊、DS18B20的測溫網絡、濕度傳感器HS1101、外部設備驅動器及放大調整電路組成。通過P89LPC916單片機的3個通用IO連接多個DS18B20構成“一線總線”通信,實現DS18B20的測溫網絡。濕度傳感器HS1101探測現場環境濕度,經過A/D轉換后變為數字信號。現場檢測信號由P89LPC916單片機進行處理,最后將數據通過nRF905收發器送出。當P89LPC916單片機檢測到異常的儲糧溫濕度時,啟動風機等外部設備,送信號到監控計算機和報警電路,有聲光報警,提醒工作人員。

DS18B20

  美國Dallas公司的DS18B20數字式溫度傳感器,工作電壓3.0~5.5V,溫度測量范圍-55~125℃,在-10~85℃范圍內測量精度為0.5℃。與傳統的熱敏電阻溫度傳感器不同,它能夠直接讀出被測溫度,并且可根據實際要求通過簡單的編程實現9~12位的數字值讀數方式,可以分別在93.75ms和750ms內將溫度值轉化為9位和12位的數字量。該芯片在檢測點已把被測信號數字化了,因此在單總線上傳送的是數字信號。本系統設計中選擇了該傳感器,使得系統溫度傳感器模塊的硬件極其簡單,只占用單片機系統的一個數據I/O口加一個上拉電阻即可。

  DS18B20因其序列號在出廠前已寫入片內ROM中,主機在進入操作程序前必須逐一接入DS18B20用讀ROM(33H)命令將該DS18B20的序列號讀出。當主機需要對眾多在線DS18B20的某一個進行操作時,首先要發出匹配ROM命令(55H),接著主機提供64位序列碼,之后的操作就是針對該DS18B20的。在DS18B20組成的多路測溫系統中,主機在發出跳過ROM命令之后,再發出統一的溫度轉換啟動碼44H,就可以實現所有DS18B20的統一轉換。再經過1s后就可以用很少的時間去逐一地讀回每個DS18B20的溫度數據。

射頻芯片nRF905

  nRF905是挪威Nordic公司推出的單片射頻發射器芯片,工作電壓為1.9~3.6V,工作于433/868/915MHz3個ISM頻道。nRF905可以自動完成處理字頭和CRT(循環冗余碼校驗)的工作,可由片內硬件自動完成曼徹斯特編碼/解碼,使用SPI接口與微控制器通信,配置非常方便,其功耗非常低,以-10dBm的輸出功率發射時電流只有11mA,在接收模式時電流為12.5mA。

  nRF905傳輸數據時為非實時方式,即發送端發出數據,接收端收到后先暫存于芯片存儲器內,外面的MCU可以在需要時再到芯片中去取。nRF905一次的數據傳輸量最多為32B。

數據傳送的實現

  本設計中將單片機P89LPC916的SPI接口和nRF905的SPI接口相連,另外再選幾個I/O口連接nRF905的輸入輸出信號,如圖2所示。

nRF905控制電路

  圖2 nRF905控制電路

  nRF905在正常工作前應由P89LPC916先根據需要寫好配置寄存器,其后的工作主要是兩個:發送數據和接收數據。

  發送數據時,P89LPC916先把nRF905置于待機模式(PWR_UP引腳為高、TRX_CE引腳為低),然后通過SPI總線把發送地址和待發送的數據都寫入相應的寄存器中,之后把nRF905置于發送模式(PWR_UP、TRX_CE和TX_EN全置高),數據就會自動通過天線發送出去。為了數據可靠地傳輸,將射頻配置寄存器中的自動重發位(AUTO_RETRAN)設為有效,數據包重復不斷地一直向外發,直到P89LPC916把TRX_CE拉低,退出發送模式為止。

接收數據時,P89LPC916把nRF905的TRX_CE引腳置為高電平,TX_EN引腳拉為低電平后,就開始接收數據。本設計中P89LPC916設定的40s內一直判斷nRF905的DR引腳是否變高,若為高,則證明接收到了有效數據,可以退出接收模式,若一直沒有接收到,待時間到時也退出接收模式。退出后在待機模式,P89LPC916通過SPI總線把nRF905內部的接收數據寄存器中的數據讀出,即接收到的有效數據。

軟件設計

  本系統設計的重點是控制nRF905的程序設計,首先是對nRF905進行初始配置,配置完成后按需要編寫用戶數據的發送或接收程序。

軟件系統的整體數據處理流程

  圖3 軟件系統的整體數據處理流程

初始化

初始化nRF905的射頻配置寄存器

  這些寄存器中有很多信息,必須根據實際情況進行配置,本設計中nRF905外接16MHz晶體,XOF應配置為0

11;PA_PWR為發射功率、RX_RED_PWR為接收靈敏度,可根據需要配置;另外還有發送地址、接收地址、發送數據和接收數據的長度(字節數),可根據實際應用配置。注意這組寄存器中還有接收時的實際地址,而發送地址在其他單獨寄存器中。

配置nRF905的發送地址

  在實際工作中,nRF905可以自動濾除地址不相同的數據,只有地址匹配且校驗正確的數據才會被接收,并存儲在接收數據寄存器中。本設計中配置最多4個字節(32位),發送端的發送地址應與接收端設備的接收地址相同。

用戶程序

  根據系統的硬件設計方案,分為發送端和接收端兩個部分,軟件系統的整體數據處理流程如圖3所示。軟件系統分為5個模塊:溫濕度采集模塊、外部設備模塊、RF發送模塊、RF接收模塊、中央監控系統報表統計分析模塊。

通信協議

  系統結構為有多個發送端向1個接收端單向發送溫濕度數據,同時要求接收端能夠根據接收的數據內容判斷信號來自哪一個發送模塊;接收端根據溫濕度數據是否越界從而驅動前端外部設備。為此,將系統通信協議設置為如下格式:

  Preamble為引導字節,Add為接收機地址,Payload為有效加載數據(包括接收顯示單元識別碼Rid、源發送單元識別碼Sid及Data字――在接收時Data字高八位內容即為溫度數據,低八位內容即為濕度數據;發送控制命令即為外部設備控制字,長度為2字節),CRC為校驗碼。nRF905處于發射模式時,Add和Payload由微控制器按順序送入射頻模塊nRF905,Preamble和CRC由nRF905自動加載。接收時,nRF905先接收一個數據包,分別驗證Preamble、Add和CRC正確后,再將Payload數據送入微控制器處理;當接收顯示單元微處理器判斷Payload中的Rid和本機識別碼一致時,繼續處理后繼數據,并通過Sid來判斷收到的數據來自哪一個監測點,保存至中央監控系統數據庫供后期數據分析處理。

結語

  nRF905、濕度傳感器HS1101以及DS18B20智能溫度傳器設計的分布式多點測量系統能很好的滿足溫濕度監測的要求。自2006年3月在中山市某應急糧加工中心使用至今,系統穩定可靠,簡單易用。

參考文獻:

1.Dallas Semiconductor. DS18B20 Datasheet.http://www.maxim-ic.com.cn,2005-06-14
2.Nordic VLSI ASA Inc.nRF905 Datasheet. rev1-2.http://www.nvlsi.com,2005-01-22
3.毛哲、謝兆鴻等,糧情智能測控系統的研制,微計算機信息,2003.6:39-40



評論


相關推薦

技術專區

關閉