無線傳感器已成為不可缺少的器件,對于無線傳感器,大家已有所耳聞。往期文章中,小編對無線傳感器基礎知識有所介紹。為增進大家對無線傳感器的認識,本文將對無線傳感器的應用無線溫度傳感器加以探討,主要在于闡述它的設計方案。如果你對本文內容存在興趣,不妨繼續往下閱讀哦。
目前,大多采用的是有線多點溫度采集系統,通過安裝溫度節點來實現對室內外溫度監控。這種傳統的多點采集系統需要用導線與每個溫度采集節點連接,其技術成熟,制作成本相對較低。但是,在許多場合需要將傳感器節點直接放置在目標地點進行現場的數據采集,這就要求傳感器節點具有無線通信的能力。同時,由于無線傳感器通常使用電池作為能源,所以,它對能耗要求非常高。
本設計主要是基于433 MHz ISM頻段,無需申請就可以使用。該設計方案有許多明顯的優點:傳輸速度快、距離遠、數據穩定;采用低功耗模式,延長電池使用時間;能保證任何時候數據不丟失,提高系統的強健度。
1系統硬件設計
所設計的無線溫度傳感器主要由以下幾部分組成:溫度測量、發射部分、接收部分、LCD顯示部分以及操控部分。系統結構圖如圖1所示。
1.1 溫度測量電路
在溫度測量電路中采用Dallas公司生產的1-Wire總線數字溫度傳感器DS18B20。溫度測量電路如圖2所示。
DS18B20是3引腳TO-92小體積封裝形式;溫度測量范圍為-55~125℃,可編程為9-12位A/D轉換精度,測溫分辨率可達0.062 5℃,被測溫度以帶符號擴展的16位數字方式串行輸出。
DS18B20內部結構主要由4部分組成:64位ROM、溫度傳感器、非揮發的溫度報警觸發器TH和 TL及配置寄存器。ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼,每個DS18B20的64位序列號均不相同。 ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現一根總線上掛接多個DS181E0的目的。
DS18B20中的溫度傳感器完成對溫度的測量,用16位符號擴展的二進制補碼形式提供,以0.062 5℃/LSB形式表達。例如+25.062 5℃的數字輸出為0191H,-25.062 5℃的數字輸出為FF6FH。
高低溫報警觸發器TH和TL、配置寄存器均由一個字節的E2PROM組成,使用一個存儲器功能命令可對TH,TL或配置寄存器寫入。其中配置寄存器的格式如下:
R1和R0決定溫度轉換的精度位數:R1R0=“00”,9位精度,最大轉換時間為93.75 ms;R1R0=“01”,10位精度,最大轉換時間為187.5 ms;R1R0=“10”,11位精度,最大轉換時間為375 ms;R1R0;“11”,12位精度,最大轉換時間為750 ms;未編程時默認為12位精度。設計取R1R0=“11”。
1.2 無線收發電路
IA4421支持SPI通信協議,本設計選擇了美國ATMEL公司出品的高性能單片機ATmega324p,其內置增強型SPI接口,并且有32 kB的FLASH,能夠滿足在系統中的LCD上顯示中文字符。IA4421與單片機的接口電路示意圖如圖3所示。
ATmega324p內置的增強型串行外設接口SPI提供訪問一個全雙工同步串行總線的能力。SPI所使用的4個信號為MOSI,MISO,SCK 和SS。MOSI用于從主器件到從器件的串行數據傳輸;MISO用于從器件到主器件的串行數據傳輸;SCK用于同步主器件和從器件之間在MOSI和 MISO線上的串行數據傳輸。
1.2.2 無線發送時序
IA4421的發送方式為發送寄存器緩沖數據傳輸方式,由配置設置命令的第7位el來使能,圖1可以看出,IA4421共有2個8位的數據寄存器,發送的數據首先被鎖存到其中一個數據寄存器中,當電源管理命令的第5位et被置1,則發送器開始以設置的碼率從第一個寄存器向外發送數據。
每次發送數據必須以0xAA作為發送數據的前導碼,否則外部接收裝置無法接收數據。若是采用同步模式,則要用0x2DD4作為同步模式的標志碼,然后才能開始傳輸數據。引腳nIRQ可以用來檢測寄存器是否準備好從微處理器接收下一個字節來發送,若是引腳nIRQ變為低電平,則表示寄存器準備好了。
1.2.3 無線接收時序
IA4421的接收方式有兩種:一種是一直接收;另一種是FIFO模式。前一種方式并不推薦,會引起較高的誤碼率。本設計采用后一種模式。在相應的控制字都設置好之后,數據已進入緩沖器中,若引腳nIRQ變成低電平,則表示IA4421準備好接收數據,這時發送FIFO讀命令字,開始接收。
1.3 外圍天線設計
IA4421的支持天線直接驅動,設計相當簡單方便并且通信距離長。一個50 Ω的外接螺旋天線和對應的差分電路就可以實現數據的發送和接收。本系統設計的天線是用1.17 cm的單芯銅導線實現,導線的直徑是0.6 mm,用螺絲刀的金屬棒饒制7圈成螺旋狀。經過實驗,實際有效的通信距離能達到200 m左右,滿足了系統需要。
2 系統軟件設計
2.1 單片機軟件設計
單片機軟件部分主要包括主程序、中斷子程序、測溫子程序、LCD的轉換顯示,蜂鳴器報警子程序,按鍵子程序以及SPI子程序等。為了降低功耗,使用中斷來喚醒單片機進行測溫等工作,因此主程序部分比較簡單,主要負責系統各部分初始化和中斷的調用,在系統初始化完成后就直接進入睡眠模式,當中斷到來時單片機退出睡眠模式,調用中斷子程序實現測溫、轉換顯示、溫度數據的傳輸等功能。單片機控制程序流程圖如圖4所示。
2.2 IA4421應用程序設計
本系統是基于無線收發芯片IA4421和單片機ATmega324p的增強型串行外設接口SPI來實現無線數據的傳輸,在核心協議棧上編寫自己的上層應用程序。發送接收數據的程序流程圖如圖5所示。
2.3 低功耗設計
作為無線傳感器,低功耗運行可以最大限度地延長設備的有效使用時間,本系統是采用電池供電,功耗肯定就是一個不得不考慮的問題。為了獲得最佳性能,設計時在電源損耗和可用性方面必須根據情況權衡使用,除了選用低功耗器件外,還從以下幾個方面設計電源管理程序以盡量減少無線溫度傳感器的功耗:
(1)由于無線溫度傳感器負責向控制終端傳輸數據,因此何時進行數據采集、何時進行數據傳輸可以由上位機的控制終端決定,非常適合使用休眠模式和呼吸模式,通過減少IA4421在微微網中的活動達到節電的目的。把控制終端作為主設備,將電源管理程序設計在終端的應用控制層中,并由控制終端完成設備的查詢、配對、建鏈等工作,當無線傳感器與控制終端配對成功并連接后進入休眠模式,此時主從設備仍然保持著信道,只是不能發送和接收數據。當需要進行數據傳輸時,退出休眠模式進入呼吸模式,通過呼吸時隙發送數據,呼吸間隔可設為20~40 ms,間隔過大會帶來明顯延遲,當數據傳輸結束后再次進入休眠模式,從而盡可能地降低能耗。
(2)應用單片機的睡眠模式達到節能目的。當IA4421退出待機狀態,發送指令進行數據采集時,IA4421的中斷請求標志位nIRQ產生低電平,通過中斷標志位上電平的變化產生外部中斷來喚醒單片機進入工作狀態。
-
傳感器
+關注
關注
2548文章
50698瀏覽量
752043 -
lcd
+關注
關注
34文章
4411瀏覽量
167101 -
測量電路
+關注
關注
2文章
145瀏覽量
29741
發布評論請先 登錄
相關推薦
評論