基于單片機ATmega16的無線溫度監測系統
溫度傳感器模塊采用數字溫度傳感器DS18B20,它是美國Dallas半導體公司推出的一種智能數字溫度傳感器。DS18B20在與MCU連接時僅需要一條線(即單總線接口,加電源為三線接口)即可實現微處理器與DS18B20的雙向通訊。使用DS18B20可以節省系統資源、使系統結構更趨簡單。DS18B20測溫范圍是-55℃~+125℃,固有測溫分辨率0.5℃。工作電源為3 V~5V/DC。在使用中不需要任何外圍元件,測量結果以9~12位數字量方式串行傳送。DS18B20內部結構主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發的溫度報警觸發器TH和TL、配置寄存器。其中64位光刻ROM中存儲的是該DS18B20的地址序列號碼。其號碼的排列是:最初8位(28H)是產品類型標號,接著的48位是DS18B20自身的序列號,最后8位是前面56位的循環冗余校驗碼(CRC=X8+X5+X4+1)。光刻ROM中的地址序列碼可以區分每一個DS18B20,從而實現在同一根總線上掛接多個DS18B20。根據DS18B20的通訊協議,MCU(單片機)控制DS18B20完成溫度轉換必須經過三個步驟:
(1)每一次讀寫之前都要對DS18B20進行復位操作
(2)復位成功后發送一條ROM指令
(3)最后發送RAM指令
這樣才能對DS18B20進行預定的操作。復位要求主CPU將數據線下拉500 μs,然后釋放,當DS18B20收到信號后等待16~60μs左右,后發出60~240μs的低脈沖,主CPU收到此信號表示復位成功。論文設計的測溫系統中每一個DS18B20在與MCU連接時各占用一個I/O口,則MCU控制DS18B20完成溫度轉換的步驟如圖3所示。本文引用地址:http://www.104case.com/article/172738.htm
nRF24L01是Nordic公司推出的高集成的單片無線收發器件。芯片具備自動應答和自動重發功能,速度可達2 Mbps,126個可選工作頻道,很短的頻道切換時間,可用于跳頻,其輸出功率,頻道選擇以及協議設置都可以通過SPI口進行設置。其Enhanced Shock Burst模式可以同時控制應答及重發功能而無需增加微控制器的工作量。nRF24L01還具備同一頻道接收六路不同通道數據的功能,利用FDMA技術最多可實現750個點的數據采集,這使它成為無線溫度測量系統硬件實現的最佳選擇。nRF24L01模塊在與MCU進行數據傳輸時,可以使用MCU普通的I/O口,系統中直接利用ATmega16的固有資源SPI通信口,這樣從一定程度上簡化了軟件設計過程。
評論