基于MATLABGUI的用PID自动控制.docx
- 文档编号:23295903
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:50
- 大小:1.40MB
基于MATLABGUI的用PID自动控制.docx
《基于MATLABGUI的用PID自动控制.docx》由会员分享,可在线阅读,更多相关《基于MATLABGUI的用PID自动控制.docx(50页珍藏版)》请在冰豆网上搜索。
基于MATLABGUI的用PID自动控制
自动控制原理
MATLAB课程设计
自动化-2
何志东
20112544
MATLAB课程设计1
界面介绍3
操作演示5
程序流程示意图11
源程序13
'.界面介绍
本次课程设计的界面如上图所示,一共有一下4个模块:
1.数据输入与转换模块
2.系统菜单模块
3.数据输出模块
4.图形显示模块
接下来将逐一介绍。
左上方为数据输入与转换模块,包括系统函数的输入,根轨迹校正参数,以及频率相应参数的输入(频响尚未完成,所以该模块输入的数据只会被记录而暂无更多的功能)。
其
中系统函数能够通过按钮选择为传递函数形式,或者是零极点形式。
同样,根据你的函数,你可以选择误差系数的选项。
在输入模块中我们提供了将超调量转换成阻尼比的功能。
左下方为系统菜单模块,在完成了数据输入之后选择菜单,将可以提供如系统地根轨迹图,闭环阶跃响应,稳态分析等功能。
特别是在选择了“根轨迹校正”的选项后,能够根据你所提供的指标进行超前一滞后根轨迹综合,并且显示出校正后的根轨迹。
并且能将校正后的系统的阶跃响应与校正之前的阶跃响应相比较。
系统菜单模块旁边则是系统的数据输出模块。
每一项菜单的选项都会有数据输出,并都将在这里显示。
右边是图形显示模块,上面的两个文本框则是可以输出文本并且给出开环系统的极点
二.操作演示
这项程序一共有8个菜单选项,对应8个不同的操作如下清单:
1•根轨迹图
在演示中都将以系统
8
ss0.4
作为操作演示的例子。
确定输人
02
统栽出域教出系亟徜时券埼
増益K阻尼比
羣加
Te
Tr
Tp
HudLd&j*
2.阶跃响应
在计算阶跃响应的同时,还会在输入模块显示该系统的时域动态参数。
3.Nyquist图
统裁人
系函帝
fium/EfirOS
derVpde
0 擢轨迹 16尼ttq Tp 正掘融 根轨沌囲酚蹟响应一*NyquislS Nichols^lBode囲稳态廿析 卑世反摄覘雌法按正 MENU 4.Nichols图 纺裁人 系函帝 rturr/ZBius 笳趣t derVpoie w «£KB 印|[粉 [和] 8M 确定输入 清除数据 统数出域聂出 系歴TS1时券埼 芳子粘 増益K 18尼比 Ts: Tr Tp 印|[松 GM 抿轨越枝正蛙 fig尼比q TP 垢谓畳 确定輸入清除数据 正掘融 Efl-00SJ.C&O 5.Bode图 统裁人 擢轨迹楼正娄 正掘融 hufttfEfirOS 冲1 21坯 BQ 确宦輸人 清臨数据 1 f 根轨泣囲踰蹟响应一「NyquislE Nichols^。 Bode囲稳态廿析 单位反愎覩艇法投正 MEiNU 统数出域聂出 系歴TS1时券埼 阻尼比 Tr Tp it1044 H开痒播知唾 6•稳态分析 在“稳态分析”选项中,程序将会计算书闭环系统的极点,并且计算出在有半轴的极点的个数。 由此便可以判断系统是否稳定。 7•单位反馈 程序将会在系统函数中输出闭环的系统的传递函数形式 8•根轨迹校正 在选择这个选项之前,必须要给程序输入必要的指标参数: 阻尼比,自然震荡频率,误差系数以及需要的相位裕量 此时可以将原系统的根轨迹显示在右边的图形显示模块,再选择“根轨迹校正”,这时 就会新生成两个界面,一个是校正后的系统的根轨迹,另一个则是对比原系统与新系统的闭环阶跃响应。 同时新系统的传递函数将会显示在数据输出模块。 在命令窗口中也能看到校正环节的传递函数。 RoctLocus 亠1-0.50 RealAxis .8 6 cS 4_2 aa. Huo 5lepResponse 「i「—I;: ;——.: ilrl—ill;「I: 丄 5101520 25 Timeisec Transferfunction: 1+35Ss+1 Transferfunction sf0.1 54-0.0125 0.425s+1 三.程序流程示意图 (一)•数据输入部分 (二)•数据输出部分同上 (三)•菜单部分 开始 (四).子函数超前校正 严 开始 根据指标求得主导极 计算校正转置应提供的超前相角 计算校正转置零极点位置 「(2k1)二-G°(p) 由幅值条件确定校正后的系统增益 (五).子函数滞后校正 JF 开始 根据指标求得主导极 由需要的指标计算应该增大的 吾侪系数值,以及3 确定计算偶极子,并且要靠近原点,两者相差3倍 最后再适当调整,以便满足指标要求 四.源程序 主函数: Untitled.m functionvarargout=untitled(varargin) %UNTITLEDM-fileforuntitled.fig%UNTITLED,byitself,createsanewUNTITLEDorraisestheexisting %singleton*. % %H=UNTITLEDreturnsthehandletoanewUNTITLEDorthehandleto %theexistingsingleton* % callsthe giveninput valuepairs %UNTITLED('CALLBACK',hObject,eventData,handles,...) local %functionnamedCALLBACKinUNTITLED.Mwiththe arguments. % %UNTITLED('Property','Value',...)createsanewUNTITLEDorraises the %existingsingleton*Startingfromtheleft,propertyare %appliedtotheGUIbeforeuntitled_OpeningFcngetscalled.An %unrecognizedpropertynameorinvalidvaluemakesproperty application %stop.Allinputsarepassedtountitled_OpeningFcnviavarargin. % %*SeeGUIOptionsonGUIDE'sToolsmenu.Choose"GUIallowsonlyone %instaneetorun(singleton)". % %Seealso: GUIDE,GUIDATA,GUIHANDLES%Edittheabovetexttomodifytheresponsetohelpuntitled %LastModifiedbyGUIDEv2.503-Mar-201412: 47: 49 mfilename,... gui_Singleton, @untitled_OpeningFcn, @untitled_OutputFcn, [],... []); %Begininitializationcode-DONOTEDITgui_Singleton=1; gui_State=struct('gui_Name', 'gui_Singleton''gui_OpeningFcn''gui_OutputFcn''gui_LayoutFcn''gui_Callback'ifnargin&&ischar(varargin{1}) gui_State.gui_Callback=str2func(varargin{1}); end ifnargout [varargout{1: nargout}]=gui_mainfcn(gui_State,varargin{: }); else gui_mainfcn(gui_State,varargin{: }); end %Endinitializationcode-DONOTEDIT %---Executesjustbeforeuntitledismadevisible. functionuntitled_OpeningFcn(hObject,eventdata,handles,varargin) %Thisfunctionhasnooutputargs,seeOutputFcn. %hObjecthandletofigure %eventdatareserved-tobedefinedinafutureversionofMATLAB %handlesstructurewithhandlesanduserdata(seeGUIDATA) %varargincommandlineargumentstountitled(seeVARARGIN) %Choosedefaultcommandlineoutputforuntitled handles.output=hObject; %Updatehandlesstructureguidata(hObject,handles); %UIWAITmakesuntitledwaitforuserresponse(seeUIRESUME) %uiwait(handles.figure1); %---Outputsfromthisfunctionarereturnedtothecommandline,functionvarargout=untitled_OutputFcn(hObject,eventdata,handles)%varargoutcellarrayforreturningoutputargs(seeVARARGOUT); %hObjecthandletofigure %eventdatareserved-tobedefinedinafutureversionofMATLAB %handlesstructurewithhandlesanduserdata(seeGUIDATA) %Getdefaultcommandlineoutputfromhandlesstructurevarargout{1}=handles.output; % functionUntitled_1_Callback(hObject,eventdata,handles) %hObjecthandletoUntitled_1(seeGCBO) %eventdatareserved-tobedefinedinafutureversionofMATLAB %handlesstructurewithhandlesanduserdata(seeGUIDATA) % functionUntitled_2_Callback(hObject,eventdata,handies) %hObjecthandletoUntitled_2(seeGCBO) %eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA) % functiont2_Callback(hObject,eventdata,handles) %hObjecthandletot2(seeGCBO) %eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)functionedit1_Callback(hObject,eventdata,handles) %hObjecthandletoeditl(seeGCBO) %eventdatareserved-tobedefinedinafutureversionofMATLAB %handlesstructurewithhandlesanduserdata(seeGUIDATA)%Hints: get(hObject,'String')returnscontentsofeditlastext asa %str2double(get(hObject,'String')) double returnscontentsofeditl %---Executesduringobjectcreation,aftersettingallproperties.functionedit1_CreateFcn(hObject,eventdata,handles) %hObjecthandletoeditl(seeGCBO) %eventdatareserved-tobedefinedinafutureversionofMATLAB %handlesempty-handlesnotcreateduntilafter allCreateFcns called %Hint: editcontrolsusuallyhaveawhitebackgroundonWindows. %SeeISPCandCOMPUTER. ifispc&&isequal(get(hObject, get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end 'BackgroundColor' ), functionedit2_Callback(hObject,eventdata,handles) %hObjecthandletoedit2(seeGCBO) %eventdatareserved-tobedefinedinafutureversionofMATLAB %handlesstructurewithhandlesanduserdata(seeGUIDATA) %Hints: get(hObject,'String')returnscontentsofedit2astext %str2double(get(hObject,'String'))returnscontentsofedit2asa double %---Executesduringobjectcreation,aftersettingallproperties.functionedit2_CreateFcn(hObject,eventdata,handles) %hObjecthandletoedit2(seeGCBO) %eventdatareserved-tobedefinedinafutureversionofMATLAB %handlesempty-handlesnotcreateduntilafter %Hint: editcontrolsusuallyhaveawhitebackgroundonWindows. %SeeISPCandCOMPUTER. ifispc&&isequal(get(hObject, get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end allCreateFcnscalled 'BackgroundColor'), functionedit3_Callback(hObject,eventdata,handles) %hObjecthandletoedit3(seeGCBO) %eventdatareserved-tobedefinedinafutureversionofMATLAB %handlesstructurewithhandlesanduserdata(seeGUIDATA) %Hints: get(hObject,'String')returnscontentsofedit3astext %str2double(get(hObject,'String'))returns double %---Executesduringobjectcreation,aftersettingallproperties. functionedit3_CreateFcn(hObject,eventdata,handles) %hObjecthandletoedit3(seeGCBO) %eventdatareserved-tobedefinedinafutureversionofMATLAB %handlesempty-handlesnotcreateduntilafter %Hint: editcontrolsusuallyhaveawhitebackgroundonWindows. %SeeISPCandCOMPUTER. ifispc&&isequal(get(hObject, get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end contentsofedit3asa allCreateFcnscalled 'BackgroundColor'), functionedit4_Callback(hObject,eventdata,handles) %hObjecthandietoedit4(seeGCBO) %eventdatareserved-tobedefinedinafutureversionofMATLAB %handlesstructurewithhandlesanduserdata(seeGUIDATA) %Hints: get(hObject,'String')returnscontentsofedit4astext %str2double(get(hObject,'String'))returnscontentsofedit4asa double %---Executesduringobjectcreation,aftersettingallproperties.functionedit4_CreateFcn(hObject,eventdata,handles) %hObjecthandletoedit4(seeGCBO) %eventdatareserved-tobedefinedinafutureversionofMATLAB %handlesempty -handlesnotcreateduntilafterallCreateFcnscalled 'BackgroundColor'), contentsofedit5asa %Hint: editcontrolsusuallyhaveawhitebackgroundonWindows. %SeeISPCandCOMPUTER. ifispc&&isequal(get(hObject, get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); endfunctionedit5_Callback(hObject,eventdata,handles) %hObjecthandletoedit5(seeGCBO) %eventdatareserved-tobedefinedinafutureversionofMATLAB %handlesstructurewithhandlesanduserdata(seeGUIDATA)%Hints: get(hObject,'String')returnscontentsofedit5astext %str2double(get(hObject,'String'))returns double %---Executesduringobjectcreation,aftersettingallproperties. functionedit5_CreateFc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MATLABGUI PID 自动控制
![提示](https://static.bdocx.com/images/bang_tan.gif)