Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas...
Transcript of Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas...
![Page 1: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/1.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
Tutorial de Matlab(WEEL2003: Workshop de Engenharia Elétrica)
Juan C. Cutipa Luque
Engenharia ElétricaFaculdade SATC
15 de outubro, 2013Criciúma - Santa Catarina, Brasil
Juan C. Cutipa Luque Tutorial de Matlab
![Page 2: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/2.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
Conteúdo
1 Resumo
2 Introdução
3 Funções básicas
4 Sistemas lineares
5 Controle
6 Simulink
7 Referências
Juan C. Cutipa Luque Tutorial de Matlab
![Page 3: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/3.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
Resumo
O objetivo do tutorial é apresentar o ’software’ Matlab como ferramentade análise e simulação de sistemas. Inicialmente, funções básicasrelativas a definição de variáveis e gráfico de resultados sãoapresentadas. Logo, apresentam-se as funções utilizadas comumentena análise de sistemas lineares (mecânicos, elétricos, eletromecânicos,etc.). As funções utilizadas para o projeto de controlador são tambémapresentadas. Finalmente, a ferramenta de simulação através de blocos(Simulink) é apresentada.
Juan C. Cutipa Luque Tutorial de Matlab
![Page 4: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/4.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
A tela inicial do Matlab:
Juan C. Cutipa Luque Tutorial de Matlab
![Page 5: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/5.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
Operações básicas e manipulação de variáveis
Vetores e operações básicas:1 >> a = [1 2 3 4 5 6 9 8 7]2 a =3 1 2 3 4 5 6 9 8 74 >> b = a + 25 b =6 3 4 5 6 7 8 11 10 97 >> c = a + b89 c =
10 4 6 8 10 12 14 20 18 16
Definição de um vetor tempo de 0 a 10 segundos com tempo de passode 2 segundos:
1 >> t = 0:2 :102 t =3 0 2 4 6 8 10
Juan C. Cutipa Luque Tutorial de Matlab
![Page 6: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/6.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
operações com matrizes.1 >> A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]23 A =45 16 3 2 136 5 10 11 87 9 6 7 128 4 15 14 19
10 >> diag (A) % ve to r d iagonal da mat r i z A1112 ans =1314 1615 1016 717 11819 >> A(1 ,4 ) + A(2 ,4 ) + A(3 ,4 ) + A(4 ,4 )2021 ans =2223 342425 >> X = A;26 >> X(4 ,5 ) =17 % a coluna 5 sera acrescentada2728 X =2930 16 3 2 13 031 5 10 11 8 032 9 6 7 12 033 4 15 14 1 17
Juan C. Cutipa Luque Tutorial de Matlab
![Page 7: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/7.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
operações com matrizes.1 >> sum(A( 1 : 4 , 4 ) )23 ans =45 3467 >> sum(A ( :,end) )89 ans =
1011 341213 >> 5*A1415 ans =1617 80 15 10 6518 25 50 55 4019 45 30 35 6020 20 75 70 52122 >> R=rand ( 4 ,4 )2324 R =2526 0.8147 0.6324 0.9575 0.957227 0.9058 0.0975 0.9649 0.485428 0.1270 0.2785 0.1576 0.800329 0.9134 0.5469 0.9706 0.14193031 >> Z=zeros ( 2 ,2 )3233 Z =3435 0 036 0 0
Juan C. Cutipa Luque Tutorial de Matlab
![Page 8: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/8.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
Guardar dados em arquivo .mat, apagar dados, e carregar dados.1 >> a=rand ( 3 ,3 )23 a =45 0.2785 0.9649 0.95726 0.5469 0.1576 0.48547 0.9575 0.9706 0.800389 >> b=eye ( 3 )
1011 b =1213 1 0 014 0 1 015 0 0 11617 >> save matr iz_a_b . mat a b18 >> clear a l l19 >> close a l l20 >> load matr iz_a_b . mat21 >> whos22 Name Size Bytes Class A t t r i b u t e s2324 a 3x3 72 double25 b 3x3 72 double
’save’ salva o arquivo, ’clear’ apaga os dados do ambiente ’workspace’,’close’ fecha todas as janelas abertas (se houver), ’load’ carrega osdados de um arquivo .mat, e ’whos’ pergunta sobre as variáveis doambiente ’workspace’.
Juan C. Cutipa Luque Tutorial de Matlab
![Page 9: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/9.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
Controlando comandos da janela de entrada (entradas e saídas).short (curto, 4 cassas decimais)long (longo, 14 a 15 cassas decimais)e (forma exponencial)g (forma mais legível)
1 >> format shor t2 >> x = [ 4 / 3 1.2345e−6]34 x =56 1.3333 0.000078 >> format shor t e9 >> x = [ 4 / 3 1.2345e−6]
1011 x =1213 1.3333e+000 1.2345e−0061415 >> format shor t g16 >> x = [ 4 / 3 1.2345e−6]1718 x =1920 1.3333 1.2345e−0062122 >> format long23 >> x = [ 4 / 3 1.2345e−6]2425 x =2627 1.333333333333333 0.000001234500000
Juan C. Cutipa Luque Tutorial de Matlab
![Page 10: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/10.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
short (curto, 4 cassas decimais)long (longo, 14 a 15 cassas decimais)e (forma exponencial)g (forma mais legível)
1 >> format long e2 >> x = [ 4 / 3 1.2345e−6]34 x =56 1.333333333333333e+000 1.234500000000000e−00678 >> format long g9 >> x = [ 4 / 3 1.2345e−6]
1011 x =1213 1.33333333333333 1.2345e−0061415 >> format hex16 >> x = [ 4 / 3 1.2345e−6]1718 x =1920 3ff5555555555555 3eb4b6231abfd271
Juan C. Cutipa Luque Tutorial de Matlab
![Page 11: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/11.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
função ’plot’
Criar um arquivo plot1.m da barra de menu "File>New>Script"1 % p l o t s i n a l de tensão de rede2 tp =0.001 % tempo de passo3 t f =0 .1 ; % tempo f i n a l4 t =0: tp : t f ;5 f =60;6 Vrms=110;7 Vef =110*1.4142;8 V=Vef * sin ( ( 2 * 3 . 1 4 * f ) * t ) ;9 [ t ' V ' ]
10 plot ( t ,V)11 % observação : assegure−se que o tp < (1 / (2 f ) ) . Ou seja :12 % tp <2*1 / (2*60) ==> tp <0.0083
Para rodar o ’Script’, digitar na janela de comandos:1 >> p lo t1
Como V = Vefsen(2πft) é um sinal contínuo no tempo, idealmentets → 0. Como é praticamente impossível trabalhar com vetores dedimensão infinita, o tamanho do passo pelo menos dever garantir a
relação ts <1
2fou o sinal não poderá ser representado corretamente.
Mude o tp para 0.0042 é faça rodar novamente o programa.
Juan C. Cutipa Luque Tutorial de Matlab
![Page 12: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/12.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
Podem-se acrescentar as seguintes linhas para etiquetar ascoordenadas e definir o titulo da figura:
1 >> xlabel ( ' Ampl i tude ( Vo l t s ) ' )2 >> ylabel ( 'Tempo ( s ) ' )3 >> t i t l e ( ' Tensão CA da rede e l é t r i c a ' )
Juan C. Cutipa Luque Tutorial de Matlab
![Page 13: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/13.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
O editor de figuras permite personalizar o tamanho de fonte, cor edimensão das linhas, adicionar legenda, etc.
Juan C. Cutipa Luque Tutorial de Matlab
![Page 14: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/14.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
gráficos em 3D
1 >> t = 0 : pi / 50 :10* pi ;2 >> plot3 ( sin ( t ) ,cos ( t ) , t )3 >> xlabel ( ' s i n ( t ) ' )4 >> ylabel ( ' cos ( t ) ' )5 >> z label ( ' t ' )6 >> grid on7 >> axis square % escalona os eixos x y z
O exemplo anterior bem pode representar a trajetória predefinida de umveículo não tripulado.
Juan C. Cutipa Luque Tutorial de Matlab
![Page 15: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/15.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
funções ’meshgrid’, ’surf’ e ’saveas’
1 >> [ x , y ]= meshgrid(−10:10,−10:10) ;2 >> z=−(x . ^2 + y . ^ 2 ) ;3 >> f igure ( 1 ) ; % a b r i r f i g u r a 14 >> surf ( x , y , z ) % p l o t do parabo lo ide5 >> saveas ( gcf , ' s u r f _ f i g u r e ' , ' png ' ) % sa lva r f i g u r a ' s u r f _ f i g u r e . png ' em formato png
Juan C. Cutipa Luque Tutorial de Matlab
![Page 16: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/16.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
Funções e estruturas ’if’, ’for’, e ’while’
As funções permitem que umprograma seja utilizado repetidasvezes. Por exemplo, as seguintesfunções podem ser criadas:estruturaif.mestruturafor.mestruturawhile.m
IF1 function [ x ]= e s t r u t u r a i f ( a , b )2 %ca l cu la o quadrado do maior3 %>> x= e s t r u t u r a i f ( 5 ,3 )4 i f a>b5 x=a ^2 ;%6 disp ( ' a e maior do que b ' )7 else8 x=b ^2 ; %9 disp ( ' a nao e maior do que b ' )
10 end
FOR1 function [ x ]= e s t r u t u r a f o r ( a )2 %c o n s t r u i um ve to r3 %>> x= e s t r u t u r a f o r ( [ 1 2 3 −4 −5 −4 −5 −3])4 n= length ( a ) ; % dimensao do ve to r a5 f o r i =1:n6 x ( i ) =a ( i ) ^2+17 end
ELSE1 function [ x ]= e s t r u t u r a w h i l e ( a )2 %c o n s t r u i um ve to r3 %>> x= e s t r u t u r a w h i l e ( [ 1 2 3 −4 −5 −4 ...
−5 −3])4 n= length ( a ) ; % dimensao do ve to r a5 i =1;6 while i <n7 x ( i ) =a ( i ) ^2+18 i = i +1;9 end
Juan C. Cutipa Luque Tutorial de Matlab
![Page 17: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/17.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
Sistemas dinâmicos
Em geral, um sistema pode ser representado por:x = f (x(t),u(t), t)onde f é uma função não linear que representa a dinâmica do sistema, xé a variável de estado do sistema, u é o vetor de entrada do sistema, t éo vetor tempo e x é o vetor derivada de x em relação ao tempo t. Osistema acima pode ser aproximado pela expressão linear: x = Ax+ Bu
A representação geral em espaço de estados inclui dois equações:x = Ax+ Bu (eq. da dinâmica do sistema) ey = Cx+Du (eq. de saída do sistema),sendo a última a expressão que permite representar as variáveis desaída (observadas) medidas por sensores.No domínio da frequência:G(s) = Y(s)
U(s) = C(sI−A)−1B+D.
Juan C. Cutipa Luque Tutorial de Matlab
![Page 18: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/18.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
Sistema Mecânico
F(t) − b x− kx = m�x
Se a saída observada fosse aposição x, então o sistema emespaço de estados é:
x =
[x
�x
]=[
0 1
− km
− bm
] [x
x
]+
[01
m
]F(t)
y =[
1 0] [ x
x
]A equação diferencial no domínio deLaplace é:ms2X(s) + bsX(s) + kX(s) = F(s)de onde resulta a função detransferência:X(s)F(s)
= 1
ms2+bs+k
1 %m massa 1.0 kg2 %k coef . da r i g . da mola 1.0 N/m3 %b coef . do amortecedor 0.2 Ns /m4 %F fo rca de entrada 1.0 N5 m = 1;6 k = 1;7 b = 0 . 2 ;8 F = 1;9
10 A = [0 1 ; −k /m−b /m] ;11 B = [0 1 /m] ' ;12 C = [1 0 ] ;13 D = [ 0 ] ;1415 sys = ss (A,B,C,D)16 % ou também17 s = t f ( ' s ' ) ;18 sysL = 1 / (m* s^2+b* s+k )1920 % A l t e r n a t i v a s de conversão21 % [NUM,DEN] = SS2TF(A,B,C,D)22 % [A,B,C,D] = TF2SS(NUM,DEN)
O arquivo acima é nomeado desys_mecanico.m.
Juan C. Cutipa Luque Tutorial de Matlab
![Page 19: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/19.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
Sistema Elétrico
V(t) − L didt
− Ri− 1
C
∫idt = 0
Se a saída observada fosse acorrente i, então o sistema emespaço de estados é:
x =
[ididt
]=[
0 1
−RL
− 1
LC
] [q
i
]+
[01
L
]V(t)
y =[
0 1] [ q
i
]A equação diferencial no domínio deLaplace é obtida por:I(s)V(s)
= C(sI−A)−1B+D =[
0 1](s
[1 0
0 1
]−
[0 1
− 1
LC−R
L
])−1 [01
L
]I(s)V(s)
= s
Ls2+Rs+ 1
C
Juan C. Cutipa Luque Tutorial de Matlab
![Page 20: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/20.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
Motor elétrico DC
O modelo de um motor DC (controlado pela armadura) é expresso pelasequações:J�θ+ b θ = KtiLdidt
+ Ri = V − Keθ
onde o torque produzido é proporcional à corrente elétrica T = Kti, aforça eletromotriz reversa e = Ke
θ é proporciona à velocidade derotação, Kt á a constante de torque do motor, Ke é a constanteeletromotriz de reversa do motor, J é o momento de inercia do motor, b éa constante de fricção viscosa do motor, R é a resistência elétrica, L é aindutância.No domínio ’s’, a relação entre a velocidade angular e tensão de entradaé:Θ(s)
V(s)= K
(Js+b)(Ls+R)+K2 [ rad/secV
]
Juan C. Cutipa Luque Tutorial de Matlab
![Page 21: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/21.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
Motor elétrico DC
O arquivo sys_motordc.m para simulação do modelo do motor DC.1 J = 0 .01 ; %0.01 kg .m^22 b = 0 . 1 ; %0.1 N.m. s3 % k t =0.01 N.m/Amp4 % ke=0.01 V/ rad / s5 % Neste caso : K= k t =ke6 K = 0 .01 ;7 R = 1; % 1 Ohm8 L = 0 . 5 ; % 0.5 H9 s = t f ( ' s ' ) ;
10 Moto r_ t f = K / ( ( J * s+b ) * ( L* s+R) +K^2)1112 % ou em espaco de estados13 A = [−b / J K / J14 −K/ L −R/ L ] ;15 B = [016 1/ L ] ;17 C = [1 0 ] ;18 D = 0;19 motor_ss = ss (A,B,C,D)
Juan C. Cutipa Luque Tutorial de Matlab
![Page 22: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/22.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
Controle PID de um motor DC
Para uma entrada de 1-rad/s (degrau unitária), as especificações sãodadas:tempo de estabelecimento ts < 2ssobresinal Mp < 5%error em regime permanente ess < 1
O controle convencional PID é proposto:C(s) = Kp + Ki
s+ Kds =
Kds2+Kps+Ki
s
Juan C. Cutipa Luque Tutorial de Matlab
![Page 23: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/23.jpg)
![Page 24: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/24.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
Arquivo controlepid.m
1 % arqu ivo c o n t r o l e p i d .m2 % chamando a funcao do modelo motor3 sys_motordc ;4 kp=100;5 C=pid ( kp ) ;6 sys_ma=feedback (C* Motor_t f , 1 ) ;7 %−1 para real imentacao +8 f igure ( 1 )9 t = 0 : 0 . 0 1 : 5 ;
10 step ( sys_ma , t )11 grid12 t i t l e ( ' resposta degrau ( Cont ro le P) ' )13 disp ( ' Enter para con t inua r ' )14 pause15 % con t ro l e PID com ganhos Ki e Kd pequenos16 Kp = 75;17 Ki = 1 ;18 Kd = 1;19 C = pid (Kp , Ki , Kd) ;20 sys_ma = feedback (C* Motor_t f , 1 ) ;21 step ( sys_ma , [ 0 : 1 : 2 0 0 ] )22 t i t l e ( ' Cont ro le PID Cont ro l ( Ki e Kd ...
pequenos ) ' )23 disp ( ' Enter para con t inua r ' )24 pause
1 % Contro le PID ( Ki grande e Kd pequeno )2 Kp = 100;3 Ki = 200;4 Kd = 1;5 C = pid (Kp , Ki , Kd) ;6 sys_ma = feedback (C* Motor_t f , 1 ) ;7 step ( sys_ma , 0 : 0 . 0 1 : 4 )8 grid9 t i t l e ( ' PID ( Ki grande e Kd pequeno ) ' )
10 disp ( ' Enter para con t inua r ' )11 pause12 % Contro le PID ( Ki grande e Kd grande )13 Kp = 100;14 Ki = 200;15 Kd = 10;16 C = pid (Kp , Ki , Kd) ;17 sys_ma = feedback (C* Motor_t f , 1 ) ;18 step ( sys_ma , 0 : 0 . 0 1 : 4 )19 grid20 t i t l e ( ' PID ( Ki grande e Kd grande ) ' )21 disp ( ' Enter para con t inua r ' )22 pause
Juan C. Cutipa Luque Tutorial de Matlab
![Page 25: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/25.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
Simulink (simulação por blocos)
A dinâmica de um pêndulo simples é expressa por:I�θ+ b θ+mglsen(θ) = 0
Onde θ é o angulo de deslocamento, b é a viscosidade, I = ml2 é omento de inércia do pêndulo, m é a massa do pendulo, e l é ocomprimento do pêndulo. Seja o caso específico (sem viscosidade),b = 0.�θ = −
g
lsen(θ)
Projeta-se o modelo em simulink:
Juan C. Cutipa Luque Tutorial de Matlab
![Page 26: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/26.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
Pendulo simples
Juan C. Cutipa Luque Tutorial de Matlab
![Page 27: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/27.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
Pendulo simples (com atrito)
O sistemas anterior pode ser modelado considerando o efeito do atritoviscoso. Assim, a resposta será amortecida.�θ = −
g
lsen(θ) −
b
ml2θ
Juan C. Cutipa Luque Tutorial de Matlab
![Page 28: Tutorial de Matlab - jccluque.files.wordpress.com · ResumoIntroduçãoFunções básicasSistemas linearesControleSimulinkReferências Guardar dados em arquivo .mat, apagar dados,](https://reader034.fdocuments.net/reader034/viewer/2022050213/5f5fb62a1996f530e8792078/html5/thumbnails/28.jpg)
Resumo Introdução Funções básicas Sistemas lineares Controle Simulink Referências
Bibliografia
OGATA, K. (2011). Engenharia de Controle Moderna 5a Edição.Pearson Education.
DORF, R. (2010). Modern Control Systems; 12th Edition. PrenticeHall.
Páginas webs:
http://www.mathworks.com
http://ctms.engin.umich.edu/CTMS/index.php?aux=Home
Juan C. Cutipa Luque Tutorial de Matlab