Sintonia de controladores PID usando Simulink: dois exemplos

Download Report

Transcript Sintonia de controladores PID usando Simulink: dois exemplos

Exemplo
1
O processo...
O controle...
temperatura
3 a 15 psi
3 a 15 psi
calor
Encontrando a função de transferência da malha de aquecimento:
Temperatura da estufa (°C)
GP  s  
PV  s 
MV s

KP
Ps 1
e
  s 
Sinal enviado para o aquecedor
(% de 0 a 100)
Encontrando a função de transferência da malha de aquecimento:
http://www.controlguru.com/2007/031107.ht
ml
Encontrando a função de transferência da malha de aquecimento:
GP  s  
PV  s 
MV s

KP
Ps 1
e
  s 
Encontrando a função de transferência do aquecedor:
G A  K A  6 . 67
Aquecedor:
100%
Linguagem
de
engenharia
0%
0
psi
Linguagem
de
controle
15
psi
Encontrando a função de transferência do sensor:
G m  K m  0 . 075 psi / C
Sensor:
200°C
Linguagem
de
engenharia
0 °C
0
psi
Linguagem
de
máquina
15
psi
Malha Simulink:
Malha Simulink:
Malha Simulink:
Malha Simulink:
Exemplo 3 – Controlando o tanque de nível
Malha Simulink:
Set-point
Erro:
(sp - valor medido)
Valor medido
Aquecedor
Controlador
Processo
Medidor
Exemplo 3 – Controlando o tanque de nível
Ajuste de Controladores:
Na prática o melhor ajuste para um controlador
é obtido pela combinação da ação P (proporcional), I (integral),
e D (derivativa). Podemos usar o Simulink para obter uma
estimativa inicial desse ajuste.
D
I
C
A
Nem todas as combinações de valores para P, I e D são
possíveis. As vezes o processamento numérico trava.
Exemplo 3 – Controlando o tanque de nível
Ajuste de Controladores:
Na prática o melhor ajuste para um controlador
é obtido pela combinação da ação P (proporcional), I (integral),
e D (derivativa). Podemos usar o Simulink para obter uma
estimativa inicial desse ajuste.
D
I
C
A
Nem todas as combinações de valores para P, I e D são
possíveis. As vezes o processamento numérico trava.
Exemplo
2a
Revisão de fminsearch
)
Exemplo
2b
A seguinte malha de controle foi elaborada no Simulink.
Usar o Matlab para ajustar o controlador.
degrau unitário
no instante 10
P
I
D
Programa principal:
clear all
close all
warning off
options = optimset('display','iter');
global P I D erro
Pmin = fminsearch('custo', [2 1 0],options)
Função “custo”:
function [erro] = custo(x)
global P I D erro
P=x(1);
I=x(2);
D=x(3);
[T]=sim('malha1',[0 1000]);
erro=sum(erro.^2);
Exemplo
3
Exemplo 3 – Controlando o tanque de nível
Considerando um sistema de controle de nível mostrado abaixo.
O nível de líquido é medido e a saída do transmissor de nível (LT) é
enviada para um controlador feedback (LC) que controla o nível pelo
ajuste da vazão volumétrica q2. A segunda vazão de fluido, q1, corresponde
à variável perturbação (corrente chegando de outra unidade,
não posso controlar essa corrente).
q1
q2
hm
LT
LC
h
q3
A
Encontrando a função de transferência do tanque de nível:
Assumindo que:
- a densidade do líquido e a área da seção transversal do
tanque A são constantes.
- a relação entre a vazão e a carga é linear:
q3  h / R
Encontrando a função de transferência do tanque de nível:
O modelo é descrito por uma equação de balanço transiente de massa no
tanque:
A
dh
dt
  q1   q 2   q 3
Substituindo a hipótese ii na equação anterior ficamos com:
A
dh
dt
  q1   q 2  
h
R
Encontrando a função de transferência do tanque de nível:
Introduzindo as variáveis-desvio e aplicando a Transformada
de Laplace, chegamos as funções de transferência:
h' (s)
'
q1 ( s )
h' (s)
'
q2 (s)
 G1 ( s ) 
K
p
 s 1
 G 2 (s) 
K
p
 s 1
onde:
K
p
 R
  AR
Encontrando a função de transferência do tanque de nível:
Para o exemplo em questão considere um tanque de 1 m de diâmetro
e uma válvula na saída na linha atuando sob uma resistência
linear (R) de 6.37 min/m2.
A = 3.1415 * (1/2)^2
A = 0.785
K p  R  6 . 37
R = 6.37
  AR  5
h' (s)
'
2
q (s)
 G2 (s) 
Kp
 s 1

6 . 37
5s  1
Encontrando a função de transferência da válvula:
Considerando uma válvula com a seguinte
função de transferência:
G v  K v  0 . 0103 m / min psi
3
Válvula:
0.1545 m3/min
Linguagem
de
engenharia
0 m3/min
0
psi
Linguagem
de
máquina
15
psi
Encontrando a função de transferência do sensor
Considerando um medidor com a seguinte
função de transferência:
G m  K m  5 psi / m
Sensor:
3m
Linguagem
de
engenharia
0m
0
psi
Linguagem
de
máquina
15
psi
Exemplo 3 – Controlando o tanque de nível
Set-point
Erro:
(sp - valor medido)
Valor medido
Válvula
Controlador
Processo
Medidor
degrau unitário
no instante 10
P
I
D
Programa principal:
clear all
close all
warning off
options = optimset('display','iter');
global P I D erro
Pmin = fminsearch('custo', [2 1 0],options)
Função “custo”:
function [erro] = custo(x)
global P I D erro
P=x(1);
I=x(2);
D=x(3);
[T]=sim('modelo',[0 100]);
erro=sum(erro.^2);
Estimativa inicial:
P = 2
I = 1
D = 0
Valor final encontrado:
P = 6.3820
I = 2.9076
D = 0