陳曉娟
(大連職業技術學院 遼 寧 大 連116037)
自動控制系統,是指在沒有人的直接參與的情況下,利用外加設備或裝置,使機器、設備或生產過程的某個工作狀態或參數自動地按照預定的規律運行[1]。隨著自動化技術的巨大進步,自動控制技術已廣泛應用于工農業生產中、交通運輸和國防建設的各個領域。自動控制系統課程也逐漸成為高職院校電氣自動化專業必要的專業基礎課。自動控制系統種類繁多,分析和設計過程中一定要先建立數學模型。頻域分析法是一種圖解式的數學模型,只用很小的計算量和很簡單的運算方法,再輔以作圖,便可完成分析與綜合的工作。文中利用了Matlab/GUI(圖形用戶界面)的功能,設計了自動控制系統頻域分析的演示界面,在抽象的理論教學的同時給予學生生動的實驗演示,便于學生對理解和掌握系統的組成以及參數變化對系統性能的影響。
設線性系統輸入信號為r(t),輸出信號為c(t),如圖1所示,則得出系統的傳遞函數的一般表達式為:。當正弦信號作用于線性系統時,系統穩定后輸出的穩態分量仍然是同頻率正弦信號,這種過程叫做系統的頻率響應[2]。此時,系統輸出穩態分量與輸入正弦信號的復數比叫做系統的頻率特性,記作:G(jω)=A(ω)ejφ(ω)系統的頻率特性與系統的傳遞函數之間有著簡單而直接的對應關系頻域分析法就是根據系統的頻率特性來分析系統的性能,研究的主要手段有極坐標圖(Nyquist圖)和對數坐標圖(Bode圖)。極坐標圖的計算和繪制相對高職層次的學生來說要難理解的多,所以本次仿真設計主要針對對數坐標圖。

圖1 一般線性自動控制系統Fig.1 General linear automatic control systems
對數坐標圖由對數幅頻特性曲線和對數相頻特性曲線組成。 對數幅頻特性的縱坐標表示 L(ω),其值為 L(ω)=20lgA(ω),均勻分度,單位為分貝(dB)。對數相頻特性的縱坐標表示相頻特性的函數值,即 φ(ω),均勻分度,單位為“°”(度)。 二者的橫坐標都表示角頻率ω,單位為弧度/秒(rad/s),按均勻分度,但對ω而言是不均勻的,ω每變化10倍,橫坐標就變化一個單位長度,稱為一個“10倍頻程”(記為dec)。
線性自動控制系統一般都是由若干個典型環節組成。常用的典型環節有:比例環節、積分環節、微分環節、慣性環節、比例微分環節、二階振蕩環節等等。如果系統的開環傳遞函數可以看作為:式中分子部分的常系數K可以看作比例環節,(τ1s+1)就是一個比例微分環節;分母中,v表示系統開環傳遞函數中積分環節的個數,就是一個慣性環節。這樣系統的對數坐標圖就可以看作是組成的這些典型環節的對數坐標圖的疊加。
仿真系統主要有參數設置區、傳遞函數顯示區和伯德圖仿真波形顯示窗口組成,如圖2所示。用戶可以在參數設置區選擇組成系統的典型環節,并輸入典型環節的參數,點擊“顯示傳遞函數”按鈕,就可以在下面的靜態文本框中顯示相應的傳遞函數。這樣可以很清楚的知道該系統都是由那些環節構成。得到傳遞函數之后,可以點擊“伯德圖仿真波形”按鈕,顯示該系統的伯德圖,根據圖形分析系統的穩態特性和動態特性。也可以通過改變環節或參數,得到不同的圖形并進行對比,以判斷對系統性能的影響,并能指明改進系統的方向。

圖2 仿真系統的主界面Fig.2 The main interface of the simulation system
1)系統傳遞函數的顯示
設某系統由比例環節、一個積分環節、兩個慣性環節、一個比例微分環節組成。利用復選框,選擇系統的組成環節,然后在靜態文本框中輸入環節的參數。點擊“顯示傳遞函數”按鈕,就會顯示系統的開環傳遞函數為圖3所示。在編寫回調函數過程中,首先判斷六個典型環節前面復選框的狀態,如果選中的話,則利用get()語句將后面輸入的系數,以相應的形式,放在分子或分母中。例如慣性環節的一般表達式為T為慣性環節的系數。兩個慣性環節,系數分別為:1和0.05,體現在系統的傳遞函數中就是:最后利用set語句將組合的分數形式的傳遞函數在靜態文本框中顯示。
Matlab提供了用戶圖形開發程序GUIDE,支持可視化編程[4]。在GUIDE中,用戶可以根據仿真實驗的構思,來布局界面中的各個控件。界面布局完成之后,可以編寫相應控件的回調函數代碼。每個GUI界面設計包括后綴為.fig的GUI界面布局文件和后綴為.m的運行函數文件[3]。

圖3 系統傳遞函數顯示界面Fig.3 The display of system transfer function

圖4 系統仿真波形的顯示Fig.4 The display of system simulation waveform
2)仿真波形的顯示
根據輸入的參數得到傳遞函數之后,點擊“伯德圖仿真波形”按鈕,利用figure(2)語句,會重新彈出窗口,顯示系統相應的伯德圖(幅頻特性曲線和相頻特性曲線)。伯德圖由系統自帶的bode()函數繪制[5]。在編寫回調函數過程中,要首先判斷系統由哪些典型環節構成,不存在的環節都設為0(比例環節設為1),然后根據環節的類型,確定繪制bode圖的公式。由于二階振蕩環節的表達式特殊,需單獨判斷一下。部分程序代碼如下:
s=tf('s');
if(isempty(get(handles.edit14,'String'))||(isempty(get
(handles.edit17,'String'))))
G=(Val_bili*(s^Val_lixiangweifen)*(Val_biliweifen1*s+1)*
(Val_biliweifen2*s+1)*(Val_biliweifen3*s+1))/((s^Val_jifen)
*(Val_guanxing1*s+1)*(Val_guanxing2*s+1)*
(Val_guanxing3*s+1));
else G=(Val_bili*(s^Val_lixiangweifen)*
(Val_biliweifen1*s+1)*(Val_biliweifen2*s+1)*
(Val_biliweifen3*s+1))/((s^Val_jifen)*(Val_guanxing1*s+1)
*(Val_guanxing2*s+1)*(Val_guanxing3*s+1)*(s^2+
2*Val_zhendangjiao1*Val_zuni1*Val_zhendangjiao1*s+
Val_zhendangjiao1^2));
end
figure(2)
bode(G)
grid on
根據輸入的典型環節的類型和參數的不同,仿真波形會相應變化。學生可以很方便地通過對比,找到環節的參數的變化對系統動態和穩態性能的影響,從而帶來更直觀的學習體驗。
對于缺乏數學基礎和分析技能的高職學生來說,利用MATLAB的GUI設計功能及其數據處理功能、繪圖功能等的有機結合,使得運用系統頻率特性來分析系統穩態特性和暫態性能變得非常方便快捷、直觀。事實上,MATLAB的介入,還可使系統的時域分析、根軌跡繪制和分析、極點配置和觀測器設計、最優控制系統設計等都變得極其簡單[6]。對進一步豐富教學手段,引導學生進行研究性學習有很好的輔助作用。
[1]張利輝,李靜,楊錫運,等.自動控制原理[M].北京:中國電力出版社,2009.
[2]黃忠霖.新編控制系統MATLAB仿真實訓[M].北京:機械工業出版社,2013.
[3]王華喬.基于MATLAB GUI的自動控制原理仿真軟件設計[J].計量與測試技術,2011,2(38):12-14.WANG Hua-Qiao.Design of the sinulation saftware of automatic control principle based on MATLAB GUI[J].Modern Electronics Technique.2011,2(38):12-14.
[4]趙廣元.MATLAB與控制系統仿真實踐[M].北京:北京航空航天大學出版社,2009.
[5]祁文哲,王莉莉,孟建軍,等.基于MATLAB的控制系統頻率特性實驗的開發[J].現代科學儀器,2007(2):40-42.QI Wen-zhe,WANG Li-li,MENG Jian-jun,et al.Developing of Frequency Characteristic Experiment System Based on MATLAB[J].Modern Scientific Instruments,2007(2):40-42.
[6]蔣燕君.基于MATLAB的控制系統頻率特性仿真與分析[J].浙江樹人大學學報,2005,2(5):102-105.JIANG Yan-jun.Simulation and analysis of frequency characteristic of control systems with MATLAB[J].Journal of Zhejiang Shuren University.2005,2(5):102-105.