呂志剛
(中國船舶重工集團(tuán)公司第七一○研究所 宜昌 443003)
?
基于CAN總線的水下航行器分布式控制系統(tǒng)的研究與設(shè)計(jì)*
呂志剛
(中國船舶重工集團(tuán)公司第七一○研究所 宜昌 443003)
論文將介紹一種應(yīng)用于水下航行器的分布式控制系統(tǒng)的設(shè)計(jì)方法,該系統(tǒng)由中央控制單元、通訊部分和分布式控制器組成,具有連線簡單、擴(kuò)充方便、通訊穩(wěn)定可靠、控制實(shí)時(shí)性高等特點(diǎn)。并對(duì)分布式控制器的硬件電路設(shè)計(jì)和控制軟件作了闡述,該控制系統(tǒng)已應(yīng)用于某大型水下航行器中,控制效果良好。
CAN總線; 分布式控制; dsPIC30F6014A; 水下航行器
Class Number TP273
水下航行器控制系統(tǒng)是航行器信息處理和控制的主體,其設(shè)計(jì)好壞將決定航行器的整體行為和性能,航行器控制系統(tǒng)結(jié)構(gòu)一般可分為三種類型[1]: 1) 集中控制方式:利用一臺(tái)微型計(jì)算機(jī)實(shí)現(xiàn)全部功能,這種方式具有結(jié)構(gòu)簡單、經(jīng)濟(jì)的特點(diǎn),但處理能力有限,難以滿足高性能控制要求并且控制器風(fēng)險(xiǎn)高度集中。 2) 主從控制方式,用主從兩個(gè)CPU進(jìn)行控制,主CPU擔(dān)當(dāng)系統(tǒng)管理、航行器語言編程和人機(jī)接口功能;從CPU擔(dān)當(dāng)各個(gè)子模塊的具體控制。 3) 分布式控制:普遍采用中央控制單元、子控制器二級(jí)分布式結(jié)構(gòu),中央控制單元負(fù)責(zé)整個(gè)系統(tǒng)管理以及運(yùn)動(dòng)學(xué)計(jì)算、控制算法、運(yùn)動(dòng)軌跡等,子控制器由多個(gè)CPU組成,每個(gè)CPU控制一個(gè)相應(yīng)的執(zhí)行機(jī)構(gòu),這些CPU和中央控制單元通過總線形式相聯(lián)系。這種結(jié)構(gòu)的控制器工作速度和控制性能明顯提高,是一種比較理想的航行器控制方式[9]。
本控制系統(tǒng)采用分布式控制方式,因?yàn)樵谒潞叫衅骺刂葡到y(tǒng)中控制對(duì)象多而分散,若采用點(diǎn)對(duì)點(diǎn)的集中控制方式,控制模塊與被控對(duì)象之間就需要大量連接電纜,會(huì)導(dǎo)致航行器內(nèi)部布線復(fù)雜且制造和安裝困難,并且存在故障隱患。分布式控制結(jié)構(gòu)可以根據(jù)控制對(duì)象的位置來設(shè)計(jì)控制模塊,從而縮短了控制對(duì)象與控制模塊之間的距離。各模塊通過CAN(Controller Area Network)總線通信,該方式僅需要一根線作為通信線。此外,分布式系統(tǒng)結(jié)構(gòu)還可以降低單板的靜態(tài)電流,增加單板的穩(wěn)定性。本控制系統(tǒng)由中央控制單元模塊、通訊模塊和子控制器模塊組成[2],如圖1所示。
圖1 分布式控制系統(tǒng)簡圖
2.1 中央控制單元控制模塊
中央控制單元是控制系統(tǒng)的中樞,要求體積小,運(yùn)算速度快,滿足實(shí)時(shí)控制的要求,通常采用高性能工業(yè)控制計(jì)算機(jī)。中央控制單元主要負(fù)責(zé)與各分布式控制器進(jìn)行通信,并根據(jù)這些控制器反饋的狀態(tài)實(shí)現(xiàn)相應(yīng)的控制策略,然后將控制命令通過CAN總線發(fā)送給相應(yīng)的子模塊。主控制模塊的微控制器采用了可靠性高、抗干擾能力強(qiáng)的專用通信芯片SJ1000,其內(nèi)部集成了CAN控制器,控制程序流程如圖2所示。
圖2 控制程序流程圖
2.2 通訊模塊
航行器的分布式控制系統(tǒng)中,對(duì)通信方式的選擇至關(guān)重要,中央控制單元和各節(jié)點(diǎn)控制器間的通信既要滿足硬件連接簡單,擴(kuò)充方便,又要滿足通信的高可靠性和實(shí)時(shí)性。本設(shè)計(jì)采用CAN總線作為通信標(biāo)準(zhǔn),CAN總線是一種有效支持分布式和實(shí)時(shí)控制的串行通訊網(wǎng)絡(luò),與一般的通信網(wǎng)絡(luò)相比具有可靠性高、實(shí)時(shí)性和靈活性好的優(yōu)點(diǎn),非常適合作為航行器控制系統(tǒng)中的通信方式。
在控制系統(tǒng)中,中央控制單元通過PC104板中集成的CAN通信接口連接到CAN網(wǎng)絡(luò),在中央控制單元中調(diào)用PC104主板卡提供的CAN模塊驅(qū)動(dòng)涵數(shù),來實(shí)現(xiàn)CAN通信的管理和監(jiān)控。CAN網(wǎng)絡(luò)各設(shè)備間通過雙絞線連接,因?yàn)殡p絞線的特性阻抗為120Ω,為了增強(qiáng)CAN通信的可靠性和抗干擾性,在CAN網(wǎng)絡(luò)的兩個(gè)端點(diǎn)加入120Ω的抑制反射的終端匹配電阻[7~8]。
圖3 CAN通信原理圖
2.3 子控制器模塊
子控制器模塊是整個(gè)控制系統(tǒng)的底層,與各節(jié)點(diǎn)驅(qū)動(dòng)電機(jī)集成在一起,實(shí)際上是一個(gè)單獨(dú)的功能控制和驅(qū)動(dòng)模塊,主要用來控制各個(gè)節(jié)點(diǎn)功能的具體執(zhí)行過程,子控制器接收中央控制單元的控制命令,對(duì)各個(gè)節(jié)點(diǎn)的功能進(jìn)行控制,同時(shí)把底層的信息反饋給中央控制單元,便于中央控制單元協(xié)調(diào)規(guī)劃,統(tǒng)一管理。所有的子控制器的通信模塊和微處理器在硬件上完全相同,根據(jù)各節(jié)點(diǎn)的功能控制差異,內(nèi)部下載的軟件程序有所不同。各個(gè)子控制器是整個(gè)控制系統(tǒng)的核心,它的性能好壞直接關(guān)系到水下航行器的整體性能。
控制器硬件系統(tǒng)結(jié)構(gòu)可分為主處理器單元、電源及電源隔離電路、CAN通信接口電路、檢測電路、驅(qū)動(dòng)電路等模塊,具體電路形式如圖4所示。
圖4 控制系統(tǒng)硬件電路
3.1 主控制器芯片
本設(shè)計(jì)核心控制芯片采用了微芯公司的dsPIC30F6014A單片機(jī),該芯片混合了高速運(yùn)算能力和MCU高性能控制特性于一體,提供了許多外設(shè),包括16位比較/PWM輸出功能、數(shù)據(jù)轉(zhuǎn)換接口(DCI)、UART模塊、兩個(gè)CAN總線模塊、3線SPI模塊、16位捕捉輸入功能、12位模數(shù)轉(zhuǎn)換器等見圖5所示[5],因此非常適合于對(duì)實(shí)現(xiàn)航行器各功能進(jìn)行數(shù)字控制。
圖5 主控制器功能組成模塊
3.2 CAN接口電路
dsPIC30F6014A芯片內(nèi)集成了CAN控制器,要完成數(shù)據(jù)幀的收發(fā)還需要外加CAN驅(qū)動(dòng)芯片,本設(shè)計(jì)采用微芯公司的MCP2551作為CAN驅(qū)動(dòng)器[10]。為了增強(qiáng)抗外部干擾,在dsPIC30F6014A的CTX和CRX引腳與CAN驅(qū)動(dòng)器之間加兩個(gè)高速光電耦合器6N137[6]。
引腳編號(hào)引腳名稱引腳功能1TXD發(fā)送器數(shù)據(jù)輸入2VSS接地3VDD提供電壓4RXD接收器數(shù)據(jù)輸出5VREF參考輸出電壓6CANLCAN低電壓I/O7CANHCAN高電壓I/O8Rs斜率控制輸入
圖6 MCP2551封裝類型和引腳信息
3.3 電源隔離電路
本系統(tǒng)設(shè)計(jì)中電源的隔離采用小功率電源模塊(DC/DC)和濾波芯(BNX002)片來實(shí)現(xiàn),如圖7所示。
圖7 電源隔離電路
系統(tǒng)中各個(gè)ECU通過CAN總線發(fā)送接收命令,實(shí)現(xiàn)與中央控制單元通信,從而實(shí)現(xiàn)相應(yīng)的功能和狀態(tài)的反饋,軟件的設(shè)計(jì)是基于MPLAB_C30軟件編寫的,程序主要由CAN初始化、發(fā)送數(shù)據(jù)和接收數(shù)據(jù)三部分組成,如圖8所示。
圖8 主程序流程圖
本文設(shè)計(jì)的系統(tǒng)采用分布式控制,采用CAN總線作為通信方式通信,和過去航行器控制中常用的RS232、RS485總線相比具有通訊穩(wěn)定可靠、實(shí)時(shí)性高等優(yōu)點(diǎn),且結(jié)構(gòu)簡單、成本低。在分布式控制器中選用了dsPIC30F6014A作為控制芯片,既能方便地利用豐富的外圍模塊實(shí)現(xiàn)控制功能,又能以較快的運(yùn)算速度實(shí)現(xiàn)較復(fù)雜的數(shù)據(jù)處理,克服了過去集中式控制系統(tǒng)中的中央控制單元任務(wù)集中、任務(wù)多等缺點(diǎn)。該控制系統(tǒng)即插即用,功能擴(kuò)展和故障處理方便、連線簡單;并且縮短了模擬信號(hào)的傳輸距離,有效地該善了抗干擾能力。
[1] 范永,譚民.機(jī)器人控制器的現(xiàn)狀及展望[J].機(jī)器人,1999,21(1):75-80.
[2] 劉華,程莉,等.機(jī)器人控制器與被控機(jī)器人的通訊方法研究[J].機(jī)器人技術(shù)與應(yīng)用,2002(4):34-37.
[3] 鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1996.
[4] 楊飛,鄭貴林.基于CAN總線的監(jiān)控系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2005,21(7):34-36.
[5] 芯片公司.dsPIC30F6014A數(shù)據(jù)手冊(cè)[M].錢德勒:芯片公司,2006.
[6] 芯片公司.MCP2551 CAN高速接收器數(shù)據(jù)手冊(cè)[M].錢德勒:芯片公司,2006.
[7] Sanfridson M.分散式實(shí)時(shí)計(jì)算機(jī)控制系統(tǒng)的時(shí)間問題[R].斯德哥爾摩:機(jī)械設(shè)計(jì)皇家技術(shù)學(xué)院機(jī)電一體化實(shí)驗(yàn)部技術(shù)報(bào)告,2000.
[8] Shi G Y.用于典型Iob-shop排定問題的遺傳算法[J].系統(tǒng)科學(xué)國際期刊,1997(1):25-32.
[9] Eker J, Hagander P, Arzen K E.實(shí)時(shí)控制任務(wù)反饋調(diào)度器[J].控制工程實(shí)踐,2008(12):1369-1378.
[10] 楊潔.CAN總線在移動(dòng)機(jī)器人中的應(yīng)用研究[D].西安:西安科技學(xué)院,2002.
Research and Design of Distributes Control System of the Underwater Vehicles Based on CAN-bus
LV Zhigang
(No. 710 Research Institute, CSIC, Yichang 443003)
This paper describes the design of a distributes control system method used in marine vehicles, This system consists of the center control unit(CCU), communications component and distributes controller, which have simple connection, the expansion of convenient, reliable communications and real-time high’s control characteristics. Besides distributes controller’s hardware circuit and control software are described, The control system has been applied to a large marine vehicles, which has good control effect.
CAN-bus, distributes control system, dsPIC30F6014A, underwater vehicles
2014年10月2日,
2014年11月18日
呂志剛,男,碩士,工程師,研究方向:水中兵器學(xué)。
TP273
10.3969/j.issn1672-9730.2015.04.039