%clear all close all %create graphic interface graph_interface = figure(... 'Unit','normalized',... 'NextPlot','add',... 'Visible','on',... 'NumberTitle','off',... 'Position',[0.01 0.1 0.95 0.8]); set(0,'Current',graph_interface); % the axis named 'movie' shows the motion of the manipulator movie_axis = axes(... 'Units','normalized',... 'Position',[.07 .25 0.4 .7],... 'XGrid','on',... 'YGrid','on'); xlabel('Tempos (s)'); ylabel('y(t)'); movie_axis2 = axes(... 'Units','normalized',... 'Position',[.54 .35 0.4 .6],... 'XGrid','on',... 'YGrid','on'); xlabel('Parte Real'); ylabel('parte Imaginaria'); % button to start the simulation limKp = 20; uiStart = uicontrol(... 'Style','slider',... 'Units','normalized',... 'Position',[0.52 0.21 0.45 0.03],... 'Interruptible','on',... 'Max',limKp,... 'Min',0,... 'Value',1,... 'SliderStep',[.05 0.05],... 'Callback','exemploPV'); uitext = uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.72 0.24 0.02 0.03],... 'BackgroundColor',[.8 .8 .8],... 'String','Kp = '); uitextK = uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.74 0.24 0.1 0.03],... 'HorizontalAlignment','left',... 'BackgroundColor',[.8 .8 .8],... 'String','1'); uitext = uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.52 0.24 0.02 0.03],... 'BackgroundColor',[.8 .8 .8],... 'String','0'); uitext = uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.95 0.24 0.02 0.03],... 'BackgroundColor',[.8 .8 .8],... 'String',num2str(limKp)); lim1=10; uiStart1 = uicontrol(... 'Style','slider',... 'Units','normalized',... 'Position',[0.52 0.13 0.45 0.03],... 'Interruptible','on',... 'Max',lim1,... 'Min',0,... 'Value',0,... 'SliderStep',[.025 0.025],... 'Callback','exemploPV'); uitext = uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.72 0.16 0.02 0.03],... 'BackgroundColor',[.8 .8 .8],... 'String','Kv = '); uitextKI = uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.74 0.16 0.1 0.03],... 'HorizontalAlignment','left',... 'BackgroundColor',[.8 .8 .8],... 'String','0'); uitext1 = uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.52 0.16 0.02 0.03],... 'BackgroundColor',[.8 .8 .8],... 'String','0'); uitext1 = uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.95 0.16 0.02 0.03],... 'BackgroundColor',[.8 .8 .8],... 'String',num2str(lim1)); uibotton2 = uicontrol(... 'Style','push',... 'Units','normalized',... 'FontSize',12,... 'Position',[0.25 0.06 0.18 0.08],... 'BackgroundColor',[.8 .8 .8],... 'String','G(s) = 1/s(s+1)',... 'Callback',''); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Sistema a ser controlado n=1; d=[1 1 0]; Gc =tf(n,d); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Leitura dos ganhos Kp = get(uiStart,'Value'); Kv = get(uiStart1,'Value'); D1 = tf([Kv 0],1) G1 = feedback(Gc,D1) MFc = feedback(Kp*G1,1) [y,t] = step(MFc,5); set(graph_interface,'CurrentAxes',movie_axis); plot(t,y) %axis([0 .1 0 max(y)]) grid xlabel('Tempos (s)'); ylabel('y(t)'); set(graph_interface,'CurrentAxes',movie_axis2); pzmap(MFc) [p,z] =pzmap(MFc); p_ant = p; hold on pzmap(Gc,'r') xlabel('Parte Real'); ylabel('Parte Imaginaria'); axis equal grid