張賢波
摘 要 本文通過對發(fā)電機三維模型的PID控制仿真的實驗,證實了該方法的可行性和實用性。
關(guān)鍵詞 ADAMS Simulink PID控制器 仿真系統(tǒng)
中圖分類號:TP391文獻(xiàn)標(biāo)識碼:A
一、引言
ADAMS(Automatic Dynamic Analysis of Mechanical System)軟件是美國MDI(Mechanical Dynamics Incl)公司開發(fā)的機械系統(tǒng)動力學(xué)仿真分析軟件,使虛擬樣機中非常優(yōu)秀的軟件,目前已經(jīng)廣泛應(yīng)用到汽車制造業(yè)、工程機械、航空航天業(yè)、國防工業(yè)及通用機械制造業(yè)等領(lǐng)域,并取得了滿意的效果。ADAMS集建模、計算和后處理于一體,還有針對專業(yè)領(lǐng)域而單獨開發(fā)的一些專用模塊和嵌入模塊,如汽車模塊ADAMS/Car、飛機模塊ADAMS/Aricraft、控制模塊ADAMS/Controls等,本實驗主要是利用基本模塊ADAMS/View和Postprocess,和嵌入控制模塊ADAMS/Controls來完成運動部分,利用MATLAB/Simulink軟件完成控制部分。
在ADAMS中建立控制系統(tǒng)有兩種途徑,一種途徑是利用ADAMS/View中提供的控制工具包,直接建立控制方案,這適合比較簡單的控制方案;另一種途徑是利用ADAMS/Control模塊提供的與其它控制程序的數(shù)據(jù)接口,在ADAMS環(huán)境中建立系統(tǒng)方程,而在其他控制程序中建立控制方案,ADAMS可以與Matlab之間進行控制數(shù)據(jù)交換,故可以實行二者之間的聯(lián)合仿真。
二、ADAMS與MATLAB/Simulink聯(lián)合仿真試驗
ADAMS與MATLAB/Simulink聯(lián)合仿真試驗步驟如下:
(一)建立虛擬模型。
ADAMS/View本身帶有直接建模功能,但是對于復(fù)雜模型的構(gòu)建則比較復(fù)雜,故對于復(fù)雜的模型可以借助一些CAD軟件(如UG、PROE、SolidWorks等)建模,然后將最終的模型導(dǎo)入到ADAMS環(huán)境中。本實驗所被控對象發(fā)電機模型是由SolidWorks軟件繪制,并保存為*.x_t文件格式,然后將模型導(dǎo)入ADAMS/View中,然后對模型各部件添加屬性,使之成為真正的模型實體,并給這個模型施加旋轉(zhuǎn)副、固定副約束和旋轉(zhuǎn)驅(qū)動作用力。導(dǎo)入的模型如圖(一 二):
(二)定義ADAMS的輸入和輸出。
ADAMS與其它控制程序之間的數(shù)據(jù)交換是通過狀態(tài)變量實現(xiàn)的,而不是設(shè)計變量。狀態(tài)變量在計算過程中是一個數(shù)組,它包含一系列數(shù)值,而設(shè)計變量只是一個常值,不能保存變值。在定義輸入輸出之前需要先將相應(yīng)的狀態(tài)變量定義好,用于輸入輸出的狀態(tài)變量一般是系統(tǒng)模型元素的函數(shù),如構(gòu)件的位置、速度的函數(shù)以及載荷等函數(shù)。輸入變量是系統(tǒng)被控制的量,輸出變量是系統(tǒng)輸入到其他控制程序的變量,它的值經(jīng)過控制方案后,又返回到輸入變量。本實驗中,定義發(fā)電電機的轉(zhuǎn)矩作為輸入和速度作為輸出(被測量)。通過對轉(zhuǎn)速的PID控制來保持轉(zhuǎn)速的恒定,從而保證發(fā)電電流的平穩(wěn)性。
(三)加載ADAMS/CONTROLS模塊。
如果建立ADAMS與其他控制軟件的聯(lián)接,必須加載ADAMS/Controls模塊,并在加載時,注意模塊名,輸入,輸出變量和想要連接控制軟件的選擇。
(四)建立控制系統(tǒng)。
1、啟動MATLAB并建立控制方案。
在MATLAB命令窗口的提示符下打開模型文件(*.m),則在Simulink下可以看到模型文件的S-Funtion方框,該S-Funtion方框表示ADAMS模型的線性模型。然后在新建的Simulink文件中建立PID控制方案。將ADAMS建立的虛擬模型與MATLAB建立的控制系統(tǒng)通過如圖的方式結(jié)合起來,形成一個閉環(huán)系統(tǒng)。如圖(三)
2、設(shè)置MATLAB與ADAMS之間的數(shù)據(jù)交換參數(shù)。
前面已經(jīng)建立了MATLABA與ADAMS的模型連接,但是由于沒有設(shè)置數(shù)據(jù)通信格式,還不能進行真正的聯(lián)合仿真。因此必須在adams_sub下的MSCSoftware作一下通信設(shè)置。如果ADAMS與MATLAB是裝在同一臺計算機上的,選擇PIPE(DDE),如果不是,選擇TCP/IP,并確定兩臺計算機上均安裝了該協(xié)議;設(shè)置Communication Interval(通信間隔),如0.005表示每隔0.005s在MATLAB和ADAMS之間進行一個數(shù)據(jù)交換;設(shè)置交互式計算格式,在計算過程中會自動啟動ADAMS/View,以便觀察仿真動畫。
(五)仿真設(shè)置和仿真計算。
在Simulink中設(shè)置仿真參數(shù),并點擊開始按鈕進行仿真計算。
(六)結(jié)果處理。
回到ADAMS/View,在ADAMS/View中有分析設(shè)置,打開仿真生成的*.res文件,該文件保存了控制計算結(jié)果。然后通過后處理模塊繪制出的轉(zhuǎn)矩變量和速度曲線。
(七)保存仿真錄像。
ADAMS的后處理模塊中可以對模型的運動狀態(tài)作仿真動畫,其動畫文件格式可選擇為AVI、mpg、tiff、ipg、xpm、bmp和png。并可將動畫保存到ADAMS的工作目錄下,以供參考。
三、結(jié)論
本文利用ADAMS和MATLAB/Simulink兩個強大的軟件工具進行聯(lián)合仿真,結(jié)合了兩軟件的優(yōu)點,彌補了相互的缺點,既能利用MATLAB方便地對研究對象進行有效控制,又能在ADAMS中更直觀的對被控對象進行觀察;既可以大大提高設(shè)計效率,縮短開發(fā)時間,又能降低開發(fā)成本。獲得優(yōu)化的機械和控制系統(tǒng)整體性能,更能到達(dá)事半功倍的效果。實驗結(jié)果表明ADAMS和MATLAB/Simulink聯(lián)合仿真操作簡單、實用,并能夠很好地完成實驗?zāi)康摹?/p>
(作者:遼寧省高速公路管理局康平管理處,職稱:工程師)
參考文獻(xiàn):
[1]李增剛主編.ADAMS入門詳解與實例.國防工業(yè)出版社,2006.
[2]王曉東、畢開波、周須峰.基于ADAMS與Simulink的協(xié)同仿真技術(shù)及應(yīng)用.計算機仿真.2007,24(4).
[3]王濤、張會明.基于ADAMS和MATLAB的聯(lián)合控制系統(tǒng)的仿真.機械工程與自動化.2005,6(3).