999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2020-09-29 09:23:32梅,王
關(guān)鍵詞:按鈕設(shè)置系統(tǒng)

陳 梅,王 健

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

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

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

基于MATLAB GUI 的PID 控制仿真系統(tǒng)包括了“自動控制原理”課程中PID 控制理論和實(shí)驗(yàn)教學(xué)的4 個(gè)主要模塊,即控制系統(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è)計(jì)和創(chuàng)建的過程。使用GUI 可以完成GUI 圖形界面布局和GUI 編程兩項(xiàng)工作,對應(yīng)2 個(gè)擴(kuò)展名分別為“.fig”和“.m”的文件。“.fig”文件用來向界面中添加所需要的控件并設(shè)置其屬性;“.m”文件通過Callback 回調(diào)函數(shù)實(shí)現(xiàn)控件操作中的相關(guān)功能。GUI 設(shè)計(jì)流程如圖2 所示。

圖2 GUI 設(shè)計(jì)流程

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

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

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

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

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

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

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

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

控制系統(tǒng)是通過設(shè)置系統(tǒng)參數(shù)來獲取的。控制系統(tǒng)的主要有傳遞函數(shù)、零極點(diǎn)和狀態(tài)空間3 種形式,分別對應(yīng)3 種形式的數(shù)據(jù)設(shè)置,數(shù)據(jù)設(shè)置形式的選擇是通過單選按鈕實(shí)現(xiàn)的。傳遞函數(shù)的參數(shù)為分子num和分母den 的系數(shù):零極點(diǎn)形式的參數(shù)為比例k、零點(diǎn)z 和極點(diǎn)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ù)。點(diǎn)擊“形式轉(zhuǎn)換”按鈕便可顯示其他形式的數(shù)據(jù)。例如,選中“傳遞函數(shù)”單選按鈕,輸入分子num 和分母den 的系數(shù),點(diǎn)擊“形式轉(zhuǎn)換”,即可顯示零極點(diǎn)形式和狀態(tài)空間的參數(shù)。“形式轉(zhuǎn)換”按鈕主要通過get 和set 函數(shù)獲取和設(shè)置數(shù)據(jù);通過str2num 和num2str 函數(shù)實(shí)現(xiàn)字符串和矩陣間數(shù)據(jù)的相互轉(zhuǎn)化;通過tf2zp、tf2ss、zp2tf、zp2ss、ss2tf、ss2zp函數(shù)實(shí)現(xiàn)傳遞函數(shù)、零極點(diǎn)及狀態(tài)空間不同形式參數(shù)間的轉(zhuǎn)化,主要實(shí)現(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)換成零極點(diǎn)形式

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

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

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

%設(shè)置零極點(diǎn)參數(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

….

%選中“零極點(diǎn)形式”單選按鈕

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

…..

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

else

….

end

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

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

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

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

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

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

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

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

圖3 開環(huán)曲線

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

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

PID 控制由比例、積分和微分組成,其對應(yīng)的參數(shù)分別為KP、KI和KD,其控制規(guī)律傳遞函數(shù)描述為:在PID 控制中,3 個(gè)參數(shù)的設(shè)置直接影響系統(tǒng)的性能參數(shù)。對每個(gè)參數(shù),先設(shè)置最大值即取值范圍,通過滑動條拖動調(diào)節(jié)當(dāng)前值。KP參數(shù)的實(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 個(gè)參數(shù),并在當(dāng)前值編輯框中顯示各參數(shù)的調(diào)節(jié)值,如圖5 所示。

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

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

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

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)整時(shí)間

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

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

4 結(jié)語

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

猜你喜歡
按鈕設(shè)置系統(tǒng)
這些按鈕能隨便按嗎?
當(dāng)你面前有個(gè)按鈕
Smartflower POP 一體式光伏系統(tǒng)
中隊(duì)崗位該如何設(shè)置
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
本刊欄目設(shè)置說明
中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
內(nèi)心不能碰的按鈕
主站蜘蛛池模板: AV在线麻免费观看网站| 四虎永久免费地址| 日本欧美中文字幕精品亚洲| 久久人体视频| 熟妇无码人妻| 在线免费a视频| 日韩色图在线观看| 国产无套粉嫩白浆| 亚洲天堂精品在线观看| 欧美亚洲欧美| 毛片网站免费在线观看| 全色黄大色大片免费久久老太| 成人av专区精品无码国产| 中文字幕乱码中文乱码51精品| 日日摸夜夜爽无码| 一本色道久久88| 天天摸夜夜操| 中文字幕波多野不卡一区| 综合天天色| 亚洲一区毛片| 尤物国产在线| 亚洲成人一区二区| 亚洲日韩欧美在线观看| 最近最新中文字幕在线第一页| 欧美精品另类| 青青草国产在线视频| 国产91视频免费观看| 98超碰在线观看| 国产无码精品在线| 亚洲精品黄| 欧美色99| 午夜视频日本| av一区二区三区在线观看| 欧洲一区二区三区无码| 91精品专区国产盗摄| 久久精品人妻中文视频| 国产精品香蕉在线观看不卡| 国产亚洲现在一区二区中文| 国产精品香蕉在线观看不卡| 国产自在线拍| 中文字幕第4页| 亚洲成a人片在线观看88| 午夜毛片福利| 日韩高清一区 | 国产又色又刺激高潮免费看| 黄色网站不卡无码| 久久亚洲精少妇毛片午夜无码 | 在线观看国产黄色| 国产网站免费观看| 国产日韩丝袜一二三区| 国产精品jizz在线观看软件| 国产精品免费入口视频| 青青操视频免费观看| av在线人妻熟妇| 波多野结衣亚洲一区| 三级毛片在线播放| 啪啪啪亚洲无码| 天天躁日日躁狠狠躁中文字幕| 久久婷婷综合色一区二区| 扒开粉嫩的小缝隙喷白浆视频| 亚洲人成网站在线观看播放不卡| 一个色综合久久| 国产在线一区二区视频| 18禁黄无遮挡免费动漫网站| 91区国产福利在线观看午夜| 亚洲国产综合精品中文第一| 日韩无码视频专区| 日韩在线欧美在线| 亚洲无码视频图片| 亚洲第一福利视频导航| 日韩一级二级三级| 亚洲区视频在线观看| 久久青青草原亚洲av无码| 国产美女91视频| 亚洲欧美色中文字幕| 视频二区国产精品职场同事| 色妺妺在线视频喷水| 国产精品深爱在线| 精品国产自| 欧美日韩一区二区三| 91精品国产自产91精品资源| 亚洲另类色|