?

基于CAN 總線的分布式船用六自由度穩定平臺的同步控制系統設計

2024-01-22 13:03鄭文彬信光成陳銘堃
廣東造船 2023年6期
關鍵詞:串口姿態總線

鄭文彬,曹 凌,代 磊,信光成,陳銘堃

(九江精密測試技術研究所,九江 332000)

1 前言

船用穩定平臺,是能隔離船舶波浪運動保持物體在慣性空間下方位不變的裝置,在軍事和民用領域發揮著重要作用:在軍事方面,穩定平臺可以隔絕船體干擾,提高艦載武器瞄準精度,實現精確瞄準和對目標的運動跟蹤;在民用方面,可用于船上穩定手術室、雷達裝置、直升機降落平臺等領域。隨著我國建設海洋強國戰略步伐的不斷邁進,對高精度船用穩定平臺的需求變得更為迫切,船用穩定平臺控制系統的研究有著廣闊的應用前景,目前已成為高校和科研機構的研究熱點[1]。

Stewart 平臺是目前使用廣泛的六自由度平臺,由上臺面、下臺面、六個運動缸以及6 個虎克鉸組成。平臺可進行6 個自由度運動:橫滾、偏擺、俯仰、橫移、前后和升降[2]。因其在六個維度上的運動與船舶的波浪運動相同,常用作海上穩定平臺。

穩定平臺姿態調整的步驟;設定平臺目標姿態;通過姿態反解求得各運動缸的目標位移;在控制器的作用下,使6 個運動缸同步平穩的運動到目標位置,完成平臺的姿態調整[3]。

由于6 個運動缸需同步運動,目前廣泛使用EtherCAT 總線對運動缸進行同步控制。由于Ethercat 使用了非標準的鏈路層,需要使用專用芯片來處理協議,相比于基于通用協議(比如TCP/IP/CAN)硬件成本較高[4],本文提出了一種在工業領域應用廣泛、安全可靠的基于CAN 總線的分布式六自由度平臺同步控制系統。

1 基于CAN 總線的分布式控制系統

穩定平臺在進行姿態運動時,需進行姿態反解以及六個運動缸的閉環控制,因此建立如圖1 所示的分布式控制系統,該系統包括一個主控制器、六個從控制器、通信總線、同步脈沖信號:主控制器主要對平臺進行整體控制,用以實現運動反解、人機交互、參數存儲和更改等功能;從控制器分別控制運動缸的閉環運動,實現運動缸平穩運動控制、狀態上報等功能;同步脈沖信號用以協調系統同步運行;通信總線用以連接主控制器和從控制器,實現主控制器的控制指令下發和從控制器的運動狀態上報,通信總線采用CAN 總線。

圖1 平臺控制系統

CAN 是一種有效支持分布式控制和實時控制的串行通信網絡,具有通信速率高、實現容易、性價比高等優點:CAN 總線的通訊方式靈活,可通過報文濾波實現點對點、一點對多點及全局廣播等方式傳送接收數據,提供高達1Mbps 的數據傳輸速率;CAN 總線采用短幀格式通信,傳輸時間短,受干擾概率低,具有極好的檢錯效果,每幀信息都有CRC 校驗及其他檢錯措施,從而保證了數據通信的可靠性;CAN 總線采用非破壞性總線仲裁技術,大大節省了總線沖突仲裁時間,在網絡負載很重的情況下也不會出現網絡癱瘓情況。

同步脈沖信號為主控制器定時產生并發出高低電平脈沖信號,通過電纜傳輸至各從控制器上,從控制器在接收到同步脈沖信號時進行運動缸的伺服控制。由于同步脈沖信號是由統一由主控制器發出,因此各從控制器控制的運動缸得以保持運動同步。

2 控制器硬件設計

2.1 控制器CPU 選型

控制器采用德州儀器(TI)公司生產的DSP 芯片TMS320F28 335(28 335)作為核心CPU,它是一款高性能的32 位CPU,包含單精度浮點運算單元(FPU),采用哈佛流水線結構,主頻最高可達150 MHz,具有強大的運算處理能力;該芯片外設豐富,具有18 路PWM 功能輸出模塊、6 個事件捕獲輸入、2 個通道的正交調制模塊(QEP),能夠較好地完成電機控制以及測角信號接收;該芯片支持多種通信接口,包含2路CAN 模塊、3 路UART 模塊、1 路SPI 模塊、1 個I2模塊C。因此該芯片具有強大的運算處理、電機控制以及通信能力,可以滿足項目的運算、通信和控制需求,主控制器和從控制器,均采用該芯片作為核心CPU。

2.2 電源模塊設計

TMS320F28 335 芯片需要2 種工作電壓電源:3.3 V 電壓為IO 供電電壓,1.9 V 電壓為內核供電電壓。通過選型,電源采用TD6 821 型芯片,它可同時輸出1.9 V 電壓和3.3 V 電壓。電源模塊原理圖,如圖2 所示。

圖2 電源模塊設計

2.3 主控制器設計

主控制器主要進行姿態反解、CAN 通信、人機交互以及系統固有參數的存儲,包括CPU、CAN通信模塊、EEPROM 模塊、RS232 模塊,其電路原理框圖,如圖3所示:

圖3 主控制器原理框圖

1)CAN 模塊

采用TJA1040 型芯片實現CAN 通信收發功能;主控制器通過CAN 通信接口連接6 個從控制器,接收6個從控制器上報的運動狀態以及發送運動指令至6 個運動缸;

2)EEPROM 模塊

采用24C02型芯片實現系統固有參數的存儲功能,28 335 型芯片通過I2C 總線與24C02 芯片通信完成數據的寫入和讀??;

3)RS232 模塊

主控制器通過RS232 串口與上位機進行通信,RS232 串口采用28 335 的UART 模塊,通過SP3232芯片實現RS232 串口收發器功能;主控制器可通過RS232 串口接收目標姿態指令以及上報六自由度平臺的整體運行狀態;主控制器通過28335 的定時器和GPIO 引腳產生同步脈沖信號,并發送至各從控制器,保證6 個運動缸同步運行。

2.4 從控制器設計

從控制器主要進行運動缸閉環控制、CAN 通信以及固有參數的寫入和存儲,包括CAN 通信模塊、CPU、EEPROM 模塊以及DAC 模塊,6 個從控制器采用相同的電路原理,如圖4 所示:運動缸閉環控制需要進行電機驅動和反饋測角讀取,從控制器在收到目標位置后,通過驅動器驅動電機轉動;當電機轉動后,時刻對比目標位置和反饋位置,當反饋位置與目標位置相差較大時輸出較大控制量,當反饋位置靠近目標位置時則減小控制量,這樣經過多個控制周期的迭代,運動缸到達目標位置;采用電機驅動器驅動電機轉動,步驟為:控制器發出控制DA 到電機驅動器,電機驅動器根據控制DA 的大小調節輸出PWM 的占空比調節電機轉速[5];電動缸的電機上安裝有多圈角度編碼器,通過圈數和角度可計算得到電動缸當前位置;控制器采用主控制器相同的TJA1 040 芯片和24C02 芯片,實現CAN 通信的收發和固有參數的存儲和更改。

圖4 從控制器原理框圖

DAC 模塊采用TLV5 620 型芯片實現DA 轉換和輸出功能,28 335通過SPI總線與芯片通信傳輸數字信號,芯片把數字信號進行DA 轉換生成相應的DA 值輸出到電機驅動器上,電機驅動器根據輸入的DA 值,產生相應占空比的PWM 波驅動電機轉動。

從控制器使用TMS320F28 335正交調制模塊(QEP)與多圈角度編碼器通信,接收編碼器的圈數和角度信息,通過圈數與角度信息解算出電動缸實際位置;從控制器接收主控制器的同步脈沖信號,以同步脈沖為控制周期進行電機閉環控制。

3 控制系統軟件設計

3.1 主控制器軟件設計

主控制器軟件主要進行平臺姿態反解、CAN 口通信、RS232 串口通信、同步脈沖的產生以及系統固有參數的存儲;主控軟件采用前后臺的軟件結構,前臺為主函數,后臺為中斷服務函數,中斷函數采用定時中斷方式觸發。

主控制器主函數主要進行系統的初始化、RS232串口數據接收以及CAN 信息的接收,程序流程如圖5所示:系統上電時進行DSP 系統時鐘初始化,再進行GPIO、CAN、I2C、SCI 模塊初始化,接著通過I2C 總線從EEPROM 中讀取固有參數,開啟初始化定時中斷,隨后通過輪巡的方式接收串口指令和CAN 口信息;串口指令由上位機傳來,主要分為姿態運動和參數存儲指令。當接收的是姿態運動指令時,置位姿態反解標志;當接收的是參數指令時,則通過I2C 總線往EEPROM中寫入參數。

圖5 主控制器軟件主函數程序流程圖

中斷函數主要進行同步脈沖信號的產生、姿態反解計算、六個運動缸的目標位置的發送以及系統狀態上報,程序流程如圖6 所示:首先是生成同步脈沖;接著查詢是否需要進行姿態反解,若需要進行則先根據目標姿態進行姿態反解,計算得到6 個運動缸的目標位置;隨后通過CAN 總線把目標位置發送到各個從控制器;最后通過RS232 串口發送系統運動狀態至上位機,退出中斷。

圖6 主控制器軟件中斷函數流程圖

3.2 從控制器軟件設計

從控制器軟件,主要進行運動缸閉環控制、CAN通信以及系統固有參數的存儲和更改:從控制器軟件同樣采用前后臺的軟件結構,前臺為主函數,后臺為中斷服務函數,與主控制軟件不同的是:從控制器軟件的中斷觸發方式采用外部中斷方式,外部中斷源為主控制器產生的同步脈沖信號,6 個從控制器采用相同的控制軟件。

主函數主要進行系統的初始化、參數讀取以及指令接收,程序流程如圖7 所示:首先初始化系統時鐘;隨后進行GPIO、CAN、I2C 模塊初始化,讀取固有參數,開啟初始化外部中斷;接著以查詢的方式接收CAN 信息,包括參數指令和運動指令。當接收到參數指令時,通過I2C 接口往EEPROM 中寫入控制參數;當接收到運動指令時,則置位走位標志。

圖7 從控制器軟件主函數流程圖

中斷函數主要進行運動缸的閉環伺服控制和運動狀態的上報,程序流程如圖8 所示:首先利用正交調制模塊(QEP)讀取多圈角度編碼器的圈數和角度,再根據圈數和角度計算電動缸當前位置;隨后判斷走位標志是否置位,若已置位則根據目標位置和當前位置進行位置規劃;若未置位則根據現有的位置規劃計算得到當前控制周期的位置給定值;接著根據位置給定值和反饋值計算得到控制輸出量DA 值,通過SPI 接口把DA 值寫入到DAC 模塊中;最后通過CAN 把當前運動狀態上報至主控制器,退出中斷函數。

圖8 從控制器軟件中斷函數流程圖

這樣,通過主控制軟件和從控制軟件設計,系統在CAN 通信和同步脈沖的作用下,各個從控制器驅動運動缸同步的逐漸運動到目標位置,完成平臺的姿態調整。

4 穩定平臺姿態反解算法

六自由度平臺作為船用穩定平臺下臺面與船甲板固定,當船舶發生波浪搖擺運動時,下臺面隨著船舶發生波浪運動,通過調整六個運動缸的長度使得上平臺保持水平狀態。因此,在進行姿態反解計算時,取下臺面姿態為船舶甲板姿態,設定上臺面姿態為水平姿態,通過這兩個臺面姿態計算得到六個運動缸長度。

穩定平臺姿態反解算法:分別以上下平臺中心點Ot 和Ob 建立直角坐標系,如圖9 所示。

圖9 六自由度平臺坐標系

圖10 為下平臺(左)和上平臺(右)的平面坐標,圖中:b1~b6表示下平臺六個虎克鉸,t1~t6表示上平臺六個虎克鉸,Rb和Rt表示下平臺和上平臺半徑,rb、rt表示下、上平臺兩相鄰近虎克鉸間一半夾角,Sb、St表示下、上平臺兩相鄰近虎克鉸一半間距。

根據平臺半徑、半角可以計算得到上下平臺各個虎克鉸的坐標,把各虎克鉸的平面坐標加上Z 軸縱坐標,即可得到b1~b6、t1~t6在圖9 中的三維坐標,其中b1~b6的縱坐標為0,t1~t6的縱坐標為平臺處于中立位時的高度。由此可得出每個運動缸的向量值:

對向量取模,可以計算得到各運動缸的初始長度:

當船舶發生波浪運動時,由于下平臺是與船甲板相連,因此下平臺6 個虎克鉸的位置坐標均會發生變化,由bn移動到,波浪運動后的下平臺虎克鉸位置為:

式中:R(a,φ,ψ)為旋轉矩陣;a、φ、ψ分別為船舶的橫搖角、縱搖角和艏搖角;c為平移向量。

由此可以計算出波浪運動后的各運動缸的向量為:

對向量取模,可以計算得到各運動缸的實際長度為:

通過式(2)和式(5),可以計算得到各運動缸的伸長/收縮量為:

至此,完成穩定平臺波浪補償的姿態反解。

5 試驗結果與分析

控制系統在完成設計和調試后進行了平臺控制,性能良好;隨后進行了相關驗證實驗,包括:定幅值和頻率的橫搖和縱搖正弦運動,擺幅角為13°,頻率為0.2 Hz。試驗時利用上位機采集各運動缸位置和速度信息,觀察六個運動缸的運動情況。

試驗結構表明:6 個運動缸的同步性能較好。由此說明該控制系統具有較高的伺服性能,系統實時同步性較高,能夠滿足船用六自由度穩定平臺的控制要求。

6 結論

本文設計了一種基于CAN 總線的分布式船用六自由度穩定平臺同步控制系統。該系統包括一個主控制器、六個分控制器、CAN 總線、同步脈沖信號:主、分控制器之間通過CAN 總線通信,系統設置了同步信號以保證伺服系統的實時性和同步性。

本文基于CAN 總線的分布式六自由度運動平臺同步控制系統設計,分別從硬件和軟件方面介紹了控制系統的設計思路,介紹了穩定平臺姿態反解算法,最后通過試驗對控制系統性能進行驗證。試驗結果表明,控制系統具有較高的伺服性能,系統實時同步性較高,能夠滿足六自由度平臺控制要求。

猜你喜歡
串口姿態總線
淺談AB PLC串口跟RFID傳感器的通訊應用
攀爬的姿態
基于PCI Express總線的xHC與FPGA的直接通信
機載飛控1553B總線轉以太網總線設計
全新一代宋的新姿態
跑與走的姿態
USB接口的多串口數據并行接收方法探索
基于藍牙串口適配器的GPS接收機與AutoCAD的實時無線通信
多通道ARINC429總線檢查儀
基于并行控制的FPGA多串口拓展實現
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合