汪淑賢,李 明,王 旬
(桂林電子科技大學(xué) 信息科技學(xué)院,廣西 桂林 541004)
水下探測儀也稱為無人水下潛水器,是一種在水下作業(yè)最具潛力的開發(fā)工具,具有運(yùn)動控制、通信導(dǎo)航、實(shí)時(shí)反饋水下環(huán)境等功能[1]。由于水下環(huán)境的不確定性,人的潛水深度有限,目前水下機(jī)器人已成為海洋開發(fā)的重要工具。國外從20世紀(jì)20年代 開始現(xiàn)代潛水器的研制,并不斷對其進(jìn)行改造,目前研制了更多功能的水下機(jī)器人,如法國的“逆戟鯨”號,日本的R2D4和“海鲀3K”號,美國的REMUS和“UUV”號等,且REMUS6000能達(dá)到25~6 000 m的工作深度,代表了自主式水下探測器的最高水平[1]。文獻(xiàn)[2]和文獻(xiàn)[3]探討分析了國內(nèi)外各種水下機(jī)器人的研究現(xiàn)狀和結(jié)構(gòu),為現(xiàn)在的深入研究提供了一定的幫助。
國內(nèi)從2010年開始,水下機(jī)器人迅速發(fā)展,如“蛟龍”號載人潛水器、2014年青島世園會海洋館展覽的“小蛟龍”號模型、“潛龍一號”和“潛龍二號”等。目前,很多IT公司也逐漸關(guān)注水下機(jī)器人的研究,不斷增強(qiáng)水下機(jī)器人的娛樂功能和簡單便攜性,如2017年應(yīng)用最新科技的“小海鰩”可以實(shí)現(xiàn)實(shí)時(shí)圖傳、誘魚功能、探測魚類等;在電影《功夫瑜伽》里也出現(xiàn)了小型便攜的水下探測機(jī)器人。結(jié)合國內(nèi)外水下機(jī)器人的研究進(jìn)展,有研究學(xué)者對其進(jìn)行了結(jié)構(gòu)的改進(jìn)。文獻(xiàn)[4]為提升其低速航行時(shí)的機(jī)動性,提出了基于球面并聯(lián)結(jié)構(gòu)的無鰭舵矢量推進(jìn)水下機(jī)器人;文獻(xiàn)[5]為提高其機(jī)動性和可控性,構(gòu)建了矢量噴水推進(jìn)系統(tǒng)的多自由度水下機(jī)器人;同時(shí),文獻(xiàn)[6]也證明了矢量推進(jìn)方式能有效提升水下機(jī)器人的定位能力;在文獻(xiàn)[7]中,通過6路PWM信號對電機(jī)調(diào)速控制和12路正反轉(zhuǎn)信號驅(qū)動改善了推進(jìn)器的控制效果,并采用三子樣優(yōu)化算法完成水下探測儀的導(dǎo)航定位功能。根據(jù)已有對水下機(jī)器人推進(jìn)器結(jié)構(gòu)的改進(jìn),本文將螺旋槳通過無刷電機(jī)和無刷電調(diào)相結(jié)合形成推進(jìn)器,并以Arduino Mega 2560最小系統(tǒng)為控制核心設(shè)計(jì)水下探測儀,有效實(shí)現(xiàn)了相關(guān)功能。
水下探測儀旨在實(shí)現(xiàn)水下的自由移動,實(shí)時(shí)傳輸水下狀況至電子顯示設(shè)備上,并能照明和誘魚。本文首先通過DC-DC可調(diào)降壓模塊對水上和水下的設(shè)備供電,并能根據(jù)電路的需要進(jìn)行降壓、穩(wěn)壓;然后采用脈沖調(diào)制技術(shù)實(shí)現(xiàn)推進(jìn)器的不同轉(zhuǎn)速來供給動力??紤]到水下不同的環(huán)境,本文通過云臺舵機(jī)攝像頭觀察水下狀況以完成自由調(diào)節(jié)角度,并由Arduino串口通信實(shí)現(xiàn)水下遠(yuǎn)距離指令的發(fā)送與接收,繼而通過傳輸穩(wěn)定、效率高的電力載波通信模塊,加以發(fā)射端和接收端的雙絞線連接,構(gòu)成整個水下探測儀控制流程圖,如圖1所示。
圖1 系統(tǒng)控制流程圖
水下探測儀系統(tǒng)的硬件結(jié)構(gòu)包括Arduino Mega 2560最小系統(tǒng)、DC-DC可調(diào)降壓模塊、電力載波模塊、繼電器模塊、有源雙絞線傳輸器、推進(jìn)器模塊、攝像頭云臺、誘魚燈模塊等。
Arduino系統(tǒng)采用的是AVR單片機(jī),最大的特點(diǎn)是具有54路數(shù)字輸入輸出(其中16路可作為PWM輸出)、16路模擬輸入和4個串口,且串口通信功能強(qiáng)大,能快速地與下一個Arduino端接通以進(jìn)行串口通信[8-9],完成信息的傳遞。由于水下探測儀需要通過水下推進(jìn)系統(tǒng)獲得移動動力,才能完成自由移動,水上和水下設(shè)備間的距離相對較遠(yuǎn)。為了更好地遠(yuǎn)距離實(shí)現(xiàn)水下移動和傳輸水下設(shè)備采集的數(shù)據(jù),本設(shè)計(jì)選擇4路脈沖寬度調(diào)制PWM輸出分別進(jìn)行左推、右推、垂推、垂推,以完成方向的控制;同時(shí)選擇Arduino串口進(jìn)行通信,4個串口對交叉相連設(shè)備的發(fā)送端(TX)和接收端(RX)有特定選擇,如表1所示。其中電腦與Arduino Mega 2560的USB接口相連,默認(rèn)串口0,并選擇串口3完成本設(shè)計(jì)所需的串口通信,通過相應(yīng)函數(shù)即可完成串口的通信設(shè)置。
表1 Arduino Mega 2560的4個串口設(shè)置
DC-DC可調(diào)降壓模塊旨在調(diào)整各模塊的工作電壓以保護(hù)芯片正常運(yùn)作,考慮到LM2596開關(guān)電壓調(diào)節(jié)器具有線性和負(fù)載調(diào)節(jié)特性,LM可以在輸入電壓和輸出負(fù)載給定的情況下,將誤差降低為4%范圍內(nèi),自我保護(hù)功能強(qiáng)。因此,本系統(tǒng)選擇LM2596S DC-DC可調(diào)降壓模塊,輸入電壓要求3 V~40 V之間,輸出電壓直流1.5 V~35 V且電壓連續(xù)可調(diào),高效率最大輸出3 A,可以在各個設(shè)備無對應(yīng)電壓電源時(shí),調(diào)節(jié)出適合電路所需的電壓。
本系統(tǒng)采用基于移頻鍵控方式的第四代電力載波模塊,一方面可以通過電纜線以載波的形式對電路模擬信號進(jìn)行打包并傳輸,且無需架設(shè)網(wǎng)絡(luò),另一方面在系統(tǒng)正常工作時(shí),能通過電阻值控制輸出電流,達(dá)到電壓保護(hù)和限制電流的效果,是本系統(tǒng)數(shù)據(jù)傳輸?shù)氖走x模塊。
推進(jìn)器是水下探測儀在水下移動的重要組成部分,其包括浮力調(diào)整的載鐵、防水的殼體、驅(qū)動電機(jī)、水上動力裝置及設(shè)備、傳動系統(tǒng)裝置、螺旋槳等。其中浮力裝置需要與配重之間達(dá)到平衡才能保證零浮力,以保證探測儀能在水下不同地方懸?。凰聞恿ρb置由蓄電池供電,其好壞決定推進(jìn)器的動能和水下工作時(shí)間,而水下控制設(shè)備需要根據(jù)推進(jìn)器的運(yùn)動方向和速度才能進(jìn)行調(diào)節(jié)。故本文考慮將螺旋槳結(jié)合無刷電機(jī)和無刷電調(diào)形成推進(jìn)器,能夠更好地控制轉(zhuǎn)速和轉(zhuǎn)向。
實(shí)時(shí)傳輸視頻圖像是水下探測儀最重要的功能之一。考慮到水下探測儀的工作環(huán)境,加之雙絞線本身擁有抗干擾能力強(qiáng)、傳輸距離遠(yuǎn)、傳輸質(zhì)量好等優(yōu)勢,本文采用有源雙絞線傳輸器作為視頻圖像傳輸?shù)闹匾考?。通過輸入設(shè)備和輸出設(shè)備的接入完成相應(yīng)的視頻傳輸線路,如圖2所示。
圖2 視頻傳輸線路
在圖2中,由攝像機(jī)采集視頻圖像信息,根據(jù)差分傳輸原理,將該視頻信號轉(zhuǎn)換為幅度相等相位相反的信號,并連接到接收設(shè)備中,將兩個信號的差值還原為不平衡信號,進(jìn)而通過顯示器設(shè)備加以顯示。
通過上述硬件結(jié)構(gòu)的組合,可以完成整個系統(tǒng)硬件形式的發(fā)射端和接收端,發(fā)射端輸出的串口數(shù)據(jù),經(jīng)過雙絞線傳輸,可在接收端打印出來。其中發(fā)射端由Arduino Mega 2560、電壓檢測模塊、LM2596S DC-DC降壓模塊、電力載波通信模塊、有源雙絞線傳輸器模塊、顯示器等組成,如圖3所示。接收端包括Arduino Mega 2560、LM2596S DC-DC降壓模塊、電力載波通信模塊、有源雙絞線傳輸器模塊、推進(jìn)器和攝像頭等,如圖4所示。
圖3 系統(tǒng)發(fā)射端原理框圖
圖4 系統(tǒng)接收端原理框圖
水下探測儀軟件設(shè)計(jì)的整體流程圖如圖5所示。在啟動機(jī)器人之后,需要對推進(jìn)器、串口及LED燈進(jìn)行設(shè)置。首先是對控制系統(tǒng)的初始化。若使得推進(jìn)器控制搖桿工作,則在Arduino Mega 2560發(fā)送指令數(shù)據(jù)之前,需要對舵機(jī)的精確度、電調(diào)歸零、串口的讀取等進(jìn)行初始化,且在開始讀取旋轉(zhuǎn)角度之時(shí),經(jīng)過Arduino上位機(jī)發(fā)送指令,接收到指令之后再回復(fù)一個應(yīng)答信號。若Arduino上位機(jī)接收到該應(yīng)答信號,則代表舵機(jī)的角度初始化實(shí)現(xiàn),即可工作,并在再次接收信號時(shí)讀取搖桿的位置,以驅(qū)動無刷電機(jī)轉(zhuǎn)動。
圖5 軟件設(shè)計(jì)整體流程圖
在初始化控制系統(tǒng)之后,將串口讀數(shù)據(jù)設(shè)為bit,值為9 600,并將串口數(shù)據(jù)發(fā)送至接收端,接收端再從串口讀取有效存儲在串行緩沖區(qū)的數(shù)據(jù)。若接收的指令信息無法執(zhí)行,則需檢查線路并重新接收新的指令信息。
在將各個模塊進(jìn)行裝配之后,通過軟硬件調(diào)試形成完整的水下探測儀,如圖6所示。首先在電池量充滿的情況下,將水下系統(tǒng)放入耐壓倉并檢測密封性,用連接線將水下探測儀接在控制板臍帶纜接口,串口與電腦相連接。啟動電源、顯示屏、探測儀和照明的開關(guān),調(diào)整攝像頭的最佳位置,完成云臺轉(zhuǎn)動角度和攝像頭的測試。
圖6 完整的水下探測儀模擬系統(tǒng)
為了驗(yàn)證系統(tǒng)的有效性,以學(xué)校內(nèi)部湖水為測試場景,完成了如下功能調(diào)試:(1)根據(jù)最后接收串口信息記錄的搖桿位置,以控制中心為起點(diǎn),輸出脈沖信號,通過控制線發(fā)送脈沖寬度調(diào)制(PWM)的電脈沖控制舵機(jī),不斷的PWM波使得舵機(jī)在某個角度有扭矩,以推動探測儀移動。同時(shí)測試得出電調(diào)歸零值為1 470,由調(diào)速控制數(shù)值大小作用于舵機(jī)旋轉(zhuǎn)的快慢,向前行進(jìn)指令電壓映射值若大于560,則向右前方行駛,若小于440,則向左前方行駛,否則直行。最終實(shí)現(xiàn)探測儀在1~5 m的水下探測和自由移動。由于直接拍攝水下探測儀前后、上浮下沉、加減速的照片效果不明顯,本次調(diào)試以拍攝其移動視頻為主,在此只展示了水下探測儀的左轉(zhuǎn)和右轉(zhuǎn),如圖7所示。在移動的過程中,考慮到水下的阻力作用,長時(shí)間工作的螺旋槳有可能會脫落,運(yùn)行方向會產(chǎn)生部分偏移。(2)Arduino串口通信由攝像頭采集信息,充分利用有源雙絞線傳輸器的差分傳輸原理,將發(fā)射端信號轉(zhuǎn)換成等幅度、極性相反的視頻信號,傳輸至接收端中,原信號與之相減后的視頻信號傳輸?shù)诫娮釉O(shè)備顯示屏上,即可完成實(shí)時(shí)的視頻圖像傳輸。(3)由繼電器控制LED燈和誘魚燈,且將誘魚燈設(shè)置為藍(lán)色光源,實(shí)現(xiàn)了水下照明和對魚群的引誘呼喚,如圖8所示。
圖7 水下探測儀的移動
圖8 照明與誘魚功能
本文基于Arduino Mega 2560最小系統(tǒng),通過LM2596S DC-DC可調(diào)降壓模塊給系統(tǒng)電路供電穩(wěn)壓,將螺旋槳與無刷電機(jī)和無刷電調(diào)相結(jié)合形成推進(jìn)器,并結(jié)合電力載波模塊、攝像頭等,共同構(gòu)建了一款水下智能探測儀,實(shí)驗(yàn)證明該探測儀能夠有效地進(jìn)行1~5 m水下移動,實(shí)現(xiàn)實(shí)時(shí)圖傳、照明誘魚功能。本設(shè)計(jì)能與當(dāng)前的前沿科技緊密聯(lián)系,具有重要的現(xiàn)實(shí)研究意義。但本設(shè)計(jì)仍屬于實(shí)驗(yàn)成品,對于探測的水下深度、機(jī)器工作續(xù)航時(shí)間、推進(jìn)器螺旋槳的穩(wěn)固、電調(diào)歸零值的精確度等問題仍需要深入研究和改進(jìn)。