康樂為 徐丹



摘 要:文章將51單片機和nRF24L01技術有機結合起來,組成無線遠程測溫通信系統。系統由51單片機,DS18D20溫度采集模塊,LCD溫度數據顯示模塊,nRF24L01無線數據收發模塊組成。具有實現無線數據傳輸可靠穩定,低功耗,編程簡單等特點。實踐證明該系統能適應于多種環境溫度的檢測。
關鍵詞:nRF24L01;溫度檢測;無線通信;單片機
目前,無線通信領域越來越廣,如:wifi,藍牙,安全防火系統,水產養殖系統,智能家居系統等等。凡是布線復雜或者不能布線的場合都希望通過無線方案解決。為此需要設計相應的接口系統,完成系統數據交互,實現系統控制功能等。本系統采用了DS18D20溫度采集模塊及Nordic公司新推出的工作于2.4GHz頻段的nRF24L01射頻芯片,并由超低功耗單片機控制實現短距離無線數據通信,打破了傳統操作中距離受限的問題,使測溫操作更易實現。系統框圖如圖1:
nRF24L01是一款工作在2.4~2.5GHz世界通用ISM頻段的單片無線收發器芯片,其工作速率為0~2Mb/s,最大發射功率為0dBm,其外圍元件極少,內置硬件CRC(循環冗余校驗)和點對多點通信地址控制,集成了頻率合成器,晶體振蕩器和調制解調器.它的主要特點如下:
1)低工作電壓:1.9~3.6V低電壓工作;
2)高速率:2Mbps,由于空中傳輸時間很短,極大地降低了無線傳輸中的碰撞現象;
3)多頻點:125頻點,滿足多點通信和跳頻通信需要;
4)超小型:體積小巧,5mm 5mm;
5)低功耗:當工作在發射模式時,發射功率為-6dBm,電流消耗為9mA,接收模式為12.3mA,掉電模式和待機模式下電流消耗更低。
6)低應用成本:nRF24L01的SPI接口可以利用單片機的硬件SPI口連接或用單片機I/O口進行模擬,內部有FIFO可以與各種高低速微處理器接口,便于使用低成本單片機.
nRF24L01芯片最突出的特點是有2種通信模式:DirectMode(直接模式)和ShockBurstMode(突發模式).直接模式的使用與其他傳統射頻收發器的工作一樣,需要通過軟件在發送端添加校驗碼和地址碼,在接收端判斷是否為本機地址并檢查數據是否傳輸正確.ShockBurstMode使用芯片內部的先入先出堆棧區,數據可從低速微控制器送入,高速(2Mb/s)發射出去,地址和校驗碼硬件自動添加和去除,這種模式的優點是:可使用低速微控制器控制芯片工作;?減小功耗;?射頻信號高速發射,抗干擾性強;減小整個系統的平均電流.因此,使用nRF24L01芯片特有的ShockBurstMode使得系統整體的性能和效率提高。
nRF24L01工作原理圖如圖2所示:
2 硬件電路設計
2.1 DS18D20溫度采集模塊
溫度部分采用數字溫度傳感器DS18B20測量溫度,DS18B20的測溫范圍-55℃~+125℃,固有測溫誤差1℃。DS18B20可以程序設定9~12位的分辨率,精度為±0.5°C。在9位分辨率時最多在93.75ms內把溫度轉換為數字,12位分辨率時最多在750ms內把溫度值轉換為數字,速度很快。DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉換電路集成在形如一只三極管的集成電路內。測量結果直接輸出數字溫度信號,以"一線總線"串行傳送給CPU,同時可傳送CRC校驗碼,
具有極強的抗干擾糾錯能力,并且在出現較大溫度誤差的情況下可以適用DHT11的測溫部分調整。本系統中溫度傳感器輸出腳I/O直接與單片機的P1.1相連,外接4.7KΩ的上拉電阻到電源,采用外部電源供電。
2.2 LCD1602顯示模塊
LCD顯示配置靈活,與單片機連接方便,通過讀寫操作時序即可完成。LCD顯示塊具有顯示質量高、數字式接口、功耗少、超薄輕巧等諸多優點,因此在單片機應用系統中應用廣泛,本系統的顯示采用的就是LCD1602作為顯示部件。
2.3 主控模塊
本系統設計采用51單片機作為主控芯片,這是新一代高速,低功耗,超強干擾的單片機,指令代碼完全兼容傳統8051單片機,12時鐘周期,采用11.0592MHz外部晶振起振,DIP40封裝,內部集成EEPROM,用戶應用程序空間為8K,支持ISP下載程序。串行通信時可軟件選擇UART/SPI模式,整個系統采用5V供電。除了上述主控芯片外,還要預留必要的功能模塊驅動接口,主要包括:nRF24L01無線射頻芯片接口,步進電機接口,LCD液晶接口,DS18B20,DHT11和其他的外部擴展接口.主控制電路主要由AT89S51單片機芯片復位電路及外設晶振電路組成。具體電路圖如圖3所示,該單片機的P1.4,P1.5,P1.6,P1.7口接無線收發模塊的1、2、3、4引腳,通過SPI方式進行通信,P1.5,P1.6引腳分別收發圖2中的數據。圖3中J3作為串口及外部擴展使用,J4與無線收發模塊連通,J5,J6為外部擴展接口,接LCD顯示模塊。
3.1 溫度檢測模塊軟件設計
DS18B20的測溫原理遵循嚴格的單總線協議,以確保通信數據的準確性。DS18B20溫度傳感器與單片機P16口連接,液晶的RS端接P3.4口,RW端接P3.6口,EN使能端接P3.7口。然后開始初始化,分別把RW、EN拉低,設置顯示模式,清除屏幕,將光標移到第一行第一個位置。單片機通過時序來寫入和讀出DS18B20中的數據。傳感器復位后,接收應答信號,啟動溫度轉換,等待溫度轉換完畢后,保存數據。如此反復,完成所有操作,其流程圖如圖3所示。
3.2 無線發射模塊軟件設計
在nRF24L01無線發送部分主程序中,首先進行初始化操作,通過配置模式對nRF24L01進行設置,主要包括發送的數據寬度、地址寬度、發送數據的地址和常用配置等。常用配置包括使能第一頻道設置、通信方式設置、發送數據速率設置、晶頻率設置、發送輸出功率設置、頻道設置和收發模式設置等。待初始化完成后,將nRF24L01設置為發送模式,進行發送數據。然后查看狀態寄存器TX_DS是否為1,如果TX_DS為1則表示nRF24L01發送成功,并且1602液晶可以顯示發送的數據;如果TX_DS不為1則代表nRF24L01發送不成功,程序返回重新發送。
3.3 無線接收模塊軟件設計
接收數據時,首先將nRF24L01配置為接收模式。接著延遲130μS進入接收狀態等待數據的到來。當接收方檢測到有效地址時,就將數據包儲存在接收堆棧中,同時狀態寄存器中的中斷標志位RX_DR置高,產生中斷使IRQ引腳變為低電平,以便通知MCU去取數據。若此時自動應答開啟,接收方則同時進入發射狀態回傳應答信號。最后接收成功時,若CE變低,則nRF24L01進入空閑模式1.
4 結束語
基于nRF24L01的溫度檢測系統擁有性能穩定、成本低、低功耗等特點,能夠廣泛應用于各類對溫度要求較為特殊的環境下溫度數據的檢測
參考文獻
[1]丁媛媛.基于nRF2401無線雙向通信系統設計[J].常州工學院學報,2012.10.
[2]張毅剛.單片機原理及應用[M].北京:高等教育出版社,2011.
[3]劉志平、趙國良.基于nRF2401的近距離無線數據傳輸[J].應用科技,2008.3.
[4]朱玉穎、蔡占輝基于nRF2401的遠程溫度檢測系統設計[J].自動化技術與應用2010,29(5)
[5]樊祥現,袁平.nRF2401無線通信數據傳輸可靠性技術應用[J].自動化技術與應用,2008,27(7):71-73.
[6]張天祥.基于MCU和nRF24L01的無線通信系統設計[J].電子科技,2012,4(1):34-35.