Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

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
te
n
s
a
o
 (
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)
A
m
p
lit
u
d
e
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)
A
m
p
lit
u
d
e
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*C1])
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)
A
m
p
lit
u
d
e
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)
A
m
p
lit
u
d
e
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.50.640.760.86
0.94
0.985
0.250.50.7511.251.51.752
0.160.340.50.640.760.86
0.94
0.985
0.160.34
Pole-Zero Map
Real Axis (seconds -1)
Im
a
g
in
a
ry
 A
x
is
 (
s
e
c
o
n
d
s
-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)
A
m
p
lit
u
d
e
-30 -20 -10 0
-1
-0.5
0
0.5
1
Polos e zeros da planta
Real Axis (seconds
-1
)
Im
a
g
in
a
ry
 A
x
is
 (
s
e
c
o
n
d
s
-1
)
0 0.05 0.1
0
0.05
0.1
0.15
Degrau sistema completo
Time (seconds)
A
m
p
lit
u
d
e
-100 -50 0
-100
-50
0
50
100
Polos e zeros sistema completo
Real Axis (seconds
-1
)
Im
a
g
in
a
ry
 A
x
is
 (
s
e
c
o
n
d
s
-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
M
a
g
n
it
u
d
e
 (
d
B
)
10-2 10-1 100 101 102
-90
-45
0
P
h
a
s
e
 (
d
e
g
)
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)
a
m
p
lit
u
d
e
 (
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çãomá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
	Revisão MATLAB
	sistemas lineares de controle
	Polos e Zeros
	Diagrama de Bode
	Trabalhando com dados CSV
	Lugar das Raízes
	Projeto de Controlador
	Controlador PID
	simulink
	Controlador Avanço e Atraso

Mais conteúdos dessa disciplina