



摘 要: 在現代農業養殖領域,溫度是一個非常重要的影響因素。為了對所在區間的溫度進行實時監測和適時調控,設計一種基于增強型51單片機、DS18B20數字溫度傳感器、NRF905無線通信芯片、串口通信、Visual Basic 2010的多點無線溫度監測報警及調控系統。該監測裝置通過無線模塊將采集到的溫度信息以及檢測裝置中電池的剩余電量發送給接收裝置,接收裝置通過串口通信再將溫度和電量信息發送給上位機軟件,上位機軟件向用戶顯示各種信息,同時用戶可以通過計算機軟件控制每個監測裝置所連接的溫度調控設備。仿真結果表明,該系統能實現多點溫度監測、溫度報警、溫度調控、無線傳輸等功能,尤其在現代養殖領域有廣泛的應用前景。
關鍵詞: 無線通信; NRF905; 溫度報警; 溫度調控
中圖分類號: TN915?34; TH811 文獻標識碼: A 文章編號: 1004?373X(2016)18?0057?04
Abstract: Temperature is a very important factor in the fields of modern agriculture and cultivation. In order to perform the temperature monitoring in real time and control at proper moment in the region, a multi?point wireless temperature monitoring and control system based on enhanced 51 MCU, digital temperature sensor DS18B20, wireless communication chip NRF905, serial communication and Visual Basic 2010 was designed. The monitoring system sends the temperature information collected by the wireless module and the remained energy in battery in the detection device to the receiving device. The receiving device sends the temperature and remained energy information to the host computer software through the serial communication. The PC software displays a variety of information to users. The users can control the temperature regulating device connected to each monitoring device by computer software. The simulation results show that the system can realize multi?point temperature monitoring, temperature alarm, temperature control, wireless transmission and other functions, and especially has a wide application prospect in the field of the modern cultivation.
Keywords: wireless communication; NRF905; temperature alarm; temperature control
0 引 言
現代化的農業如養殖場等,養殖密度高且規模大[1?2],在高密度養殖的情況下容易出現溫度不適引起家畜病死的現象,尤其是夏天,一旦養殖場房內的溫度過高,家畜就會大量的中暑死亡,給養殖者帶來很大的經濟損失。
常規的監測方法是用溫度計進行檢測,工作人員隔一段時間就去看一下室內溫度,以此來決定是否要開啟調溫設備,規模大的養殖場不僅費力耗時,而且效率也不高。本文所設計的系統采用無線通信的方式進行數據傳輸[3?4],可以進行多點無干擾的測量[5?6]。上位機顯示和操控界面采用Visual Basic 2010作為上位機軟件開發工具,軟件界面簡潔易懂。系統的溫度采集由DS18B20[7?8]數字溫度傳感器完成,該溫度傳感器體積小硬件電路簡單。系統整體成本低且功能多,既可實現溫度的遠程監控,又可實現溫度報警和溫度調控,同時還能向用戶顯示監測裝置的電量,以便及時地更換節點的電源。
1 系統總體設計
系統主要包含三個部分:監測裝置、接收裝置、上位機軟件。監測裝置的功能是采集溫度信息和電量信息同時控制調溫設備,接收裝置的功能有:將監測裝置發送來的數據通過串口傳輸給上位機;將上位機傳輸過來的數據發送給監測裝置;協調所有的監測裝置進行無線通信不產生沖突。系統的監測裝置與接收裝置原理如圖1所示。
2 主要元器件選型
2.1 處理器
系統所使用的處理器是STC15F2K60S2單片機封裝形式為SOP?28,該單片機是增強型51單片機且不需要外部晶振和復位電路,片內集成了A/D轉換模塊和SPI接口模塊。A/D轉換模塊可以用來檢測電池剩余的電量;SPI接口可以和NRF905無線模塊進行通信,同時該系統的數據處理量并不大,無需16位或32位的單片機,因此選擇該型號單片機既節約成本又做到了物盡其用。
2.2 溫度傳感器
系統的溫度傳感器為DS18B20,該溫度傳感器體積小,硬件電路簡單,采用單總線接口與單片機通信,既節約單片機I/O口又簡化了系統的硬件電路。
2.3 無線通信芯片
系統使用的NRF905無線通信芯片既可以發送數據又可以接收數據,該芯片采用SPI接口與單片機通信,擁有4個字節的可編程地址,芯片的無線通信自帶循環冗余校驗,保證了數據的真確性。由于NRF905芯片只有一種封裝形式且以作者的實驗條件無法對其進行焊接,因此本系統直接采用了以NRF905芯片制作的模塊。
2.4 串口通信芯片
串口通信芯片采用CH340G,該芯片外圍電路簡單,通過USB接口與計算機連接,計算機只需要安裝CH340驅動程序便能識別串口,操作十分簡便,同時USB接口還能給接收裝置供電,省去了給接收裝置提供額外電源的麻煩。
3 系統硬件設計
系統的監測裝置由5 V穩壓模塊、3.3 V穩壓模塊、溫度測量模塊、電量測量模塊、繼電器控制模塊、無線通信與處理器模塊構成,接收裝置由3.3 V穩壓模塊、串口通信模塊、無線通信與處理器模塊構成。監測裝置采用9 V干電池供電,接收裝置采用USB供電,系統硬件電路原理圖如圖3所示。
3.1 穩壓模塊
系統的5 V穩壓模塊主要由L7805穩壓芯片和穩壓二極管組成,5 V穩壓模塊將9 V的電壓穩定到5 V輸出。3.3 V穩壓模塊主要由AMS1117 3.3 穩壓芯片和穩壓二極管組成,3.3 V穩壓模塊將5 V的電壓穩定到3.3 V輸出,供無線模塊使用。
3.2 電量測量模塊
電池電量的測量通過測量電池兩端的電壓來完成,干電池的輸出電壓與電池電量有一定的關系,輸出電壓越小,電池電量越低。對電池電壓的測量采用A/D轉換,由于使用了處理器自帶的A/D轉換功能而參考電壓為處理器工作的5 V電壓,因此為了測量9 V電池的輸出電壓,本系統采用兩個10 kΩ的電阻分壓,將測量結果乘2即可得到電池兩端的電壓。
3.3 串口通信模塊
串口通信模塊以CH340G為核心,外接12 MHz的晶振,芯片的D+、D-引腳與USB接口的D+、D-引腳相連,TxD,RxD引腳與單片機的串口通信引腳相連接。
3.4 溫度測量模塊
DS18B20的外圍電路十分簡單,只需要在數據傳輸線上加一個4.7 kΩ的上拉電阻即可。
3.5 繼電器控制模塊
系統的監測裝置采用繼電器來控制溫度調控設備,溫度調控設備可以是加熱裝置也可以是通風扇等,繼電器允許通過的最大電流是10 A,這就意味著繼電器可以直接控制2 000 W以內的單相用電器。如果是三相設備或者單相大于2 000 W的設備,則可以通過繼電器控制三相交流接觸器來間接控制溫度調控設備。由于單片機I/O口的輸出電流不足以驅動繼電器,因此繼電器控制模塊利用三極管將電流放大,放大后的電流便可驅動繼電器,同時在繼電器的線圈兩端加上了一個二極管,這個二極管的作用是釋放掉線圈中的感應電流從而消除感應電流對電路的沖擊。
3.6 無線通信與處理器模塊
本系統所使用的處理器無需外部晶振和復位電路,因此只要給處理器供電,處理器便能正常工作,無線模塊的SPI接口引腳直接與處理器的SPI接口引腳相連,只需要對處理器操作SPI相關的寄存器便可實現數據的傳輸,從而不需要用I/O口模擬SPI總線時序。
4 系統軟件設計
4.1 電量測量
本系統將電池的電量分成10個階段顯示,即100%,90%,…,10%,電池輸出電壓與電量的關系并不是線性關系,因此根據電池的電量隨著輸出電壓的降低而減少的特性,將電壓與電量近似的擬合成一個二次函數關系,以y表示電池的電量,x表示輸出電壓,其兩者的關系為y=-4.44x2+80x-350(x∈[7.5,9]),當電池的輸出電壓降低到7.5 V時可以視為電池沒電了,此時y的值為0,當輸出電壓大于等于9 V時,y的值為10,此時向用戶顯示電量為100%,同理y=9時顯示電量為90%。之所以把輸出電壓的下限定為7.5 V是由于L7805穩壓芯片的最小輸入電壓是7 V,當輸入電壓小于7 V時,L7805的輸出電壓將不再是5 V。為了保證系統正常運行,當電池的輸出電壓降低到7.5 V時便可提醒用戶更換電池。核心代碼如下:
5 仿真測試
用兩個監測裝置和一個接收裝置實驗,模擬多點的溫度監測,經測試系統無線通信的距離在空曠地帶可達100 m,因此該系統可以用在較大的養殖空間中。多點的無線通信容易造成數據沖突,例如兩個監測裝置同時向接收裝置發送數據,這時無線信號就會相互產生干擾,本系統通過接收裝置控制監測裝置發送數據的順序協調無線通信,測試期間沒有出現數據傳輸中斷和無效數據的情況。串口通信方面,發送數據采用查詢方式,接收數據采用中斷方式,并在處理器空閑時處理串口接收到的數據并通過無線模塊發送給監測裝置,通過這樣的方法避免了接收裝置在進行無線通信時收到來自串口的控制信息,成功的實現了在任意時刻可以通過上位機軟件控制監測裝置上的繼電器器。
系統工作時上位機軟件的頁面如圖4所示。
該系統可以分別對單個監測裝置和平均溫度進行報警監測,對溫度的上下限分別設置一個閾值,一旦超出這個閾值監測溫度的范圍,程序會調用一個音頻文件使計算機的聲音設備發出警報聲直到用戶關閉對應的溫度報警按鈕。
6 結 語
本文設計了一個多點無線溫度監測報警及調控系統,該系統在考慮可靠性、實用性、簡便性的基礎上設計。該系統的軟硬件設計穩定可靠,在可實用的范圍內能進行較好的測量,該溫度采集系統具有非接觸、響應快和精度高等特點。仿真實驗表明其測量精度可達±0.2 ℃,能進行適時的監控及報警,但在使用時還需要根據特定的環境進行改善,這樣就能克服傳感器對測量環境要求高的弊端。
本系統在盡量節約成本的同時實現了多個功能,采用上位機軟件顯示提高了系統的可視化程度,即使是非專業人員也可以很輕松的使用該系統。該系統在家畜養殖領域有很好的推廣前景。
參考文獻
[1] 張宇寧,周穎.DS18B20數字式溫度測量裝置的研究[J].機械工程與自動化,2012(4):149?151.
[2] 張海傳,吳晨霞,許東衛,等.低功耗軸承溫度無線檢測系統的設計[J].電子技術應用,2009,35(10):96?98.
[3] 陳平,陳彥.基于藍牙技術的溫度數據采集系統[J].儀表技術與傳感器,2005(11):40?42.
[4] 沙春芳.紅外溫度計MLX90614 及其應用[J].現代電子技術,2007,30(22):36?37.
[5] 王玲,王中訓,王恒.基于MSP430 單片機的多路無線溫度檢測系統[J].現代電子技術,2011,34(1):125?127.
[6] 夏候凱順,曾憲金,胡立坤,等.基于MLX90614 和ZigBee技術的體溫實時監控系統的設計[J].自動化與儀表,2011,26(11):23?26.
[7] 湯鍇杰,栗燦,王迪,等.基于DS18B20 的數字式溫度采集報警系統[J].傳感器與微系統,2014,33(3):99?102.