馬 濤,劉妙男,張 焱,朱宇航,張貴研,崔新忠
(大連海洋大學(xué) 信息工程學(xué)院,遼寧 大連 116023)
習(xí)近平總書記在2019年中國(guó)海洋經(jīng)濟(jì)博覽會(huì)的賀信中指出,海洋是高質(zhì)量發(fā)展戰(zhàn)略要地,要加快海洋科技創(chuàng)新步伐,提高海洋資源開(kāi)發(fā)能力,培育壯大海洋戰(zhàn)略新興產(chǎn)業(yè)。水下作業(yè)工具是海洋事業(yè)的重要支柱,我們必須以多元化的眼光看待水下作業(yè)工業(yè)的功能,本文針對(duì)水下作業(yè)工具如何自動(dòng)收集抓取海珍品進(jìn)行設(shè)計(jì),提高抓取效率,解決我國(guó)沿海地區(qū)漁業(yè)捕撈效率低,勞動(dòng)力不足等問(wèn)題。
自動(dòng)收集裝置的結(jié)構(gòu)主要由三部分組成:控制模塊(STM32F103)、舵機(jī)以及收集裝置??刂颇K主要由STM32F103 單片機(jī)組成,通過(guò)編寫C 語(yǔ)言控制程序,控制舵機(jī)張開(kāi)角度,從而達(dá)到控制收集裝置的作用。其總體設(shè)計(jì)圖,如圖1 所示。
STM32F103 系列內(nèi)核工作頻率高達(dá)72MHz,內(nèi)置高速儲(chǔ)存器(高達(dá) 512KB 的 Flash 和 64KB 的 SRAM),豐富的IO 端口和大量連接到內(nèi)部?jī)蓷lAPB 總線的外設(shè),2 個(gè)12 位模數(shù)轉(zhuǎn)換器、2 個(gè)通用16 位定時(shí)器、2 個(gè)集成電路總線、2 個(gè)串行外設(shè)接口、3 個(gè)通用同步/異步收發(fā)器、1 個(gè)通用串行總線、1 個(gè)控制器局域網(wǎng)絡(luò)等。STM32F103 系列工作于零下40 到105 攝氏度的工業(yè)溫度范圍,供電電壓2.0-3.6V,一系列的省電模式保證低功耗應(yīng)用的要求。
圖1 自動(dòng)收集裝置的總體設(shè)計(jì)圖
首先將正弦半波以等寬的方式分割成N 份,此時(shí)就可以把正弦半波看成由N 個(gè)脈沖序列所組成的波形。它們的脈沖寬度相同,幅值不同,此時(shí)可以當(dāng)作N 個(gè)矩形脈沖來(lái)看,也可以得到矩形脈沖和正弦半波的面積一樣,就如圖2 所示。這就是PWM 波的形成,其可以分為等幅和不等幅。
2.3.1 方式的選擇
圖2 PWM 波代替正弦半波
因?yàn)楸菊n題是針對(duì)水下作業(yè)工具自動(dòng)收集裝置設(shè)計(jì)的,所以需要有足夠長(zhǎng)距離來(lái)實(shí)現(xiàn)通信。對(duì)串行通信來(lái)說(shuō)是將數(shù)據(jù)字節(jié)的各位一位一位的傳送,這樣的話必然導(dǎo)致速度過(guò)慢,但由于這種通信方式的傳輸線路少,很適合做長(zhǎng)距離的通信。因此選用有線串行通信是很合適的。
2.3.2 接口選擇
485 通信主要有以下特點(diǎn):
(1)RS-485 接口輸出對(duì)電路芯片的損傷較小,也可以很好的與TTL 的電平相兼容,當(dāng)電壓在2-6V 為1,當(dāng)電壓在-6-2V 為 0。
(2)傳輸速度很快,其速率可以達(dá)到10Mps。
(3)擁有很強(qiáng)的抗干擾能力。
(4)傳輸距離遠(yuǎn),1000m 左右,RS-485 既可以實(shí)現(xiàn)遠(yuǎn)距離通信,又保證了傳輸效率和抗干擾能力,所以是非常適用于水下通信的。
2.3.3 硬件配置
對(duì)于RS-485 來(lái)說(shuō)邏輯“1”以兩條線間的電壓差+2-+6V 表示,邏輯“0”以兩條線間的電壓差-6-2V 表示,而TTL電平為5V 為1,0V 為0,所以想實(shí)現(xiàn)兩者間的通信,需要對(duì)電平進(jìn)行轉(zhuǎn)化。對(duì)此需要將上位機(jī)的USART1_TX與STM32 的 USART1_RTS 相連,將上位機(jī)的 USART2_R TS 經(jīng) RS-485 與 STM32 的 USART2_TX 相連,則可以傳送數(shù)據(jù),如圖3 所示。
圖3 通信示意圖
把波特率設(shè)置為9600,停止位1 位,數(shù)據(jù)位8 位。通過(guò)發(fā)送不同的數(shù)據(jù)對(duì)水下作業(yè)工具進(jìn)行控制。
2.4.1 舵機(jī)的選擇
數(shù)字舵機(jī)每秒可以發(fā)送高達(dá)300 個(gè)脈沖,基于這種快速脈沖信號(hào),電機(jī)的轉(zhuǎn)速會(huì)顯著提高,轉(zhuǎn)矩也會(huì)更加恒定,減少它的死區(qū)區(qū)域。因此,使用數(shù)字舵機(jī)可以更快的響應(yīng),并且轉(zhuǎn)矩和靈敏度可以保持更好的工作狀態(tài),有效的減少水下高壓強(qiáng)和水下洋流的影響,所以選擇數(shù)字舵機(jī)。
表1 數(shù)對(duì)應(yīng)的功能
2.4.2 舵機(jī)的控制
舵機(jī)接受單片機(jī)產(chǎn)生的PWM 波信號(hào),當(dāng)PWM 波信號(hào)進(jìn)入控制電路就會(huì)產(chǎn)生相應(yīng)的偏置電壓,使電機(jī)得到響應(yīng),通過(guò)其減速齒輪組帶動(dòng)電位器移動(dòng)。當(dāng)電壓差為零時(shí),電機(jī)停止轉(zhuǎn)動(dòng),從而達(dá)到伺服效果,通俗的說(shuō)就是給舵機(jī)一個(gè)特定的PWM 信號(hào),舵機(jī)就可以旋轉(zhuǎn)到指定的位置。
舵機(jī)上有三根線,分別是地線(GND)、電源線(VCC)、信號(hào)線(SIC)。單片機(jī)產(chǎn)生的PWM 信號(hào)就是從信號(hào)線輸入到舵機(jī)的。通常舵機(jī)接受的PWM 信號(hào)頻率為50Hz,周期為20ms。當(dāng)高電平的脈寬在0.5ms-2.5ms 之間時(shí)舵機(jī)就可以對(duì)應(yīng)旋轉(zhuǎn)到不同的角度,如圖4 所示。
圖4 脈沖寬度對(duì)應(yīng)的輸出角度
圖5 閉環(huán)控制系統(tǒng)
如圖5 所示,采用閉環(huán)控制系統(tǒng),輸入端為PWM 占空比數(shù)值,輸出端為機(jī)械手。當(dāng)收集裝置遠(yuǎn)離機(jī)械手時(shí),達(dá)到最遠(yuǎn)端,此時(shí)收集裝置位置記為1,當(dāng)收集裝置在機(jī)械手正下方時(shí),此時(shí)收集裝置位置記為0。通過(guò)調(diào)整占空比PWM 數(shù)值,增大舵機(jī)的角度,從而控制機(jī)械手的張開(kāi)度,讓收集裝置的位置為1,此時(shí)如果需要完成抓捕動(dòng)作,就需要調(diào)整PWM 數(shù)值,減小舵機(jī)的角度,當(dāng)機(jī)械手閉合時(shí),收集裝置通過(guò)彈簧拉力作用,使收集裝置的位置為0,使其處于機(jī)械手正下端,完成一次抓捕收集動(dòng)作。其中通過(guò)收集裝置不同位置,為本系統(tǒng)提供負(fù)反饋調(diào)節(jié)作用。從而合理控制機(jī)械手的開(kāi)合度。
圖6 舵機(jī)控制流程圖
如圖6 所示,這是水下自動(dòng)收集裝置的控制流程,當(dāng)程序開(kāi)始后先對(duì)舵機(jī)模塊進(jìn)行初始化,之后接受上位機(jī)發(fā)出的吸納后,當(dāng)信號(hào)數(shù)據(jù)的高四位都為0 時(shí)進(jìn)入舵機(jī)模塊,這時(shí)判斷低四位是否為零,如果是0 則舵機(jī)處于關(guān)閉狀態(tài),如果不為0 且低四位不大于5,這時(shí)就可以對(duì)舵機(jī)進(jìn)行控制。
STM32 產(chǎn)生對(duì)應(yīng)的PWM 信號(hào),而想要PWM 信號(hào)就必須用上STM32 的TIM 定時(shí)器,由于基本定時(shí)器沒(méi)有產(chǎn)生PWM 信號(hào)的功能,因此就只能選用通用定時(shí)器和高級(jí)定時(shí)器。對(duì)于舵機(jī)控制程序,STM32 的主要作用是通過(guò)通信系統(tǒng)收到的指令,調(diào)節(jié)PWM 的占空比實(shí)現(xiàn)調(diào)速的控制。
程序設(shè)計(jì)主要按以下幾個(gè)步驟:
(1)對(duì)TIM3 和PB0 端口進(jìn)行使能和配置。先將PB0端口進(jìn)行初始化,再通過(guò)設(shè)置RCC_APB2ENR 時(shí)鐘使能GPIO 口,把輸出模式調(diào)為復(fù)用推挽模式。對(duì)TIM3 的APB1 進(jìn)行使能再和寄存器RCC_APB1ENR 進(jìn)行對(duì)應(yīng)。(2)TIM3_ARR 和 TIM3_PSC 配置 ARR 為定時(shí)器計(jì)數(shù)上限,是16 位的寄存器,設(shè)置為19。PSC 為定時(shí)器的分頻系數(shù),通過(guò)這個(gè)值為7199 可以計(jì)算出PWM 的頻率為50Hz。依據(jù)舵機(jī)最適合的頻率進(jìn)行分配。(3) 設(shè)置TIM3_CH3PWM 模式及通道方向。想要調(diào)整舵機(jī)的轉(zhuǎn)動(dòng)角度,就先要對(duì)TIM3_CCMR1 來(lái)配置,使其利用相應(yīng)位來(lái)控制PWM 模式為1,對(duì)此也需要配置CH3 為輸出,進(jìn)而要設(shè)置 TIM3_CCMR1 的 CC1S[1:0]為 00。(4)占空比調(diào)節(jié)。首先占空比和頻率都是固定的,只有通過(guò)修改TIM3_CCR1 和ARR 的比值才能控制其輸出的占空比,當(dāng)設(shè)置范圍為5 到25 時(shí),才能將時(shí)間調(diào)至為0.5ms 到2.5ms,從而控制舵機(jī)轉(zhuǎn)動(dòng)的角度。
自動(dòng)收集裝置如圖7 所示,主要包括支撐臂1,在這個(gè)支撐臂的端部設(shè)置有通過(guò)舵機(jī)2 驅(qū)動(dòng)的機(jī)械手3,支撐臂1 上還固定連接有輔助支架4,所述輔助支架4 所述輔助支架4 上轉(zhuǎn)動(dòng)支撐有相互嚙合的第一齒輪5 和第二齒輪6,所述第一齒輪5 通過(guò)過(guò)渡齒與設(shè)置在舵機(jī)2底部輸出軸上的主動(dòng)齒7 相連。
圖7 收集裝置整體結(jié)構(gòu)圖
經(jīng)測(cè)試,基于STM32 收集裝置能夠順利實(shí)現(xiàn)自動(dòng)收集功能,對(duì)于海洋水產(chǎn)業(yè)的智能捕撈具有很好的輔助效果,可以預(yù)見(jiàn)會(huì)帶來(lái)更多的便捷,同時(shí)也能夠解放人力,降低水下作業(yè)對(duì)人帶來(lái)的風(fēng)險(xiǎn)。