78
UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Controlo Adaptativo de um turbo-ventilador piloto Realizado por: Rita Sofia Mariano Correia Amado, nº 46684, AE de Sistemas de Decisão e Controlo LICENCIATURA EM ENGENHARIA ELECTROTÉCNICA E DE COMPUTADORES Relatório de Trabalho Final de Curso 18/2004/L Professor Orientador: João de Miranda Lemos Professor Acompanhante: Bertinho M. A. da Costa 28 de Junho de 2004

Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO

Controlo Adaptativo de um turbo-ventilador piloto

Realizado por: Rita Sofia Mariano Correia Amado, nº 46684, AE de Sistemas de Decisão e Controlo

LICENCIATURA EM ENGENHARIA ELECTROTÉCNICA E DE COMPUTADORES Relatório de Trabalho Final de Curso

18/2004/L

Professor Orientador: João de Miranda Lemos Professor Acompanhante: Bertinho M. A. da Costa

28 de Junho de 2004

Page 2: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

i

Agradecimentos Ao concluir a minha carreira académica, quero agradecer de uma forma muito especial aos meus pais e avós pela compreensão e apoio em todos os momentos, os de glória e os mais difíceis, pois sempre acreditaram em mim e me deram força para os ultrapassar. Também quero agradecer aos colegas que durante este percurso me apoiaram e nos tornámos amigos para toda a vida, e aos outros amigos pelos momentos de companhia e lazer que sempre nos dão animo e força, e em especial ao Tiago. E por último, mas não menos importante, aos professores orientadores deste trabalho, o Professor Miranda Lemos e o Professor Bertinho Costa, pelo modo interessado, paciente e motivador como me conduziram neste trabalho, ao longo destes meses.

Page 3: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

ii

Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de temperatura e de caudal de um turbo-ventilador. Os vários procedimentos realizados ao longo deste trabalho foram:

• A identificação do sistema; • O estudo do algoritmo MUSMAR; • O estudo do controlo de temperatura, e de caudal, individualmente; • Melhoramentos no algoritmo MUSMAR; • O controlo simultâneo das duas cadeias.

Palavras Chave: Controlo Adaptativo, MUSMAR, Controlo de Temperatura, Controlo de Caudal

Page 4: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

iii

Abstract e Keywords This work at applying the adaptive MUSMAR controller to the simultaneous control of the temperature and flow of an electric fan. The several procedures realized through this work where:

• The system identification; • The study of the MUSMAR algorithm; • The study of temperature and flow control, individually; • Improvements in the MUSMAR algorithm; • The simultaneous control of the two loops.

Keywords: Adaptive Control, MUSMAR, Temperature Control, Flow Control

Page 5: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

iv

Índice Agradecimentos ......................................................................................................................................... i Resumo e Palavras chave.......................................................................................................................... ii Abstract e Keywords ................................................................................................................................ iii Índice........................................................................................................................................................ iv Lista de Figuras ........................................................................................................................................ vi Lista de Siglas ........................................................................................................................................... x Lista de Símbolos..................................................................................................................................... xi Lista de Programas.................................................................................................................................. xii 1 Introdução ......................................................................................................................................... 1

1.1 Objectivos ................................................................................................................................. 1 1.2 Descrição do sistema................................................................................................................. 2

2 Caracterização do processo............................................................................................................... 4 2.1 Modelo Matemático do sistema ................................................................................................ 4 2.2 Caracterização do processo em cadeia aberta ........................................................................... 6

2.2.1 Constante de tempo do processo ....................................................................................... 6 2.2.2 Caracterização do sinal proveniente do sensor ................................................................. 7

2.3 Frequência de amostragem...................................................................................................... 11 3 Controlo Adaptativo MUSMAR..................................................................................................... 12

3.1 Introdução ............................................................................................................................... 12 3.2 Modelos Preditivos ................................................................................................................. 12 3.3 Modelos preditivos do MUSMAR.......................................................................................... 14 3.4 Mínimos Quadrados com Factor de Esquecimento Direccional............................................. 15 3.5 Algoritmo MUSMAR ............................................................................................................. 16 3.6 Implementação do programa................................................................................................... 17 3.7 Propriedades............................................................................................................................ 19

4 Controlo das cadeias de temperatura e de caudal com o MUSMAR.............................................. 21 4.1 Controlo da cadeia de temperatura.......................................................................................... 21 4.2 Controlo da cadeia de caudal .................................................................................................. 23 4.3 Variação de parâmetros........................................................................................................... 24 4.4 Caracterização do processo em cadeia fechada ...................................................................... 29

5 Inclusão de pesos dinâmicos ........................................................................................................... 31 6 Inclusão de efeito integral ............................................................................................................... 33

6.1 Modelo preditivo do ∆MUSMAR ......................................................................................... 33 6.2 Algoritmo incremental ∆MUSMAR...................................................................................... 34 6.3 Implementação do algoritmo incremental ∆MUSMAR ........................................................ 34 6.4 Integrador anti windup ............................................................................................................ 36 6.5 Implementação do algoritmo com integrador anti windup ..................................................... 36

7 “Servo”, manipulação da referência................................................................................................ 38 7.1 Seguimento da trajectória de referência para a cadeia de caudal............................................ 38 7.2 Seguimento da trajectória de referência com filtragem para a cadeia de caudal .................... 39 7.3 Seguimento da trajectória de referência com filtragem e efeito integral para a cadeia de caudal ………………………………………………………………………………………………..40 7.4 Seguimento da trajectória de referência para a cadeia de temperatura ................................... 40

8 Controlo simultâneo das duas cadeias ............................................................................................ 42 8.1 Implementação do algoritmo de controlo simultâneo............................................................. 43

9 Conclusões ...................................................................................................................................... 50 A. Anexo ao programa lee.c.................................................................................................................... 51

Page 6: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

v

B. Anexo à secção 4.3............................................................................................................................. 52 C. Anexo ao programa que calcula o custo............................................................................................. 57 D. Anexo à secção 5................................................................................................................................ 58 E. Anexo ao programa RTMflow2.c....................................................................................................... 59 F. Anexo à secção 6.5 ............................................................................................................................. 59 G. Anexo ao programa Servo.c ............................................................................................................... 60 H. Anexo à secção 7.1............................................................................................................................. 60 I. Anexo à secção 7.2 .............................................................................................................................. 61 J. Anexo à secção 7.3 .............................................................................................................................. 62 K. Anexo ao programa Musmar1.c ......................................................................................................... 62 REFERÊNCIAS...................................................................................................................................... 64 BIBLIOGRAFIA .................................................................................................................................... 65

Page 7: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

vi

Lista de Figuras Figura 1 – Estrutura de um controlador adaptativo................................................................................... 1 Figura 2- Modelo do ventilador ................................................................................................................ 2 Figura 3 – Esquema de ligação do ventilador ao PC ................................................................................ 2 Figura 4 –Diagrama esquemático de um sistema controlado por computador ......................................... 3 Figura 5 – Interdependência da temperatura com o caudal ...................................................................... 3 Figura 6 – Esquema do ventilador com grandezas físicas e respectivas unidades ................................... 4 Figura 7 – Diagrama de blocos do processo da temperatura .................................................................... 5 Figura 8 – Resposta ao escalão, teórica .................................................................................................... 6 Figura 9 – Resposta ao escalão da cadeia de temperatura ........................................................................ 6 Figura 10 – Resposta ao escalão da cadeia de caudal ............................................................................... 7 Figura 11 – Ensaios realizados com sinal de actuação constante ............................................................. 8 Figura 12 –Histogramas dos resultados apresentados na figura 11, divididos em 100 classes ................ 9 Figura 13 – Histogramas normalizados, com uma divisão dos dados em 20 classes ............................. 10 Figura 14 – Autocorrelação do ruído para os diferentes níveis de actuação........................................... 11 Figura 15 – Implementação do algoritmo ............................................................................................... 17 Figura 16 – Saída e referência (em cima), controlo aplicado ao processo de temperatura (em baixo) .. 21 Figura 17 – Aumento da referência e respectiva variação do sinal de saída e do sinal de controlo ....... 22 Figura 18 – Diminuição do sinal de referência e resposta da saída do processo .................................... 22 Figura 19 – Ganhos de retroacção da cadeia de temperatura.................................................................. 23 Figura 20 – Saída e referência (em cima), controlo aplicado ao processo (em baixo) ........................... 24 Figura 21 – Ganhos de retroacção para a cadeia de caudal .................................................................... 24 Figura 22 – Saída e referência com λ =0.999 em cima, Saída e referência com λ =0.95 em baixo...... 25 Figura 23 – Variação do custo com λ .................................................................................................... 25 Figura 24 - Saída e referência com 510−=ρ em cima, Saída e referência com 210−=ρ em baixo ... 26 Figura 25 – Variação do custo com ρ (esquerda), Valor esperado da actuação e do erro com ρ

(direita)............................................................................................................................................ 26 Figura 26 – Variação do custo com Tm................................................................................................... 26 Figura 27 – Evolução dos ganhos de retroacção para o caso de Tm = 1.................................................. 27 Figura 28 – Evolução dos ganhos de retroacção para o caso de Tm = 10................................................ 27 Figura 29 – Variação do custo com o número de preditores .................................................................. 27 Figura 30 – Saída e referência (em cima), controlo aplicado ao processo (em baixo) com

1,6 == SbSa nn ................................................................................................................................ 28 Figura 31 – Evolução dos ganhos com 1,6 == SbSa nn ......................................................................... 28 Figura 32 – Saída e referência (em cima), controlo aplicado ao processo (em baixo) com Ta=1s......... 28 Figura 33 – Variação do custo com Ta.................................................................................................... 28 Figura 34 – Saídas do processo de caudal para diferentes valores de peso de actuação do controlo ..... 29 Figura 35 – Histograma dos resultados apresentados na figura 34, divididos em 100 classes ............... 30 Figura 36 – Autocorrelação do ruído para diferentes valores do peso de actuação de controlo............. 30 Figura 37 – Estrutura de filtros a implementar ...................................................................................... 31 Figura 38 – Saída e referência (em cima), controlo aplicado ao processo (em baixo) com

11

4.011)(2 −

+=

qqF ...................................................................................................................... 32

Figura 39 – Estrutura a implementar com algoritmo incremental .......................................................... 34 Figura 40 - Saída e referência (em cima), controlo aplicado ao processo (em baixo), com algoritmo

∆MUSMAR ................................................................................................................................... 35

Page 8: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

vii

Figura 41 – Estrutura a implementar com integrador anti windup ......................................................... 36 Figura 42 – Saída e referência (em cima), controlo aplicado ao processo (em baixo), com integrador ant

windup e Tt=10 ............................................................................................................................... 37 Figura 43 – Saída e trajectória de referência para 3.0=γ (em cima), Saída e trajectória de referência

para 8.0=γ (em baixo)................................................................................................................... 38 Figura 44 – Saída e trajectória de referência (em cima), sinal de controlo aplicado (em baixo), 8.0=γ

e 11

45.011)(2 −

+=

qqF .................................................................................................................. 39

Figura 45 - Saída e trajectória de referência (em cima), sinal de controlo aplicado (em baixo), 8.0=γ e

11

5.011)(2 −

+=

qqF e 10=Tt ...................................................................................................... 40

Figura 46 – Saída e trajectória de referência (em cima), sinal de controlo aplicado (em baixo), para a cadeia de temperatura, 8.0=γ ....................................................................................................... 41

Figura 47 - Saída e trajectória de referência (em cima), sinal de controlo aplicado (em baixo), para a cadeia de temperatura, 93.0=γ ..................................................................................................... 41

Figura 48 – Fluxograma do programa que efectua o controlo simultâneo ............................................. 42 Figura 49 – Característica estática da temperatura para diferentes valores de caudal(1) ......................... 46 Figura 50 - Saída e trajectória de referência (em cima), sinal de controlo aplicado (em baixo), para a

cadeia de temperatura...................................................................................................................... 46 Figura 51 - Saída e trajectória de referência (em cima), sinal de controlo aplicado (em baixo), para a

cadeia de caudal .............................................................................................................................. 47 Figura 52 – Ganhos de retroacção da cadeia de temperatura.................................................................. 47 Figura 53 – Ganhos de retroacção da cadeia de caudal .......................................................................... 47 Figura 54 - Saída e trajectória de referência (em cima), sinal de controlo aplicado (em baixo), para a

cadeia de temperatura...................................................................................................................... 48 Figura 55 - Saída e trajectória de referência (em cima), sinal de controlo aplicado (em baixo), para a

cadeia de caudal .............................................................................................................................. 49 Figura 56 – Ganhos de retroacção da cadeia de temperatura.................................................................. 49 Figura 57 - Ganhos de retroacção da cadeia de caudal ........................................................................... 49 Figura 58- Saída e referência(em cima), sinal de controlo(em baixo), com λ =0.95 ............................ 52 Figura 59 – Ganhos de retroacção para λ =0.95..................................................................................... 52 Figura 60 - Saída e referência(em cima), sinal de controlo(em baixo), com λ =0.97 ........................... 52 Figura 61– Ganhos de retroacção para λ =0.97...................................................................................... 52 Figura 62 - Saída e referência(em cima), sinal de controlo(em baixo), com λ =0.995 ........................ 53 Figura 63 – Ganhos de retroacção para λ =0.995................................................................................... 53 Figura 64– Saída e referência(em cima), sinal de controlo(em baixo), com λ =0.999 ......................... 53 Figura 65 – Ganhos de retroacção com λ =0.999................................................................................... 53 Figura 66 - Saída e referência(em cima), sinal de controlo(em baixo), com 510−=ρ ........................ 53 Figura 67 – Ganhos de retracção para 510−=ρ ..................................................................................... 53 Figura 68 - Saída e referência(em cima), sinal de controlo(em baixo), com 3105 −×=ρ .................... 54 Figura 69 – Ganhos de retroacção para 3105 −×=ρ .............................................................................. 54 Figura 70 - Saída e referência(em cima), sinal de controlo(em baixo), com 210−=ρ ......................... 54 Figura 71 – Ganhos de retroacção para 210−=ρ ................................................................................... 54 Figura 72 - Saída e referência(em cima), sinal de controlo(em baixo), com Tm = 8 ............................ 54 Figura 73 – Ganhos de retroacção para Tm = 8...................................................................................... 54

Page 9: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

viii

Figura 74 - Saída e referência(em cima), sinal de controlo(em baixo), com Tm = 1 ............................ 55 Figura 75 – Ganhos de retroacção para Tm = 1...................................................................................... 55 Figura 76 - Saída e referência(em cima), sinal de controlo(em baixo), com nsa=4 e nsb=1................. 55 Figura 77 – Ganhos de retroacção para nsa=4 e nsb=1 .......................................................................... 55 Figura 78 - Saída e referência(em cima), sinal de controlo(em baixo), com nsa=2 e nsb=1................. 55 Figura 79 – Ganhos de retroacção para nsa=2 e nsb=1 .......................................................................... 55 Figura 80- Saída e referência(em cima), sinal de controlo(em baixo), com nsa=3 e nsb=2.................. 56 Figura 81 – Ganhos de retroacção para nsa=3 e nsb=2 .......................................................................... 56 Figura 82 - Saída e referência(em cima), sinal de controlo(em baixo), com nsa=3 e nsb=5................. 56 Figura 83 – Ganhos de retroacção para nsa=3 e nsb=5 .......................................................................... 56 Figura 84 - Saída e referência(em cima), sinal de controlo(em baixo), com Ta=0.01s ......................... 56 Figura 85 - Ganhos de retroacção para Ta=0.01s ................................................................................... 56 Figura 86 - Saída e referência(em cima), sinal de controlo(em baixo), com Ta=1s.............................. 57 Figura 87 - Ganhos de retroacção para Ta=1s ........................................................................................ 57 Figura 88 – Saída e referência (em cima), controlo aplicado ao processo (em baixo) com

11

2.011)(2 −

+=

qqF ...................................................................................................................... 58

Figura 89 – Saída e referência (em cima), controlo aplicado ao processo (em baixo) com

11

45.011)(2

−−

+=

qqF .................................................................................................................... 58

Figura 90 - Saída e referência (em cima), controlo aplicado ao processo (em baixo) com

11

5.011)(2 −

+=

qqF ...................................................................................................................... 58

Figura 91 - Saída e referência (em cima), controlo aplicado ao processo (em baixo) com

11

6.011)(2

−−

+=

qqF ...................................................................................................................... 58

Figura 92 – Saída e referência (em cima), controlo aplicado ao processo (em baixo), com integrador anti windup e Tt=2 .......................................................................................................................... 59

Figura 93 – Saída e referência (em cima), controlo aplicado ao processo (em baixo), com integrador anti windup e Tt=5 .......................................................................................................................... 59

Figura 94 – Saída e trajectória de referência (em cima), sinal de controlo aplicado (em baixo), 3.0=γ......................................................................................................................................................... 60

Figura 95 - Ganhos de retroacção para 3.0=γ ..................................................................................... 60 Figura 96 – Saída e trajectória de referência (em cima), sinal de controlo aplicado (em baixo), 8.0=γ

......................................................................................................................................................... 61 Figura 97 – Ganhos de retroacção para 8.0=γ ..................................................................................... 61 Figura 98 – Saída e trajectória de referência (em cima), sinal de controlo aplicado (em baixo), 8.0=γ

e 11

4.011)(2

−−

+=

qqF .................................................................................................................... 61

Figura 99 – Saída e trajectória de referência (em cima), sinal de controlo aplicado (em baixo), 8.0=γ

e 11

5.011)(2

−−

+=

qqF .................................................................................................................... 61

Page 10: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

ix

Figura 100 - Saída e trajectória de referência (em cima), sinal de controlo aplicado (em baixo), 8.0=γ

e 11

6.011)(2

−−

+=

qqF e 10=Tt ................................................................................................... 62

Figura 101 - Saída e trajectória de referência (em cima), sinal de controlo aplicado (em baixo), 8.0=γ

e 11

7.011)(2

−−

+=

qqF e 10=Tt ................................................................................................... 62

Page 11: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

x

Lista de Siglas MUSMAR – MultiStep Multivariable Adaptative Regulator GPC – Generalized Predictive Controller CAHE – Controlo Adaptativo de Horizonte Estendido ARX – Autoregressivo com entrada exógenea MQFED/DFRLS – Mínimos Quadrados com Factor de Esquecimento Direccional RLS – Recursive Least Squares

Page 12: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

xi

Lista de Símbolos J Funcional de custo

aT Período de amostragem

mT Horizonte estendido

SbSa nen Número de preditores ρ Peso na actuação no controlo λ Factor de esquecimento α Coeficiente de peso dos filtros Tt Constante de tempo de seguimento

Se Erro de sinal

Page 13: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

xii

Lista de Programas lee.c programa desenvolvido em linguagem C que permite obter a resposta a um escalão. Correndo escalao.m no directório onde se encontram as respectivas respostas ao escalao, obtém-se os respectivos gráficos. RTMflow1.c e RTMUSM6.c programas desenvolvidos em linguagem C e fornecidos pelo professor orientador com o controlador adaptativo MUSMAR, para a cadeia de caudal e a cadeia de temperatura, respectivamente. Correndo mostra1.m no directório onde se encontram os dados de saída das experiências, obtém-se os gráficos correspondentes aos sinais lidos do processo e os ganhos do controlador adaptativo MUSMAR. custo.m programa desenvolvido no MATLAB para calcular o custo das observações feitas, com diferentes parâmetros. Programa usado para a inclusão de pesos dinâmicos: RTMflow2.c, alterado a partir do programa RTMflow1.c fornecido pelo professor orientador com o controlador adaptativo MUSMAR. Para implementar os filtros usa duas funções auxiliares rdfiltro.c e simfil.c, estas duas funções estão explicadas no anexo D. Programa usado para a inclusão de efeito integral: RTMflow3.c implementa algoritmo incremental. Rflowi.c implementa algoritmo anti windup. Programa usado para a inclusão de seguimento de trajectória: Servo.c implementa o seguimento de trajectória, para tal teve que se alterar a função ext_ref.c pela função sev_ref.c, esta função está explicada no anexo E. Implementou-se duas variantes do programa Servo.c de modo a que se pudesse incluir a filtragem, ServoF.c, e o efeito integral, ServoFI.c. Para o seguimento da trajectória na cadeia de temperatura implementou-se o programa Servot.c. Programa usado para o controlo simultâneo das duas cadeias: Musmar1.c e musmar1.m onde se pode visualizar os dados de saída das experiências.

Page 14: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

1

1 Introdução

1.1 Objectivos Este trabalho tem como objectivo controlar a temperatura de um turbo-ventilador usando controlo adaptativo preditivo.

O processo que será objecto de estudo é uma versão didáctica do controlo de temperatura ou de caudal de sistemas industriais de grande porte, como por exemplo um campo de colectores solares ou o controlo da temperatura do vapor sobreaquecido numa central termoeléctrica.

Pode obter-se um controlador adaptativo acoplando um algoritmo de identificação recursivo a uma lei de controlo. Na Figura 1 apresenta-se uma das leis possíveis.

Figura 1 – Estrutura de um controlador adaptativo

Os controladores adaptativos são capazes de implementar uma estratégia de controlo de acordo com as características dinâmicas do sistema as quais podem ser variáveis ao longo do tempo, dependendo do ponto de funcionamento do sistema e do grau de deterioração do processo.

De entre os controladores adaptativos existentes, o GPC (Generalized Predictive Controler) e o MUSMAR (MultiStep Multivariable Adaptative Regulator) são os mais utilizados devido às boas características que apresentam, no que diz respeito ao controlo de sistemas com atrasos incertos entre a entrada e a saída, dinâmica não modelada, dinâmica de fase não mínima e presença de ruído colorido correlacionado.

Neste trabalho pretende-se avaliar o desempenho do controlador adaptativo MUSMAR quando usado para controlar a temperatura e o caudal num termoventilador piloto. O objectivo é ganhar em robustez e em desempenho, apesar de se tratar de um algoritmo complexo e difícil de afinar inicialmente.

Page 15: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

2

1.2 Descrição do sistema O sistema a controlar é constituído por um ventilador, uma resistência de aquecimento, dois controladores locais e sensores de temperatura e de caudal. Este sistema pode ser controlado localmente ou externamente, através de um PC equipado com placa de aquisição de dados. O processo completo está representado na Figura 2 e na Figura 3. Tanto as medidas dos sensores FT (caudal de ar) e TE (temperatura), como os comandos de caudal e temperatura, M e R, respectivamente, estão disponíveis externamente para controlo através do PC na forma de sinais eléctricos de tensão, de 0V a 5V.

Figura 2- Modelo do ventilador

Figura 3 – Esquema de ligação do ventilador ao PC

Page 16: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

3

O processo de temperatura consiste de um ventilador, de uma resistência de aquecimento e de uma “porta” que regula a abertura da saída do ventilador. Este processo é lento, ou seja, a “dead time” do sistema e a sua constante de tempo são grandes quando comparadas com as do caudal. A temperatura é medida com o sensor TE, apresentado na Figura 2. Este sensor é um elemento Pt-100, que muda a sua resistência com a temperatura. O controlo de caudal é um sistema rápido. O circuito de controlo consiste dos seguintes elementos do processo, de um ventilador de velocidade controlada e de um tubo de ar. O caudal de ar é medido usando o sensor FT, apresentado na Figura 2. É a pressão diferencial que passa pelo sensor que é medida. A leitura dos valores dos sensores e envio dos valores de actuação são feitos de acordo com a Figura 4.

Figura 4 –Diagrama esquemático de um sistema controlado por computador

A saída (leitura do sensor) é convertida para digital no conversor A/D. A conversão é feita em tempos de amostragem, kt . O computador interpreta o sinal convertido, )}({ kty , como uma sequência de números, processando estas medidas usando um algoritmo e devolve uma nova sequência de números,

)}({ ktu . Esta sequência é convertida para um sinal analógico através de um conversor D/A, ou seja, é o sinal de actuação M ou R.

É de esperar que a dinâmica da temperatura seja dependente do caudal, pois tem-se a noção de que quanto maior for o caudal menor será o tempo de transporte e consequentemente o aquecimento. Pode-se daqui concluir que se cometerá um erro ao considerar um modelo global para a temperatura, para todos os caudais, o que irá reflectir uma perda de desempenho do controlador.

Também há que ter em conta a região de operação escolhida para a temperatura, já que não é razoável esperar à partida que a característica estática da temperatura seja linear, para um valor fixo de caudal.

A finalidade principal do controlador será de fazer estabelecer a temperatura de saída na referência desejada, o mais rapidamente possível, sem que se esforce excessivamente o comando de temperatura. Também será necessário que o processo controlado mantenha as suas características tão constantes quanto possível quando se varia o caudal de ar. Irá então considerar-se o caudal como uma perturbação acessível para medida que afecta a cadeia de temperatura de modo não linear, de acordo com a Figura 5.

Caudal

Comando de temperatura Temperatura (saída)

Figura 5 – Interdependência da temperatura com o caudal

Relógio

A/D Algoritmo D/A Processo

Processo

Page 17: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

4

2 Caracterização do processo

2.1 Modelo Matemático do sistema É difícil obter um modelo matemático preciso para a troca de calor. As razões para tal são as condições de caudal que são difíceis de descrever matematicamente. Então, ir-se-há fazer algumas suposições, e obter um modelo matemático baseado nestas suposições [1]. Estas são:

Figura 6 – Esquema do ventilador com grandezas físicas e respectivas unidades

A energia transferida para o ar dos elementos de aquecimento é proporcional ao sinal manipulado. A temperatura é igualmente transferida num volume limitado através dos elementos de

aquecimento. A acumulação de calor na coluna e no metal envolvente é ignorado. A perda de calor através das paredes da coluna é ignorada.

Onde )(tθ é a temperatura do ar medida em ºC, q é o caudal de ar medido em sm /3 , l é a distância ao sensor medida em m , C é a capacidade calorífica de aquecimento medida em kmJ 3/ e V é o volume do tubo medido em 3m . Do balanço de energia obtém-se assim a equação

[ ] )()()()( tPtcqtcqvtcVdtd

+−= θθ (2.1)

em que C e V são constantes. A energia térmica é calculada com respeito a 0 ºC, sendo neste ponto zero. Então obtém-se

[ ]KuUvcqcVdt

d+−= )(1 θθ (2.2)

Assume-se a temperatura no sensor como uma saída controlada

[ ]Ctty º)()( τθ −= (2.3)

Page 18: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

5

Onde o tempo de atraso é dado por

[ ]sqAl

=τ (2.4)

As equações (2.2) e (2.3) descrevem o modelo matemático do processo. A Figura 7 mostra o diagrama de blocos do processo da temperatura. Observa-se que o processo é um sistema com retroacção, isto explica o facto do processo tender para um valor constante quando o sinal de entrada u e v são constantes.

Figura 7 – Diagrama de blocos do processo da temperatura

Aplicando a transformada de Laplace às equações (2.2) e (2.3), obtém-se:

[ ])()()(1)( sKuUscqscqvcV

ss +−= θθ (2.4)

)()( sesY sθτ−= (2.5)

Conjugando as equações (2.4) e (2.5):

)(1

)( 1 sUTs

eKsY

s

+=

−τ

(2.6)

onde cqKuK =1 é um ganho,

qvT = é uma constante de tempo, e

qAl

=τ é o tempo de atraso.

A função de transferência entre u e y é dada pela equação (2.6). A resposta ao escalão do modelo teórico obtido de (2.6) está apresentada na Figura 8.

Page 19: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

6

0 5 10 15 20 25 30 35 40 45 500

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

segundos

volts

Figura 8 – Resposta ao escalão, teórica

2.2 Caracterização do processo em cadeia aberta

2.2.1 Constante de tempo do processo A constante de tempo tem uma importância vital, já que dela depende não só a frequência de amostragem a usar pelo sistema de controlo, como também o tipo de sinal a utilizar na fase de identificação do processo. A constante de tempo do processo pode ser facilmente determinada, ainda que sem grande exactidão, através da resposta do processo a um escalão na entrada, se se lembrar que o tempo de estabelecimento a 5% do valor final da saída de um sistema linear é de aproximadamente três constantes de tempo [2]. Para a obtenção das respostas ao escalão usou-se o programa lee.c, em que se registou os valores lidos do sensor a um ritmo de vinte amostras por segundo.

Figura 9 – Resposta ao escalão da cadeia de temperatura

Page 20: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

7

Visto se guardar 20 amostras por segundo então por inspecção da Figura 9, a cadeia de caudal demorou 50 segundos para atingir o valor final de 2V. O valor a 95% do valor final é atingido ao fim de 30 segundos, podendo-se dizer que a constante de tempo para a temperatura será aproximadamente de 10 segundos. Comparando a Figura 9 com a Figura 8, é necessário ajustar os parâmetros de ganho, constante de tempo e tempo de atraso para que se obtenha uma resposta correspondente com a real, isto é, para um valor de ganho de 1, de constante de tempo de 10 e de atraso 0, verifica-se que o modelo teórico traduz com fiabilidade o modelo real. Da Figura 10 constata-se que o sinal proveniente do sensor contém uma quantidade considerável de ruído, o que dificulta bastante a tarefa de determinar qual o tempo de estabelecimento a 5% do valor da saída do processo. Se se considerar, de forma grosseira, que ao fim de 1.5 segundos é atingido 95% do valor final então a constante de tempo para o caudal será de 0.5 segundos.

Figura 10 – Resposta ao escalão da cadeia de caudal

2.2.2 Caracterização do sinal proveniente do sensor A fim de se avaliar a qualidade do sinal proveniente do sensor realizou-se uma série de ensaios, em cadeia aberta, nos quais o processo foi sujeito a um sinal de actuação constante. Nestes ensaios, registaram-se os valores lidos do sensor a um ritmo de vinte amostras por segundo, tendo o cuidado de só registar os valores depois de decorrido o tempo suficiente para que a saída do processo atinja o regime permanente.

Os ensaios, que diferiram entre si pelo nível de actuação utilizado, conduziram aos resultados apresentados na Figura 11. O nível de actuação foi de um volt, dois volts, três volts e quatro volts, respectivamente da esquerda para a direita e de cima para baixo.

Sabendo que a saída do processo, e logo o sinal proveniente do sensor deveriam apresentar um valor aproximadamente constante, podemos colocar a hipótese de o sinal observado poder ser visto como o resultado da soma de duas componentes independentes.

)()()( nrnyns += (2.7)

Page 21: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

8

em que )(ns é o sinal proveniente do sensor, )(ny é a saída do processo e )(nr representa o ruído existente no sinal proveniente do sensor, podendo ser visto como um sinal amostra de um processo estocástico )(nR , com média nula.

0 200 400 600 8000.8

1

1.2

1.4

1.6

1.8Actuaçao de 1 Volt

Intervalos de amostragem

Volts

0 200 400 600 8001

1.5

2

2.5Actuaçao de 2 Volts

Intervalos de amostragem

Volts

0 200 400 600 8002.5

3

3.5

4Actuaçao de 3 Volts

Intervalos de amostragem

Volts

0 200 400 600 8003.8

4

4.2

4.4

4.6

4.8

5Actuaçao de 4 Volts

Intervalos de amostragem

Volts

Figura 11 – Ensaios realizados com sinal de actuação constante

A observação dos vários histogramas da Figura 12 leva a sugerir que a variável R apresente uma distribuição gaussiana, à qual corresponde a função densidade de probabilidade

2

2

2)(

221)( R

Rmr

R

R erf σ

πσ

= (2.8)

em que Rm e 2

Rσ são, respectivamente, a média e a variância de R, e neste caso 0=Rm .

Sendo )(ny um sinal aproximadamente constante de valor Y, )(ns poderá ser visto como um sinal amostra de um processo estocástico S(n), com os seus valores gerados por uma distribuição gaussiana com média Y e variância 2

Rσ . A confirmação desta assumpção pode ser feita recorrendo aos testes do 2χ e de Kolmogorov-Smirnov para comparação entre distribuições de probabilidade.

Page 22: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

9

0.8 1 1.2 1.4 1.6 1.80

10

20

30

40

Tensao de saida em volts

Oco

rrenc

ias

1 1.5 2 2.50

10

20

30

40

Tensao de saida em volts

Oco

rrenc

ias

2.5 3 3.5 40

5

10

15

20

25

30

Tensao de saida em volts

Oco

rrenc

ias

3.5 4 4.5 50

5

10

15

20

25

30

Tensao de saida em voltsOco

rrenc

ias

Figura 12 –Histogramas dos resultados apresentados na figura 11, divididos em 100 classes

Teste do 2χ

O teste do 2χ , [3], permite testar se uma dada hipótese 0H se verifica ou não. No caso em análise esta hipótese toma a forma:

=0H “Os dados têm uma distribuição gaussiana” onde se entende por dados os valores do sinal de saída do sensor nos ensaios da Figura 11. Para aplicar o teste do 2χ consideram-se k resultados exaustivos e mutuamente exclusivos, designados por kAAA ,,, 21 K . A escolha dos resultados corresponde à divisão dos resultados em classes efectuada pela função hist do MATLAB.

Seja iy , com i a tomar os valores inteiros entre 1 e k, o número de vezes que o resultado iA ocorreu na amostra. Se a hipótese 0H se verificar (i.e., se os resultados do ensaio satisfizerem uma distribuição gaussiana), este número corresponderá aproximadamente à probabilidade do acontecimento { }ocorreuAi multiplicada pelo número total de elementos da amostra. Esta probabilidade designada por 0iP , pode ser calculada de acordo com uma distribuição gaussiana com média e desvio padrão convenientes.

A quantidade

∑=

−=

k

i i

iik Pn

Pnyq

1 0

20

1)(

(2.9)

será então uma medida do afastamento da amostra da distribuição gaussiana. Esta quantidade é a realização de uma variável aleatória que é aproximadamente 2χ com k-1 graus de liberdade. Isto permite estabelecer o seguinte teste:

Page 23: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

10

Se )1(21 −<− kqk αχ aceita-se 0H com nível de significância α (i.e., decide-se pela gaussianidade dos

dados).

Por nível de significância entende-se a probabilidade de rejeitar a hipótese 0H , sendo 0H verdadeira.

Uma vez estabelecidos os valores de α e de k, o valor )1(2 −kαχ pode ser dado por tabelas ou recorrendo à função chi2vin do MATLAB.

No caso dos ensaios apresentados na Figura 11, a média e o desvio padrão da distribuição de referência são desconhecidos. Uma estratégia de estimação possível consiste em estimá-los a partir dos dados, isto é, estes serão substituídos pela média e pelo desvio padrão da amostra. Isto implica uma redução de dois graus de liberdade, ou seja, )3(2

1 −<− kqk αχ .

A probabilidade 0iP é dada pela área sob a curva da função densidade de probabilidade gaussiana no intervalo correspondente ao acontecimento. Esta área pode ser obtida a partir de tabelas ou recorrendo à função normcdf do MATLAB.

0.8 1 1.2 1.4 1.6 1.80

0.2

0.4

0.6

0.8

1

Tensao de saida em volts

Oco

rrenc

ias

1 1.5 2 2.50

0.2

0.4

0.6

0.8

1

Tensao de saida em volts

Oco

rrenc

ias

2.5 3 3.5 40

0.2

0.4

0.6

0.8

1

Tensao de saida em volts

Oco

rrenc

ias

3.5 4 4.5 50

0.2

0.4

0.6

0.8

1

Tensao de saida em volts

Oco

rrenc

ias

Figura 13 – Histogramas normalizados, com uma divisão dos dados em 20 classes

Dos gráficos da Figura 13 é sugerido que nos ensaios as distribuições não sejam gaussianas, e se retirar as amostras mais afastadas da média da amostra faz-se que q se torne maior já que a esses valores corresponde probabilidades 0iP muito pequenas, indo obter-se uma distribuição gaussiana mais próxima dos histogramas.

De acordo com [4], a autocorrelação de um sinal é definida do seguinte modo:

{ } ∑∑==1 2

),,,(),( 21,*21

*

x xxxmnxx mxnxpxxxxEmn

mnφ (2.10)

Page 24: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

11

A sequência de autocorrelação é uma medida da dependência entre valores de processos aleatórios em tempos diferentes, isto é, descreve parcialmente a variação temporal de um sinal aleatório. Da Figura 14 verifica-se que o ruído deste processo tem média nula, mas não tem variância unitária, não se tratando de ruído branco de média nula e variância unitária, pois a autocorrelação deste é a dada por (2.11), isto é, tem a energia concentrada na origem.

[ ] [ ] [ ][ ] ⎩

⎨⎧

=≠

=⎪⎩

⎪⎨⎧

==

≠+=+=

0,10,0

0,)(

0,)()()()()( 22

**

mm

mnxE

mmnxEnxEmnxnxEm

nxx σ

φ (2.11)

0 200 400 600 800-0.01

0

0.01

0.02

0.03Autocorrelacao do ruido para 1 Volt na entrada

0 200 400 600 800-0.02

-0.01

0

0.01

0.02

0.03

0.04Autocorrelacao do ruido para 2 Volts na entrada

0 200 400 600 800-0.01

0

0.01

0.02

0.03

0.04

0.05Autocorrelacao do ruido para 3 Volts na entrada

0 200 400 600 800-0.02

0

0.02

0.04

0.06

0.08Autocorrelacao do ruido para 4 Volts na entrada

Figura 14 – Autocorrelação do ruído para os diferentes níveis de actuação

Correndo o programa histograma.m no MATLAB, obtém-se os resultados apresentados nas figuras 11, 12 , 13 e 14.

2.3 Frequência de amostragem Na escolha da frequência de amostragem, e porque não havia um conhecimento a priori da dinâmica do processo, teve-se em conta o valor aproximado das constantes de tempo calculadas em 2.2.1. O valor da constante de tempo para a cadeia de temperatura é de 12 segundos, e para a cadeia de caudal cerca de 0.5 segundos. Para o Controlo deve haver 4 a 10 amostras por contante de tempo, então obtém-se um período de amostragem de 3 segundos para a temperatura e de 0.125 segundos para o caudal. Após as primeiras experiências em cadeia fechada, chegou-se a um período de amostragem de 10 segundos para a cadeia de temperatura e de 0.1 segundos para a cadeia de caudal. Portanto, a determinação da constante de tempo é uma boa referência para se ter como ponto de partida.

Page 25: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

12

3 Controlo Adaptativo MUSMAR

3.1 Introdução De entre as diversas técnicas de controlo adaptativo é de salientar a do Controlo Adaptativo de Horizonte Estendido (CAHE). O CAHE é uma estratégia que tenta minimizar uma funcional de custo quadrático ao longo de um horizonte de controlo alargado.

[ ]⎭⎬⎫

⎩⎨⎧

−+++= ∑=

T

k

tT Oktukty

TEJ

1

22 )1( )(~1 ρ (3.1)

em que )()()(~ * ktyktykty +−+=+ é o erro de controlo, ρ é um peso não-negativo de actuação no controlo e tO é informação disponível até ao instante t.

Esta estratégia consiste em acoplar uma lei de controlo baseada na minimização de (3.1) com um horizonte de controlo de um passo à frente com a estimativa de mínimos quadrados recursivos.

O algoritmo MUSMAR [5,6] aplica uma estratégia de horizonte recidivo no qual, de toda a sequência de controlo calculada, )(tu ,K , )( mTtu + , somente )(tu é aplicado. Todo o processo é repetido na iteração seguinte em 1+t . Também é gerada uma sequência de controlo, de 1+t a mTt + utilizando um ganho de retroacção constante do “estado” do sistema, deixando livre o ganho de retroacção que gera )(tu .

3.2 Modelos Preditivos Considere-se o processo descrito pelo modelo ARX [5,7] (Autoregressivo com entrada exógena)

)()1()()()( 1*1* tetuqBtyqA +−= −− (3.2) onde )(ty é a saída, )(tu é o sinal de controlo do processo, 1−q é o operador atraso unitário, { })(te é uma sequência de ruído branco com média nula e variância { } 22 )( eteE σ= e, )( 1* −qA e )( 1* −qB são polinómios em 1−q , não tendo factores comuns instáveis.

∑=

−− +=n

i

iiqaqA

1

1* 1)( (3.3)

∑=

−− =m

i

iiqbqB

0

1* )( (3.4)

BmAn ∂≡∂≡ e Não é feita qualquer hipótese sobre o valor exacto do atraso do sistema, pelo que alguns dos primeiros coeficientes do polinómio B são nulos. Supondo que os polinómios A e B são estáveis, a teoria das equações Diofantinas [5,7] garante que existem polinómios jF e jG da forma

Page 26: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

13

∑=

−−−− +=+++=j

i

ii

jjj qfqfqfqF

1

11

1* 11)( K (3.5)

∑=

−+−−

−− =+++=n

i

jji

njn

jjj qgqgqggqG

1

11

110

1* )( K (3.6)

que satisfazem a equação )()()(1 1*11*1* −−−−− += qGqqAqF j

jj (3.7)

Para se obter o modelo preditivo de y , 1+j passos à frente, multiplica-se (3.2) por )( 1* −qFj e utilizando a equação (3.7), obtém-se a seguinte relação

)1()()()()()()()1( 1*1*1*1* +++++=++ −−−− jteqFjtuqBqFtyqGjty jjj (3.8)

Tem-se assim que o preditor óptimo, no sentido que minimiza o erro quadrático médio da estimativa

)1( ++ jty é dado por

)()()()()()1(ˆ 1*1*1* jtuqBqFtyqGtjty jj ++=++ −−− (3.9)

já que o último termo de (3.8) é ortogonal a todos os outros. Definido os polinómios )( 1* −qH j e )( 1* −qW j por

jjj qwqwwqW −+

−− +++= 11

211* )( K (3.10)

11

110

1* )( +−−

−− +++= mjm

jjj qhqhhqH K (3.11)

que satisfazem a equação diofantina

)()()()( 1*11*1*1* −−−−−− += qHqqWqBqF jj

jj (3.12)

vem que

)1()()()()()()1(ˆ 1*1*1* −+++=++ −−− tuqHjtuqWtyqGtjty jjj (3.13)

ou seja, definido o vector de coeficientes

[ ]Tjm

jjjn

jjj hhhggg 1101101 −−+ = KKπ (3.14)

e o vector de pseudoestado [ ]Tmtututuntytytyts )()2()1()1()1()()( −−−+−−= KK (3.15)

obtém-se o modelo preditivo

)1()()()1(0

1'

1 ++++−+=++ ∑=

++ jttsijtuwjty j

j

iji επ (3.16)

em que )1( ++ jtjε é o resíduo ortogonal a todos os outros termos.

Page 27: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

14

O modelo (3.16) pode ser interpretado do seguinte modo: a saída no instante 1++ jt , depende somente do pseudoestado do instante t e dos sinais de controlo entre t e jt + . Se 0)()( =+== jtutu K , somente as respostas livres de )(1 tsj+π são usadas na predição. Caso contrário, é necessário adicionar, o somatório de convolusão ao termo de resposta livre.

3.3 Modelos preditivos do MUSMAR De acordo com [5,8], tem-se o problema básico de optimização do MUSMAR: Dada a sequência constante de ganhos de retroacção

021 FFFF Tttt ==== +++ K (3.17) determinar o ganho de retroacção )(tF de modo a que )()()(')( ttstFtu η+= optimize a funcional de custo (3.1). Considerando as seguintes equações:

∑=

++ +−+≈++j

iji tsijtuwjty

01

'1 )()()1( π (3.18)

em que ≈ representa a igualdade a menos de termos ortogonais a iu , ts , e em que

TititsFitu ,,1)()()( ' K=++=+ η (3.19) sendo F fixo,

)()()( ' ttsLtu η+= (3.20) com L livre. Da equação (3.19), conclui-se que é possível exprimir todos os valores do controlo do intervalo 1+t a

Tt + nas entradas e saídas até ao instante T. A imposição de uma retroacção de ganho constante ao longo do horizonte de controlo, traduz-se pelo facto de o sistema passar a ser descrito pelo seguinte conjunto de modelos preditivos:

)()()()( ' tvtstuity iyii ++=+ ψθ (3.21)

)()()()1( '11 tvtstuitu i

uii ++=−+ −− φµ Ti ,,1K= (3.22) em que i

uv , iyv ⊥ [ )(),( ' tstu ].

O valor )(tu que minimiza (3.1) é dado por (3.20) com

∑ ∑

∑ ∑

=

=

=

=

⎟⎠

⎞⎜⎝

⎛++

+−=

T

i

T

iii

T

i

T

iiiii

L

1

1

1

22

1

1

1

1 µρθ

φµρψθ (3.23)

Page 28: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

15

em que, para 1=i , o preditor de entrada (3.22) se escrever )()()( 00 tstutu φµ +≈ , com

0,1 00 == φµ . Os resultados anteriores referem-se ao problema com referência nula. Quando a referência não é nula o modelo preditivo (3.21), deve ser descrito por

)()()()(~ ' tvtstuity iyii ++=+ ψθ (3.24)

)()()(~ * ityityity +−+≡+ (3.25) em que )(* ity + é a referencia a seguir. De todas as outras equações apenas a do pseudoestado é alterada.

[ ]TntyTtyntutuntytyts )()()()1()1()()( ** −+−−+−= KKK (3.26) Obtendo-se assim o algoritmo que é descrito na secção 3.5.

3.4 Mínimos Quadrados com Factor de Esquecimento Direccional O MQFED é um algoritmo recursivo, que se baseia num modelo linear do processo que se pretende identificar, admitindo-se que os parâmetros que definem esse processo variam lentamente no tempo.

Este método tem a propriedade de dar estimativas centradas, quando se conhece a ordem do sistema (linear) e quando este é perturbado por ruído branco.

Os ganhos dos controladores que são calculados das estimativas do modelo pelo MQFED, aproximam-se dos ganhos óptimos obtidos com o conhecimento total do modelo do sistema. A adaptabilidade deste algoritmo reside no facto de utilizar o conceito de factor de esquecimento direccional.

De acordo com [7], no esquecimento direccional RLS (DFRLS), a matriz de informação é actualizada de acordo com

)1()1())(1()1()( ' −−−+−Λ=Λ ttttt ϕϕα (3.27)

Onde )(tα é um escalar que define a quantidade de informação que está a ser perdida na direcção da matriz de característica )1()1('1 −− tt ϕϕ . Então, a informação é apagada apenas na direcção da informação que chega.

As equações de DFRLS para a estimação do parâmetro θ no modelo preditivo

)()1(')( tvtty +−= ϕθ (3.28)

Em que y e ϕ são observáveis e v é um resíduo, são

)1()1('ˆ)()( −−−= tttyt ϕθε (3.29)

))(1)(1()1()1('1)1()1()(

tttPtttPtk

αϕϕϕ

−−−−+−−

= (3.30)

)()()1(ˆ)(ˆ ttktt εθθ +−= (3.31)

Page 29: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

16

[ ] )1())(1()1(')()( −−−−= tPtttkItP αϕ (3.32)

Com )()( 1 ttP −Λ= .

Um ponto a considerar é a quantidade de informação a esquecer, )(tα . )(tα tem de ser não-negativo, já que isso significaria um aumento de informação em vez de perda de informação. A matriz de covariância P pode perder a sua característica de definida positiva se )(tα se tornar muito grande.

O seguinte teorema dá os limites de )(tα , tal que a matriz P seja mantida definida positiva.

Teorema 1.

Seja )(tP tal que satisfaz (3.32). Se 0)0( >P então ttP ∀> 0)( se

)(11)(0t

α +<≤ (3.33)

com )1()1()1(')( −−−≡ ttPtt ϕϕρ .

Uma possibilidade é fazer,

10,)1()1()1('

11)( ≤≤−−−

−+−= λ

ϕϕλλα

ttPtt

em que λ é o factor de esquecimento na direcção da informação que chega.

3.5 Algoritmo MUSMAR Em cada intervalo de amostragem, executar recursivamente os seguintes passos:

1. Por mínimos quadrados recursivos, estimar os parâmetros 11 ,,, −− iiii φµψθ , Ti ,,1K= no seguinte conjunto de modelos preditivos:

)()()(~ ' TtsTtuiTty ii −+−≈+− ψθ Ti ,,1K= (3.34)

)()()1( '11 TtsTtuiTtu ii −+−≈−+− −− φµ 1,,2 −= Ti K (3.35)

2. Aplicar a lei de controlo definida por

)()()( ' ttsLtu η+= (3.36) com

∑ ∑

∑ ∑

=

=

=

=

⎟⎠

⎞⎜⎝

⎛++

+−=

T

i

T

iii

T

i

T

iiiii

L

1

1

1

22

1

1

1

1 µρθ

φµρψθ (3.37)

e )(ts dado por (3.26).

Page 30: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

17

3.6 Implementação do programa De seguida explica-se a implementação do programa que usa a lei de controlo (3.36) baseada no modelo preditivo do MUSMAR. A sequência de acções necessárias à implementação do algoritmo é descrita na Figura 15.

Figura 15 – Implementação do algoritmo

Consta dos seguintes passos: Lê valores de simulação previamente definidos num ficheiro (*.con), que o utilizador dirá no

início do programa, assim como a variável tfinal. Inicialização de variáveis: algumas são definidas no ficheiro rtindat.dat, outras como as

matrizes fi_m e psi_m inicializadas a zero, como também os vectores theta_m, miu_m, fi_tot, s e s_f, a matriz u é diagonal.

Ciclo (time = 1, time <= tfinal, t++ )

Aquisição e tratamento das variáveis lidas por intermédio da placa de aquisição de dados (y); Constrói os vectores dos regressores

Actualização de fi_tot : de 1 até 1++ tnSa desloca-se de uma posição e em que )1(_ totfi é igual ao valor lido da placa (y), de 2++ tnSa a 2*2 +++ tnn SbSa desloca-se de uma posição e em que )2(_ ++ tntotfi Sa é igual a timeu _ ;

Arranque Pré-Identificação

Amostragem de y(t) Construção dos vectores

dos regressores Identificação

Cálculo de u(t) Envio de u(t) para o

processo

Espera Ts

Page 31: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

18

122

2

1

1

21

)(

)(

)1()1(~

)(~)1(~

)1(~)(~

_

+++++

+

+++

+

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

−−

−+−−

−+−

SbSa

SbSa

Sa

Sa

Sa

Sb

Sa

NNTNNT

NT

NTNT

TT

nTtu

Ttu

tunTty

TtyTty

tyty

totfi

M

M

M

M

K

K

K

K

Actualização do pseudoestado para regressão: de 1 até San desloca-se de uma posição e em que

)1(_ SanTaTtotfis ++= , de 1 até Sbn desloca-se de uma posição e em que )212(_ SbSaSa nnTanTtotfis ++++= , de 1 até Sbn desloca-se de uma posição e em que

referencias = ; Actualização do pseudoestado para feedback: de 1 até San desloca-se de uma posição e em que

ysf =)1( , de 1+San até SbSa nn + desloca-se de uma posição e em que timeunsf Sa _)1( =+ , de 1++ SbSa nn até SgSbSa nnn ++ desloca-se de uma posição e em que

)1()( referenciannns SgSbSa =++ ;

SgSbSa

SbSa

SbSa

Sa

Sa

Sg

Sb

Sa

NNN

NNNN

NN

nTtv

TtvnTtu

TtunTty

Tty

s

++

+++

+

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

+−−

−−−

−−+−−

M

M

M

K

K

K

1

1

1

)1(

)()(

)1()1(~

)(~

SgSbSa

SbSa

SbSa

Sa

Sa

Sg

Sb

Sa

NNN

NNNN

NN

ntv

tvntu

tunty

ty

sf

++

+++

+

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

+−

−+−

M

M

M

K

K

K

1

1

1

)1(

)()(

)1()1(~

)(~

Cálculo do ganho de kalman, actualização das estimativas do erro de predição para a saída,

de theta, de psi, do erro de predição para a entrada, de miu, de fi e de lambda; Calcula os modelos preditivos do MUSMAR: geração de dither )(tη , cálculo de L dado

por (3.37), actualização de vector com referências passadas e futuras, cálculo do sinal de controlo de acordo com (3.36);

Escreve na placa de aquisição;

Page 32: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

19

Guarda resultados da simulação num ficheiro report.dat ; Escrita da informação em ficheiros “Yg*.dat”.

3.7 Propriedades Em relação ao algoritmo apresentado na secção 3.5., há algumas observações a fazer [5,7]:

1. Há um regressor comum ao conjunto de modelos (3.34) – (3.35), formado por [ ])('),( tstu . Na prática é um factor muito importante, pois apenas se deve utilizar uma equação de actualização da matriz de covariância, o que implica uma redução na carga computacional.

2. A expressão (3.37) para o cálculo dos ganhos apenas implica a inversão de um escalar, e não de

uma matriz como no GPC. Este facto, aliado ao ponto um leva a que o MUSMAR tenha uma carga computacional muito baixa e seja de simples implementação.

3. Se 0=ρ a equação (3.37) reduz-se a

=

=−= T

ii

T

iii

L

1

2

1

θ

ψθ (3.38)

não sendo portanto necessários os preditores da entrada (3.35).

4. Se 1=T é

'12

1

1 ψρθ

θ+

−=L (3.39)

isto é, o algoritmo MUSMAR reduz-se ao regulador autossintonizável clássico. De seguida apresentam-se algumas características importantes do algoritmo [7]:

1. Restrições na entrada Na prática, devido à saturação dos actuadores devido a limitações físicas, o nível da entrada tem que ser limitado. De forma a minimizar as consequências destas limitações, efectuam-se duas acções. A primeira passa por construir os regressores dos algoritmos com ))()('()( ttsFSattu η+= , em vez de (3.36). Sendo Sat uma função de saturação.

A segunda acção correctiva consiste em modificar o procedimento básico de optimização, de forma a contemplar as restrições impostas. Ou seja, um algoritmo de ajuste do peso no controlo ρ , o qual pretende minimizar [ ])(2 tyE sujeito à restrição [ ] 22 )( ctuE ≤ . Segundo isto, o peso no controlo ρ é actualizado de acordo com (3.40).

[ ] 1)(0)(1)()1()()1( 222 <<−++=+ tctu

ctttt αραρρ (3.40)

Page 33: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

20

2. Detecção de rupturas O detector de rupturas é um mecanismo que tem como finalidade auxiliar o MQFED, aquando de uma mudança brusca na dinâmica do sistema.

De entre os diversos mecanismos de detecção de rupturas, há aqueles que se baseiam na sequência de erros de predição, outros na evolução das estimativas dos parâmetros do processo que se pretende controlar. A segunda alternativa é preferida, já que na prática leva a algoritmos mais sensíveis e mais fáceis de ajustar. A filosofia que está subjacente a este método é a seguinte: No MQFED não existe correlação entre os incrementos das sucessivas estimativas dos parâmetros. Caso exista, significa que as estimativas começarão a convergir para novos valores, o que é sinal de que ocorreu uma ruptura. De modo a explorar esta ideia são construídas as seguintes identidades:

)1(ˆ)2()1( 1 −∆+−=− ttwtw θγ (3.41)

[ ])1()(ˆ)( 1 −∆= twtsignt θσ (3.42) )()1()1()( 22 ttrtr σγγ −+−= ] [1;0,, 021 ∈rγγ (3.43)

Quando 0)( rtr > é dado o alarme de detecção de ruptura, sendo 0r definido como limiar de detecção, 21 e γγ definem a relação entre falsos alarmes e avarias não detectadas e ainda o atraso com que as rupturas são detectadas. )(tw é um conjunto de filtros exponenciais dos incrementos das estimativas )(ˆ tθ∆ . Quando existe uma sequência )(tσ onde ocorre mais frequentemente +1, tem como significado que as estimativas estão a convergir para novos valores. Pode acontecer no entanto que as estimativas fornecidas pelo MQFED convirjam para novos valores sem que no entanto o mecanismo de rupturas o detecte. 3. Arranque do algoritmo O arranque do algoritmo deve ser o mais suave possível, de forma a evitar acções de controlo altas. No MUSMAR, 1θ deve ser inicializado a um. O valor inicial da matriz de covariâncias é indiferente desde que seja alto. A referência não deve apresentar variações bruscas. Sempre que possível, deve ser aumentada gradualmente a partir do ponto de equilíbrio. 4. Estabilidade e convergência O algoritmo MUSMAR se convergir e o horizonte for suficientemente grande, converge para perto do mínimo local da funcional de custo quadrático. Simulações com controladores de complexidade reduzida confirmam a teoria e mostram a boa performance do MUSMAR, mesmo em situações difíceis, especialmente para problemas que algoritmos como GPC falham a convergir.

Page 34: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

21

4 Controlo das cadeias de temperatura e de caudal com o MUSMAR

4.1 Controlo da cadeia de temperatura Nesta fase do trabalho, pretende-se controlar a temperatura do processo mantendo o caudal constante.

No controlo da cadeia de temperatura há que ter em atenção vários aspectos: É necessário começar num ponto de funcionamento baixo, isto é, a temperatura inicial tem

que ser baixa, pois com o aumento sucessivo da referência a temperatura da resistência de aquecimento aumenta consideravelmente, e visto estar-se com um caudal constante o arrefecimento da resistência será muito lento;

Antes de se reiniciar uma nova experiência há que ter o cuidado de baixar a temperatura com o que o sistema ficou aquando da experiência anterior, pelo mesmo motivo apresentado no ponto anterior;

Também tem que se ter o cuidado de manter a temperatura ambiente da sala constante. Mostra-se na Figura 16 o resultado obtido para o controlo de temperatura. Nesta experiência usaram-se os seguintes parâmetros: 1,1,3 === SvSbSa nnn , 10=mT , 510*1 −=ρ , 99.0=λ e sTa 10= .

Figura 16 – Saída e referência (em cima), controlo aplicado ao processo de temperatura (em baixo)

Da Figura 16 é notória a lentidão do sistema a reagir a variações da referência. Também se constata que esta lentidão afecta o efeito do sinal de controlo no sistema, ou seja, quando se aproxima da referência o sinal de controlo baixa mas não o suficiente pois o sinal de saída ultrapassa a referência, então o sinal de controlo continua a baixar, mas agora tem demasiado efeito pois o sinal de saída passa a estar abaixo da referência, levando a que o sinal de controlo aumente até que o sinal de saída se aproxime da referência. Estas variações apresentam-se com maior pormenor na Figura 17.

Page 35: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

22

Entre os intervalos de amostragem 150 e 200 verifica-se uma saturação do sinal de controlo, mas como não houve uma reacção do sistema, isto é, o sistema não estava a seguir a referência, o sinal de actuação continuou a injectar o valor máximo possível. O sinal de actuação baixou assim que se baixou a referência desejada.

Figura 17 – Aumento da referência e respectiva variação do sinal de saída e do sinal de controlo

A partir de determinada altura baixou-se a referência de 2V para 1.9V, e da Figura 18 constata-se que levou aproximadamente 90*10 segundos para se aproximar do valor desejado, sendo importante que não se esteja a trabalhar com valores de temperaturas demasiados elevados, pois isto aliado ao facto do processo ser lento, torna este processo ainda mais lento.

Figura 18 – Diminuição do sinal de referência e resposta da saída do processo

Page 36: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

23

0 50 100 150 200 250 300-50

-40

-30

-20

-10

0

10

20

Figura 19 – Ganhos de retroacção da cadeia de temperatura

A capacidade dos sistemas de controlo de temperatura é dependente do caudal que passa pelos elementos de aquecimento. Com o aumento do caudal a capacidade de refrigeração também aumenta. Ou seja, se ao comando da temperatura auxiliar-mos o comando que controla o caudal, quando se quiser baixar a temperatura será muito mais fácil e mais rápido se se aumentar o comando do caudal. Isto leva ao controlo simultâneo das duas cadeias.

4.2 Controlo da cadeia de caudal Nesta fase do trabalho, pretende-se controlar o caudal do processo mantendo a temperatura constante. Mostra-se na Figura 20 e na Figura 21 os resultados obtidos para o controlo de caudal, em que se usaram os seguintes parâmetros 1,1,3 === SvSbSa nnn , 5=mT , 310*1 −=ρ , sTa 1.0= e 99.0=λ . Da Figura 20 verifica-se que o controlador se adapta rapidamente a variações da referência, mas também que é um processo bastante ruidoso, evidenciando que é necessário uma filtragem deste sinal. Para esta estrutura verifica-se que há uma boa e rápida convergência dos ganhos.

Page 37: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

24

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Volts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Volts

Figura 20 – Saída e referência (em cima), controlo aplicado ao processo (em baixo)

0 50 100 150 200 250 300 350 400 450 500-80

-60

-40

-20

0

20

40

60

Intervalos de amostragem Figura 21 – Ganhos de retroacção para a cadeia de caudal

4.3 Variação de parâmetros O bom desempenho do controlador MUSMAR depende da correcta escolha dos parâmetros do controlador: período de amostragem, tamanho em amostras do horizonte estendido, número de preditores, peso da actuação do controlo e o factor de esquecimento. Visto que o processo de controlo da temperatura é muito lento, e para se ter uma boa noção da influência da variação dos parâmetros, todos os resultados apresentados nesta secção foram obtidos com a cadeia de caudal.

Page 38: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

25

O ponto de partida foi a experiência apresentada na Figura 20 e na Figura 21. Para a escolha final dos parâmetros que se pretende utilizar, há que ter em conta o funcional de custo quadrático que pretendemos minimizar, definido em (3.1).

Factor de esquecimento O factor de esquecimento λ está directamente relacionado com o número de amostras passadas )(N que influenciam a adaptação do controlador através da estimação de mínimos quadrados.

λ−=

11N (4.1)

Dos gráficos apresentados na Figura 22 verifica-se que com um λ mais pequeno o algoritmo é mais ágil a seguir alterações, pois tem poucos dados retidos, e com um λ maior o algoritmo é mais lento a seguir alterações, pois tem muitos dados retidos mas é mais preciso.

Figura 22 – Saída e referência com λ =0.999 em cima,

Saída e referência com λ =0.95 em baixo

00,0020,0040,0060,008

0,010,0120,0140,0160,018

0,02

0,95 0,97 0,99 0,995 0,999

lambda

cust

o

Figura 23 – Variação do custo com λ

De notar que para uma melhor comparação do custo para valores de λ diferentes, teria que ser a mesma sequência de referência para ser mais notória as diferenças entre cada experiência. No anexo B encontram-se as cinco experiências efectuadas para o estudo do factor de esquecimento.

Peso de actuação de controlo O peso da actuação no controlo reflecte-se na variância da actuação e consequentemente na da temperatura/caudal a controlar.

Como se pode verificar dos gráficos da Figura 24 à medida que ρ aumenta, essa variância diminui, como que se a actuação fique mais pesada e insensível a variações. Além disto, há um desvio constante da referência. Com o aumento de ρ o custo também aumenta, pois está-se a aumentar o peso da variável de controlo. No anexo B encontram-se as quatro experiências efectuadas para o estudo do peso de actuação de controlo.

Page 39: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

26

Figura 24 - Saída e referência com 510−=ρ em cima, Saída e referência com 210−=ρ em baixo

0

0,01

0,02

0,03

0,04

0,05

0,06

1,00E-05 1,00E-03 5,00E-03 1,00E-02

ro

cust

o

0 0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009 0.010

0.01

0.02

0.03

Erro

ro

Valor esperado da actuaçao e do erro

0 0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009 0.012.5

3

3.5

4

Act

uaça

o

Figura 25 – Variação do custo com ρ (esquerda), Valor esperado da actuação e do erro com ρ (direita)

Horizonte estendido

Este parâmetro indica o período de tempo no qual se vai estimar a priori a actuação e a temperatura/caudal do sensor, utilizando o método dos mínimos quadrados. O objectivo será encontrar o mínimo do custo médio de (3.1) para cada horizonte.

0

0,02

0,04

0,06

0,08

0,1

0,12

0,14

0,16

1 5 8 10

horizonte

cust

o

Figura 26 – Variação do custo com Tm

Page 40: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

27

Aumentando o horizonte, o custo diminui dado que se aproximam progressivamente os ganhos do controlo LQ. No entanto, ao aumentar demasiado Tm a estimação dos preditores em que a síntese da lei de controlo se baseia perde precisão, e o custo aumenta de novo. Verifica-se também que com o aumento de mT também há uma convergência mais rápida por parte dos ganhos, como se mostra na Figura 27 e na Figura 28. No anexo B encontram-se as quatro experiências efectuadas para o estudo do horizonte estendido.

0 50 100 150 200 250 300 350 400 450 500-16

-14

-12

-10

-8

-6

-4

-2

0

2

4

Figura 27 – Evolução dos ganhos de retroacção para o

caso de Tm = 1

0 50 100 150 200 250 300 350 400 450 500-30

-20

-10

0

10

20

30

Figura 28 – Evolução dos ganhos de retroacção para o

caso de Tm = 10

Número de preditores

Os San valores da temperatura/caudal, estimados em cada instante, juntamente com os Sbn da actuação constituem o pseudoestado, usado para o cálculo da retroacção, sendo inicializados com ganhos nulos.

0

0,005

0,01

0,015

0,02

0,025

0,03

0,035

2 3 4 6

cust

o nsansb

Figura 29 – Variação do custo com o número de preditores

O aumento do número de preditores permite melhorar o desempenho, já que o controlo fica mais suave, melhorando ao mesmo tempo o seguimento. Apesar do melhoramento referido anteriormente, o custo aumenta com o aumento do número de preditores, como se pode verificar pela Figura 29.

Page 41: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

28

Na relação custo vs seguimento da referência encontra-se uma boa solução para 1,6 == SbSa nn , e com uma boa convergência por parte dos ganhos, como se pode verificar pelos resultados apresentados nas Figuras 30 e 31. No anexo B encontram-se as cinco experiências efectuadas para o estudo do número de preditores.

Figura 30 – Saída e referência (em cima), controlo

aplicado ao processo (em baixo) com 1,6 == SbSa nn

Figura 31 – Evolução dos ganhos com

1,6 == SbSa nn

Período de amostragem Este parâmetro condiciona o desempenho dos controladores, já que dele depende a dinâmica observada pelo controlador, assim como o nível de ruído. De notar que quanto maior for este valor mais insensível às variações da dinâmica se torna o controlador, na Figura 32 é bem evidenciado pois houve um aumento de 10 vezes em relação ao apresentado na Figura 20. Na Figura 33 mostra-se a evolução do custo como função do período de amostragem. No anexo B encontram-se as três experiências efectuadas para o estudo do período de amostragem.

Figura 32 – Saída e referência (em cima), controlo

aplicado ao processo (em baixo) com Ta=1s

0

0,05

0,1

0,15

0,2

0,25

0,3

0.01 0.1 1

Período de amostragem

cust

o

Figura 33 – Variação do custo com Ta

Page 42: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

29

4.4 Caracterização do processo em cadeia fechada A fim de se avaliar a qualidade do sinal proveniente do sensor, aproveitou-se o sinal de saída dos ensaios efectuados em cadeia fechada, para o peso de actuação do controlo. Destes resultados retiraram-se patamares de voltagem próxima para analisar o sinal com diferentes pesos de actuação, apresentados na Figura 34. É de salientar que estes sinais não tem comprimentos iguais, podendo influenciar a análise que se efectua em seguida. De modo semelhante ao efectuado na secção 2.2.2, obtém-se os histogramas dos sinais da Figura 34, apresentados na Figura 35. Destes resultados verifica-se que o ruído não tem distribuição gaussiana. Da análise da autocorrelação também se verifica que o ruído tem média nula para 310−=ρ ,

3105 −×=ρ e 210−=ρ mas não tem variância unitária. Para valores de actuação mais pequenos o ruído deixa de ter média nula.

Correndo o programa histograma2.m no MATLAB, obtém-se os resultados apresentados nas figuras 34, 35 e 36.

0 10 20 30 40 502

2.5

3

3.5

4Tensao de saida para ro 10e-3

Intervalos de amostragem

Volts

0 10 20 30 40 502.2

2.4

2.6

2.8

3Tensao de saida para ro 10e-5

Intervalos de amostragem

Volts

0 50 100 150 2002.4

2.6

2.8

3

3.2

3.4Tensao de saida para ro 5*10e-3

Intervalos de amostragem

Volts

0 10 20 30 40 502

2.5

3

3.5

4Tensao de saida para ro 10e-2

Intervalos de amostragem

Volts

Figura 34 – Saídas do processo de caudal para diferentes valores de peso de actuação do controlo

Page 43: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

30

2 2.5 3 3.50

0.5

1

1.5

2

2.5

3Histograma para ro 10e-3

Tensao de saida em volts

Oco

rrenc

ias

2.2 2.4 2.6 2.8 30

1

2

3

4Histograma para ro 10e-5

Tensao de saida em volts

Oco

rrenc

ias

2.4 2.6 2.8 3 3.2 3.40

2

4

6

8Histograma para ro 5*10e-3

Tensao de saida em volts

Oco

rrenc

ias

2 2.5 3 3.5 40

1

2

3

4Histograma para ro 10e-2

Tensao de saida em voltsOco

rrenc

ias

Figura 35 – Histograma dos resultados apresentados na figura 34, divididos em 100 classes

0 10 20 30 40 50-0.02

-0.01

0

0.01

0.02

0.03

0.04Autocorrelacao do ruido para ro 10e-3

0 10 20 30 40 50-5

0

5

10

15x 10

-3Autocorrelacao do ruido para ro 10e-5

0 50 100 150 200-5

0

5

10

15

20x 10

-3Autocorrelacao do ruido para ro 5*10e-3

0 10 20 30 40 50-0.02

0

0.02

0.04

0.06

0.08

0.1Autocorrelacao do ruido para ro 10e-2

Figura 36 – Autocorrelação do ruído para diferentes valores do peso de actuação de controlo

Page 44: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

31

5 Inclusão de pesos dinâmicos Dos resultados obtidos com o MUSMAR posicional, apresentado na Figura 20, verifica-se que é necessário haver uma filtragem por parte do sinal vindo do processo. Na Figura 37 apresenta-se a estrutura de filtros a implementar. r u ufiltrado y yfiltrado

Figura 37 – Estrutura de filtros a implementar

O filtro é definido do seguinte modo:

)()()( 1 twqHtw mf−= (5.1)

=

=

−−

+== α

β

α

β

n

i

im

n

i

im

m

mm

qi

qi

qAqB

qH

1

01

11

)(1

)(

)()(

)( (5.2)

É de referir que o filtro F2 é um filtro passa-baixo, que serve para eliminar as altas frequências provenientes das perturbações , o filtro F3 é o inverso do filtro F2, isto é, um filtro passa-alto. Para implementar a estrutura apresentada na Figura 37, foram necessárias efectuar as seguintes alterações ao código. Dentro do ciclo em que se faz a aquisição de sinal e o respectivo cálculo da lei de controlo há que:

Após a aquisição do sinal vindo do sistema (y), há que filtrá-lo pelo filtro F3 (yfiltrado); Actualização dos vectores fi_tot, s e sf, em que y é o sinal vindo do sistema filtrado por F3,

u é o sinal a actuar ao sistema filtrado por F2, e v é o sinal de referência filtrado por F1; Geração de dither )(tη . Actualização do vector F. Actualização da referência e filtragem

deste sinal pelo filtro F1. Cálculo de )(tu dado pela seguinte expressão )()()( ' ttsFtu η+= , filtragem deste sinal pelo filtro F2 (ufiltrado) e respectiva saturação. É este o sinal que será actuado ao sistema.

Os parâmetros dos diferentes filtros são definidos em diferentes ficheiros com o seguinte formato pré-especificado: βαβα βββαα nnNN KK 101 −− . Para tal usaram-se duas funções auxiliares rdfiltro.c e simfil.c, em que a primeira lê os dados referentes ao filtro, e a segunda aplica o filtro ao dado de entrada.

F1 MUSMAR F2 SAT SIST

F3

Page 45: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

32

Na Figura 38 apresenta-se o resultado para a cadeia de caudal com filtro. De referir que o filtro 1)( 1

1 =−qF . No anexo D encontram-se mais alguns resultados, referentes a experiências efectuadas com pesos de filtros diferentes, e no anexo E explicação das funções rdfiltro.c e simfil.c.

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Volts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Volts

Figura 38 – Saída e referência (em cima), controlo aplicado ao processo (em baixo) com 11

4.011)(2 −

+=

qqF

Pode-se verificar que à medida que se aumenta o peso do coeficiente mα , mais lento se torna o valor da actuação, e mais variável se torna a resposta do sistema, pois está-se a pesar mais as amostras passadas. Dos resultados apresentados verifica-se que para o filtro com 4.0=mα há uma diminuição no nível de ruído e que a saída do sistema anda muito próxima da referência, sendo portanto este filtro o escolhido para a cadeia de caudal, de referir que com 45.0=mα o resultado é também razoável mas com alguns picos no seguimento da referência. O tempo de amostragem é de sTs 1.0= , e todas as experiências tiveram uma duração de s100 . Da comparação de resultados entre as figuras 20 e 38, verifica-se claramente que há uma diminuição de ruído no sinal de actuação tornando a saída do sistema mais precisa no seguimento da referência.

Page 46: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

33

6 Inclusão de efeito integral

6.1 Modelo preditivo do ∆MUSMAR Em ordem a apresentar o algoritmo incremental, considere-se o seguinte modelo. [6]

)()()()()( 1*1* tvtuqBtyqA ++= −− δ (6.1) Em que )( 1* −qA e )( 1* −qB são polinómios que satisfazem condições similares às apresentadas para o modelo preditivo do MUSMAR, δ é uma perturbação constante e inacessível, e o processo estocástico

)(tv , é caracterizado por )()( tetv =∆ (6.2)

11 −−≡∆ q (6.3)

Em que { })(te é uma sequência de ruído branco, com média nula e variância [ ] 22 )( eteE σ= . De forma a obter o preditor de saída do processo, j passos à frente, considerem-se os polinómios

)( 1* −qF e )( 1* −qG que são soluções da equação diofantina.

)()()(1 1*1*1* −−−−− ∆+∆=− qGqqFqAq jj

jj (6.4)

Multiplicando (6.1) por )( 1* −∆ qFj e usando (6.4) obtém-se o seguinte modelo preditivo de j passos à frente.

jtj

j

ii tsijtuhjty επ ++−+∆=+ +

=∑ )()()(~

11

(6.5)

Onde

[ ]')()()1()1()()(~)( jtwntutuntytytyts ba +−∆−∆−−∆∆= KK (6.6) e

)()( 1* jteqFjj

t += −ε (6.7)

Utilizando (6.5) consegue-se construir um modelo multipreditivo em ∆ , que conjuntamente com o seguinte funcional de custo

[ ]⎭⎬⎫

⎩⎨⎧

+∆+++= ∑−

=

1

0

22 )()1(~1 T

iituityE

TJ ρ (6.8)

Leva à lei de controlo:

)(1

)(

1

1

1

22

1

1

1 tstuT

i

T

iii

T

i

T

iiiii

∑ ∑

∑ ∑

=

=

=

=

⎟⎠

⎞⎜⎝

⎛++

+−=∆

µρθ

φµρψθ (6.9)

Page 47: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

34

6.2 Algoritmo incremental ∆MUSMAR r ∆ u u y

Figura 39 – Estrutura a implementar com algoritmo incremental

Em cada intervalo de amostragem, executar recursivamente os seguintes passos:

1. Usando DFRLS estimar os parâmetros iiii φµψθ ,,, , Ti ,,1K= no seguinte conjunto de modelos preditivos:

)()()()(~ ' TtvTtsTtuTity yiti −+−+−∆≈−+ ψθ (6.10)

)1()()()1( '11 −−+−+−∆≈−−+∆ −− TtvTtsTtuTitu u

iii φµ (6.11)

2. Actualizar o vector F de ganhos do controlador com

∑ ∑

∑ ∑

=

=−

=

=

⎟⎠

⎞⎜⎝

⎛++

+−=

T

i

T

iii

T

i

T

iiiii

F

1

1

1

21

2

1

1

1

1 µρθ

φµρψθ (6.12)

e calcular o controlo por

)()( ' tsFtu =∆ (6.13) )()()1()( ttututu η+∆+−= (6.14)

Admitindo que segue uma referência, e subtraindo-a à saída e expandido )(ty∆ como )1()( −− tyty em )(ts resulta no seguinte pseudoestado:

[ ])()1()(~)(~)( mtutuntytyts −∆−∆−= KK (6.15)

6.3 Implementação do algoritmo incremental ∆MUSMAR De seguida explica-se as alterações que foram necessárias efectuar de modo a que o algoritmo use a lei de controlo descrita em (6.14). Dentro do ciclo em que se faz a aquisição de sinal e o respectivo cálculo da lei de controlo há que:

Actualizar os vectores fi_tot, s e sf.

MUSMAR ∆1

SAT SIST

Page 48: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

35

Para tal é necessário criar uma nova variável u_time_ant, que serve para guardar o valor da variável de actuação no instante anterior, pois

)1()()()1()( 1 −−−−=−−=−∆ − TtuTtuTtuqTtu . Antes de se calcular o novo valor de actuação há que actualizar a variável u_time_ant, isto é,

u_time_ant = u_time. Ambas as variáveis são inicializadas a zero. Geração de dither )(tη . Actualizar o vector F dado pela expressão (6.12). Actualização da

referência. Cálculo de )(tu∆ pela expressão (6.13), e cálculo do valor de actuação para o instante actual dado pela expressão (6.14).

SbSa

Sa

Sa

Sa

Sb

Sa

NNT

NT

NTNT

TT

nTtu

Ttu

tunTty

TtyTty

tyty

totfi

++

+

+++

+

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

−−∆

−∆

−∆+−−

−+−

2

2

1

1

21

)(

)(

)1()1(~

)(~)1(~

)1(~)(~

_

M

M

M

M

M

M

M

M

SgSbSa

SbSa

SbSa

Sa

Sa

Sg

Sb

Sa

NNN

NNNN

NN

nTtv

TtvnTtu

TtunTty

Tty

s

++

+++

+

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

+−−

−−−∆

−−∆+−−

M

M

M

M

M

M

1

1

1

)1(

)()(

)1()1(~

)(~

SgSbSa

SbSa

SbSa

Sa

Sa

Sg

Sb

Sa

NNN

NNNN

NN

ntv

tvntu

tunty

ty

sf

++

+++

+

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

+−

−∆

−∆+−

M

M

M

M

M

M

1

1

1

)1(

)()(

)1()1(~

)(~

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Volts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Volts

Figura 40 - Saída e referência (em cima), controlo aplicado ao processo (em baixo), com algoritmo ∆MUSMAR

Page 49: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

36

MUSMAR SAT PROCESSO

T1

6.4 Integrador anti windup Nas primeiras experiências verificou-se que havia uma saturação do sinal de controlo durante alguns instantes de tempo o que leva a uma continua integração deste sinal e a que o sinal de saída continue a aumentar, como se pode verificar pela Figura 40, afim de evitar este efeito indesejado inclui-se o integrador anti windup. De acordo com [7], um controlador com acção integral combinado com um actuador que pode saturar, pode vir-se a obter alguns efeitos indesejáveis. Se o erro de controlo é tão grande que o integrador satura o actuador, a malha de retroacção será quebrada porque o actuador irá permanecer saturado mesmo que a saída do processo se altere. O integrador, sendo um sistema instável, pode integrar até um valor muito alto. Quando o erro de controlo é finalmente reduzido, o integral pode ser tão grande que demorará um tempo considerável a retomar o valor normal. Este efeito é chamado de integrador anti windup.

Uma possibilidade é parar de actualizar o integrador quando o actuador está saturado. Outro método é ter uma malha de retroacção extra que é o erro de sinal. O erro de sinal (es) é a diferença entre a saída do actuador e a saída do controlador, este erro é realimentado ao integrador com um ganho tT/1 . O erro de sinal é zero quando o actuador não está saturado. Quando o actuador satura o caminho extra de retroacção tenta levar o erro de sinal para zero. Isto significa que o integrador é posto a zero, para que a saída do controlador esteja na saturação limite. O integrador é posto a zero com um valor apropriado para a constante tT , que é chamada de constante de tempo de seguimento.

A vantagem com este esquema para o antiwindup é que pode ser aplicado a qualquer actuador, isto é, não apenas a um actuador saturado mas também a um actuador com características arbitrárias, tal como “dead zone” ou histerese, desde que a saída do actuador possa ser medida.

r u_time u usat y + u_time_ant + - + + es

Figura 41 – Estrutura a implementar com integrador anti windup

6.5 Implementação do algoritmo com integrador anti windup De seguida explica-se as alterações que foram necessárias efectuar de modo a que o algoritmo implemente a estrutura apresentada na Figura 41.

Page 50: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

37

Dentro do ciclo em que se faz a aquisição de sinal e o respectivo cálculo da lei de controlo há que: Actualizar os vectores fi_tot, s e sf. Para tal é necessário criar uma nova variável u_time_ant,

que serve para guardar o valor da variável de actuação no instante anterior, pois )1()()()1()( 1 −−−−=−−=−∆ − TtuTtuTtuqTtu .

Antes de se calcular o novo valor de actuação há que actualizar a variável u_time_ant, isto é, u_time_ant = u_time.

Geração de dither )(tη . Actualizar o vector F dado pela expressão (6.12). Actualização da referência. Cálculo de )(tu∆ pela expressão (6.13), cálculo do valor de actuação dado pela expressão (6.14), ao qual se soma es, o erro de sinal, obtendo-se

)()()()1()( tettututu S++∆+−= η . Após a saturação de )(tu , usat , este é enviado para o processo e também usado para calcular

uusates −= . Se o sinal )(tu estiver dentro dos limites de saturação o sinal de erro no próximo instante de tempo é zero. O sinal u_time que é reenviado para o MUSMAR é

Seusattimeu +=_ .

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Volts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Volts

Figura 42 – Saída e referência (em cima), controlo aplicado ao processo (em baixo), com integrador ant windup e Tt=10

Na Figura 42 constata-se que o integrador anti windup consegue controlar a saturação inicial e fazer com que o algoritmo possa seguir a referência especificada. Se se comparar com o resultado obtido com o MUSMAR posicional, apresentado na Figura 20, há um menor offset no seguimento da referência, como pretendido. Verifica-se que com o aumento da constante de tempo de seguimento há um melhor seguimento do sinal de saída do sistema, escolhendo-se Tt=10. No anexo F encontram-se resultados para outros Tt.

Page 51: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

38

7 “Servo”, manipulação da referência Consiste em assumir que durante o horizonte de controlo a saída deve seguir a trajectória de referência

*iw , começando em )(ty e acabando em )( Ttw + . Uma escolha possível é:

)()1()()( *1

* Ttwtwtw ii +−+= − γγ (7.1)

)()(*0 tytw = (7.2)

)(* TtwwT += (7.3) Onde 10 <≤ γ é um parâmetro. De seguida explica-se as alterações que foram necessárias efectuar de modo a que o algoritmo siga uma trajectória de referência. Dentro do ciclo em que se faz a aquisição de sinal e o respectivo cálculo da lei de controlo há que:

Ter uma flag para permitir que o valor inicial de *iw seja o valor lido do sistema, isto é,

)()(*0 tytw = .

Há que calcular a trajectória de referência em cada instante de acordo com (7.1). Fazer a actualização do vector que guarda o valor da referência em todos os instantes, em que

a variável reference é *iw .

7.1 Seguimento da trajectória de referência para a cadeia de caudal

Figura 43 – Saída e trajectória de referência para 3.0=γ (em cima), Saída e trajectória de referência para 8.0=γ (em

baixo)

Page 52: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

39

Aproveitando esta técnica e com o intuito de se alterar a referência futura, fizeram-se mais algumas alterações de modo a que tal fosse possível e que o sistema mantivesse o seguimento de uma trajectória de referência. Na Figura 43 apresenta-se este resultado. Nesta técnica o parâmetro γ pode ser ajustado. Para um valor de γ maior verifica-se que há um melhor seguimento da referência, pois a variação da trajectória de referência é menos assentuada, esta diferença é notória no resultado apresentado. Nos ganhos de retroacção também se verifica uma melhor convergência. Os resultados destas duas experiências encontram-se com mais detalhe no anexo H.

7.2 Seguimento da trajectória de referência com filtragem para a cadeia de caudal Para se implementar com filtros adicionou-se as linhas de código explicadas na secção 5. Na Figura 44 apresenta-se o resultado obtido conjugando o seguimento de trajectória com a filtragem dos sinais de saída e de controlo do processo, de acordo com o esquema apresentado na Figura 37. Visto os s'α andarem à volta de 0.45, efectuaram-se três experiências, uma com 4.0=α , a segunda com 45.0=α e a última com 5.0=α . Os resultados apresentados destas três experiências estão bastantes próximos, e comparando estes resultados com o da Figura 43, verifica-se que há uma redução significativa no ruído no sinal de controlo. Conciliando a redução do ruído com o seguimento da referência o melhor possível, 45.0=α apresenta o melhor resultado. Este resultado é apresentado na Figura 44, e os restantes no anexo I.

Figura 44 – Saída e trajectória de referência (em cima), sinal de controlo aplicado (em baixo), 8.0=γ e

11

45.011)(2 −

+=

qqF

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

Page 53: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

40

7.3 Seguimento da trajectória de referência com filtragem e efeito integral para a cadeia de caudal

Para se implementar com efeito integral adicionou-se as linhas de código explicadas na secção 6.5. Visto que o efeito integral traz um sinal ainda mais ruidoso, teve que se aumentar os coeficientes dos filtros. Na Figura 45 apresenta-se o resultado obtido para o 5.0=α . No anexo J apresentam-se outros resultados com coeficientes de filtro diferentes.

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

Figura 45 - Saída e trajectória de referência (em cima), sinal de controlo aplicado (em baixo), 8.0=γ e

11

5.011)(2

−−

+=

qqF e 10=Tt

Destes resultados pode verificar-se que em todos há um pico inicial, e que em alguns chega mesmo a saturar. Este pico inicial deve-se a uma fase transitória, mas verifica-se que nos casos em que há saturação consegue-se rapidamente diminuir a saída e fazer o seguimento da referência. Na relação seguimento da referência vs redução de ruído, consegue-se fazer um seguimento razoável, mas os coeficientes do filtro não podem ser maiores que 0.7, pois estaria-se a pesar demasiadamente as amostras passadas e perdia-se robustez no seguimento da trajectória. Dos resultados apresentados, e após o transitório inicial, o que melhor resultado em termos de seguimento de referência é o apresentado na Figura 45, visto ser aquele que menos “varia” em torno da referência.

7.4 Seguimento da trajectória de referência para a cadeia de temperatura Na Figura 46 apresenta-se o resultado do seguimento de trajectória para a cadeia de temperatura. Visto este ser um processo muito lento faz mais sentido usar seguimento de trajectória do que um seguimento em degraus.

Page 54: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

41

0 20 40 60 80 100 1201.7

1.8

1.9

2

2.1

2.2

intervalos de amostragem

volts

0 20 40 60 80 100 1200

1

2

3

4

5

6

intervalos de amostragem

volts

Figura 46 – Saída e trajectória de referência (em cima), sinal de controlo aplicado (em baixo), para a cadeia de

temperatura, 8.0=γ

0 10 20 30 40 50 60 70 800

0.5

1

1.5

2

2.5

intervalos de amostragem

volts

0 10 20 30 40 50 60 70 800

1

2

3

4

5

intervalos de amostragem

volts

Figura 47 - Saída e trajectória de referência (em cima), sinal de controlo aplicado (em baixo), para a cadeia de

temperatura, 93.0=γ

Destes dois resultados apresentados é melhor optar por um seguimento de referência com um γ maior, pois torna a referência a seguir mais lenta e é mais fácil para o processo seguir sem ter que fazer variar muito a variável de controlo. Visto o processo da temperatura ser muito lento, não se justifica estar a implementar com filtros e efeito integral pois iria tornar o processo ainda mais lento.

Page 55: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

42

8 Controlo simultâneo das duas cadeias Como foi visto na análise das duas cadeias separadamente, os ritmos de amostragem são diferentes. Para a cadeia de temperatura chegou-se a um tempo de amostragem de 10 segundos e para a cadeia de caudal de 0.1 segundos. Então no programa que efectuará o controlo simultâneo, há que de 10 em 10 segundos adquirir e enviar os dados referentes à cadeia de temperatura, e de 0.1 em 0.1 segundos adquirir e enviar os dados referentes à cadeia de caudal. Para tal, exigi-se que os tempos de amostragem sejam múltiplos, se assim não for o programa termina. Na Figura 48 apresenta-se o fluxograma representativo do programa que efectua o controlo simultâneo.

Figura 48 – Fluxograma do programa que efectua o controlo simultâneo

Arranque Pré-identificação das

duas cadeias

Counter = 0

Counter = Timer ?

Aquisição de yt

Construção de regressores t

Identificação t

Calculo de ut

Envio para cadeia T

Counter = 0

Aquisição de yf

Construção de regressores f

Identificação f

Calculo de uf

Envio para cadeia F

Counter ++

Espera Tf

Page 56: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

43

De referir que o que tem um “t” refere-se à cadeia de temperatura, e o que tem um “f” refere-se à cadeia de caudal. A variável Timer é inicializada com o valor da divisão do tempo de amostragem da temperatura pelo do caudal. A variável Counter é inicializada a zero e serve para contar quantas amostras da cadeia de caudal já foram feitas, pois sendo os tempos de amostragem múltiplos, ao fim de “Timer” vezes pode-se fazer a aquisição da cadeia de temperatura, reinicializando o Counter. Na secção 8.1 explica-se com detalhe a implementação do programa.

8.1 Implementação do algoritmo de controlo simultâneo

1. Primeiro é pedido ao utilizador os ficheiros que contém os dados referentes ás duas cadeias, e os respectivos tempos de amostragem. Estes dados são lidos dos ficheiros com a função readdata.c;

2. É testado se os tempos de amostragem são múltiplos, se não forem múltiplos o programa termina;

3. Se forem múltiplos, é inicializada a variável timer com o valor da divisão do tempo de amostragem da temperatura pelo do caudal, e é pedido o tempo final da experiência em intervalos de amostragem da temperatura, isto é, quantas amostragens da temperatura se pretende efectuar. O tempo final (tfinal) da experiência corresponderá às amostras da temperatura multiplicado por timer e somado de 10, para permitir que seja efectuado a última aquisição da temperatura. Este tempo final corresponderá a intervalos de amostragem do caudal;

4. É feita a inicialização do sistema com a função initialization( ). Nesta função são inicializadas todas as variáveis do sistema;

5. Ciclo ( time=1, time <= tfinal, t++) É testado se counter igual a timer

Se sim, faz a aquisição do valor da temperatura; constrói os vectores regressores referentes à temperatura (build_regressors( )); calcula o ganho de kalman, actualiza as estimativas do erro de predição da saída e da entrada, de theta, de psi, de miu, de fi e de lambda com a função identify_3( ); actualiza o vector de referências e calcula o sinal de controlo da temperatura com a função mas_servo_control( ); envia para a placa o valor da actuação da variável de controlo; reinicializa a variável counter ; chama a função save_results_T( ), que guarda os dados referentes à temperatura;

1______

1____

1__

1

)1(_~)1__(_

)_(_)__(_

)1_(_)1__(_~

)_(_~

_

+++

++

+++

+

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

+−−

−−−

−−+−−

=

tNtNtNtNtNtN

tNtNtNtN

tNtN

tfy

tNtTttv

tTttvtNtTttu

tTttutNtTtty

tTtty

ts

sgsbsa

sgsbsa

sbsa

sbsa

sa

sa

sg

sb

sa

M

M

M

M

M

M

1___

___

1____

1__

1

)1(_~)1_(_

)(_)_(_

)1(_)1_(_~

)(_~

_

+++

++

+++

+

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

+−

−+−

=

tNtNtN

tNtNtN

tNtNtNtN

tNtN

tfytNttv

ttvtNttu

ttutNtty

tty

tsf

sgsbsa

sgsbsa

sbsa

sbsa

sa

sa

sg

sb

sa

M

M

M

M

M

M

Page 57: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

44

tNtNtT

tNtTtNtT

tNtTtNtT

tTtT

tNtTttu

tTttutTttu

ttutNtTtty

tTttytTtty

ttytty

ttotfi

sbsa

sa

sa

sa

sa

sb

sa

___2

1__2__2

1____

1__

21

)__(_

)1_(_)_(_

)1(_)1__(_~

)_(_~)1_(_~

)1(_~)(_~

__

++

+++

+++

+

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

−−

−−−

−+−−

−+−

=

M

M

M

M

M

M

M

M

Quer o counter seja igual ou não a timer, faz-se sempre a aquisição do valor do

caudal; constrói os vectores regressores referentes ao caudal (build_regressors( )); calcula o ganho de kalman, actualiza as estimativas do erro de predição da saída e da entrada, de theta, de psi, de miu, de fi e de lambda com a função identify_3( ); actualiza o vector de referências e calcula o sinal de controlo do caudal com a função mas_servo_control( ); envia para a placa o valor da actuação da variável de controlo; incrementa a variável counter ; chama a função save_results_F( ), que guarda os dados referentes ao caudal; chama a função show_results( ), que mostra no ecrã os dados de entrada e de saída do sistema; e espera sample_time_f, isto é, o tempo de amostragem do caudal, para reiniciar o ciclo.

fNfNfN

fNfNfNfN

fNfN

fNfTtfv

fTtfvfNfTtfu

fTtfufNfTtfy

fTtfy

fs

sgsbsa

sbsa

sbsa

sa

sa

sg

sb

sa

___

1____

1__

1

)1__(_

)_(_)__(_

)1_(_)1__(_~

)_(_~

_

++

+++

+

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

+−−

−−−

−−+−−

=

M

M

M

M

M

M

fNfNfN

fNfNfNfN

fNfN

fNtfv

tfvfNtfu

tfufNtfy

tfy

fsf

sgsbsa

sbsa

sbsa

sa

sa

sg

sb

sa

___

1____

1__

1

)1_(_

)(_)_(_

)1(_)1_(_~

)(_~

_

++

+++

+

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

+−

−+−

=

M

M

M

M

M

M

6. Escreve os dados da temperatura e do caudal em ficheiros “yg*.dat”, com o auxílio da função

ygs1.c;

Page 58: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

45

fNfNfT

fNfTfNfT

fNfTfNfT

fTfT

fNfTtfu

fTtfufTtfu

tfufNfTtfy

fTtfyfTtfy

tfytfy

ftotfi

sbsa

sa

sa

sa

sa

sb

sa

___2

1__2__2

1____

1__

21

)__(_

)1_(_)_(_

)1(_)1__(_~

)_(_~)1_(_~

)1(_~)(_~

__

++

+++

++

+

+

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

−−

−−−

+−−

−+−

=

M

M

M

M

M

M

M

M

7. Chama a função init_tem( ), que guarda alguns parâmetros da cadeia de temperatura de acordo

com os ficheiros de entrada “tem*.con”, mas os valores dos ganhos são os valores finais da experiência realizada.

É de referir que os regressores da temperatura têm dimensão maior que os do caudal, pois contemplam o estado da cadeia de caudal, pois esta afecta a temperatura de modo não linear. Para tal existe uma flag, flag_temp, para permitir que se possa acrescentar aos regressores da temperatura a amostra do caudal, no ciclo da cadeia de temperatura. Para alterar a referência de trajectória, )( Ttw + , basta premir a tecla adequada em qualquer instante de tempo. Na Tabela 1 apresenta-se as teclas referentes a cadeia cadeia de controlo. As teclas que têm ‘+’ ou ‘-’, quer dizer que )( Ttw + passa a ser o valor anterior, +/- o valor da tecla, por exemplo se

5.1)( =+Ttw e se se premir ‘q’, )( Ttw + passará a ser 1.05.1)( +=+Ttw .

Temperatura wT Caudal wTq +0,1 1 1w 0,2 2 2e 0,3 3 3r -0,1 4 4t -0,2 5 +0,5y -0,3 6 -0,5

Tabela 1 – Teclas para alteração da referência para as duas cadeias de controlo

O cálculo da trajectória de referência é efectuado como explicado na secção 7. Todas as funções que foram alteradas em relação ao programa fornecido pelo professor encontram-se explicadas no anexo K.

Page 59: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

46

Figura 49 – Característica estática da temperatura para diferentes valores de caudal(1)

Da Figura 49 verifica-se que para uma temperatura constante quando se aumenta o caudal esta decresce, e quando se baixa o caudal esta aumenta, como esperado. Isto é importante, pois ao controlar a temperatura há que ter em conta as variações do caudal e o efeito que têm na temperatura. Enquanto a temperatura não estabilizar no valor pretendido, há que ter o cuidado para não fazer grandes variações de caudal. Nas figuras 50 a 53 apresenta-se o resultado obtido do controlo simultâneo das duas cadeias com o MUSMAR. A duração desta experiência foi de 4001 segundos.

0 50 100 150 200 250 300 350

1

1.5

2

2.5

Instantes de amostragem

Volts

0 50 100 150 200 250 300 350 4000

1

2

3

4

5

Instantes de amostragem

Volts

temperatura

Figura 50 - Saída e trajectória de referência (em cima), sinal de controlo aplicado (em baixo), para a cadeia de

temperatura

_______________________________ (1) Resultados de Luis Marreiros

Page 60: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

47

A tensão inicial de referência para a temperatura é de 1.4V, e para o caudal de 2V. De experiências efectuadas verificou-se que o caudal não podia ser muito baixo pois os ganhos de retroacção da temperatura convergiam para valores muito elevados, não se conseguindo um valor de actuação correcto, resultando na não convergência da temperatura para o valor desejado. Nesta experiência apenas se fizeram saltos de temperatura, com pequenos saltos de 0.5V no caudal. A temperatura inicial do processo era cerca de 1V, tendo atingido a temperatura de referência de 1.4V no instante 100(na escala da temperatura), nessa altura fez-se um novo salto para 1.7V o qual foi atingido no instante 170, mantendo-se nesta temperatura até que se fez baixar a referência para 1.5V no instante 270. Verifica-se que há um bom seguimento da referência do sistema quer da cadeia de temperatura quer da cadeia de caudal, apesar de não haver uma convergência dos ganhos.

0 100 200 300 400 500 600 7000

1

2

3

4

5

Instantes de amostragem

Volts

0 100 200 300 400 500 600 700 8000

1

2

3

4

5

Instantes de amostragem

Volts

caudal

Figura 51 - Saída e trajectória de referência (em cima), sinal de controlo aplicado (em baixo), para a cadeia de caudal

0 50 100 150 200 250 300 350 400-15

-10

-5

0

5

10ganhos temperatura

Figura 52 – Ganhos de retroacção da cadeia de

temperatura

0 100 200 300 400 500 600 700 800-20

-15

-10

-5

0

5

10ganhos caudal

Figura 53 – Ganhos de retroacção da cadeia de caudal

Page 61: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

48

Nas figuras 54 a 57 apresenta-se o resultado obtido do controlo simultâneo das duas cadeias com o MUSMAR fazendo saltos na cadeia de caudal. A duração desta experiência foi de 4001 segundos. A tensão inicial de referência para a temperatura é de 1.2V, e para o caudal de 2V. Nesta experiência fez-se um salto de temperatura, e após a manutenção deste na temperatura desejada, fizeram-se saltos no caudal. No instante 125 (na escala da temperatura) fez-se variar o caudal de 2V para 3.5V, e como esperado a temperatura desceu, e o valor da acção de controlo da temperatura aumentou para compensar a diferença entre referência e desejado. Ao fim de 100 instantes de tempo, na escala da temperatura, verificou-se uma convergência da temperatura para a temperatura desejada, e nessa altura fez-se variar novamente o caudal para 2V. Desta variação, como esperado, a temperatura aumentou, e no instante 270 houve nova convergência para a temperatura desejada. No instante 300 (na escala da temperatura), baixou-se a temperatura de referência para 1.1V, donde se verifica que houve um bom seguimento por parte do sistema. Dos resultados apresentados nas figuras 52 e 53, verifica-se que não há convergência dos valores dos ganhos, no entanto houve um bom seguimento por parte do processo ao desejado. Das experiências efectuadas verificou-se que os ganhos da temperatura variam conforme se faz variar o calor de referência do caudal. Das experiências efectuadas também se verificou que uma grande variação na referência do caudal, faz com que o sistema, para a temperatura, se torne mais oscilatório em torno da referência, e que demore muito mais tempo a convergir para o valor pretendido.

0 50 100 150 200 250 300 3500

0.5

1

1.5

2

2.5

Instantes de amostragem

Volts

0 50 100 150 200 250 300 350 4000

1

2

3

4

Instantes de amostragem

Volts

temperatura

Figura 54 - Saída e trajectória de referência (em cima), sinal de controlo aplicado (em baixo), para a cadeia de

temperatura

Page 62: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

49

0 100 200 300 400 500 600 7000

1

2

3

4

5

Instantes de amostragem

Volts

0 100 200 300 400 500 600 700 8000

1

2

3

4

5

Instantes de amostragem

Volts

caudal

Figura 55 - Saída e trajectória de referência (em cima), sinal de controlo aplicado (em baixo), para a cadeia de caudal

0 50 100 150 200 250 300 350 400-10

-5

0

5

10

15ganhos temperatura

Figura 56 – Ganhos de retroacção da cadeia de

temperatura

0 100 200 300 400 500 600 700 800-10

-8

-6

-4

-2

0

2

4

6

8ganhos caudal

Figura 57 - Ganhos de retroacção da cadeia de caudal

Page 63: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

50

9 Conclusões Pretendeu-se com este trabalho efectuar uma avaliação experimental do desempenho do algoritmo de controlo adaptativo MUSMAR, o qual tenta descrever o comportamento de um processo ao longo de um horizonte de controle Tm, baseando-se nas observações da entrada e saída do processo. A experimentação foi realizada num turbo-ventilaor, à escala laboratorial. Após exaustivas experiências confirmou-se que o MUSMAR tem um bom grau de robustez e mesmo quando não há convergência dos ganhos de retroacção há um bom seguimento da referência. Este algoritmo é difícil de afinar, e ainda se torna mais difícil quando se tem um processo lento como o da temperatura. A inclusão de filtros e do integrador anti windup melhoram o desempenho deste algoritmo como também a resposta do sistema à referência desejada. Um dos problemas que os algoritmos incrementais apresentam é a possibilidade de apresentarem fortes oscilações no controlo, mas que pode ser eliminado com o correcto ajuste de alguns dos parâmetros. Para finalizar, da análise e experiências efectuadas indicam que o algoritmo de controlo MUSMAR é uma ferramenta interessante para fazer controladores adaptativos eficazes e que podem ser aplicados a grandes classes de situações realísticas à custa de um pequeno aumento da complexidade computacional.

Page 64: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

51

A. Anexo ao programa lee.c Este programa tem como função principal de obter a resposta a um escalão de um sistema. Como se tem duas cadeias, a de temperatura e a de caudal, com diferentes canais de A/D e D/A, é pedido ao utilizador de qual cadeia quer obter a resposta ao escalão, e também lhe é pedido qual o valor do escalão. Os dados obtidos do sistema são guardados num ficheiro rescau.m ou num ficheiro resultte.m, caso se escolha o caudal ou a temperatura respectivamente. Estes ficheiros estão num formato de modo a que se possa aceder no MATLAB. A.1 Explicação do PIT O PIT (Programmable Interval Timer) é um dos vários temporizadores existentes em qualquer computador pessoal baseado na família de processadores Intel x86. este temporizador tem três particularidades importantes:

• Sempre que o contador interno atinja uma situação de overflow numérico é gerada uma interrupção de hardware.

• O ritmo a que estas interrupções podem ser geradas é configurável. • Em ambiente MS-DOS, este temporizador encontra-se habitualmente livre, pelo que é possível

utilizá-lo, sem prejudicar o normal funcionamento do sistema operativo. Assim sendo, e depois de configurado o PIT, a interrupção por este gerada pode ser utilizada para sinalizar a ocorrência do instante de amostragem. O código fonte escrito para lidar com o PIT foi dividido em dois ficheiros: o ficheiro clock.h, contendo apenas declarações, e o ficheiro clock.c, contendo o código fonte propriamente dito. Estes dois ficheiros foram fornecidos pelo professor orientador. A.2 Explicação do código clock.c Existem no ficheiro clock.c três funções, que se podem descrever da seguinte forma:

1. tickInt( ) - Esta função é responsável pelo atendimento da interrupção de hardware gerada pelo PIT. A ocorrência de um instante de amostragem é sinalizada pela colocação do valor “1” na variável global denominada tick.

2. InitClock( ) – Esta função é responsável pela configuração do PIT, para que este gere as suas interrupções de hardware ao ritmo adequado.

3. DestroyClock( ) – Esta função reverte as alterações levadas a cabo pela função InitClock( ), por forma a que o sistema operativo continue a funcionar de forma semelhante ao que acontecia antes de o programa ter sido executado.

A sinalização dos instantes de amostragem faz-se da seguinte forma:

• Executa-se a função InitClock( ). • Coloca-se o valor “0” na variável global tick e testa-se o seu valor até que este seja diferente de

zero. Nesse instante o programa estará num instante de amostragem. • Depois de levadas a cabo todas as tarefas para que o programa foi concebido, e antes que este

termine a sua execução, há que executar a função DestroyClock( ), para que o PIT volte à sua configuração normal.

Page 65: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

52

A configuração do ritmo de amostragem é feita na função InitClock( ), através do preenchimento de três variáveis: highByte e lowByte – Estas variáveis contêm, respectivamente os bytes mais e menos significativos da palvra de 16 bit que é carregada no contador do PIT, sempre que neste ocorra um overflow numérico. maxCount – A frequência de amostragem resulta de uma divisão inteira da frequência de geração das interrupções de hardware do PIT. Se se pretender uma divisão dessa frequência por n, deverá colocar-se o valor n-1 nesta variável. Neste programa o PIT está configurado para gerar interrupções a um ritmo de quarenta por segundo, para depois se dividir por dois, resultando numa frequência de amostragem de 20 Hz.

B. Anexo à secção 4.3 B.1. Factor de Esquecimento

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Vol

ts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Vol

ts

Figura 58- Saída e referência(em cima), sinal de

controlo(em baixo), com λ =0.95

0 50 100 150 200 250 300 350 400 450 500-12

-10

-8

-6

-4

-2

0

2

4

Intervalos de amostragem Figura 59 – Ganhos de retroacção para λ =0.95

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Vol

ts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Vol

ts

Figura 60 - Saída e referência(em cima), sinal de

controlo(em baixo), com λ =0.97

0 50 100 150 200 250 300 350 400 450 500-12

-10

-8

-6

-4

-2

0

2

4

Intervalos de amostragem Figura 61– Ganhos de retroacção para λ =0.97

Page 66: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

53

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Vol

ts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Vol

ts

Figura 62 - Saída e referência(em cima), sinal de

controlo(em baixo), com λ =0.995

0 50 100 150 200 250 300 350 400 450 500-20

-15

-10

-5

0

5

10

15

Intervalos de amostragem Figura 63 – Ganhos de retroacção para λ =0.995

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Vol

ts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Vol

ts

Figura 64– Saída e referência(em cima), sinal de

controlo(em baixo), com λ =0.999

0 50 100 150 200 250 300 350 400 450 500-12

-10

-8

-6

-4

-2

0

2

4

Intervalos de amostragem Figura 65 – Ganhos de retroacção com λ =0.999

B.2. Peso de actuação de controlo

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

Figura 66 - Saída e referência(em cima), sinal de

controlo(em baixo), com 510−=ρ

0 50 100 150 200 250 300 350 400 450 500-6

-5

-4

-3

-2

-1

0

1

2

3

intervalos de amostragem Figura 67 – Ganhos de retracção para 510−=ρ

Page 67: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

54

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

Figura 68 - Saída e referência(em cima), sinal de controlo(em baixo), com 3105 −×=ρ

0 50 100 150 200 250 300 350 400 450 500-15

-10

-5

0

5

10

15

20

25

intervalos de amostragem

Figura 69 – Ganhos de retroacção para 3105 −×=ρ

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

Figura 70 - Saída e referência(em cima), sinal de

controlo(em baixo), com 210−=ρ

0 50 100 150 200 250 300 350 400 450 500-6

-5

-4

-3

-2

-1

0

1

2

3

4

intervalos de amostragem Figura 71 – Ganhos de retroacção para 210−=ρ

B.3. Horizonte Estendido

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

Figura 72 - Saída e referência(em cima), sinal de

controlo(em baixo), com Tm = 8

0 50 100 150 200 250 300 350 400 450 500-25

-20

-15

-10

-5

0

5

10

15

intervalos de amostragem Figura 73 – Ganhos de retroacção para Tm = 8

Page 68: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

55

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

Figura 74 - Saída e referência(em cima), sinal de

controlo(em baixo), com Tm = 1

0 50 100 150 200 250 300 350 400 450 500-16

-14

-12

-10

-8

-6

-4

-2

0

2

4

intervalos de amostragem Figura 75 – Ganhos de retroacção para Tm = 1

B.4. Número de Preditores

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

Figura 76 - Saída e referência(em cima), sinal de

controlo(em baixo), com nsa=4 e nsb=1

0 50 100 150 200 250 300 350 400 450 500-20

-15

-10

-5

0

5

10

15

20

intervalos de amostragem Figura 77 – Ganhos de retroacção para nsa=4 e nsb=1

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

Figura 78 - Saída e referência(em cima), sinal de

controlo(em baixo), com nsa=2 e nsb=1

0 50 100 150 200 250 300 350 400 450 500-10

-8

-6

-4

-2

0

2

4

intervalos de amostragem Figura 79 – Ganhos de retroacção para nsa=2 e nsb=1

Page 69: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

56

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

Figura 80- Saída e referência(em cima), sinal de

controlo(em baixo), com nsa=3 e nsb=2

0 50 100 150 200 250 300 350 400 450 500-6

-5

-4

-3

-2

-1

0

1

2

3

4

intervalos de amostragem Figura 81 – Ganhos de retroacção para nsa=3 e nsb=2

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

Figura 82 - Saída e referência(em cima), sinal de

controlo(em baixo), com nsa=3 e nsb=5

0 50 100 150 200 250 300 350 400 450 500-15

-10

-5

0

5

10

15

intervalos de amostragem Figura 83 – Ganhos de retroacção para nsa=3 e nsb=5

B.5. Período de Amostragem

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

Figura 84 - Saída e referência(em cima), sinal de

controlo(em baixo), com Ta=0.01s

0 50 100 150 200 250 300 350 400 450 500-20

-15

-10

-5

0

5

10

intervalos de amostragem Figura 85 - Ganhos de retroacção para Ta=0.01s

Page 70: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

57

0 10 20 30 40 50 60 70 80 90 1000

1

2

3

4

5

intervalos de amostragem

volts

0 10 20 30 40 50 60 70 80 90 1000

1

2

3

4

5

intervalos de amostragem

volts

Figura 86 - Saída e referência(em cima), sinal de

controlo(em baixo), com Ta=1s

0 10 20 30 40 50 60 70 80 90 100-3

-2.5

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

intervalos de amostragem Figura 87 - Ganhos de retroacção para Ta=1s

C. Anexo ao programa que calcula o custo Este controlador pretende minimizar uma funcional de custo quadrático ao longo de um horizonte de controlo alargado.

[ ]⎭⎬⎫

⎩⎨⎧

−+++= ∑=

T

k

tT Oktukty

TEJ

1

22 )1( )(~1 ρ

em que )()()(~ * ktyktykty +−+=+ é o erro de controlo, ρ é um peso não-negativo de actuação no controlo e tO é informação disponível até ao instante t.

Dado que se quer calcular este custo já tendo os resultados da experiência, para fazer comparações com outros parâmetros, então tendo toda a informção disponível, o funcional de custo é calculado da seguinte forma:

∑ ∑= =

⎟⎠

⎞⎜⎝

⎛−++++++−+=

N

t

T

kT ktuktyktyktykty

TNJ

1 1

22**2 )1()()()(2)(11 ρ

Esta função irá ter como parâmetros de entrada o erro de controlo, o peso de actuação de controlo, o sinal de controlo e o horizonte estendido.

Page 71: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

58

D. Anexo à secção 5

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Vol

ts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Vol

ts

Figura 88 – Saída e referência (em cima), controlo

aplicado ao processo (em baixo) com

11

2.011)(2 −

+=

qqF

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Vol

ts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragemV

olts

Figura 89 – Saída e referência (em cima), controlo

aplicado ao processo (em baixo) com

11

45.011)(2

−−

+=

qqF

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Vol

ts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Vol

ts

Figura 90 - Saída e referência (em cima), controlo

aplicado ao processo (em baixo) com

11

5.011)(2 −

+=

qqF

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Vol

ts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Vol

ts

Figura 91 - Saída e referência (em cima), controlo

aplicado ao processo (em baixo) com

11

6.011)(2 −

+=

qqF

Page 72: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

59

E. Anexo ao programa RTMflow2.c rdfiltro.c Esta função lê os dados referentes ao filtro especificado como parâmetro de entrada da função, e devolve-os para a função prinicipal. O formato deste ficheiro é o seguinte βαβα βββαα nnNN KK 101 −− . A variável αN é guardade numa variável an e a variável βN é guardada numa variável bn , enquanto que os parâmetros α e β são guardados num vector param. simfil.c Esta função aplica o filtro o dado de entrada (por ex. w), devolvendo o seu resultado (wfiltrado), isto é,

)()()( 1 twqHtw mf−= , em que

=

=

−−

+== α

β

α

β

n

i

im

n

i

im

m

mm

qi

qi

qAqB

qH

1

01

11

)(1

)(

)()(

)( .

F. Anexo à secção 6.5

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Vol

ts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Vol

ts

Figura 92 – Saída e referência (em cima), controlo

aplicado ao processo (em baixo), com integrador anti windup e Tt=2

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Vol

ts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

Intervalos de amostragem

Vol

ts

Figura 93 – Saída e referência (em cima), controlo

aplicado ao processo (em baixo), com integrador anti windup e Tt=5

Page 73: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

60

G. Anexo ao programa Servo.c sev_ref.c Esta função gera a trajectória de referência, recebendo como parâmetros de entrada a flag wini, o valor actual da referênia reference, e o valor final )( Ttw + , devolvendo o valor de referência que o sistema deve seguir, e )( Ttw + caso este seja alterado. Nesta função em vez de se alterar o valor instantâneo da referência altera-se o valor final que se pretende atingir, assim sempre que for premido no teclado uma tecla válida a variável wT passa a ter esse valor, e só no próximo instante de amostragem é que é tomado em conta. Antes de se actualizar o valor de wT calcula-se o valor da referência de acordo com (7.1), a flag wini é activada sempre que o valor de wT é alterado para que no próximo instante de tempo seja permitido começar com o valor que o sistema tem, como se especifica em (7.2).

H. Anexo à secção 7.1

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

Figura 94 – Saída e trajectória de referência (em cima),

sinal de controlo aplicado (em baixo), 3.0=γ

0 50 100 150 200 250 300 350 400 450 500-8

-6

-4

-2

0

2

4

6

intervalos de amostragem Figura 95 - Ganhos de retroacção para 3.0=γ

Page 74: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

61

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

Figura 96 – Saída e trajectória de referência (em cima),

sinal de controlo aplicado (em baixo), 8.0=γ

0 50 100 150 200 250 300 350 400 450 500-80

-60

-40

-20

0

20

40

60

intervalos de amostragem Figura 97 – Ganhos de retroacção para 8.0=γ

I. Anexo à secção 7.2

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

Figura 98 – Saída e trajectória de referência (em cima),

sinal de controlo aplicado (em baixo), 8.0=γ e

11

4.011)(2

−−

+=

qqF

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

Figura 99 – Saída e trajectória de referência (em cima),

sinal de controlo aplicado (em baixo), 8.0=γ e

11

5.011)(2

−−

+=

qqF

Page 75: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

62

J. Anexo à secção 7.3

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

0 50 100 150 200 250 300 350 400 450 5000

1

2

3

4

5

intervalos de amostragem

volts

Figura 100 - Saída e trajectória de referência (em

cima), sinal de controlo aplicado (em baixo), 8.0=γ e

11

6.011)(2 −

+=

qqF e 10=Tt

Figura 101 - Saída e trajectória de referência (em

cima), sinal de controlo aplicado (em baixo), 8.0=γ e

11

7.011)(2 −

+=

qqF e 10=Tt

K. Anexo ao programa Musmar1.c readdata.c Esta função lê os parâmetros iniciais referentes a uma cadeia, de temperatura ou de caudal, conforme o que for especificado nos parâmetros de entrada da função. A estrutura desta função é a mesma que anteriormente, mas agora tem como parâmetros todas as variáveis que irá ler do ficheiro que é pedido ao utilizador. No programa principal esta função é chamada duas vezes, uma vez para ler os dados da temperatura, e a segunda vez para ler os dados referentes ao caudal. build_regressors( ) Esta função constrói os vectores regressores do MUSMAR. A estrutura da função é a mesma, mas tem como parâmetros todas as variáveis que por ela são utilizadas. Visto que nos regressores da temperatura tem que se contemplar o caudal, e que a ordem destes é maior, criou-se uma flag, flag_temp, que também entra como parâmetro, e sempre que se estiver a fazer a construção dos regressores referentes à temperatura esta flag tem o valor 1, caso contrário, tem o valor 0, correspondendo à construção dos regressores referentes ao caudal. Sempre que a flag é 1, acrescenta-se aos vectores s e sf uma última linha que tem o valor da saída do caudal no instante anterior. Para que se possa atribuir o valor do caudal, e visto que estamos a passar só os parâmetros da temperatura, foi necessário acrescentar mais um parâmetro de entrada, o valor da saída do caudal.

Page 76: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

63

identify_3( ) Esta função identifica os modelos do MUSMAR. A estrutura da função é a mesma, mas tem como parâmetros todas as variáveis que por ela são utilizadas. Visto se ter aumentado a ordem dos regressores da temperatura é necessário ter a flag flag_temp como parâmetro de entrada, pelas mesmas razões enunciadas na função anterior. mas_servo_control( ) Esta função calcula a variável de controlo a aplicar ao sistema. A estrutura da função é a mesma, mas tem como parâmetros todas as variáveis que por ela são utilizadas. Visto se ter aumentado a ordem dos regressores da temperatura é necessário ter a flag flag_temp como parâmetro de entrada, pelas mesmas razões enunciadas na função anterior. show_results( ) Em vez de se ter uma função que mostre os dados ao utilizador e os guarde nas variáveis para posteriormente serem guardadas num ficheiro, tem-se três funções. Esta função não tem parâmetros de entrada e apenas mostra no ecrã os dados referentes à temperatura e caudal, referência a seguir, saída do sistema, acção de controlo, e ganhos de retroacção para as duas cadeias. save_results_T( ) Esta função guarda em seis variáveis os dados referentes à temperatura. save_results_F( ) Esta função guarda em seis variáveis os dados referentes ao caudal. Visto os dados referentes ao caudal serem muitos, é reduzido o número de dados a guardar nos ficheiros.

Page 77: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

64

REFERÊNCIAS

[1] Bjonar Larsen, “VVS – 400 Heating/Ventilation”, Instrutek [2] Ogata, K., Modern Control Engineering, Prentice Hall, Upper Saddle River, USA, 1997

[3] Montgomery, D.C. and Runger, G.C., Applied Statistics and Probability for Engineers, Jonh

Wiley & Sons, New York, 1999 [4] Oppenheim, A.V., Schaffer, R.W. and Buck, J.R., Discrete-Time Signal Processing, Prentice-

Hall, Upper Saddle River, USA,1989

[5] Lemos, J.M., Controlo Adaptativo, Teoria e Algoritmos para Aplicações

[6] Progress in Robotics and Intelligent Systems, Ablex Publishing Corporation Norwood, New Jersey, 1996, pp.134-195

[7] Astrom, K.J. and Wittenmark, B., Computer Controlled Systems: Theory and Design, Prentice

Hall, Upper Saddle River, USA, 1997

[8] Greco, C., Menga, G., Mosca, E., and Zappa, G., “Performance Improvements of Self-Tunning Controllers by Multistep Horizons: The MUSMAR Approach”, Automatica, Vol. 20, No 5, 1984, pp. 681-699

Page 78: Controlo Adaptativo de um turbo-ventilador pilotoii Resumo e Palavras chave O presente trabalho visa apilcar o controlador adaptativo MUSMAR ao controlo simultâneo das cadeias de

65

BIBLIOGRAFIA

Bjonar Larsen, “VVS – 400 Heating/Ventilation”, Instrutek Ogata, K., Modern Control Engineering, Prentice Hall, Upper Saddle River, USA, 1997 Montgomery, D.C. and Runger, G.C., Applied Statistics and Probability for Engineers, Jonh Wiley & Sons, New York, 1999 Oppenheim, A.V., Schaffer, R.W. and Buck, J.R., Discrete-Time Signal Processing, Prentice-Hall, Upper Saddle River, USA,1999 Lemos, J.M., Controlo Adaptativo, Teoria e Algoritmos para Aplicações Progress in Robotics and Intelligent Systems, Ablex Publishing Corporation Norwood, New Jersey, 1996, pp.134-195

Astrom, K.J. and Wittenmark, B., Computer Controlled Systems: Theory and Design, Prentice Hall, Upper Saddle River, USA, 1997 Greco, C., Menga, G., Mosca, E., and Zappa, G., “Performance Improvements of Self-Tunning Controllers by Multistep Horizons: The MUSMAR Approach”, Automatica, Vol. 20, No 5, 1984, pp. 681-699

Costa, B.M.A., “Implementação e teste de Controladores Adaptativos Multipreditivos”, Relatório de Projecto Final de Curso, 1989

Neves, J.A., e Carvalho, L.F., “Controlo Tolerante a Falhas dum Sistema de Ventilação”, Relatório de Trabalho Final de Curso, 2001 Lemos, J.M., “Multiple Model Based Control – 2.4. Role of the observer polynomial”, IST-INESC Robinson, B.D., Clarke, D.W., “Robustness effects of a prefilter in generalized predictive control”, IEE Proceedings-D, Vol.138, No 1, 1991