高玉香,田佳平,連 漪
(1.華晨汽車集團(tuán)控股有限公司,遼寧 沈陽(yáng) 110044;2.華晨汽車工程研究院 ,遼寧 沈陽(yáng) 110141)
水下檢測(cè)特種車是為了滿足水下環(huán)境監(jiān)測(cè)與測(cè)量的需要,將浮標(biāo)、潛標(biāo)技術(shù)與特種車技術(shù)結(jié)合,研制出的一種無(wú)外掛推進(jìn)系統(tǒng),依靠自身浮力驅(qū)動(dòng)[1],沿鋸齒型航跡航行的新型水下檢測(cè)特種車。通過(guò)浮力調(diào)節(jié)系統(tǒng)來(lái)調(diào)整載體的排水量,使水下檢測(cè)特種車交替出現(xiàn)正浮力與負(fù)浮力狀態(tài)。同時(shí)依靠?jī)?nèi)部的執(zhí)行機(jī)構(gòu)改變載體的質(zhì)量分布,以改變載體的重心位置,通過(guò)重力來(lái)改變檢測(cè)特種車的姿態(tài)。水下檢測(cè)特種車采用內(nèi)置的姿態(tài)調(diào)整機(jī)構(gòu)和無(wú)外掛的驅(qū)動(dòng)裝置,使得載體外置裝置減少,避免了對(duì)載體線型的破壞、大大改善了載體的水動(dòng)力特性。在我國(guó),對(duì)于水下檢測(cè)特種車的研究還處于起步階段。
筆者以實(shí)驗(yàn)室研究的水下檢測(cè)特種車為研究對(duì)象,重點(diǎn)研究了基于PC104的工控機(jī)的水下檢測(cè)特種車的控制系統(tǒng)。首先簡(jiǎn)要介紹了水下檢測(cè)特種車控制系統(tǒng)總體方案,然后分別從控制系統(tǒng)的硬件與軟件進(jìn)行了深入的研究。
控制系統(tǒng)是水下檢測(cè)特種車的核心,其決定了水下檢測(cè)特種車的功能實(shí)現(xiàn)。圖1為水下檢測(cè)特種車控制系統(tǒng)總體示意圖。從圖中可以看出水下檢測(cè)特種車下水前,拆下臍帶電纜,水面計(jì)算機(jī)通過(guò)無(wú)線電信道與水下控制系統(tǒng)進(jìn)行通信,水下所有設(shè)備和傳感器的數(shù)據(jù)、狀態(tài)都可顯示在水面計(jì)算機(jī)上。水下控制系統(tǒng)接受水面控制系統(tǒng)的命令開始工作。當(dāng)檢測(cè)特種車返回水面后,建立無(wú)線電通訊信道,回傳水下檢測(cè)特種車在水下工作時(shí)的使命執(zhí)行信息。通過(guò)遙控操作也可以上傳水下記錄和下傳新的指令。
圖1 水下檢測(cè)特種車控制系統(tǒng)總體示意圖
考慮到客觀條件對(duì)控制系統(tǒng)的實(shí)際需要,控制系統(tǒng)的硬件設(shè)備主要包括:PC104工控機(jī)、電子羅盤、GPS、深度傳感器、高度計(jì)、RADIO、舵機(jī),其結(jié)構(gòu)原理圖如圖2所示。
圖2 水下滑翔檢測(cè)特種車控制系統(tǒng)結(jié)構(gòu)原理示意圖
水下檢測(cè)特種車航行器的PC104工控機(jī)主要有CPU模塊、AD/DA模塊、串口擴(kuò)展板、外部設(shè)備擴(kuò)展板幾部分。
CPU模塊要求性能穩(wěn)定、運(yùn)算速度快、具有看門狗設(shè)置、耗電小、操作簡(jiǎn)單。CPU板是深圳盛博公司生產(chǎn)的SysCentreModuleTM-7018B主板,該主板是一種高度集成、自棧結(jié)構(gòu)、IBM-PC/AT兼容、單+5V供電的PC/104 CPU模塊。它對(duì)于控制系統(tǒng)來(lái)說(shuō)結(jié)構(gòu)簡(jiǎn)單,具有二次開發(fā)方便,帶有的串并口能方便的輸入,輸出程序。
AD/DA模塊需要開關(guān)量為26路,至少具有3個(gè)計(jì)數(shù)器。選擇的是深圳盛博公司生產(chǎn)的SysExpan-Module/ADT650,是一個(gè)基于PC/104的擴(kuò)展板,具有24路開關(guān)量輸入輸出。選擇此板后將多出的2路開關(guān)量控制轉(zhuǎn)由D/A輸出。同時(shí)由于控制系統(tǒng)的的AD和DA輸出的路數(shù)少,選擇的ADT650自帶的ADDA接口滿足要求,節(jié)省成本。
由于CPU板的串口只有兩個(gè),但需要5個(gè)通過(guò)串口的輸入量。故選擇一串口擴(kuò)展板。它有4個(gè)獨(dú)立的串行接口,RS232/422/485方式可選。
確定了必要的PC104模塊后,要根據(jù)模塊完善外部電路設(shè)備,形成完善的控制系統(tǒng)。外部電路設(shè)備包括,給PC104及傳感器供電;傳感器前端采集信號(hào)處理;實(shí)現(xiàn)硬件設(shè)備開關(guān)動(dòng)作的功能,將開關(guān)量信號(hào)放大,消除干擾后驅(qū)動(dòng)傳感器工作。
傳感器主要有:GPS、電子羅盤、高度計(jì)、深度計(jì)、RADIO、舵機(jī)。為確定水下機(jī)構(gòu)的位置,選擇GPS傳感器,通過(guò)數(shù)據(jù)確定水下載體機(jī)構(gòu)的物理位置。GPS傳感器發(fā)送的是符合NMEA標(biāo)準(zhǔn)的ASCALL字符串。要求其重量輕、體積功耗小。選擇合適的傳感器后為了獲得更好的接受效果,將GPS的電子接受模塊與GPS天線分別放置。在水下載體的運(yùn)動(dòng)過(guò)程中,控制其姿態(tài)很重要,姿態(tài)的信息反饋越快,越能有效的避免意外情況發(fā)生。選擇電子羅盤要求響應(yīng)速度要快、延時(shí)要短。選擇美國(guó)精確導(dǎo)航公司研制的TCM3,它是一個(gè)具有最新技術(shù)的低功耗、高性能的傳感器模塊,它將一個(gè)三軸磁強(qiáng)計(jì)和一個(gè)高性能的二軸傾斜傳感器結(jié)合封裝在一起,使其具有比當(dāng)今其它類型的羅盤更小的體積和功耗[2]。
當(dāng)水下載體在運(yùn)動(dòng)過(guò)程中,需實(shí)時(shí)將載體距離海床高度反饋給控制系統(tǒng),高度計(jì)具有純模擬輸出、純數(shù)字輸出、自由連續(xù)輸出、查詢輸出等多種輸出模式可選,本設(shè)計(jì)選擇模擬與數(shù)字同時(shí)輸出模式。
深度傳感器主要用于檢測(cè)水下檢測(cè)特種車距水面的距離,選擇的是一種可補(bǔ)償?shù)墓鑹毫鞲衅?,密封?16SS結(jié)構(gòu)。
水下載體的運(yùn)動(dòng)控制是嵌入到控制系統(tǒng)的軟件控制,當(dāng)執(zhí)行完一定的任務(wù),許浮出水面,通過(guò)無(wú)線電的串口將數(shù)據(jù)發(fā)回給岸上主機(jī),同時(shí)將主機(jī)的信號(hào)反饋給控制控制系統(tǒng),便于執(zhí)行下次任務(wù)。選擇的RADIO是利用先進(jìn)的單片機(jī)技術(shù),無(wú)線射頻技術(shù),數(shù)字處理技術(shù)設(shè)計(jì)的功率較大,體積較小的模塊式半雙工數(shù)傳電臺(tái)。能實(shí)現(xiàn)設(shè)計(jì)的控制要求。
水下載體的運(yùn)動(dòng)過(guò)程需要實(shí)現(xiàn)前進(jìn)、后退、左右傾斜、上浮下潛等功能,舵機(jī)作為航行器的執(zhí)行機(jī)構(gòu),主要執(zhí)行元件為步進(jìn)電機(jī)和直線電機(jī),傳動(dòng)機(jī)構(gòu)為螺桿。
為了便于程序的維護(hù)移值升級(jí),控制系統(tǒng)系統(tǒng)軟件采用C語(yǔ)言。由于控制系統(tǒng)中的電子羅盤、GPS、高度計(jì)、RADIO的輸出一般都是采用串行數(shù)字輸出。
通過(guò)串口1接收的GPS信號(hào)遵守NMEA協(xié)議,是一串ASCALL碼,它包括字頭、數(shù)據(jù)位、結(jié)束符、校驗(yàn)符[3]。數(shù)據(jù)位包括了時(shí)間、日期、經(jīng)緯度、衛(wèi)星數(shù)量、磁偏角、有效位等。由于我們只需要知道水下滑翔檢測(cè)特種車的位置,故只截收了GPGGA。
通過(guò)串口2接收電子羅盤信號(hào),電子羅盤選用的是3軸的TCM3,TCM3發(fā)出的是2進(jìn)制數(shù),串口連接好后,首先向串口發(fā)出一個(gè)控制字和一個(gè)開始命令符,TCM3接收后向串口發(fā)回一串2進(jìn)制代碼,以后每次向串口發(fā)一開始命令符,TCM3發(fā)回一串2進(jìn)制代碼。
通過(guò)串口3接受的高度計(jì)信號(hào)為ASCALL字符,最大量程為50.00 m。
通過(guò)串口4接收的RADIO電臺(tái)信號(hào)沒有自己的通訊協(xié)議,在收發(fā)過(guò)程中,人工定義NMEA-0183通訊協(xié)議。信息包必須有包含位置信息格式的正確的數(shù)據(jù)標(biāo)題;信息必須包含有效的校驗(yàn)位;必須有結(jié)束位[4]。
以GPS為例說(shuō)明通過(guò)串口采集傳感器數(shù)據(jù)的過(guò)程。在每個(gè)時(shí)鐘取樣信號(hào)時(shí)刻,測(cè)量值鎖定在相應(yīng)數(shù)據(jù)寄存器里,同時(shí)產(chǎn)生中斷信號(hào)。微處理器運(yùn)行在循環(huán)等待狀態(tài),發(fā)生中斷后,處理器將讀取相應(yīng)數(shù)據(jù)寄存器的測(cè)量值,然后進(jìn)行數(shù)據(jù)運(yùn)算處理,處理完畢后,輸出結(jié)果,最后返回到循環(huán)等待狀態(tài),等待下一次中斷[5]。中斷處理流程圖如圖3所示。
圖3 中斷處理流程圖
對(duì)串口進(jìn)行初始化,程序如下:
將數(shù)據(jù)提取前需要通過(guò)驗(yàn)證碼校驗(yàn)有效值。
通過(guò)串口將傳感器發(fā)送的數(shù)據(jù)接收出來(lái),對(duì)應(yīng)每一個(gè)串口,將串口的基地址改變,設(shè)置好合適的波特率。編程方案相似。
控制系統(tǒng)系統(tǒng)硬件平臺(tái)搭建好,編寫出擴(kuò)展串口的通訊驅(qū)動(dòng)程序使整個(gè)系統(tǒng)能夠通訊。串口接收GPS程序后顯示如圖4所示。
圖4 程序結(jié)果顯示圖
在圖示中體現(xiàn)出了GPGGA的字符串,$GPGGA是包頭,*是包尾。中間是數(shù)據(jù)位,將數(shù)據(jù)位拆包,將經(jīng)度、緯度、時(shí)間提煉出來(lái)。
其它的傳感器與GPS類比,都是通過(guò)串口將數(shù)據(jù)讀出。在此過(guò)程中需要注意TCM3傳感器,它的數(shù)據(jù)傳輸形式是計(jì)算機(jī)先發(fā)給TCM3一個(gè)控制二進(jìn)制字符,TCM3發(fā)回一個(gè)反饋二進(jìn)制字符串,然后計(jì)算機(jī)再發(fā)給TCM3命令字符串,TCM3接收驗(yàn)證后通過(guò)串口發(fā)給計(jì)算機(jī)數(shù)據(jù)。故需要首先提取TCM3的控制二進(jìn)制字符。通過(guò)計(jì)算機(jī)串口先向TCM3發(fā)出的命令字為:
{0x00,0x09,0x03,0x03,0x05,0x18,0x19,0xDF,0xDE}
然后每次再發(fā)命令字{0x00,0x05,0x04,0xbf,0x71}
當(dāng)TCM3接收一次就將傳回一次姿態(tài)數(shù)據(jù)。其余雷同與正常的串口通訊。
導(dǎo)航系統(tǒng)是水下航行器的重要組成部分,對(duì)航行器能夠圓滿的完成預(yù)定任務(wù)具有重要意義。本文給出了以PC104工控計(jì)算機(jī)為核心的水下航行器導(dǎo)航系統(tǒng)的設(shè)計(jì)方案,給出了導(dǎo)航系統(tǒng)的基本硬件組成,介紹了導(dǎo)航軟件的工作原理以及GPS、TCM3等傳感器與主控計(jì)算機(jī)進(jìn)行通訊的各個(gè)軟件模塊的功能,本導(dǎo)航系統(tǒng)設(shè)計(jì)方案通過(guò)移植可以適用于不同類型的水下航行器,具有很大的通用性和靈活性。
[1] 蔣新松,封錫盛,王隸棠.水下機(jī)器人[M].沈陽(yáng):遼寧科學(xué)技術(shù)出版社,2000.
[2] Meck.H.R.A survey of methods of stability analysis of ring-stiffened sylinders under hydrostatic pressure[J].Trans.ASME.Ser.B.Jour.Eng.Industry,2007.
[3] 龔建偉.Visual C++/Turbo C串口通信編程實(shí)踐[M].北京:電子工業(yè)出版社,2005.
[4] 嚴(yán)衛(wèi)生,徐德民,宋保維,等.PC104工控機(jī)串行中斷通訊軟件的軟件開發(fā)與應(yīng)用[J].工業(yè)控制計(jì)算機(jī),2007(1):17-20.
[5] 薛定宇,陳陽(yáng)泉.基于MATLAB/Simulink的系統(tǒng)仿真技術(shù)與應(yīng)用[J].清華大學(xué)學(xué)報(bào)(自然科學(xué)版),2002(4):50-61.