SlideShare uma empresa Scribd logo
matlab para controle
Aula 01
SEATEL 2018
Copyright© 2018
Anderson de Lima Luiz
Isabella Wosniack
Universidade Federal do Paraná
Grupo PET Elétrica
agenda
1. Revisão MATLAB
∙ Ambiente MATLAB
∙ Alguns comandos úteis
∙ Scripts
∙ Vetores e Matrizes
∙ Gráficos
∙ Exercício 1
2. Sistemas Lineares de Controle
∙ Definição
∙ Função de Transferência
∙ Exercício 2
∙ Realimentação
∙ Resposta ao Degrau
∙ Simulação Linear
∙ Exercício 3
1
revisão matlab
revisão matlab
3
revisão matlab
Alguns Comandos Úteis..
∙ Comando clc: Limpar janela de comando
∙ Comando clear: Apagar variáveis criadas
∙ Comando help: Informação sobre alguma função
4
revisão matlab
Scripts
∙ Permitem realizar alterações rapidamente
∙ Reutilização de códigos
∙ Geração de arquivos.m
∙ Comandos executados sequencialmente
∙ New -> Script
∙ Comentário: %
∙ Seção: %%
5
revisão matlab
Gerando um Vetor
∙ x = primeiro : último
∙ x = primeiro : incremento : último
∙ x = linspace(primeiro, último, número de elementos)
∙ x = [1 2 3]
Exemplo:
1 >> x = 1:3
2 x = 1 2 3
3
4 >> x = 1:0.5:3
5 x = 1.0000 1.5000 2.0000 2.5000 3.0000
6
7 >> x = linspace(1,5,6)
8 x = 1.0000 1.8000 2.6000 3.4000 4.2000 5.0000
6
revisão matlab
Gerando uma Matriz
∙ Os elementos de cada linha são separados por vírgula ou
espaço em branco e as colunas são separadas por ponto e
vírgula
Exemplo:
1 >> y = [1 2 3; 4, 5, 6; 7 8 9]
2 y =
3 1 2 3
4 4 5 6
5 7 8 9
6
7 >> y = [1 2 3; linspace(4,6,3); 7 8 9]
8 y =
9 1 2 3
10 4 5 6
11 7 8 9
7
revisão matlab
Gráficos no MATLAB
∙ Gráficos bidimensionais, tridimensionais, malhas e superfícies
∙ plot(valores de x, valores de y, opções de estilo)
Exemplo: Plotar a função y = sen(x), com 0 ≤ x ≤ 2π
8
revisão matlab
Gráficos no MATLAB
∙ Gráficos bidimensionais, tridimensionais, malhas e superfícies
∙ plot(valores de x, valores de y, opções de estilo)
Exemplo: Plotar a função y = sen(x), com 0 ≤ x ≤ 2π
1 >> x = linspace(0,2*pi);
2 >> y = sin(x);
3 >> plot(x, y, 'red o')
9
revisão matlab
Gráficos no MATLAB
1 >> x = linspace(0,2*pi);
2 >> y = sin(x);
3 >> plot(x, y, 'red o', 'linewidth', 2)
4 >> title('Funcao Seno')
5 >> axis([0 6 -1 1])
6 >> xlabel('t')
7 >> ylabel('sen(t)')
8 >> legend('sen(t)')
9 >> grid
10
revisão matlab
Exercício 1:
Dado um circuito RC, a fórmula que mostra a variação de tensão no
tempo pode ser escrita como:
v(t) = Vf · (1 − e( −t
τ )
)
Considerando Vf = 5, R = 1kΩ e C = 4.7µF, encontre o tempo t = tm
necessário para que a tensão no capacitor chegue a 4,9 V.
Crie um vetor linearmente espaçado contendo 10 elementos que
comece em 0 e termine no valor tm. Calcule o valor de v(t) para cada
instante de tempo do vetor criado anteriormente e plote um gráfico
da tensão v(t) em função do tempo.
11
revisão matlab
Resolução:
v(t) = Vf · (1 − e( −t
τ )
)
v(t)
Vf
= 1 − e( −t
τ )
v(t)
Vf
− 1 = −e( −t
τ )
−v(t)
Vf
+ 1 = e( −t
τ )
Aplicando ln em ambos os lados:
ln(1 −
Vt
Vf
) =
−t
τ
· ln(e)
t = tm = −τ · ln(1 −
Vt
Vf
)
12
revisão matlab
1 R = 1e3;
2 C = 4.7e-6;
3 tau = R*C;
4 Vf = 5;
5 Vt = 4.9;
6
7 tm = -tau*log(1 - Vt/Vf) % Descobrindo valor de tm
8
9 T = linspace(0,tm,10); % Vetor linearmente espacado de 0 a tm
10 %Calculando V para cada instante de tempo:
11 for i = 1 : 10
12 V(i) = Vf * (1 - exp(- T(i)/tau));
13 end
14
15 plot(T, V)
16 xlabel('tempo (s)')
17 ylabel('tensao (V)')
18 axis([0 0.0184 0 5])
19 grid
20 title('tensão em função do tempo') 13
revisão matlab
0 0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0.018
tempo (s)
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
tensao
(V) tensão em função do tempo
14
sistemas lineares de controle
sistemas lineares de controle
Definição:
”Sistema que estabelece uma relação de comparação entre uma
entrada de referência e uma saída, utilizando a diferença como meio
de controle”
K. Ogata – Engenharia de Controle Moderno
16
sistemas lineares de controle
Dois tipos de controle:
Controle Malha Aberta
Controle Malha Fechada
17
sistemas lineares de controle
Função de Transferência
∙ Relação entre a entrada e saída de um sistema descrito por
equações diferenciais
∙ Em sistemas lineares, é definida como sendo a transformada de
Laplace da saída pela transformada de Laplace da entrada.
G(s) =
L[saida]
L[entrada]
=
Y(s)
X(s)
18
sistemas lineares de controle
Função de Transferência
∙ Função tf cria funções de transferência de tempo contínuo ou
discreto no domínio da frequência
Sintaxe:
tf(vetor numerador, vetor denominador)
Exemplo:
1 tf([1 0 1], [1 1 1])
2
3 ans =
4 s^2 + 1
5 -----------
6 s^2 + s + 1
7
8 Continuous-time transfer function.
19
sistemas lineares de controle
Exercício 2:
Escreva no Matlab o script correspondente a função de transferência
abaixo:
H(s) =
4 + 4s4
+ 3s + 1s2
5s2 + 9
20
sistemas lineares de controle
Solução:
Reescrevendo a função com os coeficientes na ordem correta:
H(s) =
4s4
+ 1s2
+ 3s + 4
5s2 + 9
1 H = tf([4 0 1 3 4],[5 0 9])
2
3 H =
4
5 4 s^4 + s^2 + 3 s + 4
6 ---------------------
7 5 s^2 + 9
8
9 Continuous-time transfer function.
21
sistemas lineares de controle
Realimentação
Informações sobre a saída do sistema determinam o sinal de
controle que deve ser aplicado ao processo em determinado
instante
∙ Aumento da precisão do sistema
∙ Rejeição a distúrbios
∙ Melhoria da dinâmica do sistema
22
sistemas lineares de controle
Realimentação
∙ Função feedback() calcula a função de transferência equivalente
da realimentação de uma função de transferência por outra
Sintaxe:
feedback(função principal, função realimentação)
Exemplo:
1 X = tf([1 0 1], [1 1 1])
2
3 H = feedback(X, 1)
4 H =
5 s^2 + 1
6 -------------
7 2 s^2 + s + 2
8 Continuous-time transfer function.
23
sistemas lineares de controle
Resposta ao Degrau
24
sistemas lineares de controle
Resposta ao Degrau
∙ RiseTime: tempo para a resposta passar de 10% a 90%
∙ PeakTime: tempo para a resposta alcançar o primeiro pico do
sobressinal.
∙ SettlingTime: tempo para a curva de resposta alcançar e
permanecer dentro de uma faixa em torno do valor final
(normalmente 1%, 2% ou 5%)
25
sistemas lineares de controle
Resposta ao Degrau
∙ Função step() plota a resposta ao degrau unitário de uma
função de transferência
Sintaxe:
step(função de transferência)
Exemplo:
1 H = tf([1 1],[1 1 1])
2 step(H)
3
4 H =
5 s + 1
6 -----------
7 s^2 + s + 1
26
0 1 2 3 4 5 6 7 8 9 10
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Step Response
Time (seconds)
Amplitude
sistemas lineares de controle
Resposta ao Degrau
∙ Função stepinfo() fornece características referentes a resposta
ao degrau
Sintaxe:
stepinfo(função de transferência)
Exemplo:
1 H = tf([1 1],[1 1 1])
2 stepinfo(H)
3
4 RiseTime: 0.9409
5 SettlingTime: 7.5054
6 SettlingMin: 0.9403
7 SettlingMax: 1.2984
8 Overshoot: 29.8352
9 Undershoot: 0
10 Peak: 1.2984
11 PeakTime: 2.3947
27
sistemas lineares de controle
Simulação Linear
∙ Função lsim() plota a resposta a um sinal de entrada genérico
de uma função de transferência
Sintaxe:
lsim(função de transferência, vetor de entrada, vetor tempo)
Exemplo:
1 H = tf([2],[1 2 1])
2 [u, t] = gensig('square', 2, 10, 0.01);
3 lsim(H, u, t)
4 axis([0 10 -0.5 1.5])
28
sistemas lineares de controle
Simulação Linear
0 1 2 3 4 5 6 7 8 9 10
-0.5
0
0.5
1
1.5
Linear Simulation Results
Time (seconds)
Amplitude
29
sistemas lineares de controle
Exercício 3:
Dado o filtro RC abaixo, determine sua função de transferência. Em
seguida, apresente a resposta ao degrau do sistema utilizando as
funções step() e lsim(). Estime o valor do tempo de subida e
compare com o valor obtido a partir da função stepinfo(). Utilize R =
10kΩ e C = 10µF.
30
sistemas lineares de controle
Solução:
∙ Função de transferência:
vin(t) = R · i(t) + vout(t)
vin(t) = R · C
dvout(t)
dt
+ vout(t)
Vin(s) = RCs · Vout(s) + Vout(s)
Vin(s) = Vout(s)(RCs + 1)
Vout(s)
Vin(s)
=
1
RCs + 1
31
sistemas lineares de controle
Solução:
1 R = 10e3;
2 C = 10e-6;
3 H = tf([1],[R*C 1])
4 step(H)
5 grid
6
7 %% Utilizando o lsim()
8 [u, t] = gensig('square', 1, 1, 0.001);
9 lsim(H, u, t)
10 axis([0 1 -0.2 1.2])
11 grid
32
sistemas lineares de controle
Solução: Comando step()
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Step Response
Time (seconds)
Amplitude
System: H
Time (seconds): 0.0112
Amplitude: 0.106
System: H
Time (seconds): 0.23
Amplitude: 0.9
33
sistemas lineares de controle
Solução: Comando lsim()
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
Linear Simulation Results
Time (seconds)
Amplitude
System: H
Time (seconds): 0.511
Amplitude: 0.104
System: H
Time (seconds): 0.733
Amplitude: 0.903
34
sistemas lineares de controle
Solução:
Utilizando o comando stepinfo():
1 R = 10e3;
2 C = 10e-6;
3 H = tf([1],[R*C 1])
4 stepinfo(H)
5
6 ans =
7 RiseTime: 0.2197
8 SettlingTime: 0.3912
9 SettlingMin: 0.9045
10 SettlingMax: 1.0000
11 Overshoot: 0
12 Undershoot: 0
13 Peak: 1.0000
14 PeakTime: 1.0546
35
matlab para controle
Aula 02
SEATEL 2018
Copyright© 2018
Anderson de Lima Luiz
Isabella Wosniack
Universidade Federal do Paraná
Grupo PET Elétrica
agenda
1. Polos e Zeros
∙ Polos e Zeros de uma função de transferência
∙ Expansão em Frações Parciais
∙ Exercício 4
∙ Mapa de Polos e Zeros
∙ Exercício 5
∙ Exercício 6
2. Diagrama de Bode
∙ Margem de Ganho e Margem de Fase
∙ Exercício 7
3. Trabalhando com dados CSV
∙ Importação de dados
∙ Utilização de dados em funções
∙ Exercício 8
1
polos e zeros
sistemas lineares de controle
Polos e Zeros de uma função de transferência
∙ Zeros: raízes do numerador. Estão localizados no plano-s onde
a função de transferência é zero
∙ Polos: raízes do denominador. Localizados no plano-s em que a
magnitude da função de transferência é infinita. Determinam
propriedades de estabilidade do sistema
3
sistemas lineares de controle
Expansão em Frações Parciais
∙ A função residue() calcula a expansão em frações parciais
Sintaxe:
[r,p,k] = residue(num, den)
Exemplo:
H(s) =
2s + 1
s2 + 3s + 2
1 num = [2 1];
2 den = [1 3 2];
3 %expansão em fracoes parciais:
4 [r,p,k] = residue(num, den)
5
6 r = 3, -1
7 p = -2, -1
8 k = []
4
sistemas lineares de controle
Ou seja, a função de transferência
H(s) =
2s + 1
s2 + 3s + 2
Pode ser reescrita como:
H(s) = −
1
s + 1
+
3
s + 2
Fazendo a transformada inversa de cada termo:
h(t) = −e−t
+ 3e−2t
, t ≥ 0
Em geral, polos mais a esquerda do plano-s estão associados a
sinais que decaem mais rápido do que os polos mais próximos ao
eixo imaginário
Se os polos estiverem no eixo positivo de s, a resposta teria um
crescimento exponencial e, portanto, o sistema seria instável
5
sistemas lineares de controle
Exercício 4:
Dada a seguinte função de transferência:
H(s) =
2s3
+ 5s2
+ 3s + 6
s3 + 6s2 + 11s + 6
Escreva função na forma de expansão em frações parciais
6
sistemas lineares de controle
Resposta:
H(s) =
2s3
+ 5s2
+ 3s + 6
s3 + 6s2 + 11s + 6
= −
6
s + 3
−
4
s + 2
+
3
s + 1
+ 2
7
sistemas lineares de controle
∙ A função tf2zp() converte a forma numerador-denominador
para a forma de polos e zeros
Sintaxe:
[z,p,k] = tf2zp(num, den)
Exemplo:
1 num = [2 1];
2 den = [1 3 2];
3 [z, p, k] = tf2zp(num,den)
4
5 z = -0.5000
6 p = -2, -1
7 k = 2
8
sistemas lineares de controle
Mapa de Polos e Zeros
∙ Os polos e zeros podem ser complexos, sendo representados
graficamente em um plano complexo, o qual chamamos de
plano-s.
9
sistemas lineares de controle
Mapa de Polos e Zeros
∙ Função pzmap() plota os pólos e zeros de uma função de
transferência
Sintaxe:
pzmap(função de transferência)
Exemplo:
1 H = tf([2 1],[1 3 2])
2 pzmap(H)
3
4 H =
5
6 2 s + 1
7 -------------
8 s^2 + 3 s + 2
10
sistemas lineares de controle
Mapa de Polos e Zeros
-2 -1.8 -1.6 -1.4 -1.2 -1 -0.8 -0.6 -0.4 -0.2 0
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0.5
0.64
0.76
0.86
0.94
0.985
0.25
0.5
0.75
1
1.25
1.5
1.75
2
0.16
0.34
0.5
0.64
0.76
0.86
0.94
0.985
0.16
0.34
Pole-Zero Map
Real Axis (seconds -1
)
Imaginary
Axis
(seconds
-1
)
System: H
Pole : -1
Damping: 1
Overshoot (%): 0
Frequency (rad/s): 1
System: H
Zero : -0.5
Damping: 1
Overshoot (%): 0
Frequency (rad/s): 0.5
System: H
Pole : -2
Damping: 1
Overshoot (%): 0
Frequency (rad/s): 2
11
sistemas lineares de controle
Exercício 5:
Dada a seguinte função de transferência:
H(s) =
2s3
+ 5s2
+ 3s + 6
s3 + 6s2 + 11s + 6
Plotar o diagrama de polos e zeros da função e comparar com o
resultado utilizando a função tf2zp()
12
sistemas lineares de controle
Exercício 6:
13
sistemas lineares de controle
Exercício 6:
1. Criar a função de transferência do sistema da figura (Dica:
funções tf e feedback)
2. Plotar em uma mesma janela as respostas ao degrau da planta
e do sistema completo
3. Na mesma janela plotar os mapas de polos e zeros da planta e
do sistema completo
14
sistemas lineares de controle
Resposta:
0 0.1 0.2 0.3 0.4
0
0.05
0.1
Degrau planta
Time (seconds)
Amplitude
-30 -20 -10 0
-1
-0.5
0
0.5
1
Polos e zeros da planta
Real Axis (seconds -1
)
Imaginary
Axis
(seconds
-1
)
0 0.05 0.1
0
0.05
0.1
0.15
Degrau sistema completo
Time (seconds)
Amplitude
-100 -50 0
-100
-50
0
50
100
Polos e zeros sistema completo
Real Axis (seconds -1
)
Imaginary
Axis
(seconds
-1
)
15
diagrama de bode
sistemas lineares de controle
Diagrama de Bode
∙ Representações gráficas da resposta em frequência
∙ Gráficos do módulo e fase em função da frequência
Sintaxe:
bode(função de transferência)
Exemplo:
1 H = tf([1],[1 1])
2 bode(H)
3 grid
4
5 H =
6 1
7 -----
8 s + 1
17
sistemas lineares de controle
Diagrama de Bode
-40
-30
-20
-10
0
Magnitude
(dB)
10-2
10-1
100
101
102
-90
-45
0
Phase
(deg)
Bode Diagram
Frequency (rad/s)
18
sistemas lineares de controle
Margem de Ganho e Margem de Fase
Dado um sistema realimentado, para que este seja instável, duas
condições devem ser satisfeitas:
1. O sinal de erro, aplicado em G(s) deve retornar com uma
amplitude maior ou igual à original
2. O defasamento total do circuito deve ser 0 ou 360
∙ Margem de ganho: é o fator pelo qual o ganho pode ser
aumentado antes que o sistema fique instável
∙ Margem de fase: é o numero de graus de G(s) acima de −180,
na frequência de cruzamento de ganho, onde o módulo da
função é igual a 1 (ou seja, 0db)
19
sistemas lineares de controle
Exercício 7:
Calcule a margem de ganho e margem de fase do sistema abaixo
para K = 5:
O sistema é estável ou instável?
O que acontecerá de K for alterado para 1? e para 20?
20
trabalhando com dados csv
trabalhando com dados csv
Importação de Dados:
22
trabalhando com dados csv
∙ Após importar os dados, estes ficam guardados no workspace
como vetores
∙ Todas as operações com vetores são válidas
∙ Pode-se utilizar o comando plot() para conferir os dados
Exemplo:
Se os dados importados forem, por exemplo, Volt1 e second1,
pode-se plotá-los da seguinte forma:
plot(second1, Volt1)
23
utilização dos dados csv em funções
∙ Todas as funções que aceitam vetores como argumento,
aceitarão também os dados csv importados.
∙ As funções que normalmente utilizam dados csv como
argumentos são a lsim() e stepinfo()
Exemplo:
plot(second1, Volt1)
24
utilização dos dados csv em funções
Exercício 8:
Dado o circuito RLC abaixo e sua função de transferência, plotar a
saída teórica e a obtida experimentalmente. Comparar a resposta
teórica e experimental.
H(s) =
1
LC
s2 + R
L s + 1
LC
Sendo R = 1kΩ, L = 1mH e C = 1nF.
25
utilização dos dados csv em funções
Resolução:
1 R = 1e3;
2 L = 1e-3;
3 C = 1e-9;
4
5 % função de transferência teórica:
6 H = tf([1/(L*C)],[1 R/L 1/(L*C)])
7
8 % resposta teórica:
9 lsim(H, Volt, second1-0.1e-6, 'b')
10 hold
11
12 % resposta experimental:
13 plot(second1, Volt1, 'r')
14 legend('teorico', 'experimental')
15 xlabel('tempo')
16 ylabel('amplitude (V)')
17 grid
26
utilização dos dados csv em funções
-2 0 2 4 6 8 10 12 14 16 18
×10-6
-1.5
-1
-0.5
0
0.5
1
1.5
2
teorico
experimental
Linear Simulation Results
tempo (seconds)
amplitude
(V)
27
utilização dos dados csv em funções
Dica: rlc_gui
28
matlab para controle
Aula 03
SEATEL 2018
Copyright© 2018
Anderson de Lima Luiz
Isabella Wosniack
Universidade Federal do Paraná
Grupo PET Elétrica
agenda
1. Lugar das Raízes
∙ Interface sisotool
∙ Ferramenta rltool()
∙ Exercício 1
2. Projeto de Controlador
∙ Exercício 2
∙ Exercício 3
∙ Controlador PI
∙ Exercício 4
1
lugar das raízes
lugar das raízes
Definição:
Representação gráfica do comportamento de um sistema, conforme
a variação do seu ganho. Em outras palavras, é a trajetória dos polos
do sistema, conforme o ganho varia.
3
lugar das raízes
T(s) =
kG(s)
1 + KG(s)H(s)
O ganho K aparece no denominador, influenciando diretamente na
localização dos polos
4
lugar das raízes
No MATLAB, a ferramente utilizada para determinar o lugar das
raízes é o rltool()
sintaxe:
rltool(ft da planta em malha fechada)
5
lugar das raízes
Exemplo:
Seja a planta do sistema determinada pela seguinte função de
transferência:
G(s) =
s + 5
(s + 1)(s + 2)(s + 6)
Determine o ganho de forma ao tempo de assentamento ser 3s e o
overshoot ser 5%.
6
lugar das raízes
Solução:
G(s) =
s + 5
(s + 1)(s + 2)(s + 6)
G(s) =
s + 5
s3 + 9s2 + 20s + 12
1 G = tf([1 5],[1 9 20 12])
2 rltool(G)
3
4 %% tendo determinado o ganho:
5 K = 1.49
6 H1 = feedback(K*G, 1)
7 stepinfo(H1)
Possível resposta: K = 1,49
7
lugar das raízes
Exercício 1:
Seja a planta do sistema determinada pela seguinte função de
transferência:
G(s) =
s + 5
s2 + 11s + 10
Utilizando a ferramenta rltool, determine o ganho de forma ao
tempo de assentamento ser 3 segundos e o overshoot ser 5%. Em
seguida, veja se o sistema cumpre com os requisitos analisando a
resposta ao degrau do mesmo (função stepinfo()).
Possível resposta: K = 13.14
8
projeto de controlador
projeto de controlador
Interface Sisotool
∙ Para iniciar a ferramenta sisotool, deve-se primeiro definir a
função de transferência da planta no ramo direto
∙ Após definida a planta, digite na janela de comando:
sintaxe:
sisotool(ft da planta)
10
projeto de controlador
11
projeto de controlador
Arquitetura do sistema
∙ Antes de definir o tipo ou os valores do controlador é
necessário saber como o mesmo ou os mesmos estarão
dispostos na arquitetura do sistema
12
projeto de controlador
Ajuste do compensador
13
controlador proporcional
Exercício 2:
Dado o sistema abaixo, calcule a função de transferência do sistema
em malha fechada para um controlador C proporcional genérico
(deixe em função de kp)
Analise a resposta ao degrau do sistema para kp = 0.5, 1, 5 e 10,
determinando o tempo de subida, de assentamento e o overshoot
para cada um.
O que acontece com o tempo de subida a medida que aumentamos
o ganho? E erro?
14
G(s) =
1
1s2 + 3s + 2
controlador proporcional
Exercício 3:
Para a mesma planta do exercício anterior, projete um controlador
proporcional que atenda as seguintes características:
∙ Tempo de subida: 1s
∙ Overshoot: 10%
Resposta: um possível controlador proporcional seria o qual tivesse
Kp = 4.17.
15
controlador proporcional integral
Controlador PI
16
controlador proporcional integral
Exercício 4:
Para a planta de um sistema descrita pela função de transferência
abaixo, obter uma resposta ao degrau com as seguintes
especificações:
∙ erro nulo em regime permanente
∙ tempo de subida de 2s
∙ tempo de assentamento menor que 10s
∙ overshoot menor que 20%
G(s) =
1
1s2 + 3s + 2
17
matlab para controle
Aula 04
SEATEL 2018
Copyright© 2018
Anderson de Lima Luiz
Isabella Wosniack
Universidade Federal do Paraná
Grupo PET Elétrica
agenda
1. Controlador PID
∙ Função pid
∙ Exercício 1
∙ Exercício 2
2. Simulink
∙ Ambiente
∙ Blocos básicos
∙ Exercício 3
∙ Exercício 4
∙ Exercício 5
∙ Exercício 6
∙ Exercício 7
∙ Exercício 8
1
controlador pid
controlador pid
Controlador PID
A função pid() retorna a função de transferência de um controlador
PID, tendo como parâmetros os valores dos ganhos proporcional,
integral e derivativo.
sintaxe:
pid(kp, ki, kd)
Exemplo:
1 kp = 1;
2 ki = 1;
3 kd = 1;
4 C = pid(kp,ki,kd)
3
controlador pid
Exercício 1:
Para a função de transferência:
H(s) =
1
s2 + 4s + 2
Fazer um estudo sobre a influência dos ganhos proporcional, integral
e derivativo no sistema. Qual a influência do ganho Kp? e do Ki e Kd?
4
controlador pid
Exercício 2:
Para a função de transferência:
H(s) =
1
2s + 1
Utilizando o comando step, analisar o tempo de subida e de
assentamento do sistema em malha fechada. Em seguida, utilizando
a função pid(), obter controlador que permita ao sistema ter uma
resposta ao degrau com as seguintes características:
∙ Tempo de subida menor que 0.2s
∙ Tempo de assentamento de 0.5s
∙ Erro nulo em regime permanente
5
simulink
simulink
Simulink
Para abrir a interface simulink, basta clicar no ícone ”Simulink
Library”na aba ”Home”.
Obs: Pode levar algum tempo para o simulink ser inicializado
7
simulink
8
Ambiente
A janela apresentada ao
lado será aberta. Nela é
possível observar a
grande variedade de
blocos funcionais que o
simulink apresenta
Para criar um novo
modelo, basta clicar no
ícone indicado pela seta
simulink
Blocos básicos
∙ Os blocos mais comuns utilizados para controle estão na aba
Simulink em seus sub-tópicos.
∙ Para utilizar os blocos, basta abrir um novo modelo e
arrastá-los para dentro da janela do modelo.
∙ Após um bloco ser adicionado ao modelo, pode-se alterar suas
configurações clicando duas vezes sobre o mesmo.
∙ Existe um mecanismo de busca textual no canto superior
esquerdo.
9
simulink
10
Blocos básicos
No sub-tópico “Commonly Used
Blocks”, estão presentes alguns
blocos muito utilizados em
modelos de controle, tais como:
Gain(Ganho), Mux
(Multiplexador), Scope
(Utilizado para visualizar
resultados), Sum (Soma e
subtração de sinais), Integrator
(Integrador), entre outros.
simulink
Blocos básicos
No sub-tópico “Continuous” estão alguns blocos utilizados em
modelos de tempo contínuo.
Nesse sub-tópico estão presentes outros blocos básicos importantes
como: TransferFcn, PID Controller, Derivative, Zero-Pole, entre outros.
11
simulink
12
Blocos básicos
No sub-tópico “Sources” estão
os blocos de fontes que podem
ser utilizados.
A que está mais presente nos
modelos de controle é a fonte
step (degrau). Há também
outras fontes importantes
como ramp (rampa), clock
(relógio), pulse generator
(pulsos quadrados), entre
outras.
simulink
Blocos básicos
∙ Com os blocos já posicionados dentro do modelo, para
interliga-los basta clicar na extremidade de um bloco e arrastar
até outro para surgir uma conexão.
∙ Após pronto, o modelo pode ser testado clicando-se no botão
“Run”.
∙ Lembre-se de configurar o tempo da simulação.
∙ Dependendo dos blocos utilizados, os resultados podem se
apresentar de diferentes formas. Utilizando o bloco scope, os
resultados serão apresentados em uma interface similar a de
um osciloscópio.
13
simulink
Exercício 3:
Para uma planta a qual a função de transferência é dada por:
H(s) =
100
2s2 + 16s + 4
Projetar um modelo com um controlador P para que se obtenha
sobre-elevação máxima de 20% e tempo de assentamento menor
que 5 segundos.
Obs: Deixar o tempo de simulação configurado em 10 segundos e
colocar o Sample time como sendo 0.01 segundos.
14
simulink
Exercício 4:
Para uma planta a qual a função de transferência é dada por:
H(s) =
100
2s2 + 16s + 4
Projetar um modelo com um controlador PD para que se obtenha
sobre-elevação máxima de 5% e tempo de assentamento menor que
5 segundos.
15
simulink
Exercício 5:
Para uma planta a qual a função de transferência é dada por:
H(s) =
100
2s2 + 16s + 4
Projetar um modelo com um controlador PI para que se obtenha
sobre-elevação máxima de 30%, erro nulo em regime permanente e
tempo de assentamento menor que 3 segundos.
16
simulink
Exercício 6:
Para uma planta a qual a função de transferência é dada por:
H(s) =
100
2s2 + 16s + 4
Projetar um modelo com um controlador PID para que se obtenha
sobre-elevação máxima de 20%, erro nulo em regime permanente e
tempo de assentamento menor que 3 segundos.
17
simulink
Exercício 7:
Para uma planta a qual a função de transferência é dada por:
H(s) =
20
s2 + 20s + 20
Projetar um modelo com um controlador (P, PI ou PID) para que se
obtenha sobre-elevação máxima de 5%, erro nulo em regime
permanente e tempo de assentamento menor que 3 segundos.
18
simulink
Exercício 8:
Para uma planta a qual a função de transferência é dada por:
H(s) =
20
s2 + 20s + 20
Projetar um modelo com um controlador (P, PI ou PID) para que se
obtenha sobre-elevação máxima de 5%, erro nulo em regime
permanente e tempo de assentamento menor que 3 segundos.
Utilize o bloco PID Controller
19
matlab para controle
Aula 05
SEATEL 2018
Copyright© 2018
Anderson de Lima Luiz
Isabella Wosniack
Universidade Federal do Paraná
Grupo PET Elétrica
agenda
1. Controlador em Avanço
∙ Exercício 1
2. Controlador em Atraso
∙ Exercício 2
3. Simulação Linear
∙ Exercício 3
4. Controlador
∙ Exercício 4
1
controlador avanço e atraso
controlador em avanço
Exercício 1: Utilizando alguma das ferramentas apresentadas em
aula (sisotool ou rltool), projete um controlador em avanço para a
seguinte função de transferência:
G(S) =
1
s(s + 7)
O sistema deverá respeitar os seguintes requisitos:
∙ Overshoot = 10%
∙ ts = 1 segundo
∙ MF = 60◦
3
controlador em avanço
Exercício 1: Utilizando alguma das ferramentas apresentadas em
aula (sisotool ou rltool), projete um controlador em avanço para a
seguinte função de transferência:
G(S) =
1
s(s + 7)
O sistema deverá respeitar os seguintes requisitos:
∙ Overshoot = 10%
∙ ts = 1 segundo
∙ MF = 60◦
Possível resposta:
C(s) = 259.95
s + 4.8
s + 15.5
4
controlador em atraso
Exercício 2:
Para a mesma planta anterior, fazer um controlador em atraso
G(S) =
1
s(s + 7)
O sistema deverá respeitar os seguintes requisitos:
∙ Overshoot = 10%
∙ ts = 1 segundo
∙ MF = 60◦
∙ tr = 2s
5
controlador em atraso
Exercício 2:
Para a mesma planta anterior, fazer um controlador em atraso
G(S) =
1
s(s + 7)
O sistema deverá respeitar os seguintes requisitos:
∙ Overshoot = 10%
∙ ts = 1 segundo
∙ MF = 60◦
∙ tr = 2s
Possível resposta:
C(s) = 1.3659
s + 4.1
s + 1
6
simulação linear
Exercício 3:
Sendo a função de transferência H:
H(s) =
6, 143 · 107
· s + 1, 571 · 1011
s3 + 1.343 · 104 · s2 + 7, 571 · 107 · s + 1, 571 · 1011
Plote o gráfico da resposta teórica dessa função, para o vetor
entrada do arquivo CSV (Volt) e, no mesmo gráfico, plote o vetor da
resposta real, que está no arquivo CSV (Volt1).
7
controlador
Exercício 4:
Projete um controlador utilizando o sisotool para que a seguinte
planta:
H(s) =
1
15s2 + 30s
Obtenha para a resposta ao degrau:
∙ Erro nulo
∙ Tempo de assentamento menor que 2,5 segundos
∙ sobreelevação menor que 10%
Plotar o gráfico da resposta com todas essas informações
8

Mais conteúdo relacionado

Mais procurados

แผนการจัดประสบการณ์ หน่วย ฉันรักฤดูหนาว- 4 ขวบ
แผนการจัดประสบการณ์   หน่วย ฉันรักฤดูหนาว- 4 ขวบแผนการจัดประสบการณ์   หน่วย ฉันรักฤดูหนาว- 4 ขวบ
แผนการจัดประสบการณ์ หน่วย ฉันรักฤดูหนาว- 4 ขวบkrutitirut
 
การส่งกำลังสิ่งอุปกรณ์ประเภทที่ ๑
การส่งกำลังสิ่งอุปกรณ์ประเภทที่ ๑การส่งกำลังสิ่งอุปกรณ์ประเภทที่ ๑
การส่งกำลังสิ่งอุปกรณ์ประเภทที่ ๑
Monkiie Milkkiie
 
Erros e controle de malhas
Erros e controle de malhasErros e controle de malhas
Erros e controle de malhas
jomartg
 
ใบงาน-ส่วนประกอบของคอมพิวเตอร์
ใบงาน-ส่วนประกอบของคอมพิวเตอร์ใบงาน-ส่วนประกอบของคอมพิวเตอร์
ใบงาน-ส่วนประกอบของคอมพิวเตอร์Hikaru Sai
 
Instrumentação Analítica Industrial
Instrumentação Analítica IndustrialInstrumentação Analítica Industrial
Instrumentação Analítica Industrial
Anderson Pontes
 
แผนการเรียนรู้เกษตร6
แผนการเรียนรู้เกษตร6แผนการเรียนรู้เกษตร6
แผนการเรียนรู้เกษตร6juckit009
 
(2) apostila clp completa
(2) apostila clp completa(2) apostila clp completa
(2) apostila clp completa
Marcus Paiva
 
แผนคอมป.1
แผนคอมป.1แผนคอมป.1
แผนคอมป.1bamroong
 
วิชาเทคโนโลยีสารสนเทศ ชั้น ม.6
วิชาเทคโนโลยีสารสนเทศ ชั้น ม.6วิชาเทคโนโลยีสารสนเทศ ชั้น ม.6
วิชาเทคโนโลยีสารสนเทศ ชั้น ม.6
ครู อินดี้
 
Aula 13 simbologia
Aula 13   simbologiaAula 13   simbologia
Aula 13 simbologia
Joao Pedro Turibio
 
ĐỒ ÁN - Điều khiển tốc độ động cơ sử dụng giải thuật Fuzzy (mờ) và PID.doc
ĐỒ ÁN - Điều khiển tốc độ động cơ sử dụng giải thuật Fuzzy (mờ) và PID.docĐỒ ÁN - Điều khiển tốc độ động cơ sử dụng giải thuật Fuzzy (mờ) và PID.doc
ĐỒ ÁN - Điều khiển tốc độ động cơ sử dụng giải thuật Fuzzy (mờ) và PID.doc
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
รายการประมาณราคา สพฐ 2555
รายการประมาณราคา สพฐ 2555รายการประมาณราคา สพฐ 2555
รายการประมาณราคา สพฐ 2555
mybuilt
 
Acionamento de máquinas elétricas richard stephan
Acionamento de máquinas elétricas   richard stephanAcionamento de máquinas elétricas   richard stephan
Acionamento de máquinas elétricas richard stephan
Samuel Leite
 
Curso de medição de vibrações
Curso de medição de vibraçõesCurso de medição de vibrações
Curso de medição de vibrações
DMC Engenharia e Sistemas Ibéricos Lda
 
Instrumentação em Controle de processos
 Instrumentação em Controle de processos  Instrumentação em Controle de processos
Instrumentação em Controle de processos
Angélica Maria Benedetti
 
ข้อสอบ O net ศิลปะ ม.6 ชุด 1
ข้อสอบ O net ศิลปะ ม.6 ชุด 1ข้อสอบ O net ศิลปะ ม.6 ชุด 1
ข้อสอบ O net ศิลปะ ม.6 ชุด 1ParattakornDokrueankham
 
03 การวัดระยะทาง
03 การวัดระยะทาง03 การวัดระยะทาง
03 การวัดระยะทางNut Seraphim
 
Apostila eletropneumatica
Apostila eletropneumaticaApostila eletropneumatica
Apostila eletropneumatica
Renan Origuela
 
ใบงานที่ 4 เรื่อง ความน่าจะเป็นของเหตุการณ์
ใบงานที่ 4 เรื่อง ความน่าจะเป็นของเหตุการณ์ใบงานที่ 4 เรื่อง ความน่าจะเป็นของเหตุการณ์
ใบงานที่ 4 เรื่อง ความน่าจะเป็นของเหตุการณ์
kanjana2536
 
ใบงานที่ 3 เรื่อง เหตุการณ์
ใบงานที่ 3 เรื่อง เหตุการณ์ใบงานที่ 3 เรื่อง เหตุการณ์
ใบงานที่ 3 เรื่อง เหตุการณ์
kanjana2536
 

Mais procurados (20)

แผนการจัดประสบการณ์ หน่วย ฉันรักฤดูหนาว- 4 ขวบ
แผนการจัดประสบการณ์   หน่วย ฉันรักฤดูหนาว- 4 ขวบแผนการจัดประสบการณ์   หน่วย ฉันรักฤดูหนาว- 4 ขวบ
แผนการจัดประสบการณ์ หน่วย ฉันรักฤดูหนาว- 4 ขวบ
 
การส่งกำลังสิ่งอุปกรณ์ประเภทที่ ๑
การส่งกำลังสิ่งอุปกรณ์ประเภทที่ ๑การส่งกำลังสิ่งอุปกรณ์ประเภทที่ ๑
การส่งกำลังสิ่งอุปกรณ์ประเภทที่ ๑
 
Erros e controle de malhas
Erros e controle de malhasErros e controle de malhas
Erros e controle de malhas
 
ใบงาน-ส่วนประกอบของคอมพิวเตอร์
ใบงาน-ส่วนประกอบของคอมพิวเตอร์ใบงาน-ส่วนประกอบของคอมพิวเตอร์
ใบงาน-ส่วนประกอบของคอมพิวเตอร์
 
Instrumentação Analítica Industrial
Instrumentação Analítica IndustrialInstrumentação Analítica Industrial
Instrumentação Analítica Industrial
 
แผนการเรียนรู้เกษตร6
แผนการเรียนรู้เกษตร6แผนการเรียนรู้เกษตร6
แผนการเรียนรู้เกษตร6
 
(2) apostila clp completa
(2) apostila clp completa(2) apostila clp completa
(2) apostila clp completa
 
แผนคอมป.1
แผนคอมป.1แผนคอมป.1
แผนคอมป.1
 
วิชาเทคโนโลยีสารสนเทศ ชั้น ม.6
วิชาเทคโนโลยีสารสนเทศ ชั้น ม.6วิชาเทคโนโลยีสารสนเทศ ชั้น ม.6
วิชาเทคโนโลยีสารสนเทศ ชั้น ม.6
 
Aula 13 simbologia
Aula 13   simbologiaAula 13   simbologia
Aula 13 simbologia
 
ĐỒ ÁN - Điều khiển tốc độ động cơ sử dụng giải thuật Fuzzy (mờ) và PID.doc
ĐỒ ÁN - Điều khiển tốc độ động cơ sử dụng giải thuật Fuzzy (mờ) và PID.docĐỒ ÁN - Điều khiển tốc độ động cơ sử dụng giải thuật Fuzzy (mờ) và PID.doc
ĐỒ ÁN - Điều khiển tốc độ động cơ sử dụng giải thuật Fuzzy (mờ) và PID.doc
 
รายการประมาณราคา สพฐ 2555
รายการประมาณราคา สพฐ 2555รายการประมาณราคา สพฐ 2555
รายการประมาณราคา สพฐ 2555
 
Acionamento de máquinas elétricas richard stephan
Acionamento de máquinas elétricas   richard stephanAcionamento de máquinas elétricas   richard stephan
Acionamento de máquinas elétricas richard stephan
 
Curso de medição de vibrações
Curso de medição de vibraçõesCurso de medição de vibrações
Curso de medição de vibrações
 
Instrumentação em Controle de processos
 Instrumentação em Controle de processos  Instrumentação em Controle de processos
Instrumentação em Controle de processos
 
ข้อสอบ O net ศิลปะ ม.6 ชุด 1
ข้อสอบ O net ศิลปะ ม.6 ชุด 1ข้อสอบ O net ศิลปะ ม.6 ชุด 1
ข้อสอบ O net ศิลปะ ม.6 ชุด 1
 
03 การวัดระยะทาง
03 การวัดระยะทาง03 การวัดระยะทาง
03 การวัดระยะทาง
 
Apostila eletropneumatica
Apostila eletropneumaticaApostila eletropneumatica
Apostila eletropneumatica
 
ใบงานที่ 4 เรื่อง ความน่าจะเป็นของเหตุการณ์
ใบงานที่ 4 เรื่อง ความน่าจะเป็นของเหตุการณ์ใบงานที่ 4 เรื่อง ความน่าจะเป็นของเหตุการณ์
ใบงานที่ 4 เรื่อง ความน่าจะเป็นของเหตุการณ์
 
ใบงานที่ 3 เรื่อง เหตุการณ์
ใบงานที่ 3 เรื่อง เหตุการณ์ใบงานที่ 3 เรื่อง เหตุการณ์
ใบงานที่ 3 เรื่อง เหตุการณ์
 

Semelhante a Controle con matlab - material adicional 1.pdf

Desenvolvimento análise de sistemas lineares
Desenvolvimento análise de sistemas linearesDesenvolvimento análise de sistemas lineares
Desenvolvimento análise de sistemas lineares
Maique Mateus
 
Sistemas 2009 1
Sistemas 2009 1Sistemas 2009 1
Sistemas 2009 1
Eli Brito
 
Doc modelagem _492246747
Doc modelagem _492246747Doc modelagem _492246747
Doc modelagem _492246747
Peterson Silva
 
Cap9 - exemplos resolvidos em matlab
Cap9 - exemplos resolvidos em matlabCap9 - exemplos resolvidos em matlab
Cap9 - exemplos resolvidos em matlab
Sandro Sena
 
Solução de equações não lineares weslley
Solução de equações não lineares weslleySolução de equações não lineares weslley
Solução de equações não lineares weslley
Weslley Assis
 
000003 complexidade
000003 complexidade000003 complexidade
000003 complexidade
Ademar Trindade
 
0001
00010001
Curso de Matlab avancado 1
Curso de Matlab avancado 1Curso de Matlab avancado 1
Curso de Matlab avancado 1
Gabriel Costa
 
03 pid d
03 pid d03 pid d
Relatório 1
Relatório 1Relatório 1
Comparação Experimental de Algoritmos de Ordenação
Comparação Experimental de Algoritmos de OrdenaçãoComparação Experimental de Algoritmos de Ordenação
Comparação Experimental de Algoritmos de Ordenação
Lenon Fachiano
 
Aula 05 - Transformada de Laplace.pdf
Aula 05 - Transformada de Laplace.pdfAula 05 - Transformada de Laplace.pdf
Aula 05 - Transformada de Laplace.pdf
PedroTVSouza
 
13 introducao a analise de algoritmos
13   introducao a analise de algoritmos13   introducao a analise de algoritmos
13 introducao a analise de algoritmos
Ricardo Bolanho
 
Prova 2012 2_p4_gabarito
Prova 2012 2_p4_gabaritoProva 2012 2_p4_gabarito
Prova 2012 2_p4_gabarito
Amélia Moreira
 
Matlab
Matlab Matlab
SciLab -Tutorial
SciLab -TutorialSciLab -Tutorial
SciLab -Tutorial
blogmaxima
 
Tutorial matlab
Tutorial matlabTutorial matlab
Tutorial matlab
RenatoMagnagoFreire
 
Exercicios LMIs 2
Exercicios LMIs 2Exercicios LMIs 2
Exercicios LMIs 2
Manuel Vargas
 
Doc matematica _250829635
Doc matematica _250829635Doc matematica _250829635
Doc matematica _250829635
Joel Augusto
 
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
Mirlem Pereira
 

Semelhante a Controle con matlab - material adicional 1.pdf (20)

Desenvolvimento análise de sistemas lineares
Desenvolvimento análise de sistemas linearesDesenvolvimento análise de sistemas lineares
Desenvolvimento análise de sistemas lineares
 
Sistemas 2009 1
Sistemas 2009 1Sistemas 2009 1
Sistemas 2009 1
 
Doc modelagem _492246747
Doc modelagem _492246747Doc modelagem _492246747
Doc modelagem _492246747
 
Cap9 - exemplos resolvidos em matlab
Cap9 - exemplos resolvidos em matlabCap9 - exemplos resolvidos em matlab
Cap9 - exemplos resolvidos em matlab
 
Solução de equações não lineares weslley
Solução de equações não lineares weslleySolução de equações não lineares weslley
Solução de equações não lineares weslley
 
000003 complexidade
000003 complexidade000003 complexidade
000003 complexidade
 
0001
00010001
0001
 
Curso de Matlab avancado 1
Curso de Matlab avancado 1Curso de Matlab avancado 1
Curso de Matlab avancado 1
 
03 pid d
03 pid d03 pid d
03 pid d
 
Relatório 1
Relatório 1Relatório 1
Relatório 1
 
Comparação Experimental de Algoritmos de Ordenação
Comparação Experimental de Algoritmos de OrdenaçãoComparação Experimental de Algoritmos de Ordenação
Comparação Experimental de Algoritmos de Ordenação
 
Aula 05 - Transformada de Laplace.pdf
Aula 05 - Transformada de Laplace.pdfAula 05 - Transformada de Laplace.pdf
Aula 05 - Transformada de Laplace.pdf
 
13 introducao a analise de algoritmos
13   introducao a analise de algoritmos13   introducao a analise de algoritmos
13 introducao a analise de algoritmos
 
Prova 2012 2_p4_gabarito
Prova 2012 2_p4_gabaritoProva 2012 2_p4_gabarito
Prova 2012 2_p4_gabarito
 
Matlab
Matlab Matlab
Matlab
 
SciLab -Tutorial
SciLab -TutorialSciLab -Tutorial
SciLab -Tutorial
 
Tutorial matlab
Tutorial matlabTutorial matlab
Tutorial matlab
 
Exercicios LMIs 2
Exercicios LMIs 2Exercicios LMIs 2
Exercicios LMIs 2
 
Doc matematica _250829635
Doc matematica _250829635Doc matematica _250829635
Doc matematica _250829635
 
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
 

Último

Aula 4 - 3D laser scanning para bim em engenharia
Aula 4 - 3D laser scanning para bim em engenhariaAula 4 - 3D laser scanning para bim em engenharia
Aula 4 - 3D laser scanning para bim em engenharia
JosAtila
 
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INDÚSTRIA E TRANSFORMAÇÃO DIGITAL ...
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL  INDÚSTRIA E TRANSFORMAÇÃO DIGITAL ...AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL  INDÚSTRIA E TRANSFORMAÇÃO DIGITAL ...
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INDÚSTRIA E TRANSFORMAÇÃO DIGITAL ...
Consultoria Acadêmica
 
Manual de Instalação para Placa Proteco Q60A
Manual de Instalação para Placa Proteco Q60AManual de Instalação para Placa Proteco Q60A
Manual de Instalação para Placa Proteco Q60A
Tronicline Automatismos
 
MAQUINAS-EQUIPAMENTOS-E-FERRAMENTAS.pptx
MAQUINAS-EQUIPAMENTOS-E-FERRAMENTAS.pptxMAQUINAS-EQUIPAMENTOS-E-FERRAMENTAS.pptx
MAQUINAS-EQUIPAMENTOS-E-FERRAMENTAS.pptx
Vilson Stollmeier
 
Grau TÉCNICO EM SEGURANÇA DO TRABALHO I - LEGISLAÇÃO APLICADA À SAÚDE E SEGUR...
Grau TÉCNICO EM SEGURANÇA DO TRABALHO I - LEGISLAÇÃO APLICADA À SAÚDE E SEGUR...Grau TÉCNICO EM SEGURANÇA DO TRABALHO I - LEGISLAÇÃO APLICADA À SAÚDE E SEGUR...
Grau TÉCNICO EM SEGURANÇA DO TRABALHO I - LEGISLAÇÃO APLICADA À SAÚDE E SEGUR...
carlos silva Rotersan
 
AE02 - FORMAÇÃO SOCIOCULTURAL E ÉTICA II UNICESUMAR 52/2024
AE02 - FORMAÇÃO SOCIOCULTURAL E ÉTICA II UNICESUMAR 52/2024AE02 - FORMAÇÃO SOCIOCULTURAL E ÉTICA II UNICESUMAR 52/2024
AE02 - FORMAÇÃO SOCIOCULTURAL E ÉTICA II UNICESUMAR 52/2024
Consultoria Acadêmica
 
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL ENGENHARIA DA SUSTENTABILIDADE UNIC...
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL ENGENHARIA DA SUSTENTABILIDADE UNIC...AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL ENGENHARIA DA SUSTENTABILIDADE UNIC...
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL ENGENHARIA DA SUSTENTABILIDADE UNIC...
Consultoria Acadêmica
 

Último (7)

Aula 4 - 3D laser scanning para bim em engenharia
Aula 4 - 3D laser scanning para bim em engenhariaAula 4 - 3D laser scanning para bim em engenharia
Aula 4 - 3D laser scanning para bim em engenharia
 
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INDÚSTRIA E TRANSFORMAÇÃO DIGITAL ...
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL  INDÚSTRIA E TRANSFORMAÇÃO DIGITAL ...AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL  INDÚSTRIA E TRANSFORMAÇÃO DIGITAL ...
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INDÚSTRIA E TRANSFORMAÇÃO DIGITAL ...
 
Manual de Instalação para Placa Proteco Q60A
Manual de Instalação para Placa Proteco Q60AManual de Instalação para Placa Proteco Q60A
Manual de Instalação para Placa Proteco Q60A
 
MAQUINAS-EQUIPAMENTOS-E-FERRAMENTAS.pptx
MAQUINAS-EQUIPAMENTOS-E-FERRAMENTAS.pptxMAQUINAS-EQUIPAMENTOS-E-FERRAMENTAS.pptx
MAQUINAS-EQUIPAMENTOS-E-FERRAMENTAS.pptx
 
Grau TÉCNICO EM SEGURANÇA DO TRABALHO I - LEGISLAÇÃO APLICADA À SAÚDE E SEGUR...
Grau TÉCNICO EM SEGURANÇA DO TRABALHO I - LEGISLAÇÃO APLICADA À SAÚDE E SEGUR...Grau TÉCNICO EM SEGURANÇA DO TRABALHO I - LEGISLAÇÃO APLICADA À SAÚDE E SEGUR...
Grau TÉCNICO EM SEGURANÇA DO TRABALHO I - LEGISLAÇÃO APLICADA À SAÚDE E SEGUR...
 
AE02 - FORMAÇÃO SOCIOCULTURAL E ÉTICA II UNICESUMAR 52/2024
AE02 - FORMAÇÃO SOCIOCULTURAL E ÉTICA II UNICESUMAR 52/2024AE02 - FORMAÇÃO SOCIOCULTURAL E ÉTICA II UNICESUMAR 52/2024
AE02 - FORMAÇÃO SOCIOCULTURAL E ÉTICA II UNICESUMAR 52/2024
 
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL ENGENHARIA DA SUSTENTABILIDADE UNIC...
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL ENGENHARIA DA SUSTENTABILIDADE UNIC...AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL ENGENHARIA DA SUSTENTABILIDADE UNIC...
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL ENGENHARIA DA SUSTENTABILIDADE UNIC...
 

Controle con matlab - material adicional 1.pdf

  • 1. matlab para controle Aula 01 SEATEL 2018 Copyright© 2018 Anderson de Lima Luiz Isabella Wosniack Universidade Federal do Paraná Grupo PET Elétrica
  • 2. agenda 1. Revisão MATLAB ∙ Ambiente MATLAB ∙ Alguns comandos úteis ∙ Scripts ∙ Vetores e Matrizes ∙ Gráficos ∙ Exercício 1 2. Sistemas Lineares de Controle ∙ Definição ∙ Função de Transferência ∙ Exercício 2 ∙ Realimentação ∙ Resposta ao Degrau ∙ Simulação Linear ∙ Exercício 3 1
  • 5. revisão matlab Alguns Comandos Úteis.. ∙ Comando clc: Limpar janela de comando ∙ Comando clear: Apagar variáveis criadas ∙ Comando help: Informação sobre alguma função 4
  • 6. revisão matlab Scripts ∙ Permitem realizar alterações rapidamente ∙ Reutilização de códigos ∙ Geração de arquivos.m ∙ Comandos executados sequencialmente ∙ New -> Script ∙ Comentário: % ∙ Seção: %% 5
  • 7. revisão matlab Gerando um Vetor ∙ x = primeiro : último ∙ x = primeiro : incremento : último ∙ x = linspace(primeiro, último, número de elementos) ∙ x = [1 2 3] Exemplo: 1 >> x = 1:3 2 x = 1 2 3 3 4 >> x = 1:0.5:3 5 x = 1.0000 1.5000 2.0000 2.5000 3.0000 6 7 >> x = linspace(1,5,6) 8 x = 1.0000 1.8000 2.6000 3.4000 4.2000 5.0000 6
  • 8. revisão matlab Gerando uma Matriz ∙ Os elementos de cada linha são separados por vírgula ou espaço em branco e as colunas são separadas por ponto e vírgula Exemplo: 1 >> y = [1 2 3; 4, 5, 6; 7 8 9] 2 y = 3 1 2 3 4 4 5 6 5 7 8 9 6 7 >> y = [1 2 3; linspace(4,6,3); 7 8 9] 8 y = 9 1 2 3 10 4 5 6 11 7 8 9 7
  • 9. revisão matlab Gráficos no MATLAB ∙ Gráficos bidimensionais, tridimensionais, malhas e superfícies ∙ plot(valores de x, valores de y, opções de estilo) Exemplo: Plotar a função y = sen(x), com 0 ≤ x ≤ 2π 8
  • 10. revisão matlab Gráficos no MATLAB ∙ Gráficos bidimensionais, tridimensionais, malhas e superfícies ∙ plot(valores de x, valores de y, opções de estilo) Exemplo: Plotar a função y = sen(x), com 0 ≤ x ≤ 2π 1 >> x = linspace(0,2*pi); 2 >> y = sin(x); 3 >> plot(x, y, 'red o') 9
  • 11. revisão matlab Gráficos no MATLAB 1 >> x = linspace(0,2*pi); 2 >> y = sin(x); 3 >> plot(x, y, 'red o', 'linewidth', 2) 4 >> title('Funcao Seno') 5 >> axis([0 6 -1 1]) 6 >> xlabel('t') 7 >> ylabel('sen(t)') 8 >> legend('sen(t)') 9 >> grid 10
  • 12. revisão matlab Exercício 1: Dado um circuito RC, a fórmula que mostra a variação de tensão no tempo pode ser escrita como: v(t) = Vf · (1 − e( −t τ ) ) Considerando Vf = 5, R = 1kΩ e C = 4.7µF, encontre o tempo t = tm necessário para que a tensão no capacitor chegue a 4,9 V. Crie um vetor linearmente espaçado contendo 10 elementos que comece em 0 e termine no valor tm. Calcule o valor de v(t) para cada instante de tempo do vetor criado anteriormente e plote um gráfico da tensão v(t) em função do tempo. 11
  • 13. revisão matlab Resolução: v(t) = Vf · (1 − e( −t τ ) ) v(t) Vf = 1 − e( −t τ ) v(t) Vf − 1 = −e( −t τ ) −v(t) Vf + 1 = e( −t τ ) Aplicando ln em ambos os lados: ln(1 − Vt Vf ) = −t τ · ln(e) t = tm = −τ · ln(1 − Vt Vf ) 12
  • 14. revisão matlab 1 R = 1e3; 2 C = 4.7e-6; 3 tau = R*C; 4 Vf = 5; 5 Vt = 4.9; 6 7 tm = -tau*log(1 - Vt/Vf) % Descobrindo valor de tm 8 9 T = linspace(0,tm,10); % Vetor linearmente espacado de 0 a tm 10 %Calculando V para cada instante de tempo: 11 for i = 1 : 10 12 V(i) = Vf * (1 - exp(- T(i)/tau)); 13 end 14 15 plot(T, V) 16 xlabel('tempo (s)') 17 ylabel('tensao (V)') 18 axis([0 0.0184 0 5]) 19 grid 20 title('tensão em função do tempo') 13
  • 15. revisão matlab 0 0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0.018 tempo (s) 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 tensao (V) tensão em função do tempo 14
  • 17. sistemas lineares de controle Definição: ”Sistema que estabelece uma relação de comparação entre uma entrada de referência e uma saída, utilizando a diferença como meio de controle” K. Ogata – Engenharia de Controle Moderno 16
  • 18. sistemas lineares de controle Dois tipos de controle: Controle Malha Aberta Controle Malha Fechada 17
  • 19. sistemas lineares de controle Função de Transferência ∙ Relação entre a entrada e saída de um sistema descrito por equações diferenciais ∙ Em sistemas lineares, é definida como sendo a transformada de Laplace da saída pela transformada de Laplace da entrada. G(s) = L[saida] L[entrada] = Y(s) X(s) 18
  • 20. sistemas lineares de controle Função de Transferência ∙ Função tf cria funções de transferência de tempo contínuo ou discreto no domínio da frequência Sintaxe: tf(vetor numerador, vetor denominador) Exemplo: 1 tf([1 0 1], [1 1 1]) 2 3 ans = 4 s^2 + 1 5 ----------- 6 s^2 + s + 1 7 8 Continuous-time transfer function. 19
  • 21. sistemas lineares de controle Exercício 2: Escreva no Matlab o script correspondente a função de transferência abaixo: H(s) = 4 + 4s4 + 3s + 1s2 5s2 + 9 20
  • 22. sistemas lineares de controle Solução: Reescrevendo a função com os coeficientes na ordem correta: H(s) = 4s4 + 1s2 + 3s + 4 5s2 + 9 1 H = tf([4 0 1 3 4],[5 0 9]) 2 3 H = 4 5 4 s^4 + s^2 + 3 s + 4 6 --------------------- 7 5 s^2 + 9 8 9 Continuous-time transfer function. 21
  • 23. sistemas lineares de controle Realimentação Informações sobre a saída do sistema determinam o sinal de controle que deve ser aplicado ao processo em determinado instante ∙ Aumento da precisão do sistema ∙ Rejeição a distúrbios ∙ Melhoria da dinâmica do sistema 22
  • 24. sistemas lineares de controle Realimentação ∙ Função feedback() calcula a função de transferência equivalente da realimentação de uma função de transferência por outra Sintaxe: feedback(função principal, função realimentação) Exemplo: 1 X = tf([1 0 1], [1 1 1]) 2 3 H = feedback(X, 1) 4 H = 5 s^2 + 1 6 ------------- 7 2 s^2 + s + 2 8 Continuous-time transfer function. 23
  • 25. sistemas lineares de controle Resposta ao Degrau 24
  • 26. sistemas lineares de controle Resposta ao Degrau ∙ RiseTime: tempo para a resposta passar de 10% a 90% ∙ PeakTime: tempo para a resposta alcançar o primeiro pico do sobressinal. ∙ SettlingTime: tempo para a curva de resposta alcançar e permanecer dentro de uma faixa em torno do valor final (normalmente 1%, 2% ou 5%) 25
  • 27. sistemas lineares de controle Resposta ao Degrau ∙ Função step() plota a resposta ao degrau unitário de uma função de transferência Sintaxe: step(função de transferência) Exemplo: 1 H = tf([1 1],[1 1 1]) 2 step(H) 3 4 H = 5 s + 1 6 ----------- 7 s^2 + s + 1 26 0 1 2 3 4 5 6 7 8 9 10 0 0.2 0.4 0.6 0.8 1 1.2 1.4 Step Response Time (seconds) Amplitude
  • 28. sistemas lineares de controle Resposta ao Degrau ∙ Função stepinfo() fornece características referentes a resposta ao degrau Sintaxe: stepinfo(função de transferência) Exemplo: 1 H = tf([1 1],[1 1 1]) 2 stepinfo(H) 3 4 RiseTime: 0.9409 5 SettlingTime: 7.5054 6 SettlingMin: 0.9403 7 SettlingMax: 1.2984 8 Overshoot: 29.8352 9 Undershoot: 0 10 Peak: 1.2984 11 PeakTime: 2.3947 27
  • 29. sistemas lineares de controle Simulação Linear ∙ Função lsim() plota a resposta a um sinal de entrada genérico de uma função de transferência Sintaxe: lsim(função de transferência, vetor de entrada, vetor tempo) Exemplo: 1 H = tf([2],[1 2 1]) 2 [u, t] = gensig('square', 2, 10, 0.01); 3 lsim(H, u, t) 4 axis([0 10 -0.5 1.5]) 28
  • 30. sistemas lineares de controle Simulação Linear 0 1 2 3 4 5 6 7 8 9 10 -0.5 0 0.5 1 1.5 Linear Simulation Results Time (seconds) Amplitude 29
  • 31. sistemas lineares de controle Exercício 3: Dado o filtro RC abaixo, determine sua função de transferência. Em seguida, apresente a resposta ao degrau do sistema utilizando as funções step() e lsim(). Estime o valor do tempo de subida e compare com o valor obtido a partir da função stepinfo(). Utilize R = 10kΩ e C = 10µF. 30
  • 32. sistemas lineares de controle Solução: ∙ Função de transferência: vin(t) = R · i(t) + vout(t) vin(t) = R · C dvout(t) dt + vout(t) Vin(s) = RCs · Vout(s) + Vout(s) Vin(s) = Vout(s)(RCs + 1) Vout(s) Vin(s) = 1 RCs + 1 31
  • 33. sistemas lineares de controle Solução: 1 R = 10e3; 2 C = 10e-6; 3 H = tf([1],[R*C 1]) 4 step(H) 5 grid 6 7 %% Utilizando o lsim() 8 [u, t] = gensig('square', 1, 1, 0.001); 9 lsim(H, u, t) 10 axis([0 1 -0.2 1.2]) 11 grid 32
  • 34. sistemas lineares de controle Solução: Comando step() 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Step Response Time (seconds) Amplitude System: H Time (seconds): 0.0112 Amplitude: 0.106 System: H Time (seconds): 0.23 Amplitude: 0.9 33
  • 35. sistemas lineares de controle Solução: Comando lsim() 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 -0.2 0 0.2 0.4 0.6 0.8 1 1.2 Linear Simulation Results Time (seconds) Amplitude System: H Time (seconds): 0.511 Amplitude: 0.104 System: H Time (seconds): 0.733 Amplitude: 0.903 34
  • 36. sistemas lineares de controle Solução: Utilizando o comando stepinfo(): 1 R = 10e3; 2 C = 10e-6; 3 H = tf([1],[R*C 1]) 4 stepinfo(H) 5 6 ans = 7 RiseTime: 0.2197 8 SettlingTime: 0.3912 9 SettlingMin: 0.9045 10 SettlingMax: 1.0000 11 Overshoot: 0 12 Undershoot: 0 13 Peak: 1.0000 14 PeakTime: 1.0546 35
  • 37. matlab para controle Aula 02 SEATEL 2018 Copyright© 2018 Anderson de Lima Luiz Isabella Wosniack Universidade Federal do Paraná Grupo PET Elétrica
  • 38. agenda 1. Polos e Zeros ∙ Polos e Zeros de uma função de transferência ∙ Expansão em Frações Parciais ∙ Exercício 4 ∙ Mapa de Polos e Zeros ∙ Exercício 5 ∙ Exercício 6 2. Diagrama de Bode ∙ Margem de Ganho e Margem de Fase ∙ Exercício 7 3. Trabalhando com dados CSV ∙ Importação de dados ∙ Utilização de dados em funções ∙ Exercício 8 1
  • 40. sistemas lineares de controle Polos e Zeros de uma função de transferência ∙ Zeros: raízes do numerador. Estão localizados no plano-s onde a função de transferência é zero ∙ Polos: raízes do denominador. Localizados no plano-s em que a magnitude da função de transferência é infinita. Determinam propriedades de estabilidade do sistema 3
  • 41. sistemas lineares de controle Expansão em Frações Parciais ∙ A função residue() calcula a expansão em frações parciais Sintaxe: [r,p,k] = residue(num, den) Exemplo: H(s) = 2s + 1 s2 + 3s + 2 1 num = [2 1]; 2 den = [1 3 2]; 3 %expansão em fracoes parciais: 4 [r,p,k] = residue(num, den) 5 6 r = 3, -1 7 p = -2, -1 8 k = [] 4
  • 42. sistemas lineares de controle Ou seja, a função de transferência H(s) = 2s + 1 s2 + 3s + 2 Pode ser reescrita como: H(s) = − 1 s + 1 + 3 s + 2 Fazendo a transformada inversa de cada termo: h(t) = −e−t + 3e−2t , t ≥ 0 Em geral, polos mais a esquerda do plano-s estão associados a sinais que decaem mais rápido do que os polos mais próximos ao eixo imaginário Se os polos estiverem no eixo positivo de s, a resposta teria um crescimento exponencial e, portanto, o sistema seria instável 5
  • 43. sistemas lineares de controle Exercício 4: Dada a seguinte função de transferência: H(s) = 2s3 + 5s2 + 3s + 6 s3 + 6s2 + 11s + 6 Escreva função na forma de expansão em frações parciais 6
  • 44. sistemas lineares de controle Resposta: H(s) = 2s3 + 5s2 + 3s + 6 s3 + 6s2 + 11s + 6 = − 6 s + 3 − 4 s + 2 + 3 s + 1 + 2 7
  • 45. sistemas lineares de controle ∙ A função tf2zp() converte a forma numerador-denominador para a forma de polos e zeros Sintaxe: [z,p,k] = tf2zp(num, den) Exemplo: 1 num = [2 1]; 2 den = [1 3 2]; 3 [z, p, k] = tf2zp(num,den) 4 5 z = -0.5000 6 p = -2, -1 7 k = 2 8
  • 46. sistemas lineares de controle Mapa de Polos e Zeros ∙ Os polos e zeros podem ser complexos, sendo representados graficamente em um plano complexo, o qual chamamos de plano-s. 9
  • 47. sistemas lineares de controle Mapa de Polos e Zeros ∙ Função pzmap() plota os pólos e zeros de uma função de transferência Sintaxe: pzmap(função de transferência) Exemplo: 1 H = tf([2 1],[1 3 2]) 2 pzmap(H) 3 4 H = 5 6 2 s + 1 7 ------------- 8 s^2 + 3 s + 2 10
  • 48. sistemas lineares de controle Mapa de Polos e Zeros -2 -1.8 -1.6 -1.4 -1.2 -1 -0.8 -0.6 -0.4 -0.2 0 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 0.5 0.64 0.76 0.86 0.94 0.985 0.25 0.5 0.75 1 1.25 1.5 1.75 2 0.16 0.34 0.5 0.64 0.76 0.86 0.94 0.985 0.16 0.34 Pole-Zero Map Real Axis (seconds -1 ) Imaginary Axis (seconds -1 ) System: H Pole : -1 Damping: 1 Overshoot (%): 0 Frequency (rad/s): 1 System: H Zero : -0.5 Damping: 1 Overshoot (%): 0 Frequency (rad/s): 0.5 System: H Pole : -2 Damping: 1 Overshoot (%): 0 Frequency (rad/s): 2 11
  • 49. sistemas lineares de controle Exercício 5: Dada a seguinte função de transferência: H(s) = 2s3 + 5s2 + 3s + 6 s3 + 6s2 + 11s + 6 Plotar o diagrama de polos e zeros da função e comparar com o resultado utilizando a função tf2zp() 12
  • 50. sistemas lineares de controle Exercício 6: 13
  • 51. sistemas lineares de controle Exercício 6: 1. Criar a função de transferência do sistema da figura (Dica: funções tf e feedback) 2. Plotar em uma mesma janela as respostas ao degrau da planta e do sistema completo 3. Na mesma janela plotar os mapas de polos e zeros da planta e do sistema completo 14
  • 52. sistemas lineares de controle Resposta: 0 0.1 0.2 0.3 0.4 0 0.05 0.1 Degrau planta Time (seconds) Amplitude -30 -20 -10 0 -1 -0.5 0 0.5 1 Polos e zeros da planta Real Axis (seconds -1 ) Imaginary Axis (seconds -1 ) 0 0.05 0.1 0 0.05 0.1 0.15 Degrau sistema completo Time (seconds) Amplitude -100 -50 0 -100 -50 0 50 100 Polos e zeros sistema completo Real Axis (seconds -1 ) Imaginary Axis (seconds -1 ) 15
  • 54. sistemas lineares de controle Diagrama de Bode ∙ Representações gráficas da resposta em frequência ∙ Gráficos do módulo e fase em função da frequência Sintaxe: bode(função de transferência) Exemplo: 1 H = tf([1],[1 1]) 2 bode(H) 3 grid 4 5 H = 6 1 7 ----- 8 s + 1 17
  • 55. sistemas lineares de controle Diagrama de Bode -40 -30 -20 -10 0 Magnitude (dB) 10-2 10-1 100 101 102 -90 -45 0 Phase (deg) Bode Diagram Frequency (rad/s) 18
  • 56. sistemas lineares de controle Margem de Ganho e Margem de Fase Dado um sistema realimentado, para que este seja instável, duas condições devem ser satisfeitas: 1. O sinal de erro, aplicado em G(s) deve retornar com uma amplitude maior ou igual à original 2. O defasamento total do circuito deve ser 0 ou 360 ∙ Margem de ganho: é o fator pelo qual o ganho pode ser aumentado antes que o sistema fique instável ∙ Margem de fase: é o numero de graus de G(s) acima de −180, na frequência de cruzamento de ganho, onde o módulo da função é igual a 1 (ou seja, 0db) 19
  • 57. sistemas lineares de controle Exercício 7: Calcule a margem de ganho e margem de fase do sistema abaixo para K = 5: O sistema é estável ou instável? O que acontecerá de K for alterado para 1? e para 20? 20
  • 59. trabalhando com dados csv Importação de Dados: 22
  • 60. trabalhando com dados csv ∙ Após importar os dados, estes ficam guardados no workspace como vetores ∙ Todas as operações com vetores são válidas ∙ Pode-se utilizar o comando plot() para conferir os dados Exemplo: Se os dados importados forem, por exemplo, Volt1 e second1, pode-se plotá-los da seguinte forma: plot(second1, Volt1) 23
  • 61. utilização dos dados csv em funções ∙ Todas as funções que aceitam vetores como argumento, aceitarão também os dados csv importados. ∙ As funções que normalmente utilizam dados csv como argumentos são a lsim() e stepinfo() Exemplo: plot(second1, Volt1) 24
  • 62. utilização dos dados csv em funções Exercício 8: Dado o circuito RLC abaixo e sua função de transferência, plotar a saída teórica e a obtida experimentalmente. Comparar a resposta teórica e experimental. H(s) = 1 LC s2 + R L s + 1 LC Sendo R = 1kΩ, L = 1mH e C = 1nF. 25
  • 63. utilização dos dados csv em funções Resolução: 1 R = 1e3; 2 L = 1e-3; 3 C = 1e-9; 4 5 % função de transferência teórica: 6 H = tf([1/(L*C)],[1 R/L 1/(L*C)]) 7 8 % resposta teórica: 9 lsim(H, Volt, second1-0.1e-6, 'b') 10 hold 11 12 % resposta experimental: 13 plot(second1, Volt1, 'r') 14 legend('teorico', 'experimental') 15 xlabel('tempo') 16 ylabel('amplitude (V)') 17 grid 26
  • 64. utilização dos dados csv em funções -2 0 2 4 6 8 10 12 14 16 18 ×10-6 -1.5 -1 -0.5 0 0.5 1 1.5 2 teorico experimental Linear Simulation Results tempo (seconds) amplitude (V) 27
  • 65. utilização dos dados csv em funções Dica: rlc_gui 28
  • 66. matlab para controle Aula 03 SEATEL 2018 Copyright© 2018 Anderson de Lima Luiz Isabella Wosniack Universidade Federal do Paraná Grupo PET Elétrica
  • 67. agenda 1. Lugar das Raízes ∙ Interface sisotool ∙ Ferramenta rltool() ∙ Exercício 1 2. Projeto de Controlador ∙ Exercício 2 ∙ Exercício 3 ∙ Controlador PI ∙ Exercício 4 1
  • 69. lugar das raízes Definição: Representação gráfica do comportamento de um sistema, conforme a variação do seu ganho. Em outras palavras, é a trajetória dos polos do sistema, conforme o ganho varia. 3
  • 70. lugar das raízes T(s) = kG(s) 1 + KG(s)H(s) O ganho K aparece no denominador, influenciando diretamente na localização dos polos 4
  • 71. lugar das raízes No MATLAB, a ferramente utilizada para determinar o lugar das raízes é o rltool() sintaxe: rltool(ft da planta em malha fechada) 5
  • 72. lugar das raízes Exemplo: Seja a planta do sistema determinada pela seguinte função de transferência: G(s) = s + 5 (s + 1)(s + 2)(s + 6) Determine o ganho de forma ao tempo de assentamento ser 3s e o overshoot ser 5%. 6
  • 73. lugar das raízes Solução: G(s) = s + 5 (s + 1)(s + 2)(s + 6) G(s) = s + 5 s3 + 9s2 + 20s + 12 1 G = tf([1 5],[1 9 20 12]) 2 rltool(G) 3 4 %% tendo determinado o ganho: 5 K = 1.49 6 H1 = feedback(K*G, 1) 7 stepinfo(H1) Possível resposta: K = 1,49 7
  • 74. lugar das raízes Exercício 1: Seja a planta do sistema determinada pela seguinte função de transferência: G(s) = s + 5 s2 + 11s + 10 Utilizando a ferramenta rltool, determine o ganho de forma ao tempo de assentamento ser 3 segundos e o overshoot ser 5%. Em seguida, veja se o sistema cumpre com os requisitos analisando a resposta ao degrau do mesmo (função stepinfo()). Possível resposta: K = 13.14 8
  • 76. projeto de controlador Interface Sisotool ∙ Para iniciar a ferramenta sisotool, deve-se primeiro definir a função de transferência da planta no ramo direto ∙ Após definida a planta, digite na janela de comando: sintaxe: sisotool(ft da planta) 10
  • 78. projeto de controlador Arquitetura do sistema ∙ Antes de definir o tipo ou os valores do controlador é necessário saber como o mesmo ou os mesmos estarão dispostos na arquitetura do sistema 12
  • 79. projeto de controlador Ajuste do compensador 13
  • 80. controlador proporcional Exercício 2: Dado o sistema abaixo, calcule a função de transferência do sistema em malha fechada para um controlador C proporcional genérico (deixe em função de kp) Analise a resposta ao degrau do sistema para kp = 0.5, 1, 5 e 10, determinando o tempo de subida, de assentamento e o overshoot para cada um. O que acontece com o tempo de subida a medida que aumentamos o ganho? E erro? 14 G(s) = 1 1s2 + 3s + 2
  • 81. controlador proporcional Exercício 3: Para a mesma planta do exercício anterior, projete um controlador proporcional que atenda as seguintes características: ∙ Tempo de subida: 1s ∙ Overshoot: 10% Resposta: um possível controlador proporcional seria o qual tivesse Kp = 4.17. 15
  • 83. controlador proporcional integral Exercício 4: Para a planta de um sistema descrita pela função de transferência abaixo, obter uma resposta ao degrau com as seguintes especificações: ∙ erro nulo em regime permanente ∙ tempo de subida de 2s ∙ tempo de assentamento menor que 10s ∙ overshoot menor que 20% G(s) = 1 1s2 + 3s + 2 17
  • 84. matlab para controle Aula 04 SEATEL 2018 Copyright© 2018 Anderson de Lima Luiz Isabella Wosniack Universidade Federal do Paraná Grupo PET Elétrica
  • 85. agenda 1. Controlador PID ∙ Função pid ∙ Exercício 1 ∙ Exercício 2 2. Simulink ∙ Ambiente ∙ Blocos básicos ∙ Exercício 3 ∙ Exercício 4 ∙ Exercício 5 ∙ Exercício 6 ∙ Exercício 7 ∙ Exercício 8 1
  • 87. controlador pid Controlador PID A função pid() retorna a função de transferência de um controlador PID, tendo como parâmetros os valores dos ganhos proporcional, integral e derivativo. sintaxe: pid(kp, ki, kd) Exemplo: 1 kp = 1; 2 ki = 1; 3 kd = 1; 4 C = pid(kp,ki,kd) 3
  • 88. controlador pid Exercício 1: Para a função de transferência: H(s) = 1 s2 + 4s + 2 Fazer um estudo sobre a influência dos ganhos proporcional, integral e derivativo no sistema. Qual a influência do ganho Kp? e do Ki e Kd? 4
  • 89. controlador pid Exercício 2: Para a função de transferência: H(s) = 1 2s + 1 Utilizando o comando step, analisar o tempo de subida e de assentamento do sistema em malha fechada. Em seguida, utilizando a função pid(), obter controlador que permita ao sistema ter uma resposta ao degrau com as seguintes características: ∙ Tempo de subida menor que 0.2s ∙ Tempo de assentamento de 0.5s ∙ Erro nulo em regime permanente 5
  • 91. simulink Simulink Para abrir a interface simulink, basta clicar no ícone ”Simulink Library”na aba ”Home”. Obs: Pode levar algum tempo para o simulink ser inicializado 7
  • 92. simulink 8 Ambiente A janela apresentada ao lado será aberta. Nela é possível observar a grande variedade de blocos funcionais que o simulink apresenta Para criar um novo modelo, basta clicar no ícone indicado pela seta
  • 93. simulink Blocos básicos ∙ Os blocos mais comuns utilizados para controle estão na aba Simulink em seus sub-tópicos. ∙ Para utilizar os blocos, basta abrir um novo modelo e arrastá-los para dentro da janela do modelo. ∙ Após um bloco ser adicionado ao modelo, pode-se alterar suas configurações clicando duas vezes sobre o mesmo. ∙ Existe um mecanismo de busca textual no canto superior esquerdo. 9
  • 94. simulink 10 Blocos básicos No sub-tópico “Commonly Used Blocks”, estão presentes alguns blocos muito utilizados em modelos de controle, tais como: Gain(Ganho), Mux (Multiplexador), Scope (Utilizado para visualizar resultados), Sum (Soma e subtração de sinais), Integrator (Integrador), entre outros.
  • 95. simulink Blocos básicos No sub-tópico “Continuous” estão alguns blocos utilizados em modelos de tempo contínuo. Nesse sub-tópico estão presentes outros blocos básicos importantes como: TransferFcn, PID Controller, Derivative, Zero-Pole, entre outros. 11
  • 96. simulink 12 Blocos básicos No sub-tópico “Sources” estão os blocos de fontes que podem ser utilizados. A que está mais presente nos modelos de controle é a fonte step (degrau). Há também outras fontes importantes como ramp (rampa), clock (relógio), pulse generator (pulsos quadrados), entre outras.
  • 97. simulink Blocos básicos ∙ Com os blocos já posicionados dentro do modelo, para interliga-los basta clicar na extremidade de um bloco e arrastar até outro para surgir uma conexão. ∙ Após pronto, o modelo pode ser testado clicando-se no botão “Run”. ∙ Lembre-se de configurar o tempo da simulação. ∙ Dependendo dos blocos utilizados, os resultados podem se apresentar de diferentes formas. Utilizando o bloco scope, os resultados serão apresentados em uma interface similar a de um osciloscópio. 13
  • 98. simulink Exercício 3: Para uma planta a qual a função de transferência é dada por: H(s) = 100 2s2 + 16s + 4 Projetar um modelo com um controlador P para que se obtenha sobre-elevação máxima de 20% e tempo de assentamento menor que 5 segundos. Obs: Deixar o tempo de simulação configurado em 10 segundos e colocar o Sample time como sendo 0.01 segundos. 14
  • 99. simulink Exercício 4: Para uma planta a qual a função de transferência é dada por: H(s) = 100 2s2 + 16s + 4 Projetar um modelo com um controlador PD para que se obtenha sobre-elevação máxima de 5% e tempo de assentamento menor que 5 segundos. 15
  • 100. simulink Exercício 5: Para uma planta a qual a função de transferência é dada por: H(s) = 100 2s2 + 16s + 4 Projetar um modelo com um controlador PI para que se obtenha sobre-elevação máxima de 30%, erro nulo em regime permanente e tempo de assentamento menor que 3 segundos. 16
  • 101. simulink Exercício 6: Para uma planta a qual a função de transferência é dada por: H(s) = 100 2s2 + 16s + 4 Projetar um modelo com um controlador PID para que se obtenha sobre-elevação máxima de 20%, erro nulo em regime permanente e tempo de assentamento menor que 3 segundos. 17
  • 102. simulink Exercício 7: Para uma planta a qual a função de transferência é dada por: H(s) = 20 s2 + 20s + 20 Projetar um modelo com um controlador (P, PI ou PID) para que se obtenha sobre-elevação máxima de 5%, erro nulo em regime permanente e tempo de assentamento menor que 3 segundos. 18
  • 103. simulink Exercício 8: Para uma planta a qual a função de transferência é dada por: H(s) = 20 s2 + 20s + 20 Projetar um modelo com um controlador (P, PI ou PID) para que se obtenha sobre-elevação máxima de 5%, erro nulo em regime permanente e tempo de assentamento menor que 3 segundos. Utilize o bloco PID Controller 19
  • 104. matlab para controle Aula 05 SEATEL 2018 Copyright© 2018 Anderson de Lima Luiz Isabella Wosniack Universidade Federal do Paraná Grupo PET Elétrica
  • 105. agenda 1. Controlador em Avanço ∙ Exercício 1 2. Controlador em Atraso ∙ Exercício 2 3. Simulação Linear ∙ Exercício 3 4. Controlador ∙ Exercício 4 1
  • 107. controlador em avanço Exercício 1: Utilizando alguma das ferramentas apresentadas em aula (sisotool ou rltool), projete um controlador em avanço para a seguinte função de transferência: G(S) = 1 s(s + 7) O sistema deverá respeitar os seguintes requisitos: ∙ Overshoot = 10% ∙ ts = 1 segundo ∙ MF = 60◦ 3
  • 108. controlador em avanço Exercício 1: Utilizando alguma das ferramentas apresentadas em aula (sisotool ou rltool), projete um controlador em avanço para a seguinte função de transferência: G(S) = 1 s(s + 7) O sistema deverá respeitar os seguintes requisitos: ∙ Overshoot = 10% ∙ ts = 1 segundo ∙ MF = 60◦ Possível resposta: C(s) = 259.95 s + 4.8 s + 15.5 4
  • 109. controlador em atraso Exercício 2: Para a mesma planta anterior, fazer um controlador em atraso G(S) = 1 s(s + 7) O sistema deverá respeitar os seguintes requisitos: ∙ Overshoot = 10% ∙ ts = 1 segundo ∙ MF = 60◦ ∙ tr = 2s 5
  • 110. controlador em atraso Exercício 2: Para a mesma planta anterior, fazer um controlador em atraso G(S) = 1 s(s + 7) O sistema deverá respeitar os seguintes requisitos: ∙ Overshoot = 10% ∙ ts = 1 segundo ∙ MF = 60◦ ∙ tr = 2s Possível resposta: C(s) = 1.3659 s + 4.1 s + 1 6
  • 111. simulação linear Exercício 3: Sendo a função de transferência H: H(s) = 6, 143 · 107 · s + 1, 571 · 1011 s3 + 1.343 · 104 · s2 + 7, 571 · 107 · s + 1, 571 · 1011 Plote o gráfico da resposta teórica dessa função, para o vetor entrada do arquivo CSV (Volt) e, no mesmo gráfico, plote o vetor da resposta real, que está no arquivo CSV (Volt1). 7
  • 112. controlador Exercício 4: Projete um controlador utilizando o sisotool para que a seguinte planta: H(s) = 1 15s2 + 30s Obtenha para a resposta ao degrau: ∙ Erro nulo ∙ Tempo de assentamento menor que 2,5 segundos ∙ sobreelevação menor que 10% Plotar o gráfico da resposta com todas essas informações 8