Você está na página 1de 112

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:
−t
v(t) = Vf · (1 − e( τ ) )

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:

−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

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

tensão em função do tempo


5

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

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.

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:

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:

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

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.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

∙ 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

Linear Simulation Results


1.5

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:

vin (t) = R · i(t) + vout (t)


dvout(t)
vin (t) = R · C + vout (t)
dt
Vin (s) = RCs · Vout (s) + Vout (s)
Vin (s) = Vout (s)(RCs + 1)
Vout (s) 1
=
Vin (s) 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()

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

Solução: Comando lsim()

Linear Simulation Results


1.2
System: H
Time (seconds): 0.733
1 Amplitude: 0.903

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

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:
2s + 1
H(s) =
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

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

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:

2s3 + 5s2 + 3s + 6
H(s) =
s3 + 6s2 + 11s + 6

Escreva função na forma de expansão em frações parciais

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

∙ 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

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 )

0.4 Pole : -2 Zero : -0.5


0.985
Damping: 1 Damping: 1
0.2 Overshoot (%): 0 Overshoot (%): 0
Frequency (rad/s): 2 Frequency (rad/s): 0.5
2 1.75 1.5 1.25 1 0.75 0.5 0.25
0
System: H
-0.2 Pole : -1
0.985 Damping: 1
-0.4 Overshoot (%): 0
Frequency (rad/s): 1
-0.6
0.94
-0.8
0.86 0.76 0.64 0.5 0.34 0.16
-1
-2 -1.8 -1.6 -1.4 -1.2 -1 -0.8 -0.6 -0.4 -0.2 0
Real 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

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:

Degrau planta Degrau sistema completo


0.1 0.15
Amplitude

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 )

Imaginary Axis (seconds -1 )


Polos e zeros da planta Polos e zeros sistema completo
1 100

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

∙ 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

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

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.

1
LC
H(s) = R 1
s2 + Ls + 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

Linear Simulation Results


2

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

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

kG(s)
T(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:
s+5
G(s) =
(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:

s+5
G(s) =
(s + 1)(s + 2)(s + 6)
s+5
G(s) = 3
s + 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:
s+5
G(s) =
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)

1
G(s) =
1s2 + 3s + 2

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
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%

1
G(s) =
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:
1
H(s) =
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:
1
H(s) =
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

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

∙ 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

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.

10
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

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.

12
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:

100
H(s) =
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:

100
H(s) =
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:

100
H(s) =
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:

100
H(s) =
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:

20
H(s) =
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:

20
H(s) =
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:

1
G(S) =
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:

1
G(S) =
s(s + 7)

O sistema deverá respeitar os seguintes requisitos:


∙ Overshoot = 10%
∙ ts = 1 segundo
∙ MF = 60◦
Possível resposta:
s + 4.8
C(s) = 259.95
s + 15.5
4
controlador em atraso

Exercício 2:
Para a mesma planta anterior, fazer um controlador em atraso

1
G(S) =
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

1
G(S) =
s(s + 7)

O sistema deverá respeitar os seguintes requisitos:


∙ Overshoot = 10%
∙ ts = 1 segundo
∙ MF = 60◦
∙ tr = 2s
Possível resposta:
s + 4.1
C(s) = 1.3659
s+1
6
simulação linear

Exercício 3:
Sendo a função de transferência H:

6, 143 · 107 · s + 1, 571 · 1011


H(s) =
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:
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%

Plotar o gráfico da resposta com todas essas informações

Você também pode gostar