侯懿軒 梁 秀 高 雅 田 鴿 于 涵 耿乾棟
( 湖南科技大學(xué)物理與電子科學(xué)學(xué)院,湖南 湘潭411201)
目前,現(xiàn)有的大部分小型景區(qū)船舶泊岸時都為人工操作方式,當(dāng)船駛近碼頭時,由岸上人員用搭鉤將船鉤住,拉往碼頭鎖止,供游客安全上下船。每個碼頭都需要安排操作人員進(jìn)行輪班,人力成本高,時常會發(fā)生船體意外碰撞的情況。為了克服現(xiàn)有技術(shù)的不足,實現(xiàn)小型景區(qū)船舶泊船的自動化與智能化和對船舶運(yùn)行時的實時數(shù)據(jù)進(jìn)行監(jiān)控。本文設(shè)計了一種基于zigbee通信的新型智能泊船方式,操作簡單,可靠性好,能有效降低成本。
本游船自動泊岸裝置分為兩個單元,船載移動單元和泊岸鎖止單元。船載移動單元包括人機(jī)交互模塊、射頻通信模塊、傳感模塊。人機(jī)交互模塊發(fā)出命令并顯示當(dāng)前狀態(tài),傳感模塊采集水位、運(yùn)行速度、船只角度等信息,感知小船的實時狀態(tài),射頻通信模塊與泊岸鎖止單元通信,傳輸操作者的指令和采集的各種數(shù)據(jù)。泊岸鎖止單元包括主控制模塊,收集數(shù)據(jù)并進(jìn)行數(shù)據(jù)整理分析,其余模塊協(xié)同驅(qū)動機(jī)械臂模塊運(yùn)動。
圖1
根據(jù)系統(tǒng)框架, 系統(tǒng)硬件包括數(shù)據(jù)采集傳感器、主控制芯片、ZigBee 通信網(wǎng)絡(luò)、機(jī)械臂、顯示器等。(圖1)
船載單元由顯示模塊、輸入按鍵、射頻通信模塊、涉水深度測量模塊、離岸距離檢測模塊、轉(zhuǎn)速測量模塊、角度測量模塊組成。
射頻通信模塊采用CC2530 芯片,自帶MCU。輸入按鍵可輸入泊位選擇指令、泊岸指令、起航指令。射頻通信模塊工作頻段為2.4G 頻段,可設(shè)置16 個信道,避免干擾。MCU 有多個I/O 端口以及支持SPI、I2C、串口通信協(xié)議的通信端口。
涉水深度檢測和離岸距離檢測均采用HC-SR04 超聲波傳感器,簡單可靠,通過I/O 端口得到傳感器至障礙物距離。而涉水深度的檢測是通過已知傳感器到船底的距離可計算出水位線高度。
運(yùn)行轉(zhuǎn)速采用槽型對射光電傳感器,通過MCU 的計時器端口采集非透明物體通過槽型次數(shù)的信息,每通過一次觸發(fā)輸出TTL 低電平一次,1 秒內(nèi)接收多少個外部中斷,就可以得到轉(zhuǎn)速。通過在實驗測量不同轉(zhuǎn)速下船的速度得到相應(yīng)的值即可。
角度傳感器采用MPU6050 模塊, 與MCU 采用I2C 接口通信。通過調(diào)用運(yùn)動處理驅(qū)動庫函數(shù),直接讀取出船體的角度,加速度等數(shù)據(jù)。
顯示器是系統(tǒng)人機(jī)交互的窗口,主要的作用有顯示船舶實時信息;提示船舶的泊位選擇;輸出指令,控制機(jī)械臂運(yùn)作。本次設(shè)計的自動泊船系統(tǒng)采用OLED12864 屏幕,屏幕的對比度高,像素自發(fā)光的特性使得OLED 屏幕在功耗上更有優(yōu)勢。船載移動單元電路圖如圖2 所示。
泊岸鎖止單元包括主控處理模塊、射頻通信模塊、顯示模塊、驅(qū)動模塊、機(jī)械臂模塊、保護(hù)模塊、測距模塊、分體式電動鎖止模塊。
圖2 船載移動單元電路圖
圖3 泊岸鎖止單元電路圖
結(jié)合本設(shè)計需求,主控制模塊選用基于ATmega2560 的微控制板的Arduino Mega 2560,模塊運(yùn)行速度快、有通訊接口且有大量的I/O 接口且有適宜的工作溫度范圍。主控處理模塊通過I/O 端口與中斷口一同采集開關(guān)信息,保證實時性。
通過HC-SR04 超聲波傳感器得到船與岸的距離,采用串行接口傳輸測距數(shù)據(jù)。保護(hù)模塊與主控處理模塊的中斷口相連,將設(shè)置的參數(shù)轉(zhuǎn)化為中斷信號及時提供保護(hù)任務(wù)。
顯示模塊采用485 接口與主控處理模塊通信,將信息以大屏方式顯示給游客和駕駛員。以串行接口與射頻模塊通信,設(shè)置其工作的參數(shù)以及接收船載單元的數(shù)據(jù)。
驅(qū)動模塊SPI 接口與主控處理模塊通信,機(jī)械臂由兩個舵機(jī)的控制,完成三維空間的運(yùn)動軌跡,實現(xiàn)與鎖止桿的碰觸與鎖定。
船載單元和泊岸鎖止單元的通信采用近距離射頻方式通信,范圍為0-20m??芍С侄鄠€泊位,由船載單元的按鍵選擇,不同泊位采用不同的信道通信。有聲音和文字顯示,提醒駕駛員和游客當(dāng)前的運(yùn)行狀態(tài)和操作情況。警報保護(hù)模塊考慮了多種可能發(fā)生安全和損壞的情況,在事故發(fā)生前采取措施避免。泊岸鎖止單元電路圖如圖3 所示。
本文自主設(shè)計并搭建了一套2 自由度機(jī)械臂系統(tǒng)。通過對舵機(jī)的測量,將平臺切割留孔,使第一級舵機(jī)可以豎直固定在平臺上,用適當(dāng)?shù)墓ぞ哌M(jìn)行固定。第一級電機(jī)的轉(zhuǎn)動代表機(jī)械臂第一個關(guān)節(jié)的運(yùn)動,轉(zhuǎn)動的角度和角速度都可以從電機(jī)的編碼器獲取。將第二級電機(jī)的側(cè)面中心與第一級電機(jī)的軸固定,這樣第一級電機(jī)驅(qū)動第二級電機(jī)在豎直方向上運(yùn)動。再在切割好的亞克力板合適位置鉆孔,孔的位置與聯(lián)軸器契合,用工具進(jìn)行固定,這樣第二級電機(jī)驅(qū)動第二級連桿的轉(zhuǎn)動就可以表示機(jī)械臂在第二個關(guān)節(jié)的運(yùn)動。亞克力板的另一端固定好電磁鐵。至此,機(jī)械臂本體搭建完成,其運(yùn)動范圍在一個三維空間內(nèi),靜止?fàn)顟B(tài)下第一級電機(jī)控制第二級電機(jī)垂直于平臺,第二級電機(jī)的聯(lián)軸器控制擺臂平行于平臺。
本設(shè)計是基于Arduino 平臺進(jìn)行總體設(shè)計,Arduino 包含硬件和軟件,并且具有使用類似Java、C 語言的Processing/Wiring開發(fā)環(huán)境。Arduino 有可跨平臺、開放性高、社區(qū)與第三方支持等優(yōu)點。
本設(shè)計將系統(tǒng)軟件設(shè)計劃分為船載單元模塊設(shè)計和鎖止單元模塊設(shè)計兩部分。
3.2.1 船載單元模塊設(shè)計
本系統(tǒng)船載單元程序運(yùn)行流程見圖4。先按下泊位選擇數(shù)字,再按下泊岸按鍵,MCU 將開始采集船吃水深度、運(yùn)行速度和方位角等參量,如速度過快或方位角差別太大,顯示模塊將提示減速、調(diào)整角度,如各參量數(shù)值在閾值范圍內(nèi),則通過射頻通信模塊將這些數(shù)據(jù)與泊岸指令一起打包發(fā)給泊岸鎖止單元。起航按鍵則用于通知泊岸鎖止單元釋放鎖標(biāo)。
圖4 船載單元工作流程圖
3.2.2 鎖止單元模塊設(shè)計
圖5 泊岸鎖止單元工作流程圖
鎖止單元模塊即主控制程序,泊岸鎖止模塊一直處于待機(jī)狀態(tài),一旦收到船載單元發(fā)出的泊岸指令將激活泊岸鎖止模塊,發(fā)出測距指令,如發(fā)現(xiàn)船只在設(shè)置距離內(nèi),則通知主控處理模塊發(fā)出請求速度、吃水線、角度等數(shù)據(jù)的指令,通過射頻通信模塊與船載單元通信,得到相關(guān)參數(shù)后進(jìn)行計算,估算與機(jī)械臂的觸碰點,計算機(jī)械臂的角度,將相關(guān)數(shù)據(jù)發(fā)送給驅(qū)動模塊,控制電機(jī)轉(zhuǎn)動,帶動機(jī)械臂按預(yù)定軌跡運(yùn)動。機(jī)械臂頂端有觸碰鎖止的機(jī)械結(jié)構(gòu),一旦與船的鎖止桿相接觸將觸發(fā)分體式電動鎖止機(jī)構(gòu),鎖住鎖止桿,通過開關(guān)信號通知主控處理模塊,給驅(qū)動電路發(fā)出回轉(zhuǎn)指令,收回機(jī)械臂,帶動船只執(zhí)行泊岸操作。泊岸過程結(jié)束,如鎖止單元接收到起航指令,則釋放鎖止機(jī)構(gòu)。運(yùn)行過程中保護(hù)模塊始終采集實時的壓力、速度、拉力等相關(guān)信息,出現(xiàn)異常值則釋放鎖止機(jī)構(gòu)。船舶泊岸鎖止單元工作流程圖如圖5 所示。
主控制器將需要發(fā)送的數(shù)據(jù)通過串口傳送CC2530,CC2530 的串口接收到數(shù)據(jù)后將其通過無線射頻發(fā)送出去。同時,CC2530 接收到的數(shù)據(jù)也通過串口發(fā)送給其他設(shè)備。本系統(tǒng)主要使用ZigBee 模塊的無線收發(fā)和串口功能,其余工作都由主控制器2560 完成。
本設(shè)計對自動泊船系統(tǒng)進(jìn)行了軟硬件的試驗,并將傳感器數(shù)據(jù)發(fā)送至上位機(jī)中顯示,模擬船舶運(yùn)行,便于對船舶的姿態(tài)進(jìn)行分析。測試實驗結(jié)果表明,系統(tǒng)整體運(yùn)行穩(wěn)定、各個傳感器采集數(shù)據(jù)基本準(zhǔn)確、報警模塊提示及時,機(jī)械臂系統(tǒng)工作正常,基本達(dá)到了系統(tǒng)的設(shè)計要求,滿足自動泊船工作的需要,具有一定應(yīng)用價值。