基於LabVIEW的智能水產養殖環境數據無線監測系統的製作方法
2023-12-12 05:56:32 1
本發明涉及水產養殖監測領域,具體涉及一種基於labview的智能水產養殖環境數據無線監測系統。
背景技術:
隨著國內水產養殖技術的不斷提高,根據水產養殖環境監測的特點和目前環境監測系統中存在的缺陷,水環境無線監測與評價系統勢在必行。隨著水產養殖業中養殖密度不斷提高,我國水產業面臨著一個新的飛躍,養殖業的重任毋庸置疑,並且我國淡水資源匱乏,與資源和環境相協調。在現代工廠化養殖中,需要建立一個科學的水產養殖監測系統對ph值、電導率、水溫、溶氧量等進行管理,實現對水產養殖各種環境因子的實時動態監測,為進一步優化養殖過程提供一種可行有效的方法,也能提高生產效率,降低養殖成本,進而提高水產養殖收益。
健康養殖的關鍵是水體環境,而水是水產養殖動物(魚、蝦、蟹、貝等)的生存環境,水質好壞直接影響到養殖對象的生長發育,從而關係到產量和經濟效益。如果水質的某些指標超出動物的適應範圍動物將不能正常生長,如果超過忍耐極限則可能導致養殖動物的大批死亡,造成不必要的經濟損失。因此,對水產養殖環境的水質進行檢測分析,採用科學的方法對水質進行調節控制,對防止水質超標造成水產養殖環境的破壞,以達到水產養殖動物正常發育所需要求具有重要的科學意義和應用價值。
水環境自動監測系統是一個以在線自動分析儀器為核心,運用自動控制技術,計算機技術以及相關的專用分析軟體和通訊網絡,組成一個從水樣採集、水樣預處理、水樣測量到數據處理及存貯的綜合性系統,從而實現水環境自動監測站的在線自動運行。水環境監測對水產養殖業具有重要意義,只有處於適宜的環境中,才能減少或避免病蟲害的發生,使水生物快速健康成長。當前工廠化循環水養魚快速發展,因其封閉性,對水環境監測具有更強的依賴性,良好的水質是高產高效的保證,所以對環境的監測及控制更為重要,工廠化循環水養殖工廠化養魚具有生產效率高、佔地面積少、可全年連續生產、經濟效益高、操作管理自動化等特點,是當今最為先進的養魚方式之一,是水產養殖業發展的方向。2009年海水養殖發展報告顯示目前我國工廠化海水養殖面積約有500萬平方米,期中封閉、半封閉循環水養殖面積約佔10~20%。同時歷史數據可以作為我們決策的依據,對整個產業有重要意義。
目前,國內應用先進的控制技術進行水體溫度和溶解氧濃度監控一般是使用單片機系統,監測信號傳輸只使用有線方式,但這種方式監測範圍小,抗幹擾性差。無線傳感器技術是一種新興的智能檢測控制技術,具有成本低、體積小、實時性強、功耗低、抗幹擾性強、嵌入性好等特點,可以廣泛應用於工農業生產中,在水產養殖中,應用無線傳感器網絡技術對養殖環境的溫度、溶解氧濃度、水體酸鹼度(ph值)、化學元素濃度等信息進行監測,將提供一種嶄新的信息獲取方式,改變傳統的管理方式。
技術實現要素:
為解決上述問題,本發明提供了一種基於labview的智能水產養殖環境數據無線監測系統。
為實現上述目的,本發明採取的技術方案為:
基於labview的智能水產養殖環境數據無線監測系統,包括若干目標數據採集節點、串口通信模塊和上位機,目標數據採集節點通過串口通信模塊與上位機相連,所述目標數據採集節點包括傳感器、節點單片機、短距離無線通信模塊;所述節點單片機採用3v單片機stc15l204e,所述短距離無線通信模塊採用nrf24l01,所述上位機通過nrf24l01接收數據,採用單片機stc89c52rc為控制晶片,通過通信晶片max232與pc機進行通信,將數據發送到pc機labview系統顯示並在lcd1602同步顯示各節點目標數據。
優選地,所述傳感器採用數字式溫度傳感器ds18b20。
優選地,labview系統程序設計包括前面板和程序流程框圖,前面板是圖形化用戶界面,由輸入控制項和顯示控制項組成,界面上有設置輸入值和顯示輸出兩類對象,具體表現有開關、旋鈕、圖形以及其他控制和顯示對象;前面板中設有串口選擇、數據採集、溫度採集顯示、系統退出等輸入控制項;程序流程框圖用於提供虛擬儀器的圖形化源程序,由接線埠、節點、圖框、連線構成;埠用於與前面板的控制和顯示傳遞數據,節點可用於實現函數和功能調用,圖框用於實現結構化程序控制指令,連線代表程序數據流用於定義框圖內的數據流動方向;程序流程中除常規程序流程控制以外,還用於數據包解壓、數據匹配和數據的濾波處理。
優選地,在實現labview平臺與單片機串口通信的串口通訊設置上,採用波特率為9600,無奇偶校驗位,8位數據位,1位停止位。
本發明具有以下有益效果:
提高了水產養殖質量,降低生產成本,減輕勞動者工作強度等,不僅能夠給設施漁業帶來很好的經濟效益,還對自然環境的保護和節約能源起到了積極的作用。
附圖說明
圖1為本發明一個具體實施例的結構示意圖。
圖2為發明實施例中spi操作及時序圖;
(a)為spi讀操作,(b)為spi寫操作。
圖3為本發明實施例中lcd1602接口電路。
圖4為本發明實施例中nrf24l01接口電路。
圖5為本發明實施例中的電源電路。
圖6為本發明實施例中的節點電路。
具體實施方式
為了使本發明的目的及優點更加清楚明白,以下結合實施例對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。
如圖1所示,本發明實施例提供了一種基於labview的智能水產養殖環境數據無線監測系統,包括若干目標數據採集節點、串口通信模塊和上位機,目標數據採集節點通過串口通信模塊與上位機相連,所述目標數據採集節點包括傳感器、節點單片機、短距離無線通信模塊;所述節點單片機採用3v單片機stc15l204e,所述短距離無線通信模塊採用nrf24l01,所述上位機通過nrf24l01接收數據,採用單片機stc89c52rc為控制晶片,通過通信晶片max232與pc機進行通信,將數據發送到pc機labview系統顯示並在lcd1602同步顯示各節點目標數據。所述傳感器採用數字式溫度傳感器ds18b20。本具體實施的labview系統程序設計包括前面板和程序流程框圖,前面板是圖形化用戶界面,由輸入控制項和顯示控制項組成,界面上有設置輸入值和顯示輸出兩類對象,具體表現有開關、旋鈕、圖形以及其他控制和顯示對象;前面板中設有串口選擇、數據採集、溫度採集顯示、系統退出等輸入控制項;程序流程框圖用於提供虛擬儀器的圖形化源程序,由接線埠、節點、圖框、連線構成;埠用於與前面板的控制和顯示傳遞數據,節點可用於實現函數和功能調用,圖框用於實現結構化程序控制指令,連線代表程序數據流用於定義框圖內的數據流動方向;程序流程中除常規程序流程控制以外,還用於數據包解壓、數據匹配和數據的濾波處理,在實現labview平臺與單片機串口通信的串口通訊設置上,採用波特率為9600,無奇偶校驗位,8位數據位,1位停止位。
在寫寄存器之前一定要進入待機模式或掉電模式。如圖2所示,給出了spi操作及時序圖。
spi口為同步串行通信接口,最大傳輸速率為10mb/s,傳輸時先傳送低位字節,再傳送高位字節。但針對單個字節而言,要先送高位再送低位。與spi相關的指令共有8個,使用時這些控制指令由nrf24l01的mosi輸入。相應的狀態和數據信息是從miso輸出給mcu。
nrf24l01所有的配置字都由配置寄存器定義,這些配置寄存器可通過spi口訪問。nrf24l01的配置寄存器共有25個。
本具體實施中stc89c52rc單片機有32個i/o口,使用po口為數據口,p3口為控制埠,具體接線如圖3所示。
由於nrf24l01的供電電壓為3v,而stc89c52的電路為5v,但是nrf24l01的i/o口可以接受5v的電壓,為了確保穩定在電路中串入1k電阻,具體電路如圖4所示。
本申請接收電路的單片機供電電源為5v,而nrf24l01的供電電源為3v,而且本設計需要與pc進行串口通信,所以決定採用usb供電,並且通過穩壓晶片ams11117-3.3v給nrf24l01進行供電。節點發射電路採用乾電池進行供電,具體電路如圖5所示。
本具體實施節點處採用兩節1.5v乾電池進行供電,具體電路如圖6所示。
電路板的製作
考慮到製作專業pcb板的價格高、周期長,所以本次設計採用覆銅板腐蝕法來製作pcb板,具體包括如下步驟:
畫pcb圖;將pcb圖輸出(注意不要列印絲印層,顯示過孔);將pcb圖列印在熱轉印紙上(列印在轉印面);將轉印紙上的油墨通過熱轉印機轉印到覆銅板上;將轉印好的覆銅板放入三氯化鐵替代溶液中進行腐蝕;腐蝕完成;用砂紙磨去表面的油墨露出銅線;用電鑽打孔,方便焊接;焊接上元器件。
通過stc單片機下載編程燒錄軟體,將程序分別下載到各個模塊硬體電路圖中。節點一和節點二程序文件下載到溫度數據無線發射模塊中,主程序以及串口模塊程序下載到溫度無線接收模塊中。通過將硬體電路與上位機labview顯示界面相連。兩節點電路分別用3.3v電源供電,主電路採用usb接口連接電腦供電。採用stc軟體將程序通過rs-232接口下載到硬體電路中,按下開關電源,led燈發亮,1602上顯示出採集到的兩節點溫度數值,並順利顯示出來。在改變溫度傳感器溫度時,顯示數據也能慢慢改變,顯示數據狀態良好。
本具體實施的工作原理為:發射數據時,首先將nrf24l01配置為發射模式:接著把接收節點地址tx_addr和有效數據tx_pld按照時序由spi口寫入nrf24l01緩存區,tx_pld必須在csn為低時連續寫入,而tx_addr在發射時寫入一次即可,然後ce置為高電平並保持至少10μs,延遲130μs後發射數據;若自動應答開啟,那麼nrf24l01在發射數據後立即進入接收模式,接收應答信號(自動應答接收地址應該與接收節點地址tx_addr一致)。如果收到應答,則認為此次通信成功,tx_ds置高,同時tx_pld從txfifo中清除;若未收到應答,則自動重新發射該數據(自動重發已開啟),若重發次數(arc)達到上限,max_rt置高,txfifo中數據保留以便在次重發;max_rt或tx_ds置高時,使irq變低,產生中斷,通知mcu。最後發射成功時,若ce為低則nrf24l01進入空閒模式1;若發送堆棧中有數據且ce為高,則進入下一次發射;若發送堆棧中無數據且ce為高,則進入空閒模式2。
接收數據時,首先將nrf24l01配置為接收模式,接著延遲130μs進入接收狀態等待數據的到來。當接收方檢測到有效的地址和crc時,就將數據包存儲在rxfifo中,同時中斷標誌位rx_dr置高,irq變低,產生中斷,通知mcu去取數據。若此時自動應答開啟,接收方則同時進入發射狀態回傳應答信號。最後接收成功時,若ce變低,則nrf24l01進入空閒模式1。
以上所述僅是本發明的優選實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。