24
Guia de laboratório para o sistema de três tanques Duarte Valério 30 de Abril de 2010

Guia de laboratório para o sistema de trŒs tanquesweb.ist.utl.pt/duarte.valerio/tanques3.pdf · 4 Lugar geomØtrico das raizes; diagramas de Bode 14 5 Diagramas de Nichols e de

Embed Size (px)

Citation preview

Guia de laboratório

para o sistema de três tanques

Duarte Valério

30 de Abril de 2010

Conteúdo

Conteúdo 1

Introdução 2

Bibliografia 3

1 Modelação 4

2 Implementação em Simulink 8

3 Identificação 11

4 Lugar geométrico das raizes; diagramas de Bode 14

5 Diagramas de Nichols e de Nyquist; margens de ganho e de

fase 16

6 Controlo em cascata 17

7 Controlo PID 18

8 Controlo de avanço e de atraso 19

9 Robustez 20

10 Não-linearidades rígidas 21

11 Discretização dos modelos 22

12 Controlo discreto 23

1

Introdução

As aulas de laboratório serão dedicadas às experiências numéricas descritas nestefascículo, que dizem respeito a um sistema real e se baseiam em dados experi-mentais reais. Espera-se dos controladores obtidos que sejam passíveis de imple-mentação no laboratório, reproduzindo-se os resultados obtidos por simulação.

As aulas de laboratório serão tutoriais. Os alunos não serão classificados peloseu desempenho nestas aulas. Espera-se antes que a experiência e a compreensãoda matéria ganhas aproveitem aos objetivos da cadeira de Controlo de Sistemas(e sirvam também de preparação para os testes e o exame).

Muitas das questões neste fascículo são abertas. Em vez de especificar à par-tida tempos de amostragem, desempenhos pretendidos nas respostas no tempo,valores mínimos para as margens, etc., espera-se antes que os alunos discu-tam os objetivos pretendidos e exequíveis e tomem decisões a este respeito.Procura-se assim ir além do que é habitualmente possível nas aulas de proble-mas (onde amiúde só se consegue resolver exercícios já completamente especi-ficados), ficando-se mais perto das condições em que se tem de conceber con-troladores para sistemas na vida real, que não costumam vir com especificaçõesbem definidas para facilitar a vida ao engenheiro encarregue do controlo.

Os sucessivos capítulos deste fascículo, bem como os outros ficheiros deMatlab necessários, ficarão disponíveis na página da cadeira de Controlo deSistemas na Internethttps://fenix.ist.utl.pt/disciplinas/csis-2/2009-2010/2-semestre/

ao longo do semestre:

Capítulo Disponibilizado em A resolver até1 26 de Fevereiro de 2010 5 de Março de 20102 5 de Março de 2010 19 de Março de 20103 19 de Março de 2010 26 de Março de 20104 26 de Março de 2010 9 de Abril de 20105 9 de Abril de 2010 16 de Abril de 20106 16 de Abril de 2010 23 de Abril de 20107 23 de Abril de 2010 30 de Abril de 20108 30 de Abril de 2010 7 de Maio de 20109 7 de Maio de 2010 14 de Maio de 201010 14 de Maio de 2010 21 de Maio de 201011 21 de Maio de 2010 28 de Maio de 201012 28 de Maio de 2010 9 de Junho de 2010

Destinam-se duas semanas aos capítulos 2 (para que os alunos se familiarizemcom o Simulink), 4 (por causa das férias da Páscoa) e 12 (por causa do fim dosemestre). Aos restantes atribui-se uma semana.

2

Bibliografia

[1] Laboratory setup: three-tank system. Duisburg: Amira, 2002.

[2] Ayala Botto, Miguel — Controlo de Sistemas. Lisboa: aeIST, 2008.

—— � ——

O autor agradece aos Professores Alexandra Moutinho, Jorge Martins, JoséBorges, Mário Ramalho e Miguel Ayala Botto os seus comentários e sugestõespara melhorar este fascículo, permanecendo responsável pelas deficiências re-manescentes.

—— � ——

Who would be satisfied with a navigator or engineer, who had nopractice or experience whereby to carry on his scientific conclusionsout of their native abstract into the concrete and the real?

John Henry Newman

An essay in aid of a grammar of assent, VIII 1 § 2

3

Capítulo 1

Modelação

O sistema de três tanques é um paradigma para testar estratégias de controlo.O frontispício deste fascículo mostra o aparelho experimental existente no la-boratório de Controlo, Automação e Robótica [1]. Consiste em três tanquesde secção transversal constante, ligados por válvulas. A água flui por meio debombas para dois dos tanques a partir de um reservatório inferior. Este sis-tema paradigmático modela vários sistemas industriais que requerem controlo;a figura 1.1 mostra três exemplos.

Vamos trabalhar com uma configuração simplificada constante da figura 1.2.Compreende unicamente dois tanques, com os números 1 e 3 no aparelho expe-rimental. O tanque 1 é alimentado com água por meio de uma bomba. Umaválvula, sempre aberta, permite a passagem de água entre os tanques 1 e 3.Outra válvula, sempre aberta, escoa água do tanque 3 para o reservatório. To-das as outras válvulas do aparelho (visíveis na imagem do frontispício) estãofechadas. Sejam

• A a secção transversal de ambos os tanques;

• Q1 o caudal volúmico que entra no tanque 1 pela bomba;

• Q13 o caudal volúmico entre os dois tanques, positivo se a água fluir dotanque 1 para o tanque 3, negativo se a água fluir do tanque 3 para otanque 1;

• Q30 o caudal volúmico do tanque 3 para o reservatório;

• h1 a altura de água no tanque 1;

• h3 a altura de água no tanque 3.

Assuma que podemos fazer variar Q1 à vontade, e queremos controlar h1 eh3.

1.1. Como é bem sabido, o produto da secção transversal e da altura de águaé igual ao volume de água no tanque. Diferencie essa igualdade e encontreduas equações diferenciais que relacionam as alturas h1 e h3 com os caudaisQ1, Q13 e Q30. Ache as transformadas de Laplace correspondentes.

4

Figura 1.1: Em cima: tanques numa estação de tratamento de águas residu-ais; ao centro: tanques numa cervejaria; em baixo: tanques numa refinaria depetróleo

5

+−−→Q13

Q1

Q30

tanque 1 tanque 3

h1

h3

Figura 1.2: Configuração do sistema de dois tanques em estudo

1.2. A regra de Torricelli generalizada [1] diz-nos

Q13 = α13σ(h1 − h3)√

|h1 − h3| (1.1)

Q30 = α30

h3 (1.2)

onde σ(x) é a função sinal

σ(x) =

−1, se x < 00, se x = 0+1, se x > 0

(1.3)

e α13 e α30 são coeficientes que dependem das secções transversais e com-primentos das válvulas. Consegue linearizar (1.1)–(1.2) usando uma sériede MacLaurin (isto é, uma série de Taylor desenvolvida em torno do pontox = 0) da função σ(x)

|x|? Porquê? Faria sentido usar-se antes uma sériede Taylor truncada, com expansão em torno de um ponto x 6= 0?

1.3. As equações (1.1)–(1.2) podem ser linearizadas fazendo

σ(h1 − h3)√

|h1 − h3| ≈ λ13(h1 − h3) (1.4)√

h3 ≈ λ30h3 (1.5)

Use o Matlab para traçar gráficos tanto da relação não linear σ(x)√

|x|como da relação linearizada λx para vários valores de λ. Que valores achaque serão razoáveis para λ13 e para λ30? (Lembre-se de que as alturas deágua certamente acabam por saturar.)

1.4. Ache analiticamente, a partir das equações linearizadas, a função de trans-ferência G3(s) = h3

Q1

. (Ajuda: tem dois polos e não tem zeros.) Depoisache as funções de transferência G1a e G1b tais queh1(s) = G1a(s)Q1(s)+G1b(s)h3(s). (Ajuda: ambas têm um polo e não têmzeros.) Por último, ache a função de transferência G1(s) = h1

Q1

. (Ajuda:tem dois polos e um zero. Se achar uma função de transferência com dois

6

zeros e três polos, é provável que α13λ13

Aseja raiz tanto do numerador como

do denominador.)

7

Capítulo 2

Implementação em Simulink

Estamos a estudar um sistema com comportamento dinâmico dado por

Ah1(t) = Q1(t) − Q13(t)

Q13(t) = α13σ(h1(t) − h3(t))√

|h1(t) − h3(t)|Ah3(t) = Q13(t) − Q30(t)

Q30(t) = α30

h3(t)

(2.1)

Este modelo não é linear, mas pode ser linearizado como

Ah1(t) = Q1(t) − Q13(t)Q13(t) = α13λ13(h1(t) − h3(t))

Ah3(t) = Q13(t) − Q30(t)Q30(t) = α30λ30h3(t)

⇒ (2.2)

h1(s) =Q1(s)As − Q13(s)

AsQ13(s) = α13λ13(h1(s) − h3(s))

h3(s) =Q13(s)

As − Q30(s)As

Q30(s) = α30λ30h3(s)

⇒ (2.3)

h3 =

G3(s)︷ ︸︸ ︷

α13λ13

A2s2 + A(2α13λ13 + α30λ30)s + α13λ13α30λ30Q1

h1 =

G1a(s)︷ ︸︸ ︷

1

As + α13λ13Q1 +

G1b(s)︷ ︸︸ ︷

α13λ13

As + α13λ13h3 =

(2.4)

=As + α13λ13 + α30λ30

A2s2 + A(2α13λ13 + α30λ30)s + α13λ13α30λ30︸ ︷︷ ︸

G1(s)

Q1

A figura 2.1 mostra os termos não lineares e as suas linearizações. Não pôde

usar-se uma série de MacLaurin para essa linearização, porque√

x′

∣∣∣x=0

= +∞.

Também se não pôde usar uma série de Taylor expandida em redor doutro pontoporque isso resultaria num caudal não nulo mesmo quando não há água parafluir.

8

−10 −8 −6 −4 −2 0 2 4 6 8 10−4

−3

−2

−1

0

1

2

3

4

x

σ(x)x1/2

λx, λ=1λx, λ=1/2λx, λ=1/3

Figura 2.1: Evolução dos termos não lineares e da sua linearização

Esta situação — em que o sistema a controlar não é linear, mas pode ser line-arizado sem que se cometam erros inaceitáveis — não é incomum. O modelo lin-ear será então usado para conceber controladores e testar o seu desempenho. Oscontroladores que se revelem insatisfatórios com tal modelo linear dificilmentese sairão melhor com o não linear. Só após se conseguir um bom desempenho éque os controladores serão então testados com o modelo não linear.

2.1. Implemente as equações (2.1) no Simulink. Encontrará quase todos osblocos de que necessita na biblioteca Math Operations do Simulink. Paraobter valores de h1 e h3 também vai precisar do bloco Integrator dabiblioteca Continuous. Pode usar os seguintes valores:

A = 0.01 (2.5)

α13 = 0.1 (2.6)

α30 = 0.1 (2.7)

Tenha em atenção que estes valores não correspondem ao aparelho expe-rimental existente no laboratório.

2.2. Forneça degraus e sinusoides ao modelo de Simulink e veja quais as saídash1 e h3 que obtém. Encontrará os blocos de que necessita na bibliotecaSources do Simulink. Considere o emprego de um Scope da bilbiotecaSinks para ver a saída; pode também fazer com que esse bloco guarde asaída numa variável. Faz sentido permitir que Q1 seja negativo? Comopode dizer, só por observação das respostas que acabou de obter, que omodelo que implementou não é linear?

2.3. Implemente as equações (2.3) noutro ficheiro de Simulink.

2.4. Repita as simulações que levou a cabo no ponto 2.2, agora com o modelolinear, para vários valores possíveis de λ13 e λ30 que ache razoáveis. Com-pare os resultados dos modelos não linear e linearizado. Como pode dizer

9

a partir das respostas obtidas que o modelo que implementou é linear?Quão bom acha que o modelo linearizado é enquanto aproximação do nãolinear?

2.5. Implemente as funções de transferência (2.4) em Simulink. Encontraráos blocos de que precisa na biblioteca Continuous do Simulink. (Comoalternativa pode usar o bloco LTI System da biblioteca Control System

Toolbox, juntamente com uma função de transferência criada com a funçãotf.)

2.6. Forneça degraus e sinusoides às funções de transferência e ao modelo line-arizado do ponto 2.4 e verifique que os resultados obtidos são os mesmos.

10

Capítulo 3

Identificação

Tem agora uma implementação em Simulink dum modelo semelhante ao dafigura 3.1, que é não linear (como se vê pelos resultados das simulações, vistoque entradas sinusoidais não causam saídas sinusoidais), bem como uma suaaproximação linearizada. É desejável que os parâmetros do modelo tenhamvalores que permitam simular a experiência laboratorial. Para isso, usar-se--ão dados reais obtidos no laboratório. Encontrará os dados num ficheiro .mat

disponibilizado na página da cadeira de Controlo de Sistemas na Internet. Oficheiro contém variáveis com respostas a degraus de diferentes amplitudes e asinusoides de diferentes amplitudes e frequências. Cada variável é uma estruturacom os seguintes campos:

Campo Variáveltime tsignals(1).values Q1(t)signals(2).values h1(t)signals(3).values h3(t)

3.1. Trace gráficos das respostas a degraus. Será que estes gráficos sustentama linearidade do sistema? A partir da sua evolução no tempo, pode ver sebasta ou não uma função de transferência de primeira ordem para modelaro sistema?

3.2. Trace gráficos das respostas a sinusoides. Será que estes gráficos sustentama linearidade do sistema? Repare que as entradas são na verdade a somade uma sinuosoide com um degrau. Porquê? Que diferença é que isso fazpara as respostas?

3.3. Há vários métodos para identificar um modelo a partir de respostas notempo. Vamos servir-nos de um método muito pouco sofisticado, que mi-nimiza a diferença entre a saída experimental e a saída do modelo usando oalgoritmo de minimização do simplex, implementado na função de Matlabfminsearch. Esse algoritmo de minimização requer uma estimativa inicialdo valor da solução e pode ficar preso em mínimos locais. Sem entrar empormenores, vamos mais exatamente minimizar um índice J dado por

J =∑

t

(h1(t) − h1(t))2 + (h3(t) − h3(t))

2 (3.1)

11

Figura 3.1: Modelo não linear em Simulink

onde h1(t) e h3(t) são os valores experimentais e h1(t) e h3(t) são os valoresresultantes do modelo. Há métodos melhores, mas este serve-nos.

Use a função identify_time, disponível na página da cadeira de Controlode Sistemas na Internet, com cada uma das variáveis com resultados ex-perimentais; o segundo argumento, que é a estimativa inicial, é opcional.Espere algum tempo até que a função forneça resultados (G1, G3, A,k13 = λ13α13 e k30 = λ30α30). Grave-os antes de correr a função outra vezpara assim poder escolher o melhor ajuste. Repare que se não for dadauma estimativa inicial se usam valores aleatórios, o que quer dizer que épossível que se obtenham estimativas diferentes quando se corre a funçãovárias vezes com os mesmos dados. Depois de escolher um resultado, em-pregue sempre doravante os coeficientes escolhidos tanto com o modelolinear como com o não linear.

3.4. Compare as respostas experimentais com as que resultam de alimentar osmodelos linear e não linear com as mesmas entradas. Use o bloco From

Workspace da biblioteca Sources do Simulink para fornecer as entradasaos modelos. O que tem a dizer quanto à sua qualidade enquanto aproxi-mações?

3.5. Os ficheiros com que tem estado a trabalhar apresentam as variáveis Q1,h1 e h3 normalizadas; isto é, cada uma delas foi dividida pelo valor máximoque pode assumir. Assim,

Quando a variável Q1 Q1 h1 h1 h3 h3

é igual a 0 1 0 1 0 1no ficheiro .mat,

então o seu valor é 0 m3/s 116.7× 10−6 m3/s 0 m 0.630 m 0 m 0.630 mem unidades SI.

O que teria de adicionar aos seus modelos de Simulink para que as entradase saídas fossem dadas em unidades SI? Não introduza tais mudanças nos

12

modelos; deixe-os com entradas e saídas adimensionais e normalizadas em[0, 1].

13

Capítulo 4

Lugar geométrico das raizes;

diagramas de Bode

Está agora na posse de um modelo linear que simula o sistema laboratorial (comentradas e saídas adimensionais e normalizadas). Os seus parâmetros devem tervalores próximos dos seguintes:

A = 100 (4.1)

k13 = λ13α13 = 1.5 (4.2)

k30 = λ30α30 = 4 (4.3)

Repare que estes valores são apenas indicativos de ordens de grandeza; aquelesque escolheu podem ser diferentes, e ainda assim alcançar bons ajustes.

Na verdade, os dados experimentais não correspondem exatamente a umsistema linear, visto que entradas sinusoidais conduzem a saídas que (uma vezpassado o regime transiente) só aproximadamente são sinusoidais, e visto quemultiplicar uma entrada por um valor k conduz a uma saída que só aproximada-mente é k vezes a saída anterior. Ainda assim, a aproximação linear acaba porser suficientemente boa para conceber controladores e testá-los. De agora emdiante, usaremos unicamente o modelo que consiste em funções de transferêncialineares, deixando de lado o não linear.

4.1. Trace o gráfico do lugar geométrico das raizes de todas as funções detransferência, com a função de Matlab rlocus.

4.2. Use a função feedback para achar a função de transferência em anelfechado quando se emprega um controlador proporcional (experimentevários valores diferentes para os controladores). Ache os polos com afunção pole e verifique que os resultados correspondem ao gráfico do lu-gar geométrico das raizes.

4.3. Trace os diagramas de Bode de todas as funções de transferência com afunção de Matlab bode.

4.4. Ache algumas respostas das funções de transferência a sinusoides e con-firme os resultados obtidos com os diagramas de Bode. (Ajuda: pode usaro botão Data Cursor na janela do diagrama de Bode para achar valores

14

para os ganhos e as fases a frequências específicas. Não confunda frequên-cias em radianos por segundo com frequências em Hertz.) Para achar ga-nhos e fases, use a função findbodedata, disponível na página da cadeirade Controlo de Sistemas na Internet. Use a variável neglect para trun-car os pontos do regime transiente. Tenha em consideração que os dadosde entrada/saída têm de ser amostrados com um tempo de amostragemconstante. (Ajuda: se está a usar um Scope, pode configurar o bloco paraforçar a variável que regista as saídas a ter um tempo de amostragemconstante.)

4.5. Ache os ganhos e as fases correspondentes às respostas a entradas sinu-soidais que se acham nos ficheiros com dados experimentais obtidos nocapítulo 3. Use a função findbodedata novamente. Ajustam-se bem aosdiagramas de Bode que achou no ponto 4.3?

15

Capítulo 5

Diagramas de Nichols e de

Nyquist; margens de ganho e

de fase

5.1. Ache os diagramas de Nichols e de Nyquist que correspondem aos dia-gramas de Bode do ponto 4.3 usando as funções de Matlab nichols enyquist.

5.2. Ache as margens de ganho e de fase envolvidas usando a função de Matlabmargin. Verifique os valores nos diagramas de Nichols e de Nyquist.

16

Capítulo 6

Controlo em cascata

6.1. Suponha que queremos controlar h1. Será possível usar controlo em cas-cata? Que alterações no diagrama na página 14 de [2] teriam de ser intro-duzidas? Quais seriam as várias funções de transferência aí mencionadas?

6.2. Implemente o controlo em cascata do sistema conforme as conclusões a quechegou no ponto anterior. Use controladores proporcionais (Gc1, Gc2 ∈R

+); empregue vários valores e veja qual é o desempenho.

17

Capítulo 7

Controlo PID

Tem agora implementados controladores para h1 com uma configuração seme-lhante à da figura 7.1. Desde agora até ao fim do semestre assumiremos que avariável a controlar é h3.

Figura 7.1: Controlo de h1 usando uma configuração semelhante à do controloem cascata

7.1. Suponha que quer usar as regras de Ziegler-Nichols para obter contro-ladores para este sistema. Pode empregar o método do ganho crítico? Eo método da curva de reação? Ache controladores com as regras que sepodem aplicar, e implemente-os.

7.2. Que especificações de sobre-impulso e de tempo de estabelecimento é queacha serem razoáveis para este sistema? Projete a partir duma análise dolugar geométrico das raizes um controlador PID que satisfaça (na medidaem que for possível) essas especificações. Experimente várias possibili-dades e verifique o desempenho.

Para implementar controladores PID, use o bloco PID Controller da bibliotecaSimulink Extras: Additional Linear de Simulink. (Repare que o blocopede os ganhos P , I e D e não os parâmetros Kp, Ti e Td mencionados napágina 122 de [2].)

18

Capítulo 8

Controlo de avanço e de

atraso

Tem agora implementados controladores para h3 usando as regras de Ziegler-Nichols do método da curva de reação (o método do ganho crítico não podeaplicar-se, por o sistema não ter ganho crítico) e usando o gráfico do lugargeométrico das raizes.

8.1. Use as especificações do ponto 7.2 para projetar controladores de avançoe de atraso para o sistema. Verifique o seu desempenho.

8.2. Compare o desempenho dos controladores de avanço e de atraso com odos controladores P, PI e PID do capítulo 7. Quais são as vantagens edesvantagens de cada um no que diz respeito a este sistema?

19

Capítulo 9

Robustez

9.1. Verifique como é afetado o desempenho dos controladores dos capítulos 7e 8 quando α13 e α30 diminuem (o que corresponde a válvulas entupidas).Tente primero vários valores de α13 enquanto mantém o valor nominal deα30; depois restaure o valor nominal de α13 e diminua α30; por fim façavariar ambos simultaneamente.

9.2. Repita o ponto anterior para valores de α13 e α30 maiores que os nominais(o que corresponde à existência de fugas nos tanques).

9.3. Verifique como é afetado o desempenho dos controladores dos capítulos 7e 8 quando h3 é realimentado incorretamente com um erro de, por exem-plo, −5%. Tente também outros valores, quer positivos quer negativos.

20

Capítulo 10

Não-linearidades rígidas

10.1. Ficou claro no ponto 3.5 que 0 ≤ Q1 ≤ 1, 0 ≤ h1 ≤ 1 e 0 ≤ h3 ≤ 1.Inclua as não-linearidades rígidas correspondentes no seu modelo. Queinfluência pode esperar que isto tenha no desempenho dos controladoresdos capítulos 7 e 8?

10.2. Verifique o desempenho dos controladores dos capítulos 7 e 8 na presençadestas não-linearidades, e confirme (ou não) as suas conclusões do pontoanterior. Encontrará todos os blocos de que necessita na biblioteca deSimulink Discontinuities.

21

Capítulo 11

Discretização dos modelos

11.1. Que tempo de amostragem lhe parece razoável para discretizar o modelo?Leve em conta a colocação dos zeros e polos, que pode achar com as funçõeszero e pole.

11.2. Discretise as funções de transferência G1, G1a, G1b e G3. Use as váriasaproximações disponíveis com a função c2d. Empregue alguns valoresdiferentes para o tempo de amostragem que lhe pareçam razoáveis. Façauso dos blocos da biblioteca Discrete de Simulink.

11.3. Repita as simulações que levou a cabo no ponto 3.4. Compare os resulta-dos. Observe o efeito do tempo de amostragem na exatidão da discretiza-ção e no tempo que leva a simulação a correr.

11.4. Compare os diagramas de Bode e as respostas a impulsos e a degraus dassuas funções de transferência descretizadas com as que achou no ponto 3.3.Observe os efeitos quer do tempo de amostragem quer do método de dis-cretização.

11.5. Com base nos resultados dos pontos anteriores, escolha um método dediscretização e um tempo de amostragem que lhe pareçam apropriados.

22

Capítulo 12

Controlo discreto

12.1. Discretize todos os controladores que achou nos capítulos 7 e 8. Use otempo de amostragem que escolheu no ponto 11.5. Use as várias aproxi-mações disponíveis com a função c2d.

12.2. Compare o desempenho dos controladores discretizados implementadosjuntamente com as funções de transferência discretizadas com o desem-penho dos controladores originais implementados com as funções de trans-ferência contínuas no tempo.

12.3. Use as especificações do ponto 7.2 para conceber controladores direta-mente em Z . Verifique qual o seu desempenho.

23