李志鵬,王俊會,劉皞春,柯森藍,邵志鋒,陳志鵬,陳立
(廣東海洋大學機械與動力工程學院,廣東 湛江 524088)
隨著我國水產養殖產業升級的持續推進,南海區域水產養殖業也得以快速發展[1]。在水產養殖作業環節中,投飼環節成本(包括飼料成本與勞動力成本)占總生產成本的70%~90%[2]。隨著養殖規模的不斷擴大,人工投料已不能滿足產業的發展需求,采用自動投餌機進行投喂被認為是解決人工投喂勞動強度大,投飼不均和投飼量難以精確控制的有效途徑。
目前,國內大部分的養殖區所采用的投餌機投飼效率低,投喂時間長,相關研發機構對餌料拋撒量的控制研究并不多[3]。這些投餌機大部分無法獲知魚群的攝食情況,容易造成大量餌料浪費。
為解決上述問題,提出一種基于攝食聲學的投餌系統。該裝置可通過羅非魚攝食發出的聲信號頻率來判斷深海養殖羅非魚的攝食活力[3],控制投料機的啟停。該裝置有望提高深水網箱養殖的投餌效率,提高餌料的利用率,進一步減少投飼環節的勞動強度,實現投飼的科學決策按需投喂。
該文搭建的投餌裝置如圖1所示,通過控制舵機和電動推桿移動拋射口的橫向位置和豎向位置,從而控制飼料的拋射方向和距離。兩個拋撒裝置安裝于船的兩側,船載式投餌機的出料口經過Y型斜三通管分成兩個管道,并在管道上安裝電磁閥(如圖2、3所示)。
根據方案設計和要求,控制系統通過自行設計的系統硬件和基于單片機開發的相應軟件來實現具體功能。軟硬件系統相互協調完成對魚體聲音信息采集處理、投餌角度調整和投餌的啟停動作。
該產品的程序設計基于生產實際需求并結合選用的軟硬件因素來設計,以達到產品功能的最優化。程序的基本邏輯思路如圖4所示,具體為:STM32在完成了相關初始化以及自檢工作后,電動推桿與舵機恢復到初始位置,人工操作上位機發送對應的指令至下位機使拋撒裝置驅動舵機與電動推桿使餌料投送至目標投餌點。同時,水聽器不斷傳送現場音頻信息至上位機進行數據處理并分析魚群的攝食活力,當分析到的魚群攝食活力低于設定值時,下達投餌停止指令,下位機將電磁閥關閉。
控制系統硬件主要有單片機控制器、12 V開關電源、繼電器模塊、升壓模塊、降壓穩壓模塊和電機驅動模塊等組成,并且整個控制系統共地。系統框圖(如圖5所示)。
選用STM32F103ZET6作為主控制器,采用ARM Cortex-M3內核,運行速度快,時鐘高達72 MHz,具有 11個定時器,配備13個通信接口,3個12位AD通道,自帶的模數轉換功能可以直接測量電動推桿中電位器的位置算出電動推桿的伸長量,總共具有112個IO口,以便以后為裝置添加新功能[4-5]。
常閉式電磁閥DF-65F 24 V供電,經實際測量,單個電磁閥打開期間電流穩定在1.8 A。故該設計采用2路繼電器模塊控制2個電磁閥的開閉。采用2路繼電器模塊的原因:①繼電器的接口負載比較大,一般都在10 A以上;②模塊化設計;③使用壽命長,保證電路的穩定性。
電動推桿內由直流電機、絲桿螺母機構和電位器組成閉環控制系統,如圖6所示,直流電機得電后轉動,由絲桿螺母機構將直流電機的圓周運動轉化成直線運動,通過電位器接入3.3 V測量直線運動的位移量,以模擬電壓信號的形式反饋給單片機做調整處理,控制拋撒裝置上下轉動。
采用電機驅動模塊來驅動電動推桿,含兩個H橋的高電壓大電流全橋式驅動器。將12 V直流電接入后可以直接用電機驅動模塊按表1方式驅動電動推桿,將其PWM引腳置高電平,控制IN1和IN2引腳,以1表示高電平,0表示低電平。當IN1和IN2分別為1、0時模塊輸出電壓是+12V,直流電機正轉,電動推桿伸長;當IN1和IN2分別為0、0或1、1時模塊輸出電壓是0 V,電動推桿停止運動;當IN1和IN2分別為0、1時模塊輸出電壓是-12 V,直流電機反轉,電動推桿縮短。
采用的舵機扭矩達38N·m,電源輸入為12 V,帶過載保護,與stm32單片機共地之后輸入PWM脈沖信號即可控制,轉動角度為270°,負責水平旋轉機構的轉動動作。

表1 電機接口控制信號邏輯

表2 各原動件關鍵參數
根據表2各原動件的用電參數,為方便供電,采用的12 V開關電源,具有過載/過壓/短路保護功能,最高輸出電流可達30 A,采用耐老、耐高溫、耐沖擊的排線,220 V交流電輸入。采用限流為5 A的升壓模塊,將12 V開關電源的的電壓轉成24 V給電磁閥供電。
該系統采用Labview編程作為上位機實現。現代音頻測量是數字測量系統要求最高的任務之一。要成功完成音頻測量,軟件必須能夠完成多個任務(例如數據換算、濾波、分析與可視化)。從采集數據到顯示數據,Labview具有確保精確測量的靈活性與模塊性。并且NI提供了大量的Labview工具包,調用工具包即可組成一個完整的測量系統。Labview中配置的VISA函數可以根據使用儀器的類型調用相應的驅動程序,用戶無需學習各種儀器的通信協議。Labview是可視化編程,作為上位機控制下位機時,控件的使用提高了操控的可觀性。
該部分由配置聲音輸入、讀取聲音輸入、濾波器、停止聲音輸入采集、聲音輸入清零函數構成。
(1)配置聲音輸入函數:用于配置聲音輸入設備、采集數據并發送至緩沖。可根據需求選擇設備、采樣模式、采樣數。根據奈奎斯特采樣定理,用2倍于一個正弦波的頻率進行采樣就能完全真實地還原該波形,羅非魚在吃飽時的聲音頻率在0~6 000 hz之間且可區分于背景噪聲[3],因此為確保真實還原波形,將采樣率設置為20 000 hz。
(2)濾波器:濾波器使用低通濾波,將高于6 khz的聲音頻率過濾掉。
對濾波器處理后的波形進行功率譜密度處理。將輸出的動態數據轉換為數組,對數組中0~6 000的數據及0~10 000的數據進行積分(即對應功率譜密度中0~6 000 hz及0~10 000 hz信號)。分析該深水網箱投餌前后0~6 000積分數值與對0~10 000積數值分比值,判斷是否繼續投餌。具體過程如下。
(1)使用頻譜測量函數:將過濾后的聲音信號波形進行功率譜密度轉換,橫軸為頻率;縱軸為功率譜密度(power spectral density,PSD),即每單位頻率波所攜帶功率,結果以dB形式輸出。如圖7所示。
(2)分析比值上限:對波形處理后的波形進行功率譜密度處理,將多次采集該深水網箱實際情況下過度投餌后的音頻與保證魚體饑餓情況下的音頻各作積分處理,分析得出在過度投餌后,該深水網箱中上述結果的比值會在0.91~0.93之間。
(3)比值測試:根據上述結果設定比值超過0.9時,表示該聲音采集區域的羅非魚處于吃飽狀態;否則,表示該聲音采集區域的羅非魚處于未吃飽狀態。當比值超過0.9時程序會發出指令使投餌結束。
該部分通過VISA函數與下位機實行串口通信,在程序框圖使用事件結構以及前面板的控件相結合實現對投餌舵機角度的控制。當程序沒有接收到任何指令時,事件結構在潮濕10毫秒后直接跳過該步驟,執行下一項程序。當執行上位機對舵機的操控指令后,會在VISA讀取中返回舵機信息,在讀取緩沖區中創建的顯示控件可以實施讀取舵機角度的信息[6-7]。
在水產養殖應用方面的船載式投餌機大部分為人工持噴料管投餌,自動化程序低,人工成本大,而且投餌時機器無法得知魚群的攝食情況,致使餌料大量浪費。拋撒裝置有望代替人工持噴料管、智能啟停投餌等特點,擁有廣闊的市場應用前景,對緩解勞動力短缺,提高餌料利用率,減輕勞動強度,減少深海網箱養殖成本具有重要意義。