• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于MATLAB GUI 的PID 控制仿真系統(tǒng)設(shè)計

    2020-09-29 09:23:32梅,王
    實驗技術(shù)與管理 2020年2期
    關(guān)鍵詞:性能參數(shù)階躍傳遞函數(shù)

    陳 梅,王 健

    (1. 曲阜師范大學(xué) 工學(xué)院,山東 日照 276826;2. 山東水利職業(yè)學(xué)院 經(jīng)濟管理系,山東 日照 276826)

    隨著計算機技術(shù)的發(fā)展,越來越多的教學(xué)軟件為課堂教學(xué)和實驗教學(xué)帶來了便利[1-5]?!白詣涌刂圃怼闭n程是自動化、電子信息工程等專業(yè)的核心課程[6-10],PID 控制是自動控制原理課程中的重要內(nèi)容[11-13]。在PID 控制中,各參數(shù)的設(shè)置直接決定控制系統(tǒng)的性能優(yōu)劣。為了更好地理解PID 控制對系統(tǒng)性能參數(shù)的影響,通過MATLAB GUI 編程實現(xiàn)了控制系統(tǒng)的3 種獲取形式:傳遞函數(shù)、零極點及狀態(tài)控件形式;PID參數(shù)的動態(tài)調(diào)整;以及對應(yīng)控制系統(tǒng)的單位階躍響應(yīng)曲線和系統(tǒng)性能的參數(shù)。該演示系統(tǒng)操作方便,可實時更新數(shù)據(jù)和圖形,有助于理解和分析PID 參數(shù)對系統(tǒng)的影響。

    1 仿真系統(tǒng)總體設(shè)計

    基于MATLAB GUI 的PID 控制仿真系統(tǒng)包括了“自動控制原理”課程中PID 控制理論和實驗教學(xué)的4 個主要模塊,即控制系統(tǒng)的獲取、PID 參數(shù)設(shè)置、系統(tǒng)動態(tài)性能參數(shù)的獲取、單位階躍響應(yīng)曲線的繪制,該仿真系統(tǒng)的主要模塊如圖1 所示。

    圖1 仿真系統(tǒng)主要模塊

    GUIDE 是MATLAB 圖形用戶接口開發(fā)環(huán)境[14-15],它提供了一系列工具用于建立GUI 對象,簡化了設(shè)計和創(chuàng)建的過程。使用GUI 可以完成GUI 圖形界面布局和GUI 編程兩項工作,對應(yīng)2 個擴展名分別為“.fig”和“.m”的文件。“.fig”文件用來向界面中添加所需要的控件并設(shè)置其屬性;“.m”文件通過Callback 回調(diào)函數(shù)實現(xiàn)控件操作中的相關(guān)功能。GUI 設(shè)計流程如圖2 所示。

    圖2 GUI 設(shè)計流程

    2 仿真系統(tǒng)界面設(shè)計

    根據(jù)設(shè)計的功能模塊,仿真系統(tǒng)的界面主要功能是控制系統(tǒng)設(shè)置、顯示所繪制的單位階躍響應(yīng)曲線、設(shè)置PID 參數(shù)及動態(tài)性能參數(shù)。界面設(shè)計包括編輯框、滑動條、單選按鈕、按鈕及坐標軸框、靜態(tài)文本框等控件。仿真系統(tǒng)主要包括4 個面板,用于對各功能進行分類管理,具體設(shè)計如下:

    (1)控制系統(tǒng)設(shè)置。3 個單選按鈕選擇數(shù)據(jù)的形式,9 個編輯框獲取控制系統(tǒng)的參數(shù),2 個按鈕分別實現(xiàn)不同形式參數(shù)的轉(zhuǎn)換和從工作空間獲取數(shù)據(jù)。

    (2)單位階躍響應(yīng)曲線繪制。2 個按鈕選擇開環(huán)或閉環(huán)響應(yīng)曲線,1 個坐標軸框用來顯示圖形。

    (3)PID 參數(shù)設(shè)置。3 個滑動條分別調(diào)節(jié)KP、KI和KD參數(shù),3 個編輯框設(shè)置3 個參數(shù)的最大值,3 個編輯框顯示3 個參數(shù)的當前值,6 個靜態(tài)文本起到提示作用。

    (4)動態(tài)性能參數(shù)。4 個靜態(tài)文本和4 個編輯框分別用來提示和顯示各性能參數(shù)。

    3 仿真系統(tǒng)的實現(xiàn)

    3.1 控制系統(tǒng)設(shè)置

    控制系統(tǒng)是通過設(shè)置系統(tǒng)參數(shù)來獲取的??刂葡到y(tǒng)的主要有傳遞函數(shù)、零極點和狀態(tài)空間3 種形式,分別對應(yīng)3 種形式的數(shù)據(jù)設(shè)置,數(shù)據(jù)設(shè)置形式的選擇是通過單選按鈕實現(xiàn)的。傳遞函數(shù)的參數(shù)為分子num和分母den 的系數(shù):零極點形式的參數(shù)為比例k、零點z 和極點p;狀態(tài)空間的參數(shù)為A、B、C、D。各種形式的參數(shù)是以矩陣的形式給出的,不同形式之間可以相互轉(zhuǎn)換。控制系統(tǒng)的描述可以通過直接輸入數(shù)據(jù)和從工作空間獲取數(shù)據(jù)。

    3.1.1 直接輸入數(shù)據(jù)

    直接輸入數(shù)據(jù)是在選擇對應(yīng)的編輯框中直接輸入需要的參數(shù)。點擊“形式轉(zhuǎn)換”按鈕便可顯示其他形式的數(shù)據(jù)。例如,選中“傳遞函數(shù)”單選按鈕,輸入分子num 和分母den 的系數(shù),點擊“形式轉(zhuǎn)換”,即可顯示零極點形式和狀態(tài)空間的參數(shù)?!靶问睫D(zhuǎn)換”按鈕主要通過get 和set 函數(shù)獲取和設(shè)置數(shù)據(jù);通過str2num 和num2str 函數(shù)實現(xiàn)字符串和矩陣間數(shù)據(jù)的相互轉(zhuǎn)化;通過tf2zp、tf2ss、zp2tf、zp2ss、ss2tf、ss2zp函數(shù)實現(xiàn)傳遞函數(shù)、零極點及狀態(tài)空間不同形式參數(shù)間的轉(zhuǎn)化,主要實現(xiàn)語句如下:

    %選中“傳遞函數(shù)”單選按鈕

    if(get(handles.rbtf,'Value'))

    %獲取num 和den 參數(shù)

    num=get(handles.editnum,'string');

    num=str2num(num);

    den=get(handles.editden,'string');

    den=str2num(den);

    %轉(zhuǎn)換成零極點形式

    [z p k]=tf2zp(num,den);

    %轉(zhuǎn)換成狀態(tài)空間

    [A B C D]=tf2ss(num,den);

    %設(shè)置零極點參數(shù)z、p、k

    z=num2str(z);

    set(handles.editz,'string',z);

    p=num2str(p);

    set(handles.editp,'string',p);

    k=num2str(k);

    set(handles.editk,'string',k);

    %設(shè)置狀態(tài)空間參數(shù)A、B、C、D

    ….

    %選中“零極點形式”單選按鈕

    elseif(get(handles.rbzpk,'Value'))

    …..

    %選中“狀態(tài)空間”單選按鈕

    else

    ….

    end

    3.1.2 從狀態(tài)空間獲取數(shù)據(jù)

    為了方便操作,控制系統(tǒng)的參數(shù)也可從工作空間獲取。該操作是通過“從工作空間獲取”按鈕實現(xiàn)。數(shù)據(jù)的獲取主要通過evalin 函數(shù)實現(xiàn),傳遞函數(shù)參數(shù)從工作空間獲取的語句為:

    num=evalin('base','num');

    den=evalin('base','den') ;

    選擇“傳遞函數(shù)”單選按鈕,在工作空間中輸入num=1, den=[1 3 2],點擊“從工作空間獲取”按鈕,便將數(shù)據(jù)顯示到num 和den 后的編輯框中,點擊“形式轉(zhuǎn)換”便可顯示其他形式的數(shù)據(jù)。

    3.2 單位階躍響應(yīng)曲線的繪制

    對于控制系統(tǒng),通常需要繪制單位階躍響應(yīng)曲線來反映系統(tǒng)的性能,包括開環(huán)系統(tǒng)和閉環(huán)負反饋系統(tǒng)的響應(yīng)曲線,曲線的繪制通過step 函數(shù)實現(xiàn)。

    設(shè)置完控制系統(tǒng)的參數(shù)后,點擊“開環(huán)繪制”按鈕,即可顯示開環(huán)曲線,如圖3 所示。點擊“閉環(huán)負反饋”按鈕,即可顯示閉環(huán)負反饋響應(yīng)曲線,如圖4所示。

    圖3 開環(huán)曲線

    圖4 閉環(huán)負反饋響應(yīng)曲線

    3.3 PID 參數(shù)設(shè)置

    PID 控制由比例、積分和微分組成,其對應(yīng)的參數(shù)分別為KP、KI和KD,其控制規(guī)律傳遞函數(shù)描述為:在PID 控制中,3 個參數(shù)的設(shè)置直接影響系統(tǒng)的性能參數(shù)。對每個參數(shù),先設(shè)置最大值即取值范圍,通過滑動條拖動調(diào)節(jié)當前值。KP參數(shù)的實現(xiàn)代碼如下:

    %獲取Kp 最大值

    mkp=get(handles.editmkp,'string');

    mkp=str2num(mkp);

    %獲取滑動條的位置,確定Kp 的值

    kp=get(handles.sliderkp,'value')*mkp;

    skp=num2str(kp);

    set(handles.editkp,'string',skp);

    設(shè)置控制系統(tǒng)的傳遞函數(shù) num 為 50,den 為1,20,100,0。在“PID 參數(shù)設(shè)置”中,在最大值編輯框中設(shè)置KP、KI和KD參數(shù)的最大值分別為100、1 和1,通過拖動滑動條可以調(diào)節(jié)3 個參數(shù),并在當前值編輯框中顯示各參數(shù)的調(diào)節(jié)值,如圖5 所示。

    圖5 PID 參數(shù)調(diào)節(jié)

    3.4 動態(tài)性能參數(shù)

    控制系統(tǒng)動態(tài)性能參數(shù)主要包括上升時間、調(diào)整時間、穩(wěn)態(tài)值及超調(diào)量。根據(jù)設(shè)置的控制系統(tǒng),在PID參數(shù)調(diào)節(jié)過程中,實時顯示動態(tài)性能參數(shù),如圖5 所示;對應(yīng)的單位階躍響應(yīng)曲線如圖6 所示。主要實現(xiàn)代碼如下:

    %獲取PID 控制傳遞函數(shù)

    syspid=tf([kd kp ki],[1 0]);

    sys1=sys*syspid;

    %獲取PID 控制反饋系統(tǒng)

    sys2=feedback(sys1,1);

    %繪制單位階躍響應(yīng)曲線

    step(sys2)

    [y,t]=step(sys2);

    [max_y,k]=max(y);

    tp=t(k);

    %穩(wěn)態(tài)值

    C=dcgain(sys2);

    set(handles.editss,'string',num2str(C));

    max_overshoot=100*(max_y-C)/C;

    set(handles.editos,'string',num2str(max_overshoot));

    %超調(diào)量

    r1=1;

    while (y(r1)<0.1*C)

    r1=r1+1;

    end

    r2=1;

    while (y(r2)<0.9*C)

    r2=r2+1;

    end

    tr=t(r2)-t(r1)%上升時間

    set(handles.editrt,'string',num2str(tr));

    s=length(t);

    while y(s)>0.98*C&&y(s)<1.02*C

    s=s-1;

    end

    ts=t(s)%調(diào)整時間

    set(handles.editst,'string',num2str(ts));

    圖6 PID 控制單位階躍響應(yīng)曲線

    4 結(jié)語

    通過MATALB GUI 設(shè)計實現(xiàn)的PID 控制仿真系統(tǒng),具有系統(tǒng)參數(shù)設(shè)置方式多樣、PID 參數(shù)調(diào)節(jié)靈活、能動態(tài)顯示性能參數(shù)和階躍響應(yīng)曲線的特點。該仿真系統(tǒng)界面簡潔、操作方便,可用于“自動控制原理”課程的教學(xué)和實驗中,從而幫助學(xué)生加深理解PID 控制的工作原理和PID 參數(shù)對系統(tǒng)動態(tài)性能參數(shù)的影響,培養(yǎng)學(xué)生的研究能力和實踐能力。

    猜你喜歡
    性能參數(shù)階躍傳遞函數(shù)
    紡織品吸濕速干性能參數(shù)研究
    基于階躍雙包層光纖的螺旋型光纖傳感器
    基于LabVIEW的火焰?zhèn)鬟f函數(shù)測量系統(tǒng)
    探討單位階躍信號的教學(xué)
    紅外成像系統(tǒng)的調(diào)制傳遞函數(shù)測試
    時間數(shù)字轉(zhuǎn)換器性能參數(shù)及誤差分析
    天線電性能參數(shù)的測量
    基于傳遞函數(shù)自我優(yōu)化的BP網(wǎng)絡(luò)算法改進
    一種階躍函數(shù)在矩形時間窗口頻域特性的分析方法
    單位階躍響應(yīng)的時域求解方法
    连城县| 孙吴县| 嘉峪关市| 奉化市| 福泉市| 曲靖市| 象山县| 嘉祥县| 治县。| 明星| 固原市| 乌鲁木齐县| 民县| 福安市| 巴彦淖尔市| 丰城市| 宁津县| 鲁甸县| 大姚县| 绥江县| 嘉祥县| 东丽区| 麦盖提县| 曲沃县| 新巴尔虎左旗| 缙云县| 郓城县| 阿勒泰市| 江门市| 平舆县| 宁都县| 镇赉县| 水富县| 宁武县| 嘉义市| 五华县| 密山市| 城口县| 大庆市| 呈贡县| 额敏县|