Escolar Documentos
Profissional Documentos
Cultura Documentos
Aula 01
SEATEL 2018
Copyright© 2018
Anderson de Lima Luiz
Isabella Wosniack
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
4
revisão matlab
Scripts
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
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
8
revisão matlab
Gráficos no MATLAB
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:
−t
v(t) = Vf · (1 − e( τ ) )
11
revisão matlab
Resolução:
−t
v(t) = Vf · (1 − e( τ ) )
v(t) −t
= 1 − e( τ )
Vf
v(t) −t
− 1 = −e( τ )
Vf
−v(t) −t
+ 1 = e( τ )
Vf
Aplicando ln em ambos os lados:
Vt −t
ln(1 − )= · ln(e)
Vf τ
Vt
t = tm = −τ · ln(1 − )
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
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
4.5
3.5
3
tensao (V)
2.5
1.5
0.5
0
0 0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0.018
tempo (s)
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
17
sistemas lineares de controle
Função de Transferência
L[saida] Y(s)
G(s) = =
L[entrada] 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:
3 ans =
4 s^2 + 1
5 -----------
6 s^2 + s + 1
7
19
sistemas lineares de controle
Exercício 2:
Escreva no Matlab o script correspondente a função de transferência
abaixo:
4 + 4s4 + 3s + 1s2
H(s) =
5s2 + 9
20
sistemas lineares de controle
Solução:
Reescrevendo a função com os coeficientes na ordem correta:
4s4 + 1s2 + 3s + 4
H(s) =
5s2 + 9
3 H =
4
5 4 s^4 + s^2 + 3 s + 4
6 ---------------------
7 5 s^2 + 9
8
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:
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
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.4
Step Response
1.2
1 H = tf([1 1],[1 1 1])
1
2 step(H) Amplitude
3 0.8
4 H = 0.6
5 s + 1
0.4
6 -----------
7 s^2 + s + 1 0.2
0
0 1 2 3 4 5 6 7 8 9 10
Time (seconds)
26
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
Sintaxe:
28
sistemas lineares de controle
Simulação Linear
1
Amplitude
0.5
-0.5
0 1 2 3 4 5 6 7 8 9 10
Time (seconds)
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:
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
Step Response
1
0.9
System: H
0.8 Time (seconds): 0.23
Amplitude: 0.9
0.7
0.6
Amplitude
0.5
0.4
0.3
System: H
0.2 Time (seconds): 0.0112
Amplitude: 0.106
0.1
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
Time (seconds)
33
sistemas lineares de controle
0.8
Amplitude
0.6
0.4
System: H
Time (seconds): 0.511
0.2 Amplitude: 0.104
-0.2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Time (seconds)
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
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
3
sistemas lineares de controle
Sintaxe:
4
sistemas lineares de controle
2s + 1
H(s) =
s2 + 3s + 2
Pode ser reescrita como:
1 3
H(s) = − +
s+1 s+2
Fazendo a transformada inversa de cada termo:
h(t) = −e−t + 3e−2t , t≥0
Exercício 4:
Dada a seguinte função de transferência:
2s3 + 5s2 + 3s + 6
H(s) =
s3 + 6s2 + 11s + 6
6
sistemas lineares de controle
Resposta:
2s3 + 5s2 + 3s + 6 6 4 3
H(s) = 3 2
=− − + +2
s + 6s + 11s + 6 s+3 s+2 s+1
7
sistemas lineares de controle
Sintaxe:
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
9
sistemas lineares de controle
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
Pole-Zero Map
1
0.86 0.76 0.64 0.5 0.34 0.16
0.8
0.94
0.6
System: H System: H
Imaginary Axis (seconds -1 )
11
sistemas lineares de controle
Exercício 5:
Dada a seguinte função de transferência:
2s3 + 5s2 + 3s + 6
H(s) =
s3 + 6s2 + 11s + 6
12
sistemas lineares de controle
Exercício 6:
13
sistemas lineares de controle
Exercício 6:
14
sistemas lineares de controle
Resposta:
Amplitude
0.1
0.05
0.05
0 0
0 0.1 0.2 0.3 0.4 0 0.05 0.1
Time (seconds) Time (seconds)
Imaginary Axis (seconds -1 )
0.5 50
0 0
-0.5 -50
-1 -100
-30 -20 -10 0 -100 -50 0
Real Axis (seconds -1 ) Real Axis (seconds -1 )
15
diagrama de bode
sistemas lineares de controle
Diagrama de Bode
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
Bode Diagram
0
Magnitude (dB)
-10
-20
-30
-40
0
Phase (deg)
-45
-90
10-2 10-1 100 101 102
Frequency (rad/s)
18
sistemas lineares de controle
19
sistemas lineares de controle
Exercício 7:
Calcule a margem de ganho e margem de fase do sistema abaixo
para K = 5:
20
trabalhando com dados csv
trabalhando com dados csv
Importação de Dados:
22
trabalhando com dados csv
Exemplo:
plot(second1, Volt1)
23
utilização dos dados csv em funções
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.
1
LC
H(s) = R 1
s2 + Ls + LC
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
1.5
1
amplitude (V)
0.5
-0.5
-1 teorico
experimental
-1.5
-2 0 2 4 6 8 10 12 14 16 18
tempo (seconds) × 10-6
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
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
kG(s)
T(s) =
1 + KG(s)H(s)
4
lugar das raízes
sintaxe:
5
lugar das raízes
Exemplo:
6
lugar das raízes
Solução:
s+5
G(s) =
(s + 1)(s + 2)(s + 6)
s+5
G(s) = 3
s + 9s2 + 20s + 12
7
lugar das raízes
Exercício 1:
Seja a planta do sistema determinada pela seguinte função de
transferência:
s+5
G(s) =
s2 + 11s + 10
8
projeto de controlador
projeto de controlador
Interface Sisotool
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)
1
G(s) =
1s2 + 3s + 2
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%
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:
1
G(s) =
1s2 + 3s + 2
17
matlab para controle
Aula 04
SEATEL 2018
Copyright© 2018
Anderson de Lima Luiz
Isabella Wosniack
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:
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:
1
H(s) =
s2 + 4s + 2
4
controlador pid
Exercício 2:
Para a função de transferência:
1
H(s) =
2s + 1
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
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
8
simulink
Blocos básicos
9
simulink
Blocos básicos
10
simulink
Blocos básicos
11
simulink
Blocos básicos
12
simulink
Blocos básicos
13
simulink
Exercício 3:
Para uma planta a qual a função de transferência é dada por:
100
H(s) =
2s2 + 16s + 4
14
simulink
Exercício 4:
Para uma planta a qual a função de transferência é dada por:
100
H(s) =
2s2 + 16s + 4
15
simulink
Exercício 5:
Para uma planta a qual a função de transferência é dada por:
100
H(s) =
2s2 + 16s + 4
16
simulink
Exercício 6:
Para uma planta a qual a função de transferência é dada por:
100
H(s) =
2s2 + 16s + 4
17
simulink
Exercício 7:
Para uma planta a qual a função de transferência é dada por:
20
H(s) =
s2 + 20s + 20
18
simulink
Exercício 8:
Para uma planta a qual a função de transferência é dada por:
20
H(s) =
s2 + 20s + 20
19
matlab para controle
Aula 05
SEATEL 2018
Copyright© 2018
Anderson de Lima Luiz
Isabella Wosniack
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
1
G(S) =
s(s + 7)
∙ Overshoot = 10%
∙ ts = 1 segundo
∙ MF = 60◦
3
controlador em avanço
1
G(S) =
s(s + 7)
Exercício 2:
Para a mesma planta anterior, fazer um controlador em atraso
1
G(S) =
s(s + 7)
∙ 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
1
G(S) =
s(s + 7)
Exercício 3:
Sendo a função de transferência H:
7
controlador
Exercício 4:
Projete um controlador utilizando o sisotool para que a seguinte
planta:
1
H(s) =
15s2 + 30s
Obtenha para a resposta ao degrau:
∙ Erro nulo
∙ Tempo de assentamento menor que 2,5 segundos
∙ sobreelevação menor que 10%