Exemplo 1 Exemplo 3 Controlando o tanque de

  • Slides: 21
Download presentation
Exemplo 1

Exemplo 1

Exemplo 3 – Controlando o tanque de nível Considerando um sistema de controle de

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 q 2. A segunda vazão de fluido, q 1, corresponde à variável perturbação (corrente chegando de outra unidade, não posso controlar essa corrente). q 1 q 2 hm LT LC h q 3 A

Encontrando a função de transferência do tanque de nível: Assumindo que: - a densidade

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:

Encontrando a função de transferência do tanque de nível: O modelo é descrito por

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: Substituindo a hipótese ii na equação anterior ficamos com:

Encontrando a função de transferência do tanque de nível: Introduzindo as variáveis-desvio e aplicando

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

Encontrando a função de transferência do tanque de nível: Para o exemplo em questão

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/m 2. A = 3. 1415 * (1/2)^2 A = 0. 785 R = 6. 37

Encontrando a função de transferência da válvula: Considerando uma válvula com a seguinte função

Encontrando a função de transferência da válvula: Considerando uma válvula com a seguinte função de transferência: Válvula: 0. 1545 m 3/min Linguagem de engenharia 0 m 3/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

Encontrando a função de transferência do sensor Considerando um medidor com a seguinte função de transferência: Sensor: 3 m Linguagem de engenharia 0 m 0 psi Linguagem de máquina 15 psi

Exemplo 3 – Controlando o tanque de nível Set-point Erro: (sp - valor medido)

Exemplo 3 – Controlando o tanque de nível Set-point Erro: (sp - valor medido) Valor medido

Válvula Controlador Processo Medidor

Válvula Controlador Processo Medidor

Exemplo 3 – Controlando o tanque de nível Ajuste de Controladores: Na prática o

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

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. Tente: P= I = D= D I C A 2 0 0 2 25 0 2 1 0 Nem todas as combinações de valores para P, I e D são possíveis. As vezes o processamento numérico trava. 2 1 5

Exemplo 2 a

Exemplo 2 a

Revisão de fminsearch

Revisão de fminsearch

Exemplo 2 b

Exemplo 2 b

A seguinte malha de controle foi elaborada no Simulink. Usar o Matlab para ajustar

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

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);

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:

Estimativa inicial: P = 2 I = 1 D = 0 Valor final encontrado: P = 6. 3820 I = 2. 9076 D = 0