基于MATLAB GUI的用PID自动控制.docx
- 文档编号:26408883
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:54
- 大小:516.32KB
基于MATLAB GUI的用PID自动控制.docx
《基于MATLAB GUI的用PID自动控制.docx》由会员分享,可在线阅读,更多相关《基于MATLAB GUI的用PID自动控制.docx(54页珍藏版)》请在冰豆网上搜索。
基于MATLABGUI的用PID自动控制
自动控制原理
MATLAB课程设计
自动化-2
何志东
20112544
MATLAB课程设计-----------------------------------------------------------------------1
界面介绍------------------------------------------------------------------------------------3
操作演示------------------------------------------------------------------------------------5
程序流程示意图---------------------------------------------------------------------------11
源程序---------------------------------------------------------------------------------------13
一.界面介绍
本次课程设计的界面如上图所示,一共有一下4个模块:
1.数据输入与转换模块
2.系统菜单模块
3.数据输出模块
4.图形显示模块
接下来将逐一介绍。
左上方为数据输入与转换模块,包括系统函数的输入,根轨迹校正参数,以及频率相应参数的输入(频响尚未完成,所以该模块输入的数据只会被记录而暂无更多的功能)。
其中系统函数能够通过按钮选择为传递函数形式,或者是零极点形式。
同样,根据你的函数,你可以选择误差系数的选项。
在输入模块中我们提供了将超调量转换成阻尼比的功能。
左下方为系统菜单模块,在完成了数据输入之后选择菜单,将可以提供如系统地根轨迹图,闭环阶跃响应,稳态分析等功能。
特别是在选择了“根轨迹校正”的选项后,能够根据你所提供的指标进行超前—滞后根轨迹综合,并且显示出校正后的根轨迹。
并且能将校正后的系统的阶跃响应与校正之前的阶跃响应相比较。
系统菜单模块旁边则是系统的数据输出模块。
每一项菜单的选项都会有数据输出,并都将在这里显示。
右边是图形显示模块,上面的两个文本框则是可以输出文本并且给出开环系统的极点。
二.操作演示
这项程序一共有8个菜单选项,对应8个不同的操作如下清单:
1.根轨迹图
在演示中都将以系统
作为操作演示的例子。
2.阶跃响应
在计算阶跃响应的同时,还会在输入模块显示该系统的时域动态参数。
3.Nyquist图
4.Nichols图
5.Bode图
6.稳态分析
在“稳态分析”选项中,程序将会计算书闭环系统的极点,并且计算出在有半轴的极点的个数。
由此便可以判断系统是否稳定。
7.单位反馈
程序将会在系统函数中输出闭环的系统的传递函数形式。
8.根轨迹校正
在选择这个选项之前,必须要给程序输入必要的指标参数:
阻尼比,自然震荡频率,误差系数以及需要的相位裕量。
此时可以将原系统的根轨迹显示在右边的图形显示模块,再选择“根轨迹校正”,这时就会新生成两个界面,一个是校正后的系统的根轨迹,另一个则是对比原系统与新系统的闭环阶跃响应。
同时新系统的传递函数将会显示在数据输出模块。
在命令窗口中也能看到校正环节的传递函数。
三.程序流程示意图
(一)
.数据输入部分
(二).数据输出部分同上
(三).菜单部分
(四)
.子函数超前校正
由幅值条件确定校正后的系统增益
计算校正转置零极点位置
(五).子函数滞后校正
(六)
最后再适当调整,以便满足指标要求
确定计算偶极子,并且要靠近原点,两者相差β倍
根据指标求得主导极点
开始
四.源程序
主函数:
Untitled.m
functionvarargout=untitled(varargin)
%UNTITLEDM-fileforuntitled.fig
%UNTITLED,byitself,createsanewUNTITLEDorraisestheexisting
%singleton*.
%
%H=UNTITLEDreturnsthehandletoanewUNTITLEDorthehandleto
%theexistingsingleton*.
%
%UNTITLED('CALLBACK',hObject,eventData,handles,...)callsthelocal
%functionnamedCALLBACKinUNTITLED.Mwiththegiveninputarguments.
%
%UNTITLED('Property','Value',...)createsanewUNTITLEDorraisesthe
%existingsingleton*.Startingfromtheleft,propertyvaluepairsare
%appliedtotheGUIbeforeuntitled_OpeningFcngetscalled.An
%unrecognizedpropertynameorinvalidvaluemakespropertyapplication
%stop.Allinputsarepassedtountitled_OpeningFcnviavarargin.
%
%*SeeGUIOptionsonGUIDE'sToolsmenu.Choose"GUIallowsonlyone
%instancetorun(singleton)".
%
%Seealso:
GUIDE,GUIDATA,GUIHANDLES
%Edittheabovetexttomodifytheresponsetohelpuntitled
%LastModifiedbyGUIDEv2.503-Mar-201412:
47:
49
%Begininitializationcode-DONOTEDIT
gui_Singleton=1;
gui_State=struct('gui_Name',mfilename,...
'gui_Singleton',gui_Singleton,...
'gui_OpeningFcn',@untitled_OpeningFcn,...
'gui_OutputFcn',@untitled_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;
%Updatehandlesstructure
guidata(hObject,handles);
%UIWAITmakesuntitledwaitforuserresponse(seeUIRESUME)
%uiwait(handles.figure1);
%---Outputsfromthisfunctionarereturnedtothecommandline.
functionvarargout=untitled_OutputFcn(hObject,eventdata,handles)
%varargoutcellarrayforreturningoutputargs(seeVARARGOUT);
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%Getdefaultcommandlineoutputfromhandlesstructure
varargout{1}=handles.output;
%--------------------------------------------------------------------
functionUntitled_1_Callback(hObject,eventdata,handles)
%hObjecthandletoUntitled_1(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%--------------------------------------------------------------------
functionUntitled_2_Callback(hObject,eventdata,handles)
%hObjecthandletoUntitled_2(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%--------------------------------------------------------------------
functiont2_Callback(hObject,eventdata,handles)
%hObjecthandletot2(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
functionedit1_Callback(hObject,eventdata,handles)
%hObjecthandletoedit1(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%Hints:
get(hObject,'String')returnscontentsofedit1astext
%str2double(get(hObject,'String'))returnscontentsofedit1asadouble
%---Executesduringobjectcreation,aftersettingallproperties.
functionedit1_CreateFcn(hObject,eventdata,handles)
%hObjecthandletoedit1(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesempty-handlesnotcreateduntilafterallCreateFcnscalled
%Hint:
editcontrolsusuallyhaveawhitebackgroundonWindows.
%SeeISPCandCOMPUTER.
ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
functionedit2_Callback(hObject,eventdata,handles)
%hObjecthandletoedit2(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%Hints:
get(hObject,'String')returnscontentsofedit2astext
%str2double(get(hObject,'String'))returnscontentsofedit2asadouble
%---Executesduringobjectcreation,aftersettingallproperties.
functionedit2_CreateFcn(hObject,eventdata,handles)
%hObjecthandletoedit2(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesempty-handlesnotcreateduntilafterallCreateFcnscalled
%Hint:
editcontrolsusuallyhaveawhitebackgroundonWindows.
%SeeISPCandCOMPUTER.
ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
functionedit3_Callback(hObject,eventdata,handles)
%hObjecthandletoedit3(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%Hints:
get(hObject,'String')returnscontentsofedit3astext
%str2double(get(hObject,'String'))returnscontentsofedit3asadouble
%---Executesduringobjectcreation,aftersettingallproperties.
functionedit3_CreateFcn(hObject,eventdata,handles)
%hObjecthandletoedit3(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesempty-handlesnotcreateduntilafterallCreateFcnscalled
%Hint:
editcontrolsusuallyhaveawhitebackgroundonWindows.
%SeeISPCandCOMPUTER.
ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
functionedit4_Callback(hObject,eventdata,handles)
%hObjecthandletoedit4(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%Hints:
get(hObject,'String')returnscontentsofedit4astext
%str2double(get(hObject,'String'))returnscontentsofedit4asadouble
%---Executesduringobjectcreation,aftersettingallproperties.
functionedit4_CreateFcn(hObject,eventdata,handles)
%hObjecthandletoedit4(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesempty-handlesnotcreateduntilafterallCreateFcnscalled
%Hint:
editcontrolsusuallyhaveawhitebackgroundonWindows.
%SeeISPCandCOMPUTER.
ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
functionedit5_Callback(hObject,eventdata,handles)
%hObjecthandletoedit5(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%Hints:
get(hObject,'String')returnscontentsofedit5astext
%str2double(get(hObject,'String'))returnscontentsofedit5asadouble
%---Executesduringobjectcreation,aftersettingallproperties.
functionedit5_CreateFcn(hObject,eventdata,handles)
%hObjecthandletoedit5(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesempty-handlesnotcreateduntilafterallCreateFcnscalled
%Hint:
editcontrolsusuallyhaveawhitebackgroundonWindows.
%SeeISPCandCOMPUTER.
ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
functionedit6_Callback(hObject,eventda
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于MATLAB GUI的用PID自动控制 基于 MATLAB GUI PID 自动控制