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