計算機(jī)控制技術(shù) 論文_第1頁
計算機(jī)控制技術(shù) 論文_第2頁
計算機(jī)控制技術(shù) 論文_第3頁
計算機(jī)控制技術(shù) 論文_第4頁
計算機(jī)控制技術(shù) 論文_第5頁
已閱讀5頁,還剩53頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

直流轉(zhuǎn)機(jī)轉(zhuǎn)速控制系統(tǒng)PAGEPAGE58目錄TOC\o"1-3"\u第一章系統(tǒng)建模 21.1物理設(shè)置 21.2系統(tǒng)方程 31.3設(shè)計要求 41.4MATLAB表示 4第二章系統(tǒng)分析 62.1開環(huán)響應(yīng) 62.2LTI模型特性 72.3其他形式的輸入響應(yīng) 9第三章PID控制器設(shè)計 113.1比例控制 113.2PID控制 123.3調(diào)整增益 13第四章控制器的根軌跡設(shè)計法 154.1繪制開環(huán)根軌跡 154.2找到環(huán)路增益 164.3添加一個滯后控制器 184.4找一個滯后控制器的環(huán)路增益 19第五章控制器的頻域控制器 225.1畫原始的Bode圖 225.2添加比例增益 235.3繪制閉環(huán)相應(yīng) 255.4添加一個延時補(bǔ)償 25第六章控制器的狀態(tài)空間設(shè)計法 276.1設(shè)計全狀態(tài)反饋控制器 276.2添加一個預(yù)補(bǔ)償器 29第七章數(shù)字器控制器設(shè)計 317.1創(chuàng)建系統(tǒng)的一個采樣數(shù)據(jù)模型 317.2PID控制 34第八章Simulink建模 408.1物理設(shè)置 408.2Simulink建模 428.3Simscape建模 47第九章Simulink控制器設(shè)計 509.1提取線性的模型導(dǎo)入MATLAB 519.2開環(huán)響應(yīng) 539.3滯后補(bǔ)償?shù)拈]環(huán)響應(yīng) 549.4超前補(bǔ)償?shù)拈]環(huán)響應(yīng) 55總結(jié) 58第一章系統(tǒng)建模1.1物理設(shè)置直流電機(jī)是一種常見的驅(qū)動器。它直接提供旋轉(zhuǎn)運(yùn)動,再加上輪或繩索,可以提供平移運(yùn)動。電驅(qū)的等效電路和轉(zhuǎn)子的受力圖如下所示。對于這個例子,我們假設(shè)系統(tǒng)的輸入是作用在點(diǎn)擊電驅(qū)的電壓V,輸出是桿的轉(zhuǎn)動速度d(theta)/dt。轉(zhuǎn)子和軸被假定為剛性。我們進(jìn)一步假設(shè)粘性摩擦模型,即,摩擦力矩是軸的角速度成比例的。我們例子的物理參數(shù)為:1.2系統(tǒng)方程在一般情況下,由一個直流電機(jī)產(chǎn)生的轉(zhuǎn)矩與電樞電流和磁場的強(qiáng)度成比例的。在這個例子中我們假設(shè)磁場是恒定的,因此,電機(jī)的轉(zhuǎn)矩與電樞電流I的比例由,比例系數(shù)為Kt,如下方程所示。這是被稱為一個電驅(qū)控制的電機(jī)。(1)反電動勢e是正比于軸的角速度的一個常數(shù)因子ke。(2)在國際單位制中,電機(jī)的轉(zhuǎn)矩系數(shù)和反電動勢常數(shù)是相同的,即,Kt=Ke;因此,我們將使用K代表兩個電機(jī)轉(zhuǎn)矩系數(shù)和反電動勢常數(shù)。從上面的圖,我們可以得到以下方程基于牛頓第二定律和基爾霍夫電壓定律。(3)(4)應(yīng)用拉普拉斯變換,上述的模型方程可以在拉普拉斯變量s表示。傳遞函數(shù)

(5)(6)我們得出以下的開環(huán)傳遞函數(shù),通過消除I(s)述兩個方程之間,在轉(zhuǎn)速為輸出和電樞電壓是輸入。(7)狀態(tài)方程在狀態(tài)空間形式的控制方程,可以表示通過選擇轉(zhuǎn)速和電流作為狀態(tài)變量。再次電樞電壓作為輸入轉(zhuǎn)速為輸出。

(8)(9)1.3設(shè)計要求首先考慮的,我們的無償?shù)碾妱訖C(jī)在1伏特的輸入電壓下能達(dá)到旋轉(zhuǎn)速度為0.1弧度/秒的穩(wěn)定狀態(tài)(這在直流電機(jī)調(diào)速:系統(tǒng)分析頁面里演示)。因?yàn)殡妱訖C(jī)的最基本的要求是,它應(yīng)該在轉(zhuǎn)動所需的速度,我們將要求該馬達(dá)速度的穩(wěn)態(tài)誤差小于1%。我們的電機(jī)性能的另一個要求是,它必須盡快加速到穩(wěn)定狀態(tài)的速度。在這種情況下,我們希望它有少于2秒的穩(wěn)定時間。此外,由于速度比基準(zhǔn)速度更快,可能會損壞設(shè)備,我們希望階躍響應(yīng)的超調(diào)量少于5%??傊趩挝浑A躍命令的輸入下,控制系統(tǒng)的輸出應(yīng)滿足下列要求?!ふ{(diào)節(jié)時間小于兩秒·超調(diào)量小于5%·穩(wěn)態(tài)誤差小于1%1.4MATLAB表示傳遞函數(shù)我們可以表示電機(jī)的開環(huán)傳遞函數(shù),在Matlab上定義的參數(shù)和傳遞函數(shù)如下。在命令窗口中運(yùn)行此代碼,產(chǎn)生如下結(jié)果:狀態(tài)方程我們也可以用狀態(tài)方程表示系統(tǒng)。在MTALAB命令窗口輸入如下命令,并運(yùn)行,產(chǎn)生如下結(jié)果。上述的狀態(tài)空間模型,也可以將您現(xiàn)有的傳遞函數(shù)模型轉(zhuǎn)化為狀態(tài)空間形式產(chǎn)生的。這也是用SS命令完成,如下所示。第二章系統(tǒng)分析2.1開環(huán)響應(yīng)首先創(chuàng)建一個新的m文件和輸入如下命令。現(xiàn)在讓我們看看原始開環(huán)系統(tǒng)的性能。添加ltiview命令在m文件的最后,并在MATLAB命令窗口中運(yùn)行它。函數(shù)中的step使P_motor系統(tǒng)產(chǎn)生一個單位階躍響應(yīng)。0:0.1:5表示階躍響應(yīng)圖包括0到5秒的數(shù)據(jù)點(diǎn),間隔為0.1秒。結(jié)果圖如下,你可以觀測一些系統(tǒng)的特性,通過右擊下圖并選擇Charateristics菜單的SettingTime和SteadyState。從圖中我們可以看出1V的電壓應(yīng)用到系統(tǒng),這發(fā)動機(jī)只能實(shí)現(xiàn)最大速度為0.1rad/sec,比期待速度小十倍。用了2.07秒達(dá)到穩(wěn)定狀態(tài),不滿足我們兩秒的調(diào)節(jié)時間的標(biāo)準(zhǔn)。2.2LTI模型特性由于我們的開環(huán)傳遞函數(shù)是一個二階系統(tǒng),我們應(yīng)該能精確的預(yù)測已觀測到的階躍響應(yīng)的特性,基于傳遞函數(shù)極點(diǎn)的位置。你可以從LTIViewer中看到P_motor系統(tǒng)的極點(diǎn)的位置,通過右擊圖上區(qū)域并從菜單中選擇PlotTypes>Pole/Zero。完成這個操作將會改變LTiViewer,藍(lán)色的x表示極點(diǎn)的位置。從上圖可以看出開環(huán)傳遞函數(shù)有兩個實(shí)極點(diǎn),一個在S=-2,一個在S=-5。由于兩個極點(diǎn)是實(shí)極點(diǎn),正如看到的階躍響應(yīng)沒有震動(或者超調(diào)量)。更進(jìn)一步,由于一個極點(diǎn)比另一個極點(diǎn)的負(fù)5倍還要小,兩個極點(diǎn)中較大的將主導(dǎo)系統(tǒng)的動態(tài)。即,在-2處的極點(diǎn)主要決定系統(tǒng)的速度相應(yīng)并且系統(tǒng)與一階系統(tǒng)近似。讓我們看看一階系統(tǒng)模型多么近似于原始電機(jī)模型。輸入如下命令在MATLAB中來建立一個極點(diǎn)為2的一階系統(tǒng)的傳遞函數(shù)并且穩(wěn)態(tài)值與原始傳遞函數(shù)相匹配。我們可以在LTIViewer中輸入這個新模型。選擇LTIViewer窗口頂部的File菜單然后選擇Import。然后從后續(xù)窗口中選擇Systemsinworkspace中的rP_motor并點(diǎn)擊OK按鈕。然后LTIViewer將會顯示原始傳遞函數(shù)和縮減后的傳遞函數(shù)的相應(yīng)圖。然后右擊菜單中選擇PlotTypes中的stepreponse。你可以移除特性顯示從Characteristics的子菜單中?,F(xiàn)在LTIViewer應(yīng)該顯示如下。從上面可以看出,我們一階近似的電機(jī)系統(tǒng)相對準(zhǔn)確??梢钥闯鲋饕拇_別是在t=0時刻二階系統(tǒng)有一個零導(dǎo)數(shù),但是一階系統(tǒng)沒有。一階系統(tǒng)的調(diào)節(jié)時間為:(1)tau是時間常數(shù),此例中衛(wèi)0.5。因此,一階系統(tǒng)模型由一個2秒的調(diào)節(jié)時間,接近于我們實(shí)際系統(tǒng)的2.07秒。這個例子剩下的部分,不同的控制器將會被設(shè)置,來減少穩(wěn)態(tài)誤差和調(diào)節(jié)時間,并能達(dá)到超調(diào)量的要求。2.3其他形式的輸入響應(yīng)就系統(tǒng)的階躍響應(yīng)而言這個例子的要求被給出,但在實(shí)際中還有其他形式的輸入。即使一個系統(tǒng)的階躍響應(yīng)能大概洞察其他形式的信號的響應(yīng)。為了能得到其他形式信號的具體響應(yīng)。你可以應(yīng)用Simulink或者M(jìn)ATLAB中的lsim命令。更進(jìn)一步,你可以直接從LTIViewer模擬其他輸入形式的系統(tǒng)響應(yīng)。在圖上點(diǎn)擊右鍵然后選擇PlotTypes>LinearSimulation。如下窗口將出現(xiàn)。在這個窗口中把Endtime設(shè)置為“5”,把Interval設(shè)置為0.1。在窗口Systeminputs部分的下面,你可以倒入一個輸入信號,或者通過一些選擇設(shè)計一個。在這個例子中,點(diǎn)擊DesignSignal從出現(xiàn)的窗口中并選擇Signaltype為sinewave。把Frequency設(shè)置為“0.2”,把Amplitude和Duration設(shè)置為默認(rèn)值。點(diǎn)擊Signaldesigner窗口底部的Insert并點(diǎn)擊LinearSimulation底部的Sumulate按鈕。系統(tǒng)正弦輸入的兩個響應(yīng)將會在LTIViewer窗口中顯示。如果你雙擊圖的y軸,你可以改變這極限。如下圖所示。第三章PID控制器設(shè)計3.1比例控制首先讓我們應(yīng)用一個增益為100的比例控制,即,C(s)=100。為了確定閉環(huán)傳遞函數(shù),我們用feedback命令。添加如下命令到你m文件的末尾?,F(xiàn)在讓我們檢查閉環(huán)系統(tǒng)響應(yīng)。添加如下命令到你的m文件末尾,并在命令窗口運(yùn)行它。將產(chǎn)生下圖。你可以通過右擊觀看系統(tǒng)的特性,從后續(xù)菜單中選擇Chaacteristics。在下圖中,已經(jīng)顯示了SettingTime,PeakResponse,SteadyState從上圖我們可以看出超調(diào)量和穩(wěn)態(tài)誤差太大?;叵牒喗椋篜ID控制器設(shè)置,增加比例增益可以減少穩(wěn)態(tài)誤差。然后,增加Kp也會導(dǎo)致增加超調(diào)量,因此,一個比例控制不能滿足所有的設(shè)計要求。這個可以通過選擇不能的Kp來得到證實(shí)。特別的,你可以輸入sisotool(p_motor)命令應(yīng)用SISODesignTool,并從ControlandEstimationToolsManager窗口的AnalysisPlots中打開一個閉環(huán)階躍響應(yīng)。當(dāng)Real-TimeUpdate被選擇,你可以在CompensatorEditor中變換增益,并在LTIViever中觀看對階躍響應(yīng)的影響。一個簡單是實(shí)演驗(yàn)證了我們的猜想,一個比例控制是不夠滿足設(shè)計要求的,積分或者微分控制必須被添加。3.2PID控制PID控制器設(shè)置中,添加一個積分將會階躍參考的消除穩(wěn)態(tài)誤差,添加一個微分將減少超調(diào)量。讓我們試一下小的Ki和Kd。修改你的面文件如下。運(yùn)行這個新的m文件,如下所示。可以看出對于一個階躍輸入穩(wěn)態(tài)誤差確實(shí)消失了。然而,達(dá)到穩(wěn)定狀態(tài)的時間比兩秒的調(diào)節(jié)時間長很多。3.3調(diào)整增益在這個例子中,階躍響應(yīng)的長長的尾巴是由于積分增益太小。因此需要很長時間消除穩(wěn)態(tài)誤差。這個過程可以通過增加KI的值來加速?;氐侥愕膍文件,把Ki改為200。重新運(yùn)行文件你會得到下圖。再次通過右擊選擇Characeristicd添加注釋。正如預(yù)期的,穩(wěn)態(tài)誤差很快的被消除了。然而,較大的Ki增加了超調(diào)量。讓我們增加Kd來嘗試減少超調(diào)量?;氐絤文件把Kd變?yōu)?0。重新運(yùn)行m文件,如圖所示。正如我們希望的,加大Kd減少了超調(diào)量?,F(xiàn)在我我們知道,如果我們用Kp=100,Ki=200,Kd=10;所有的設(shè)計要求都被滿足。第四章控制器的根軌跡設(shè)計法4.1繪制開環(huán)根軌跡根軌跡設(shè)計的主要思路是通過根軌跡圖預(yù)測閉環(huán)響應(yīng),根軌跡圖由開環(huán)傳遞函數(shù)繪制并預(yù)測所有閉環(huán)極點(diǎn)的位置。然后通過控制器添加零點(diǎn)和極點(diǎn),根軌跡將被修改,然后得到期待的閉環(huán)響應(yīng)。我們用SISODesignToolGUI設(shè)計控制器。這個工具允許你通過根軌跡調(diào)節(jié)控制器。首先讓我們畫出系統(tǒng)的根軌跡。在m文件的末尾添加sisotool(’rlocus’,P_motor)并運(yùn)行文件。兩個窗口將會打開,一個是SISODesignTask,他將顯示系統(tǒng)的根軌跡,另一個是ControlandEstimationToolManager,它允許你設(shè)計補(bǔ)償,分析Plots,等等。你可以在圖上右擊根軌跡并且點(diǎn)擊Grid。你的繪制圖將如下所示。4.2找到環(huán)路增益回想設(shè)計要求,調(diào)節(jié)時間小于2秒,超調(diào)量小于5%。系統(tǒng)閉環(huán)極點(diǎn)的位置提供關(guān)于系統(tǒng)瞬態(tài)響應(yīng)的信息。SISODesigntTool允許我們在復(fù)雜的負(fù)平面上定義符合設(shè)計要求的區(qū)域。提供的區(qū)域相符一個典型的二階系統(tǒng),但是一般來說對于高階系統(tǒng)或者有零點(diǎn)的系統(tǒng)也是可行的。這預(yù)期的區(qū)域可以添加到根軌跡圖上,具體方法是,在圖上點(diǎn)擊的右鍵,在菜單中選擇DesignRequirements>New。你可以添加許多設(shè)計要求,包括調(diào)節(jié)時間,超調(diào)量,阻尼比,自然頻率,通用的區(qū)域約束等添加調(diào)節(jié)時間和超調(diào)量要求,根軌跡圖將產(chǎn)生如下圖。閉環(huán)極點(diǎn)預(yù)期的區(qū)域如上圖白色的區(qū)域。更特別的,從原點(diǎn)出發(fā)的兩條射線代表超調(diào)量的要求。比兩條射線角度小,且在負(fù)實(shí)軸上的區(qū)域,表示超調(diào)量允許的區(qū)域。S=-2的垂線代表調(diào)節(jié)時間的要求,位于垂線左側(cè)的閉環(huán)極點(diǎn)滿足調(diào)節(jié)時間的要求。觀察上圖,有很多開環(huán)增益的值滿足閉環(huán)極點(diǎn)在期待區(qū)域。這可以從兩條根軌跡支路是對稱的并且穿過白色區(qū)域看出。更進(jìn)一步,由于閉環(huán)系統(tǒng)有兩個極點(diǎn)沒有零點(diǎn),把閉環(huán)極點(diǎn)放置在白色區(qū)域?qū)M足我們的瞬態(tài)響應(yīng)要求。你可以從白色區(qū)域選一對閉環(huán)極點(diǎn),來確定開環(huán)增益。對于我們的系統(tǒng)來說,我們選擇閉環(huán)極點(diǎn)。根軌跡上的粉色的方塊表明當(dāng)前開環(huán)增益下的閉環(huán)極點(diǎn)的位置。點(diǎn)擊粉色方塊并在可行域內(nèi)隨著根軌跡拖動,來調(diào)節(jié)控制器。讓我們把閉環(huán)極點(diǎn)放置在接近-6+2i的位置。這幾點(diǎn)的位置將在窗口的底部顯示相關(guān)的阻尼比和自然頻率。放開鼠標(biāo),在窗口的底部將會顯示開環(huán)增益,這個例子近似于10。系統(tǒng)在這個新的增益下,也能產(chǎn)生閉環(huán)響應(yīng)。從ContorolandEstimationToolManager,點(diǎn)擊AnalysisPlots健并選擇Plot1的step,一個名為LTIViewerSISODesignTask的空白窗口將會出現(xiàn)。然后右擊窗口,在System中選擇ClosedLooprtoy(blue)。階躍響應(yīng)將會出現(xiàn)在途中。你可以確定一些階躍相約的特性。特別的在圖上又擊,選擇Characteristics下的settingtime。重復(fù)SteadyState。如下圖所示。從上圖可以看出,沒有超調(diào)量并且調(diào)節(jié)時間小于1秒。因此超調(diào)量和調(diào)節(jié)時間達(dá)到設(shè)計要求。然而,我們也可以看出穩(wěn)態(tài)誤差將近50%。如果我們增加開環(huán)增益減少穩(wěn)態(tài)誤差,那么超調(diào)量將會太大。你可以在途中沿著根軌跡移向上動閉環(huán)極點(diǎn),響應(yīng)的開環(huán)增益將會增加。階躍響應(yīng)將會自動的改變隨著開環(huán)增益的修改。我們嘗試添加一個滯后控制器減少穩(wěn)態(tài)誤差,也滿足瞬態(tài)要求4.3添加一個滯后控制器在上面我們可以看到,有比例控制的超調(diào)量和調(diào)節(jié)時間都滿足標(biāo)準(zhǔn),但是穩(wěn)態(tài)誤差不滿足。延時補(bǔ)償是一種可以減少穩(wěn)態(tài)誤差的控制器。我們比小心的設(shè)計,不能增加太多的調(diào)節(jié)時間。首先讓我們添加一個延時補(bǔ)償,如下形式。(1)我們可以用SISODesignTool來設(shè)計我們的延時補(bǔ)償。為了使SISODesignToll有一個補(bǔ)償參數(shù)化與上面相對應(yīng),點(diǎn)擊ContorolandEstimationToolManager窗口頂部的Edit,并選擇SISOToolPreferences。然后選擇Options健,選擇Zero/pole/gain參數(shù)化,如下所示。你可以在ControlandEstimationToolsManager窗口的CompensatorEditor添加一個滯后補(bǔ)償。特別的,在Dynamics的部分右擊鼠標(biāo),選擇AddPole/Zero>Lag。然后在RealZero和RealPole輸入位置如下圖所示。請注意相位的滯后補(bǔ)償和頻率實(shí)時更新與極點(diǎn)和零點(diǎn)位置的選擇。4.4找一個滯后控制器的環(huán)路增益注意根軌跡改變了反映滯后補(bǔ)償?shù)牧泓c(diǎn)和極點(diǎn)的添加如下圖所示。我們可以再次選擇閉環(huán)極點(diǎn)來嘗試滿足瞬態(tài)響應(yīng)的要求。我們嘗試放置兩個閉環(huán)極點(diǎn)在接近超調(diào)量要求的邊界區(qū)域內(nèi)。例如,環(huán)路增益大約為20時,將放置極點(diǎn)如下圖位置。響應(yīng)的閉環(huán)階躍響應(yīng)將會自動更新,如下所示,你可以看到,這響應(yīng)并不讓人滿意即使兩個閉環(huán)極點(diǎn)都在期待的區(qū)域內(nèi)。原因是閉環(huán)系統(tǒng)不在是一個典型的二姐系統(tǒng)了。特別的,根軌跡上有第三個極點(diǎn)在可行域外。第三個極點(diǎn)在共軛的兩個極點(diǎn)右邊,意味著它會減慢調(diào)節(jié)時間,這就是為什么調(diào)節(jié)時間不在滿足要求。另外。超調(diào)量很容易滿足要求即使兩個共軛極點(diǎn)在可行區(qū)域的邊緣。這也是由于第三個極點(diǎn),它主導(dǎo)響應(yīng),因?yàn)樗奥北绕渌麡O點(diǎn)。這意味著我們可進(jìn)一步增加環(huán)路增益,即使共軛極點(diǎn)移出邊界線,仍滿足超調(diào)量的要求。你可以回到根軌跡把共軛極點(diǎn)移動到離實(shí)軸更遠(yuǎn)的地方,響應(yīng)的增加開環(huán)增益。然而,在你做這之前,你必須改變虛軸的極值以便你能移動到一個滿意的位置。為了改變這些極值,雙擊根軌跡圖,打開PropertyEditor,然后點(diǎn)擊Limits鍵并改變虛軸的極值為[-15,15]如下所示。實(shí)驗(yàn)不同的增益直到得到滿意的結(jié)果。如下增益為44的根軌跡和響應(yīng)的閉環(huán)階躍響應(yīng)?,F(xiàn)在這調(diào)節(jié)時間小于兩秒并且穩(wěn)態(tài)誤差和超調(diào)量滿足要求。正如我們設(shè)計的進(jìn)程根軌跡設(shè)計需要反復(fù)的實(shí)驗(yàn)。SISODesign是很有用的在進(jìn)程中。用SISODesignTool,很容易調(diào)劑控制并且立即看到對根軌跡和變量分析圖的響應(yīng),例如閉環(huán)階躍響應(yīng)。如果你通過調(diào)劑環(huán)路增益沒能得到一個滿意的響應(yīng),我們就得移動延遲補(bǔ)償?shù)臉O點(diǎn)和零點(diǎn),或者我們可以嘗試一種不同的動態(tài)補(bǔ)償?shù)姆绞剑~外的零點(diǎn)或者極點(diǎn))。第五章控制器的頻域控制器5.1畫原始的Bode圖基于頻率設(shè)計的主要思路是用開環(huán)傳遞函數(shù)的Bode圖評估閉環(huán)響應(yīng)。添加一個控制改變系統(tǒng)的開環(huán)Bode圖,因此改變閉環(huán)響應(yīng)。我們的目標(biāo)是調(diào)整開環(huán)bode圖,使閉環(huán)響應(yīng)滿足我們設(shè)計要求。首先讓我們繪制原始傳遞函數(shù)的bode圖。添加如下命令在你m文件的末尾,并在MATlAB窗口中運(yùn)行它。你將產(chǎn)生如下Bode圖。5.2添加比例增益從上面bode圖,它顯示系統(tǒng)的增益裕度和相位裕度是無窮大的,這表明系統(tǒng)的是穩(wěn)定的并且有很小的超調(diào)量。系統(tǒng)的問題是相位裕度是無窮大的,因?yàn)樵谒械念l率上幅值在零下面。這表明系統(tǒng)準(zhǔn)確的追蹤變量參考信號是有困難的。因此,保持足夠的相位裕度情況下,我們應(yīng)該增加系統(tǒng)的增益。相位裕度為60度通常滿足臨界穩(wěn)定。從上面的bode圖,60度相位裕度的增益交叉頻率大約為10rad/sec。這幅值大約為40dB,需要增加增益以便增益交叉頻率為10rad/sec。獲得Bode圖的準(zhǔn)確的在某一頻率的增益和相位,可以通過點(diǎn)擊圖中相關(guān)頻率。bode命令,也能用來提供在10rad/sec處準(zhǔn)確的相位和幅值,如下所示。因此,交叉頻率為10rad/sec的準(zhǔn)確的相位裕度為180-123.7=56.3度。因此準(zhǔn)確的幅值為20log0.0139=-37.1dB,37.1dB的增益必須添加到系統(tǒng)。比例增益為1/0.0139=72將實(shí)現(xiàn)在10rad/sec的開環(huán)增益為1。添加吐下命令到你的m文件,觀察系統(tǒng)比例控制的影響。在這種情況下,我們要用margin命令代替bode命令,為了詳盡的觀察新的比例和相位裕度,還有交叉頻率。5.3繪制閉環(huán)相應(yīng)從上圖我們可以看出相位裕度和增益交叉頻率都是我們期待的。讓我們看一下閉環(huán)響應(yīng)。在點(diǎn)文件添加如下命令。再次運(yùn)行m文件,將會產(chǎn)生如下所示的階躍響應(yīng),在圖上右擊可以添加注釋并從菜單中選擇Characteristics。注意到調(diào)節(jié)時間足夠快,但是超調(diào)量和穩(wěn)態(tài)誤差太高。超調(diào)量可以通過減少增益來實(shí)現(xiàn)一個更大的相位裕度,但是這將引起穩(wěn)態(tài)誤差增加。一個延遲補(bǔ)償是有用的,因?yàn)樗梢詼p少增益交叉頻率,增加相位裕度且不減少系統(tǒng)增益。5.4添加一個延時補(bǔ)償考慮如下的延遲補(bǔ)償(1)延遲補(bǔ)償有一個1/0.01=100的增益,意味著它將增加系統(tǒng)的靜態(tài)位置誤差常數(shù),并減少閉環(huán)階躍響應(yīng)的穩(wěn)態(tài)誤差。事實(shí)上,它允許我們減少先前用的72的比例增益,仍然能滿足要求穩(wěn)態(tài)誤差的要求。我們應(yīng)用45的增益。應(yīng)用如下命令,延遲補(bǔ)償?shù)腷ode圖將產(chǎn)生。修改你的m文件如下,觀察你的階躍響應(yīng)。第六章控制器的狀態(tài)空間設(shè)計法6.1設(shè)計全狀態(tài)反饋控制器因?yàn)橄到y(tǒng)的兩個狀態(tài)變量很容易測量(添加一個電流表的電流,添加一個速度計測速度),我們可以設(shè)計一個全狀態(tài)反饋控制器,不用擔(dān)心添加一個觀測器。全狀態(tài)反饋控制系統(tǒng)的控制準(zhǔn)則有如下形式u=r-Kcx并且相關(guān)的表格如下所示?;叵胍幌?,這個閉環(huán)系統(tǒng)特征多項(xiàng)式的行列式SI-(A-B*KC),s是拉普拉斯變量。由于矩陣A和B*KC都2X2矩陣,系統(tǒng)應(yīng)該有2個極點(diǎn)。這個事實(shí)可以用MATLAB命令驗(yàn)證。如果給定的系統(tǒng)是可控的,然后通過設(shè)計一個完整的狀態(tài)反饋控制器,我們可以把這兩極點(diǎn)移動到任何我們喜歡的地方。給定的系統(tǒng)是可控或不可控,通過檢查的可控性矩陣[BAB^2B…]的秩決定。MATLAB命令ctrb構(gòu)建可控性矩陣,通過給定矩陣A和B。此外,命令rank確定給定矩陣的秩。執(zhí)行下面命令驗(yàn)證系統(tǒng)的階數(shù)和系統(tǒng)是否是可控的。從上面可知,系統(tǒng)是可控的由于可控矩陣是滿秩的。我們首先放置極點(diǎn)在-5+i和-5-i(注意zata=0.98超調(diào)量接近于零,sigma=5提供0.8秒的調(diào)節(jié)時間)。一旦我們?nèi)ゴ_定了極點(diǎn)的位置,我們可以用MATLAB命令place或者acker來確定控制器的增益矩陣Kc。我們將用place命令,因?yàn)樗萢cker數(shù)值上更有利。然后,如果我們想放置一個位置更多變,我們用acker命令。在m文件的末尾添加如下命令。在命令窗口運(yùn)行它,將產(chǎn)生反饋增益矩陣。參考在頂部的狀態(tài)方程,我們可以看到用u=r-Kcx取代u可以得到如下表達(dá)式。(1)(2)在你的m文件中添加如下幾行命令,我們將看到閉環(huán)響應(yīng)。運(yùn)行你的m文件在命令窗口將得到如下圖。6.2添加一個預(yù)補(bǔ)償器從上圖我們可以看出穩(wěn)態(tài)誤差很大。消除穩(wěn)態(tài)誤差的一個辦法就是調(diào)整輸入以至于輸出也達(dá)到期待的標(biāo)準(zhǔn)。這又一定難度在我們的例子中,因?yàn)槲矣袃蓚€狀態(tài)兩需要考慮。因此,我們需要計算兩個狀態(tài)量的穩(wěn)定值,用增益Kc乘以他們,并用這結(jié)果作為參考計算我們的輸入u。這個可以在參考后面添加一個常數(shù)增益預(yù)補(bǔ)償器Nbar來實(shí)現(xiàn)。如下圖所示。我們可以得到Nbar因數(shù),通過已經(jīng)定義的rscale.m函數(shù),如下所示。注意rscale.m不是一個標(biāo)準(zhǔn)的MATLAB函數(shù),你必須下載它并且把它放置在你當(dāng)前的目錄下。你可以在m文件中添加如下命令,并在命令窗口運(yùn)行它,你可以得到階躍響應(yīng)。這次,穩(wěn)態(tài)誤差小于1%,其他的設(shè)計標(biāo)準(zhǔn)也已經(jīng)達(dá)到了。注意預(yù)補(bǔ)償器Nbar的應(yīng)用,基于原系統(tǒng)模型和預(yù)補(bǔ)償器在在反饋環(huán)節(jié)的外面。因此,如果模型中存在錯誤,預(yù)補(bǔ)償器也會不正確,將會有穩(wěn)態(tài)誤差。你可以回想一下,積分控制也可以消除穩(wěn)態(tài)誤差,甚至在模型不存在或者存在擾動的情況下。對于如何在狀態(tài)空間中用積分控制,請看直流電機(jī)位置:狀態(tài)空間的方法設(shè)計控制器的例子。用積分控制的不足之處是錯誤首先被使用在他被改正之前,所以響應(yīng)會比較慢。預(yù)補(bǔ)償器則能用已知的系統(tǒng)模型提前消除穩(wěn)態(tài)誤差。一個有用的技術(shù)是結(jié)合預(yù)補(bǔ)償器和積分控制的優(yōu)點(diǎn)。第七章數(shù)字器控制器設(shè)計在這個教程中,我們將考慮直流電速度控制的數(shù)字形式。正如我們將描述的,一個采樣數(shù)據(jù)直流電機(jī)模型可以從模擬模型轉(zhuǎn)變獲得。在這個例子中我們將設(shè)計一個PID控制器。7.1創(chuàng)建系統(tǒng)的一個采樣數(shù)據(jù)模型設(shè)計一個數(shù)字控制系統(tǒng)的第一部是建立一個采樣數(shù)據(jù)模型。因此,當(dāng)連續(xù)系統(tǒng)被采樣時,需要選擇一個采樣頻率。在選擇采樣周期時,采樣頻率必須比系統(tǒng)的動態(tài)更快,比便采樣輸出能捕獲系統(tǒng)的全部行為。讓我們創(chuàng)建一個連續(xù)的時間模型。創(chuàng)建一個m文件并添加如下的MATLAB命令。在MATLAB窗口中運(yùn)行m文件產(chǎn)生如下輸出。用zpk命令可以把傳遞函數(shù)轉(zhuǎn)變?yōu)榱泓c(diǎn)極點(diǎn)的形式。檢查原系統(tǒng)的極點(diǎn)(或者它的頻率響應(yīng)),原系統(tǒng)的主導(dǎo)極點(diǎn)(sigma近似于2)對應(yīng)調(diào)節(jié)時間大約為兩秒(4/sigma)。因此,選擇采樣周期為0.05秒比系統(tǒng)的動態(tài)快的多。采樣周期也比閉環(huán)系統(tǒng)得到的速度快的多。這種情況下,我們將轉(zhuǎn)變給定的傳遞函數(shù)從連續(xù)的拉式變換到離散的z域。MTALAB可以實(shí)現(xiàn)這些I轉(zhuǎn)變通過c2d命令。c2d命令部分:一個系統(tǒng)模型,采樣時間(Ts),保持電路的形式。在這個例子中,我們假設(shè)一個零階保持電路。參考簡介:數(shù)字控制器設(shè)計,來獲得更多的資料。輸入如下命令在你的m文件中,在MATLAB窗口運(yùn)行它,產(chǎn)生如下的采樣數(shù)據(jù)模型。我們將在沒有任何修正的情況下分析系統(tǒng)的閉環(huán)傳遞響應(yīng)。首先,我們用feedback命令獲得閉環(huán)傳遞函數(shù)。然后讓我們檢查帶有零階保持器閉環(huán)階躍響應(yīng)。這個可以用step和stairs名利完成。由于階躍命令用于離散模型,他將輸出離散采樣向量。模擬0.5秒的階躍響應(yīng)。stairs命令把這些離散的數(shù)據(jù)畫成一個階梯,正如零階保持器產(chǎn)生的一樣。添加如下MATLAB代碼在你的m文件末尾并運(yùn)行它。將產(chǎn)生下圖。檢查上圖發(fā)現(xiàn)穩(wěn)態(tài)誤差大太多并且調(diào)節(jié)時間有點(diǎn)慢。7.2PID控制回想連續(xù)時間傳遞函數(shù)的PID控制器是:(1)從s平面繪制到z平面有很多方法。上面我們對于原系統(tǒng)模型用一個零階保持轉(zhuǎn)化。對于控制器,我們需要一種精確的,能被連續(xù)系統(tǒng)實(shí)現(xiàn)的一種轉(zhuǎn)化。從s平面到z平面精確的轉(zhuǎn)換如下所示。(2)這種轉(zhuǎn)換使數(shù)字控制器實(shí)現(xiàn)控制算法產(chǎn)生困難。因此,我們將用一種近似的轉(zhuǎn)化。特別的,我們將用如下轉(zhuǎn)換。(3)我們將用MATLAB中的c2d命令,轉(zhuǎn)換連續(xù)時間PID轉(zhuǎn)化為離散時間的PID,制定轉(zhuǎn)化方式為‘tustin’。根據(jù)直流電機(jī)速度:PID控制設(shè)計,當(dāng)Kp=100,Ki=200,Kd=10的時候我們滿足了設(shè)計需求。我們再次用這些增益?,F(xiàn)在在先前的m文件中,添加如下命令,再次運(yùn)行它在MATLAB窗口中。讓我們看一下加上PID的閉環(huán)階躍響應(yīng)的性能能否滿足我們的要求。添加如下命令到你的m文件并運(yùn)行它。你會得到如下響應(yīng)。正如你在上圖,系統(tǒng)的閉環(huán)響應(yīng)是不穩(wěn)定的。因此,補(bǔ)償系統(tǒng)一定存在錯誤。因此,我們需要看一下補(bǔ)償系統(tǒng)的根軌跡。添加如下MTALAB命令到你的m文件的末尾并運(yùn)行它。從這個根軌跡圖,我們可以看出PID控制器有一個-1的極點(diǎn)在s平面上。我們知道如果系統(tǒng)的一個極點(diǎn)在單位元的外面,這個系統(tǒng)將是不穩(wěn)定的。不管正增益為多少系統(tǒng)是不穩(wěn)定的,因?yàn)橛袠O點(diǎn)和零點(diǎn)在-1極點(diǎn)右側(cè)。因此,一個閉環(huán)極點(diǎn)向左移動并會在單位圓的外面,當(dāng)增益增加的時候。這個例子中我們選擇取消在-0.82的零點(diǎn),這樣至少在某些增益的時候系統(tǒng)是穩(wěn)定的。添加如下命令到你的m文件,并運(yùn)行它,產(chǎn)生如下根軌跡圖。新的閉環(huán)系統(tǒng)醬油一個接近-0.82的極點(diǎn),這幾乎抵消掉了未修正系統(tǒng)的零點(diǎn)。在根軌跡上點(diǎn)幾個位置把閉環(huán)極點(diǎn)放置在哪個位置,看看增益,超調(diào)量,阻尼比等等,如下圖所示。當(dāng)然,實(shí)際響應(yīng)的阻尼比和超調(diào)量的值,只有選擇的極點(diǎn)主導(dǎo)。你可以通過用rlocfind命令指定一個閉環(huán)極點(diǎn)的位置然后確定增益。輸入[K,poles]=rlocfind(dC*dP_motor),然后你可以在根軌跡圖上選擇你感興趣的電。MTALAB將會得到近似的增益和所有的閉環(huán)極點(diǎn)。這是很有用的,因?yàn)樗谐隽怂械拈]環(huán)極點(diǎn),而不只是你選擇的。我們可以選擇一個0.8的增益并檢查閉環(huán)響應(yīng)結(jié)果,通過輸入如下命令。上圖顯示調(diào)節(jié)時間小于2秒并且超調(diào)量接近2%。另外,穩(wěn)態(tài)誤差是零。因此,這響應(yīng)滿足我們的設(shè)計要求。第八章Simulink建模8.1物理設(shè)置直流電機(jī)是一種常見的驅(qū)動器。它直接提供旋轉(zhuǎn)運(yùn)動,再加上輪或繩索,可以提供平移運(yùn)動。電驅(qū)的等效電路和轉(zhuǎn)子的受力圖如下所示對于這個例子,我們假設(shè)系統(tǒng)的輸入是作用在點(diǎn)擊電驅(qū)的電壓V,輸出是桿的轉(zhuǎn)動速度d(theta)/dt。轉(zhuǎn)子和軸被假定為剛性。我們進(jìn)一步假設(shè)粘性摩擦模型,即,摩擦力矩是軸的角速度成比例的。我們例子的物理參數(shù)為:在一般情況下,由一個直流電機(jī)產(chǎn)生的轉(zhuǎn)矩與電樞電流和磁場的強(qiáng)度成比例的。在這個例子中我們假設(shè)磁場是恒定的,因此,電機(jī)的轉(zhuǎn)矩與電樞電流I的比例由,比例系數(shù)為Kt,如下方程所示。這是被稱為一個電驅(qū)控制的電機(jī)。(1)反電動勢e是正比于軸的角速度的一個常數(shù)因子ke。(2)在國際單位制中,電機(jī)的轉(zhuǎn)矩系數(shù)和反電動勢常數(shù)是相同的,即,Kt=Ke;因此,我們將使用K代表兩個電機(jī)轉(zhuǎn)矩系數(shù)和反電動勢常數(shù)。8.2Simulink建模這系統(tǒng)通過作用在轉(zhuǎn)子上的扭矩作和,和積分加速度得到速度建模。同樣,基爾霍夫定律應(yīng)用在電驅(qū)電路上。首先我們給旋轉(zhuǎn)加速度和電驅(qū)電流的積分建模。(3)(4)為了建立方針模型,打開Simulink并且新建一個模型窗口。然后遵循如下步驟。·插入一個積分塊從Continuouslibrary并且從它的輸入輸出畫線?!?biāo)示輸入為"d2/dt2(theta)"輸出為"d/dt(theta)"如下所示。在空白處雙擊即可添加標(biāo)示?!げ迦肓硪粋€積分塊并畫線從它的輸入和輸出。·標(biāo)示輸入為"d/dt(i)"輸出為"i"。接下來應(yīng)用牛頓第二定律和基爾霍夫定律產(chǎn)生如下等式。(5)(6)繼續(xù)在Simulink中為這些等式建模,遵循如下步驟?!腟imulink/MathOperationslibrary中插入兩個Gain塊,每一個與積分相連?!ねㄟ^雙擊編輯Gain塊,把他的值改為“1/J”?!c(diǎn)擊Gain塊下面的“gain”把標(biāo)示改為“Inertia”。·相似的,編輯另一個Gain的值為“1/L”并標(biāo)示為“Inductance”?!腟imulink/MathOperationslibrary中插入兩Add塊,每一個與gain快相連?!ぞ庉婣dd塊的符號為“+-”,一個為正一個為負(fù)。·編輯另一個Add塊的符號為“-+-”,代表電學(xué)方程的符號?,F(xiàn)在,我們添加代表旋轉(zhuǎn)方程的扭矩。首先我們添加阻尼扭矩?!ぴ凇癐nertia”塊下面插入一個增益塊。接下來右擊這個塊,選擇Format>FlipBlock把塊從左翻轉(zhuǎn)到右。你可以通過選中它按“CTRL_I”來翻轉(zhuǎn)?!ぴO(shè)置Gain塊的增益為“b”并重命名為“Damping”?!ぐ研D(zhuǎn)積分的輸出與“Damping”塊的輸入相連。·把“Damping”塊的輸入與Add的負(fù)號相連。接下來,我將添加電驅(qū)的扭矩。·插入一個增益塊,與扭矩Add塊正輸入相連?!ぞ庉嬎闹禐椤癒”,表示電動機(jī)轉(zhuǎn)矩系數(shù),標(biāo)示為“Kt”?!ぐ逊e分塊與與“Kt”塊相連?,F(xiàn)在我們添加代表電學(xué)方程的電壓部分。首先,我們添加電壓?!ぴ凇癐nductance“插入一個Gain塊,并把他從左到右翻轉(zhuǎn)。·設(shè)置增益值為“R”,重命名為“Resistance”?!ぐ央娏鞣e分的輸出與“Resistance”的輸入相連?!ぐ选癛esisitance”的輸出與電流方程Add塊的負(fù)輸入相連。接下來,我們添加電動機(jī)的反電動勢?!げ迦胍粋€Gain塊與電流Add塊的另一個負(fù)極相連?!ぞ庉嬎闹禐椤癒”,代表電動機(jī)的反電動式常熟并標(biāo)示為“Ke”。·把旋轉(zhuǎn)積分的輸出與“Ke”塊相連?!腟imulink/Ports&Subsystemslibrary添加一個Ln1和Out1塊,分別標(biāo)示為“Voltage”和“Speed”。最后的設(shè)計應(yīng)該如下圖。為了保存這些原件作為一個單獨(dú)的子系統(tǒng),首先選擇所有的塊,然后從Edit中選擇CreateSubsystem。命名為“DCMotor”并保存這個模型。你的模型應(yīng)該如下。我們將用到這個模型在直流電機(jī)速度:Smuilink控制器設(shè)計部分。8.3Simscape建模在這個部分,我們將展示如何用Simulink擴(kuò)展的Sumscape的物理模塊建模。在Simscape庫中的塊代表真實(shí)的物理原件,因此,復(fù)雜的多種領(lǐng)域的模型建立,不需要用物理準(zhǔn)則如牛頓定律和基爾霍夫定律的建立的數(shù)學(xué)模型。打開一個新的Simulink模型并插入如下塊,來代表直流電機(jī)的電力和機(jī)械原件。·Resistor,InductorandRotationalElectromechanicalConverter塊在theSimscape/FoundationLibrary/Electrical/ElectricalElementslibrary。·RotationalDamperandInertia塊在theSimscape/FoundationLibrary/Mechanical/RotationalElementslibrary。·4個端口連接塊在theSimscape/Utilitieslibrary。雙擊ConnectionPortblocks選擇1和2的locationofport為left,3和4的locationofport選擇為Right。連接和標(biāo)示如下圖。你可以旋轉(zhuǎn)一個塊,通過在塊上又擊,然后選擇Format中的RotateBlock。完成直流電機(jī)Simcape模型的設(shè)計,把用假設(shè)的值配置每一個塊的物理參數(shù)。為了配置這些需要的值,在Resistor,Inductor,Inertia,RotationalDamper,Rotational,ElectromechanicalConverterblocks上雙擊,輸入如下參數(shù)和單位:Resistance=R[Ohm]Inductance=L[H]Inertia=J[kg*m^2]ConstantofProportionality=K[V/(rad/s)]Dampingcoefficient=b[N*m/(rad/s)]RotationalDamper塊作用于電動機(jī)粘性摩擦的建模。選擇這種類型的摩擦模型,因?yàn)樗蔷€性的。在大多數(shù)情況下,真實(shí)的摩擦比這復(fù)雜的多。如果你希望用一個更復(fù)雜的摩擦模型,例如添加Coulombfriction到你的模型,然后你可以用theSimscape/FoundationLibrary/Mechanical/RotationalElementslibrary中的Rotational摩擦塊。注意在上面通過電動機(jī)的機(jī)械和電力方面建立了一個直流電機(jī)模型。Simscapelibrary中也包括一個直流電機(jī)塊在theSimscape/SimElectronics/Actuatorslibrary中。這個塊在直流電機(jī)位置:simulink建模部分應(yīng)用。物理參數(shù)現(xiàn)在被設(shè)置。輸入如下命令在MATLAB中。這些值與物理設(shè)置的部分的一樣。你可以保存這些原件在一個子系統(tǒng)中。選擇所有的塊,然后選擇編輯菜單中的創(chuàng)建子系統(tǒng)。你可以改變你的子系統(tǒng)的顏色,通過又擊框圖,在出來的菜單中選擇Format>BackgroudColor。為了仿真系統(tǒng)的響應(yīng),需要添加傳感器快到模型中來仿真模各種物理參數(shù)的測量。更進(jìn)一步,需要將Simscape模塊與Simulink模塊相聯(lián)系,因?yàn)镾imscape信號代表有單位的物理量,然而Simulink信號是無量綱數(shù)。添加如下模塊到你的模型?!urrentSensor模塊在theSimscape/FoundationLibrary/Electrical/ElectricalSensorslibrary?!ontrolledVoltageSoure模塊在theSimscape/FoundationLibrary/Electrical/ElectricalSourceslibrary?!蓚€PS-SimulinkConverte模塊和一個SolverConfiguration模塊在theSimscape/Utilitieslibrary?!lectricalReference模塊在theSimscape/FoundationLibrary/Electrical/ElectricalElementslibrary?!dealRotationalMotionSensor塊theSimscape/FoundationLibrary/Mechanical/MechanicalSensorslibrary?!echanicalRotationalReference模塊在theSimscape/FoundationLibrary/Mechanical/RotationalElementslibrary。·三個Out1模塊and一個In1模塊在theSimulink/Ports&Subsystemslibrary。你可以在系統(tǒng)里保存這些原件,一個輸入三個輸出。選擇

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論