馬 濤,劉妙男,張 焱,朱宇航,張貴研,崔新忠
(大連海洋大學 信息工程學院,遼寧 大連 116023)
習近平總書記在2019年中國海洋經濟博覽會的賀信中指出,海洋是高質量發展戰略要地,要加快海洋科技創新步伐,提高海洋資源開發能力,培育壯大海洋戰略新興產業。水下作業工具是海洋事業的重要支柱,我們必須以多元化的眼光看待水下作業工業的功能,本文針對水下作業工具如何自動收集抓取海珍品進行設計,提高抓取效率,解決我國沿海地區漁業捕撈效率低,勞動力不足等問題。
自動收集裝置的結構主要由三部分組成:控制模塊(STM32F103)、舵機以及收集裝置。控制模塊主要由STM32F103 單片機組成,通過編寫C 語言控制程序,控制舵機張開角度,從而達到控制收集裝置的作用。其總體設計圖,如圖1 所示。
STM32F103 系列內核工作頻率高達72MHz,內置高速儲存器(高達 512KB 的 Flash 和 64KB 的 SRAM),豐富的IO 端口和大量連接到內部兩條APB 總線的外設,2 個12 位模數轉換器、2 個通用16 位定時器、2 個集成電路總線、2 個串行外設接口、3 個通用同步/異步收發器、1 個通用串行總線、1 個控制器局域網絡等。STM32F103 系列工作于零下40 到105 攝氏度的工業溫度范圍,供電電壓2.0-3.6V,一系列的省電模式保證低功耗應用的要求。

圖1 自動收集裝置的總體設計圖
首先將正弦半波以等寬的方式分割成N 份,此時就可以把正弦半波看成由N 個脈沖序列所組成的波形。它們的脈沖寬度相同,幅值不同,此時可以當作N 個矩形脈沖來看,也可以得到矩形脈沖和正弦半波的面積一樣,就如圖2 所示。這就是PWM 波的形成,其可以分為等幅和不等幅。
2.3.1 方式的選擇

圖2 PWM 波代替正弦半波
因為本課題是針對水下作業工具自動收集裝置設計的,所以需要有足夠長距離來實現通信。對串行通信來說是將數據字節的各位一位一位的傳送,這樣的話必然導致速度過慢,但由于這種通信方式的傳輸線路少,很適合做長距離的通信。因此選用有線串行通信是很合適的。
2.3.2 接口選擇
485 通信主要有以下特點:
(1)RS-485 接口輸出對電路芯片的損傷較小,也可以很好的與TTL 的電平相兼容,當電壓在2-6V 為1,當電壓在-6-2V 為 0。
(2)傳輸速度很快,其速率可以達到10Mps。
(3)擁有很強的抗干擾能力。
(4)傳輸距離遠,1000m 左右,RS-485 既可以實現遠距離通信,又保證了傳輸效率和抗干擾能力,所以是非常適用于水下通信的。
2.3.3 硬件配置
對于RS-485 來說邏輯“1”以兩條線間的電壓差+2-+6V 表示,邏輯“0”以兩條線間的電壓差-6-2V 表示,而TTL電平為5V 為1,0V 為0,所以想實現兩者間的通信,需要對電平進行轉化。對此需要將上位機的USART1_TX與STM32 的 USART1_RTS 相連,將上位機的 USART2_R TS 經 RS-485 與 STM32 的 USART2_TX 相連,則可以傳送數據,如圖3 所示。

圖3 通信示意圖
把波特率設置為9600,停止位1 位,數據位8 位。通過發送不同的數據對水下作業工具進行控制。
2.4.1 舵機的選擇
數字舵機每秒可以發送高達300 個脈沖,基于這種快速脈沖信號,電機的轉速會顯著提高,轉矩也會更加恒定,減少它的死區區域。因此,使用數字舵機可以更快的響應,并且轉矩和靈敏度可以保持更好的工作狀態,有效的減少水下高壓強和水下洋流的影響,所以選擇數字舵機。

表1 數對應的功能
2.4.2 舵機的控制
舵機接受單片機產生的PWM 波信號,當PWM 波信號進入控制電路就會產生相應的偏置電壓,使電機得到響應,通過其減速齒輪組帶動電位器移動。當電壓差為零時,電機停止轉動,從而達到伺服效果,通俗的說就是給舵機一個特定的PWM 信號,舵機就可以旋轉到指定的位置。
舵機上有三根線,分別是地線(GND)、電源線(VCC)、信號線(SIC)。單片機產生的PWM 信號就是從信號線輸入到舵機的。通常舵機接受的PWM 信號頻率為50Hz,周期為20ms。當高電平的脈寬在0.5ms-2.5ms 之間時舵機就可以對應旋轉到不同的角度,如圖4 所示。

圖4 脈沖寬度對應的輸出角度

圖5 閉環控制系統
如圖5 所示,采用閉環控制系統,輸入端為PWM 占空比數值,輸出端為機械手。當收集裝置遠離機械手時,達到最遠端,此時收集裝置位置記為1,當收集裝置在機械手正下方時,此時收集裝置位置記為0。通過調整占空比PWM 數值,增大舵機的角度,從而控制機械手的張開度,讓收集裝置的位置為1,此時如果需要完成抓捕動作,就需要調整PWM 數值,減小舵機的角度,當機械手閉合時,收集裝置通過彈簧拉力作用,使收集裝置的位置為0,使其處于機械手正下端,完成一次抓捕收集動作。其中通過收集裝置不同位置,為本系統提供負反饋調節作用。從而合理控制機械手的開合度。

圖6 舵機控制流程圖
如圖6 所示,這是水下自動收集裝置的控制流程,當程序開始后先對舵機模塊進行初始化,之后接受上位機發出的吸納后,當信號數據的高四位都為0 時進入舵機模塊,這時判斷低四位是否為零,如果是0 則舵機處于關閉狀態,如果不為0 且低四位不大于5,這時就可以對舵機進行控制。
STM32 產生對應的PWM 信號,而想要PWM 信號就必須用上STM32 的TIM 定時器,由于基本定時器沒有產生PWM 信號的功能,因此就只能選用通用定時器和高級定時器。對于舵機控制程序,STM32 的主要作用是通過通信系統收到的指令,調節PWM 的占空比實現調速的控制。
程序設計主要按以下幾個步驟:
(1)對TIM3 和PB0 端口進行使能和配置。先將PB0端口進行初始化,再通過設置RCC_APB2ENR 時鐘使能GPIO 口,把輸出模式調為復用推挽模式。對TIM3 的APB1 進行使能再和寄存器RCC_APB1ENR 進行對應。(2)TIM3_ARR 和 TIM3_PSC 配置 ARR 為定時器計數上限,是16 位的寄存器,設置為19。PSC 為定時器的分頻系數,通過這個值為7199 可以計算出PWM 的頻率為50Hz。依據舵機最適合的頻率進行分配。(3) 設置TIM3_CH3PWM 模式及通道方向。想要調整舵機的轉動角度,就先要對TIM3_CCMR1 來配置,使其利用相應位來控制PWM 模式為1,對此也需要配置CH3 為輸出,進而要設置 TIM3_CCMR1 的 CC1S[1:0]為 00。(4)占空比調節。首先占空比和頻率都是固定的,只有通過修改TIM3_CCR1 和ARR 的比值才能控制其輸出的占空比,當設置范圍為5 到25 時,才能將時間調至為0.5ms 到2.5ms,從而控制舵機轉動的角度。
自動收集裝置如圖7 所示,主要包括支撐臂1,在這個支撐臂的端部設置有通過舵機2 驅動的機械手3,支撐臂1 上還固定連接有輔助支架4,所述輔助支架4 所述輔助支架4 上轉動支撐有相互嚙合的第一齒輪5 和第二齒輪6,所述第一齒輪5 通過過渡齒與設置在舵機2底部輸出軸上的主動齒7 相連。

圖7 收集裝置整體結構圖
經測試,基于STM32 收集裝置能夠順利實現自動收集功能,對于海洋水產業的智能捕撈具有很好的輔助效果,可以預見會帶來更多的便捷,同時也能夠解放人力,降低水下作業對人帶來的風險。