文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2013)06-0017-04
近幾十年,我國加大了對海洋科考和探測的力度。經(jīng)探測發(fā)現(xiàn),我國大陸架淺海海底埋藏著豐富的石油、天然氣以及煤、硫、磷等礦產(chǎn)資源。在多數(shù)海盆中,廣泛分布著深海錳結(jié)核等可利用金屬礦產(chǎn)資源[1]。深海鉆機(jī)是大洋深海地質(zhì)探測的重要工具之一,它可以探取海底數(shù)十米以下的地質(zhì)樣品,為科學(xué)家了解海底地質(zhì)構(gòu)造提供第一手資料。但是深海鉆機(jī)的使用現(xiàn)狀并不理想。一方面,深海的惡劣環(huán)境給深海鉆機(jī)的使用帶來了不便;另一方面,鉆機(jī)一般會被下放到海底4 000 m~5 000 m的地方作業(yè),甲板操控人員根據(jù)深海攝像頭傳回來的視頻對海底鉆機(jī)進(jìn)行控制,是典型的開環(huán)控制[2],鉆取成功率較低。從海底傳輸上來的監(jiān)控視頻質(zhì)量不是很好,再加上鉆機(jī)鉆進(jìn)程序繁瑣,一次作業(yè)時間長達(dá)數(shù)十個小時,操作人員壓力大。監(jiān)控視頻從海底傳輸?shù)郊装灞O(jiān)控系統(tǒng),傳輸距離遠(yuǎn),延時較為明顯。如果遇到誤操作或其他偶然事件,則無法及時停止操作,會對鉆機(jī)本身造成很大的損害。本文介紹的基于STM32的檢測系統(tǒng)可以減少,甚至避免這些意外事件的發(fā)生,降低操作人員的工作壓力。
1 系統(tǒng)的工作原理概述
1.1 系統(tǒng)結(jié)構(gòu)
深海鉆機(jī)閉環(huán)檢測系統(tǒng)整體結(jié)構(gòu)框圖如圖1所示。本文主要闡述由檢測板以及各個傳感器組成的檢測系統(tǒng),它主要完成對鉆機(jī)運行狀況、動作完成情況的檢測,并向鉆機(jī)主控系統(tǒng)和甲板監(jiān)控系統(tǒng)實時反饋鉆機(jī)狀態(tài)信息。
1.2 深海鉆機(jī)閉環(huán)檢測
閉環(huán)控制系統(tǒng)是指輸出量直接或者間接地反饋到輸入端,形成閉環(huán)參與的系統(tǒng)[3]。鉆機(jī)閉環(huán)操作原理簡圖如圖2所示。實現(xiàn)深海鉆機(jī)的閉環(huán)控制一般需要有三個循環(huán)步驟:(1)鉆機(jī)主控系統(tǒng)根據(jù)命令按步驟執(zhí)行分解動作;(2)將分解動作的執(zhí)行結(jié)果反饋到鉆機(jī)主控系統(tǒng)和甲板監(jiān)控系統(tǒng);(3)鉆機(jī)主控系統(tǒng)根據(jù)反饋的結(jié)果做出相應(yīng)的調(diào)整或者是進(jìn)行下一步分解動作。本文設(shè)計的檢測系統(tǒng)主要完成步驟(2)。檢測系統(tǒng)向鉆機(jī)主控系統(tǒng)的輸出結(jié)果會間接地影響到檢測系統(tǒng)采集端的輸入量,這就形成了對鉆機(jī)系統(tǒng)的閉環(huán)檢測。
首先,檢測系統(tǒng)對鉆機(jī)動作進(jìn)行狀態(tài)檢測?,F(xiàn)在深海鉆機(jī)的動作主要是靠液壓桿的伸縮來完成,鉆機(jī)主控系統(tǒng)通過控制液壓閥的開、關(guān)來實現(xiàn)液壓桿的伸縮[2]。檢測系統(tǒng)主要通過檢測液壓桿中的油壓力大小并結(jié)合外部數(shù)字傳感器的狀態(tài)來判定液壓桿動作完成情況。例如,如果液壓桿中油壓增大但是明顯小于系統(tǒng)壓力且外部數(shù)字傳感器沒有信號,則說明液壓桿開始伸縮但是還沒有完成動作;如果液壓桿壓力接近系統(tǒng)壓力,而且外部數(shù)字傳感器有信號,則說明液壓桿已經(jīng)到位。
其次,檢測系統(tǒng)把采集信息反饋到鉆機(jī)主控系統(tǒng)和甲板監(jiān)控系統(tǒng)。因為鉆機(jī)主控系統(tǒng)內(nèi)部采用CAN總線通信協(xié)議,為了便于與鉆機(jī)主控系統(tǒng)通信,檢測系統(tǒng)與鉆機(jī)主控系統(tǒng)之間也采用CAN總線協(xié)議。檢測系統(tǒng)與甲板監(jiān)控系統(tǒng)間使用串口協(xié)議,但由于串口傳輸距離有限,所以需要使用光纖作為傳輸中繼。水下光端機(jī)先將串口信號轉(zhuǎn)換為光信號,然后混合光纜將信號傳輸?shù)郊装灞O(jiān)控系統(tǒng),甲板監(jiān)控系統(tǒng)再使用光端機(jī)將光信號還原為串口信號進(jìn)行分析。
2 系統(tǒng)硬件描述
2.1 系統(tǒng)主板
考慮到本系統(tǒng)要設(shè)計很多模擬量采集口和很多數(shù)字采集量,監(jiān)測系統(tǒng)主板的微處理器選擇了ST公司生產(chǎn)的STM32F103VCT6。這款單片機(jī)具有高達(dá)72 MHz的主頻,內(nèi)置256 KB的Flash,多路ADC,具有18 MHz的I/O翻轉(zhuǎn)速度[4],可以滿足檢測系統(tǒng)對運行速度、多路模擬量和數(shù)字量采集的要求。這款單片機(jī)還內(nèi)設(shè)有CAN、USART通信接口,可以讓檢測系統(tǒng)與鉆機(jī)主控系統(tǒng)和甲板監(jiān)控系統(tǒng)的通信更加容易實現(xiàn)。具體的檢測系統(tǒng)主板構(gòu)架圖如圖3所示。
2.3 系統(tǒng)應(yīng)急控制
系統(tǒng)設(shè)計了4路24 V/2 A的應(yīng)急控制繼電器,MCU通過自身的I/O口控制驅(qū)動電路來驅(qū)動繼電器開和關(guān)。如果鉆機(jī)在運行過程中發(fā)生意外事件,比如外部突然電壓不穩(wěn)定、突發(fā)的姿態(tài)變化、主控系統(tǒng)操作邏輯錯誤等狀況,檢測系統(tǒng)可以立即控制這4路繼電器采取應(yīng)急措施,比如切斷系統(tǒng)供電、給鉆機(jī)油壓系統(tǒng)卸荷等。這些應(yīng)急動作是發(fā)生在檢測系統(tǒng)向鉆機(jī)主控系統(tǒng)和甲板監(jiān)控系統(tǒng)反饋信息之前,從而在第一時間避免對整個鉆機(jī)系統(tǒng)造成不必要的損害。
3 系統(tǒng)軟件描述
3.1 檢測系統(tǒng)主板程序流程
主程序流程圖如圖5所示。主程序的設(shè)計主要分為以下幾個步驟:
(1)開始及系統(tǒng)初始化;
(2)循環(huán)查詢發(fā)送標(biāo)志位是否置位,如果置位則收集各個采集模塊信息;
(3)判斷采集信息并發(fā)送;
(4)安全機(jī)制和響應(yīng)上位機(jī)命令。
系統(tǒng)上電后,立即進(jìn)行系統(tǒng)的初始化。這一步驟非常重要,單片機(jī)初始化系統(tǒng)時鐘、定時器以及各個外設(shè)等。初始化完成后,進(jìn)入while循環(huán)。定時器每隔500 ms就會觸發(fā)中斷并置位發(fā)送標(biāo)志位,當(dāng)系統(tǒng)查詢到發(fā)送標(biāo)志位置位時,就會采集、計算各個傳感器的信息。如果系統(tǒng)判斷各個傳感器的信息是在預(yù)定范圍內(nèi),則通過串口和CAN總線分別向甲板監(jiān)控系統(tǒng)和鉆機(jī)主控系統(tǒng)反饋信息,否則就是鉆機(jī)發(fā)生意外事件,觸發(fā)緊急安全機(jī)制。判斷結(jié)束后清空發(fā)送標(biāo)志位,至此一次發(fā)送完成。
3.2 通信協(xié)議
檢測系統(tǒng)向甲板監(jiān)控系統(tǒng)反饋數(shù)據(jù)時,是以幀數(shù)據(jù)的格式發(fā)送。幀格式具體如圖6。
圖中“@$”是幀頭,“55*”是幀尾,各個數(shù)據(jù)間用“,”隔開。AD1~AD10分別代表MCU采集的10個通道的AD值,繼電器幀和數(shù)字1、2幀分別以位的形式表示現(xiàn)在繼電器的狀態(tài)和數(shù)字傳感器的狀態(tài),例如繼電器幀如果為0x03,轉(zhuǎn)化為二進(jìn)制就是0011,這表示第一、第二個繼電器閉合,第三、第四繼電器打開。
由于CAN協(xié)議一幀數(shù)據(jù)最大為8 B,不能滿足數(shù)據(jù)長度要求,所以軟件上使用CAN數(shù)據(jù)幀中的DATA0作為數(shù)據(jù)發(fā)送的擴(kuò)展幀,數(shù)據(jù)格式具體如表1。
Data0的0x01、0x02、0x03分別代表數(shù)據(jù)的第一、二、三幀。把3幀數(shù)據(jù)整合起來,才是完整的一組數(shù)據(jù)。由于CAN傳輸?shù)拿恳粋€數(shù)據(jù)都是8 bit,而AD采樣值為16 bit,系統(tǒng)軟件上采用兩個CAN數(shù)據(jù)表示一個AD值,即第一幀的Data1、Data2表示AD3的值(AD1與AD2不反饋給鉆機(jī)主控系統(tǒng)),以此類推。第三幀的Data3和Data4表示轉(zhuǎn)速數(shù)據(jù),Data5、Data6、Data7分別表示繼電器狀態(tài)和數(shù)字1、2的值。
4 測試結(jié)果
4.1 通信穩(wěn)定性測試及結(jié)果
測試時搭建起整個鉆機(jī)系統(tǒng),設(shè)置PC上位機(jī)軟件串口為COM1,通信速率為9 600 b/s,無奇偶校驗位,8 bit數(shù)據(jù)位,1 bit停止位。鉆機(jī)主控系統(tǒng)的CAN收發(fā)模塊ID設(shè)置為0x100,檢測系統(tǒng)的CAN收發(fā)模塊ID設(shè)置為0x200,無擴(kuò)展ID。系統(tǒng)上電,上位機(jī)可以順利地收到檢測系統(tǒng)反饋信息后,用串口調(diào)試助手和USB-CAN助手截獲通信信息進(jìn)行通信穩(wěn)定性測試,統(tǒng)計一分鐘內(nèi)串口和CAN的通信次數(shù)、丟包數(shù)和亂碼幀數(shù)量,結(jié)果如表2所示。
4.2 檢測系統(tǒng)功能測試及結(jié)果
測試流程如下:
(1)通信安全機(jī)制測試
系統(tǒng)運行正常后,將檢測系統(tǒng)與PC機(jī)之間的串口連接線斷開,3 s后檢測到系統(tǒng)主板自動復(fù)位(軟件設(shè)置為3 s),證明軟件安全機(jī)制有效。
(2)系統(tǒng)應(yīng)急功能測試
系統(tǒng)運行正常后,慢慢調(diào)高供電電壓,當(dāng)供電電壓超過300 V時(程序設(shè)置300 V為門限電壓),檢測板繼電器打開,鉆機(jī)卸荷,證明應(yīng)急功能有效。
(3)進(jìn)行各個模塊采集功能測試
在調(diào)試模擬傳感器和數(shù)字傳感器正常后,進(jìn)行鉆機(jī)閉環(huán)操作模擬。上位機(jī)發(fā)出一個指令進(jìn)行“取管”組合動作。
試驗中觀察到主控系統(tǒng)首先進(jìn)行組合動作中的第一個“擺臂”動作。檢測系統(tǒng)反饋機(jī)械臂到位信號后,鉆機(jī)主控板自動進(jìn)行“夾緊機(jī)械手”動作。當(dāng)檢測系統(tǒng)反饋“機(jī)械手”夾緊信號后,主控系統(tǒng)自動進(jìn)行“回臂”動作;當(dāng)檢測系統(tǒng)反饋到位信號后,一套組合動作完成。鉆機(jī)主控系統(tǒng)執(zhí)行動作時,PC上位機(jī)可以實時地反應(yīng)當(dāng)前鉆機(jī)機(jī)械臂的狀態(tài)。系統(tǒng)運行一個小時時,統(tǒng)計操作次數(shù)和動作執(zhí)行情況,如表3所示。
4.3 實驗結(jié)果分析
由以上實驗結(jié)果可以證明:
(1)檢測系統(tǒng)與主板間的CAN通信穩(wěn)定可靠,與甲板監(jiān)控系統(tǒng)串口通信穩(wěn)定,誤碼率在可接受范圍內(nèi)。
(2)檢測系統(tǒng)可以檢測到鉆機(jī)外部運行環(huán)境穩(wěn)定情況,當(dāng)發(fā)送意外事件時,可以及時地采取應(yīng)急措施,成功避免因為發(fā)生意外事件而對整個鉆機(jī)系統(tǒng)造成的損害。
(3)檢測系統(tǒng)可以準(zhǔn)確、實時地檢測鉆機(jī)運行狀態(tài),并反饋給鉆機(jī)主控系統(tǒng)和甲板監(jiān)控系統(tǒng),能輔助鉆機(jī)主控系統(tǒng)完成組合動作,檢測到鉆機(jī)執(zhí)行操作過程中的邏輯錯誤,并能成功避免誤操作,這是深海鉆機(jī)實現(xiàn)閉環(huán)控制必不可少的一部分。
參考文獻(xiàn)
[1] 金翔龍.二十一紀(jì)海洋開發(fā)利用與海洋經(jīng)濟(jì)發(fā)展的展望[J].科學(xué)中國人,2006(11):13-17.
[2] 邱良豐.基于復(fù)合光纜的深海鉆機(jī)監(jiān)控系統(tǒng)的研制[D].杭州:杭州電子科技大學(xué),2010.
[3] 趙欽君,姜斌.基于模型的閉環(huán)系統(tǒng)故障檢測的一種新方法[J].控制工程,2005,2(12):174-176.
[4] ST Microelectronics.STM32F103xC STM32F103xD STM32F103xE[Z].2008.
[5] 李海波,林輝.線性光耦在電流采樣中的應(yīng)用[J].電源技術(shù),2004,6(1):17-19.