国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于DS18B20和nRF2401的庫區(qū)測溫網(wǎng)絡無線傳輸系統(tǒng)

發(fā)布時間:2015-12-3 10:35    發(fā)布者:designapp
摘要:為解決庫區(qū)溫度測量布線難度大、材料成本高、維護檢修難的問題,論文提出了一種用單片機作為控制核心,用DS18B20搭建多點測溫網(wǎng)絡,nRF2401作為傳輸器件的庫區(qū)溫度數(shù)據(jù)無線傳輸系統(tǒng)。經(jīng)實際測試,該系統(tǒng)測量準確度高、傳輸距離遠、性能可靠,具有較好的應用前景。

引言

庫區(qū)溫度直接關系到庫存物資的安全與性能,目前庫區(qū)溫度數(shù)據(jù)的傳輸大多采用有線方式,存在布線難度大、材料成本高、維護檢修不便等不足[1-2],并且數(shù)據(jù)線纜還易受雨雪、潮濕、鼠害等破壞。為克服此類弊端,本文采用nRF2401無線傳輸模塊,結(jié)合1-Wire器件DS18B20,設計開發(fā)一款庫區(qū)溫度數(shù)據(jù)無線傳輸系統(tǒng)。

1 總體方案

系統(tǒng)分為上位機與下位機兩大部分,二者之間的通信通過nRF2401實現(xiàn),如圖1所示。上位機主要包括PC機和上位單片機,其功能是負責接收下位機傳送的溫度數(shù)據(jù)和應用程序的運行,這一部分技術較為成熟,可借鑒的資料較多,不作為本文的重點;下位機采用51系列單片機AT89S51作為控制器,主要負責溫度數(shù)據(jù)的采集、處理和傳輸,圖1僅畫出兩組溫度傳感器繼電器,實際連接10組。本文將著重介紹其硬件電路和軟件設計。



2 電路設計

下位機電路設計的重點是測溫網(wǎng)絡和無線傳輸模塊的搭建,為實現(xiàn)多點測溫,選用Dallas公司出品的DS18B20,構(gòu)建一個1-Wire總線的測溫網(wǎng)絡。DS18B20是1-Wire總線的數(shù)字溫度傳感器,可直接將被測溫度轉(zhuǎn)化成串行數(shù)字信號供單片機處理,適用于惡劣環(huán)境的現(xiàn)場溫度測量[3-4];無線傳輸模塊選用新型單片射頻收發(fā)器件nRF2401,該器件工作于2.4 GHz~2.5 GHz ISM頻段,輸出功率和通信頻道可通過編程進行配置[5],同時,nRF2401功耗低,在以-6dBm的功率發(fā)射時,工作電流僅9mA,接收信號時,工作電流也僅12.3 mA,特別適合單片機應用場合[6-8]。

圖2是市售nRF2401無線模塊,設計上位機、下位機電路時,只需留出相應接口即可。

圖3是設計的電路原理圖,單片機P12口連接10個測溫器件(圖中僅畫出3個),從而構(gòu)建一個小型1-Wire總線測溫網(wǎng)絡,可實現(xiàn)10個庫區(qū)的溫度測量;單片機其他口線連接有10個繼電器(圖中畫出2個),用來控制10個庫區(qū)散熱風扇的運轉(zhuǎn);無線模塊nRF2401通過接口端子與單片機連接,此處注意nRF2401工作電壓是3.3V,需增加電壓轉(zhuǎn)換芯片,為節(jié)省篇幅圖中并未畫出。

上位機接收部分的電路主要由上位單片機、無線模塊接口和電平轉(zhuǎn)換部分組成,這是由于nRF2401輸出數(shù)據(jù)格式是TTL電平,而PC機串口是MAX232電平,為此需要增加一個電平轉(zhuǎn)換電路進行匹配。

3 軟件編程

下位機編程重點在于溫度數(shù)據(jù)的采集與傳送,也就是DS18B20和nRF2401的軟件設計。

3.1 1-wire 總線的基本原理和操作
軟件設計之前,首先要了解1-wire 總線的原理。1-wire總線的特點是用一條數(shù)據(jù)線同時傳輸時鐘信號和數(shù)據(jù),總線上每一個器件都有一個唯一的地址,包括48位的序列號、8位的家族碼和8位的CRC碼,主機對各器件的尋址依據(jù)這64位的ID碼來進行。


為保證在一條數(shù)據(jù)線上實現(xiàn)雙向通信,對DS18B20的操作必須遵循嚴格的讀寫時序[9]。以下介紹基于1-wire總線的幾種典型操作,其余的1-wire總線命令都是由這些典型操作而來。

3.1.1 復位子函數(shù)

在復位與應答時序中,主機發(fā)出復位信號,要求1-wire器件在規(guī)定的時間內(nèi)送回應答信號。

首先主機將總線拉低480μs,發(fā)出復位脈沖,然后產(chǎn)生一個上升沿的跳變,并延時60μs等待1-wire器件的應答;1-wire器件將總線拉低240μs,發(fā)出應答,主機收到應答后,再對DS18B20進行ROM命令。



3.1.2 讀寫操作

所有的讀寫時序至少需要60μs,在位讀和位寫時序中,主機要在規(guī)定的時間內(nèi)讀回或?qū)懗鰯?shù)據(jù)。

寫時序時,主機在拉低總線15μs之內(nèi)釋放總線,并向1-wire器件寫1;讀時序時,主機發(fā)出讀數(shù)據(jù)命令,產(chǎn)生讀時序,1-wire器件隨即向主機傳輸數(shù)據(jù)。

3.2 DS18B20的溫度轉(zhuǎn)換

DS18B20網(wǎng)絡溫度測量的步驟一般是:器件初始化、復位、ROM操作、溫度轉(zhuǎn)換。初始化及復位完成后,要對網(wǎng)絡中的器件進行ROM識別,然后再讀取溫度數(shù)據(jù)。3.2.1 利用二叉樹遍歷算法進行器件識別

二叉樹遍歷算法是搜索識別網(wǎng)絡中1-Wire器件的編程首選,二叉樹遍歷算法的要點可歸納為“讀2位,寫1位” [4]。

首先主機向從機發(fā)出搜索命令,等待從機向主機發(fā)回當前位之后,再讀從機發(fā)回當前位的反碼,這兩個位數(shù)據(jù)的編碼存在4種可能:00、01、10和11。

00表示從機在當前位上有位分叉,即0和1兩個分支;

01表示從機的當前位均為0;
10表示從機的當前位均為1;
11表示總線上無器件響應。
顯然,出現(xiàn)11時搜索應退出。

對于前3種情況,根據(jù)搜索策略,主機向從機寫1位數(shù)據(jù),決定繼續(xù)搜索哪一分支。第2和第3種情況下,搜索僅有一個方向,如果是第1種情況即出現(xiàn)00時,需要選擇下一步搜索路徑,方法是比較搜索位所在位置和最后一次發(fā)生位差異的所在位置,若二者相等,搜索1分支,若前者>后者,搜索0分支,若前者[10];二是DS18B20中64位ID碼標記為第1—64位,而不是0—63位,空出來的0用來表示差異位位置記錄的初始狀態(tài)。

3.2.2 溫度數(shù)據(jù)的讀取

轉(zhuǎn)換完成后的溫度數(shù)據(jù)由低8位和高8位組成,且低8位在前,需將其轉(zhuǎn)換為1個16位的數(shù),高5位代表符號,低11位是溫度值。11位的溫度值中高7位是溫度整數(shù),低4位是溫度小數(shù),如果是負溫度,則從溫度寄存器讀出的是補碼,應將補碼取反加1得到原碼。

需要注意,單片機發(fā)出讀取溫度寄存器命令后,DS18B20會返回9組數(shù)據(jù),其中第一組數(shù)據(jù)的低4位代表溫度的小數(shù)值,因此溫度小數(shù)部分的精度為1/16=0.0625。另外程序中應增加延時函數(shù),確保溫度轉(zhuǎn)換完成。

3.3 nRF2401程序設計要點

溫度轉(zhuǎn)換完成后,由nRF2401將數(shù)據(jù)發(fā)送給上位機,并接收上位機發(fā)出的指令,實現(xiàn)雙向通信。

3.3.1 初始化配置與數(shù)據(jù)收發(fā)

nRF2401初始化配置包括設置待機模式、CRC校驗、收發(fā)完成后中斷響應、選擇射頻通道、設置數(shù)據(jù)傳輸率和發(fā)射功率。

nRF2401的CE管腳為0時處于待機模式,為1時處于收發(fā)模式,收發(fā)模式有ShockBurst模式和直接模式兩種,本文選擇速度較快、功耗較低的ShockBurst模式。                                
               
發(fā)送過程為:設置Config寄存器使器件處于發(fā)送模式,當測溫節(jié)點有數(shù)據(jù)需要發(fā)送時,溫度和地址數(shù)據(jù)送到nRF2401中,單片機將CE管腳置高,激活ShockBurst發(fā)送模式,完成數(shù)據(jù)打包并高速發(fā)送,然后等待中斷。

接收過程為:設置Config寄存器使器件處于接收模式,單片機將CE管腳置高,激活ShockBurst接收模式,延時130μs后檢測空中信息,若接收到有效的數(shù)據(jù)包,則發(fā)送確認信號,產(chǎn)生中斷,同時讀出有效數(shù)據(jù)并發(fā)送給單片機,單片機通過串口將數(shù)據(jù)發(fā)給PC機。



3.3.2 收發(fā)模式的自動識別設計

為簡化編程,增強代碼通用性,本文為上位單片機和下位單片機設計了完全相同的同一套程序代碼,系統(tǒng)自動識別并設置工作模式,無需人為區(qū)分單片機是接收還是發(fā)送。實現(xiàn)接收和發(fā)送模式自動切換的代碼如下:

void Switch_RT(uchar SW, uchar mode)
{ //收發(fā)模式切換子函數(shù)
CE=0; //待機
if(SW) //為1
SPI_WR_Reg(CONFIG, SPI_RD(CONFIG) & 0xfe); //發(fā)射模式
else //為0
SPI_WR_Reg(CONFIG, SPI_RD(CONFIG) | 0x01); //接收模式if(mode)
CE=1; //拉高CE啟動收發(fā)
}

程序默認無線模塊處于接收模式,下位單片機測得溫度數(shù)據(jù)后,將Config寄存器的PRIM_RX位置0,控制nRF2401工作于發(fā)送模式,將數(shù)據(jù)打包發(fā)出,隨即將PRIM_RX位置1,處于接收模式;上位機端nRF2401接收到數(shù)據(jù)包后,即由上位單片機將其讀出并通過串口傳給上位PC機。

PC機向下位機發(fā)送指令時,首先將指令發(fā)給上位單片機,上位單片機一旦接到指令,即將PRIM_RX位置0,控制nRF2401工作于發(fā)送模式,發(fā)出數(shù)據(jù)包;下位單片機通過nRF2401接收后將數(shù)據(jù)包讀出執(zhí)行。

4 系統(tǒng)運行情況

PC機應用程序采用Visual Studio2010 VB.net編寫,上位單片機與PC機應用程序之間的通信通過串口控件實現(xiàn),二者之間的參數(shù)設置需一致。



程序運行界面如圖4所示,各庫區(qū)溫度正常時,溫度值字體顏色正常,某庫區(qū)溫度超過正常值時,相應溫度值字體以紅色顯示并閃爍,下位單片機自動接通對應庫區(qū)繼電器,啟動散熱風扇進行降溫;當溫度下降至正常值后,單片機控制繼電器關斷散熱風扇,同時溫度值字體顏色恢復正常。溫度值右側(cè)標簽顯示的數(shù)據(jù)是設定的正常溫度范圍。

“庫區(qū)選擇”組合框中有10個復選框,對應10個庫區(qū);按下“啟動風扇”按鈕可對所選庫區(qū)進行強制通風;按下“關閉風扇”按鈕可強制關閉散熱風扇;按下“溫度范圍設定”按鈕可對所選庫區(qū)報警溫度閾值進行設置;按下“保存數(shù)據(jù)”按鈕可將庫區(qū)編號、溫度值、時間信息等保存至指定位置,便于查看分析。

5 結(jié)論

利用本文設計的無線傳輸系統(tǒng),可以采集10個重要庫所的溫度數(shù)據(jù),經(jīng)過單片機的處理,將數(shù)據(jù)通過nRF2401傳輸給PC機顯示。經(jīng)實測證明,此無線傳輸方案能準確采集并傳送溫度數(shù)據(jù),傳送距離可達60米,空曠地帶接近100米,既避免了繁瑣的布線,又可有效防止惡劣天候的影響,采用元件少、簡單易行、成本低廉、性能可靠、便于檢修,是一種新穎實用的庫區(qū)溫度監(jiān)控系統(tǒng)。

參考文獻:
[1]劉斌.基于nRF2401和GPRS的無線溫度傳輸系統(tǒng)設計[J].現(xiàn)代電子技術,2012;35(15):46-48
[2]王旭,馬汝建,王洪斌. 基于nRF24E1的多點無線測溫報警系統(tǒng)設計[J]. 濟南大學學報(自然科學版),2013;27(4);352-357
[3]丁恩杰,蹤曉志.基于nRF24E1和DS18B20的無線測溫系統(tǒng)[J].儀表技術與傳感器,2010;11(3);60-62
[4]李飛,沈玲,黃熹. 1-Wire總線測溫網(wǎng)絡的構(gòu)建[J]. 電子產(chǎn)品世界,2012;(10);43-44
[5]孫保群,王瓊. 基于nRF2401軟件跳頻協(xié)議的設計與實現(xiàn)[J].電子技術應用,2012;38(5);46-48,51
[6]郭吉術,林明星,劉偉,等. 基于nRF2401的無線扭矩監(jiān)測系統(tǒng)[J].儀表技術與傳感器,2012;(12);57-60
[7]朱嶸濤,徐愛鈞,葉傳濤. STC15單片機和nRF2401的無線門禁系統(tǒng)設計[J].單片機與嵌入式系統(tǒng)應用,2014;(6);57-60
[8]王曉峰,張致恒,張 波,等. 基于nRF2401的高速路不停車收費系統(tǒng)[J]. 電力學報,2009;24(5);431-433
[9]呂勝杰,霍淑艷. 基于DS18B20的單總線多點測溫技術[J].現(xiàn)代電子技術,2011;34(2);185-187
[10]陳佳聞. 基于多點測溫的溫室智能控制系統(tǒng)設計[J].山東農(nóng)業(yè)大學學報(自然科學版),2010;41(3);435-439
本文地址:http://m.qingdxww.cn/thread-158384-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內(nèi)容、版權和其它問題,我們將根據(jù)著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發(fā)培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美深夜| 我和老丈洗澡同性| 亚洲一区日韩二区欧美三区| 国产午夜精品AV一区二区麻豆| 香蕉尹人综合精品| 一级a爰片久久毛片| 四川农村女人一级毛片| 午夜一级免费视频| 成年人视频在线免费| 日韩熟女精品一区二区三区| 欧美日韩在线高清| 色综合图区| 香蕉视频在线观看视频| 穿白丝袜边走边尿白丝袜| 文中字幕一区二区三区视频播放| 亚洲 日本 欧美 日韩精品| 思思久久99热免费精品6| 亚洲第一视频区| 国产成年网站v片在线观看| 侮辱丰满美丽的人妻| 奇米色88欧美一区二区| 亚洲成在人线影视天堂网| 一区二区视频| 美女坐脸vk| 色xxxxx| 日韩一本| 亚洲国产在线播放| 国产女人91精品嗷嗷嗷嗷| 亚洲中文字幕一二三四区苍井空| 奇米影视亚洲春色77777| 伊人色在线观看| 最新国产三级久久| 欧美14videosex性欧美成人| 日韩欧美一区二区三区久久| 四虎影永久在线观看精品| 亚洲欧美另类专区| 精品国产九九| 日韩精品在线播放| 日韩亚洲欧美在线观看| 亚欧乱色精品免费观看| 国产午夜婷婷精品无码A片|