CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório...

99
CONTROLO DA VELOCIDADE DE UM SISTEMA SERVO Pedro Miguel Gomes Cerqueira Tiago Alexandre Pinheiro De Almeida Mestrado em Engenharia Electrotécnica e de Computadores Área de Especialização de Automação e Sistemas Departamento de Engenharia Electrotécnica Instituto Superior de Engenharia do Porto 2012

Transcript of CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório...

Page 1: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

CONTROLO DA VELOCIDADE

DE UM SISTEMA SERVO

Pedro Miguel Gomes Cerqueira

Tiago Alexandre Pinheiro De Almeida

Mestrado em Engenharia Electrotécnica e de Computadores

Área de Especialização de Automação e Sistemas

Departamento de Engenharia Electrotécnica

Instituto Superior de Engenharia do Porto

2012

Page 2: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas
Page 3: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de

Sistemas de Controlo Avançado, do 2º ano, do Mestrado em Engenharia Electrotécnica e

de Computadores

Candidato: Pedro Miguel Gomes Cerqueira, Nº 1080518, [email protected]

Candidato: Tiago Alexandre Pinheiro De Almeida, Nº1080542, [email protected]

Supervisão: Ramiro de Sousa Barbosa, [email protected]

Mestrado em Engenharia Electrotécnica e de Computadores

Área de Especialização de Automação e Sistemas

Departamento de Engenharia Electrotécnica

Instituto Superior de Engenharia do Porto

24 de Dezembro de 2012

Page 4: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas
Page 5: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

v

Índice

ÍNDICE ..................................................................................................................................................... V

ÍNDICE DE FIGURAS ......................................................................................................................... VII

ÍNDICE DE TABELAS ........................................................................................................................... XI

ACRÓNIMOS ...................................................................................................................................... XIII

1. INTRODUÇÃO ................................................................................................................................. 1

1.1. CONTEXTUALIZAÇÃO .................................................................................................................. 2

1.2. OBJECTIVOS ................................................................................................................................ 2

1.3. ORGANIZAÇÃO DO RELATÓRIO ..................................................................................................... 3

2. CONTROLO PID – MALHA FECHADA ....................................................................................... 5

2.1. VARIAÇÃO DO GANHO PROPORCIONAL ......................................................................................... 5

2.2. OBTENÇÃO DO PERÍODO CRITICO .................................................................................................. 7

2.3. SINTONIA DOS CONTROLADORES P, PI E PID ................................................................................. 9

2.4. ANÁLISE DO EFEITO DE CADA UMA DAS ACÇÕES DE CONTROLO ................................................... 15

3. CONTROLO PID – MALHA ABERTA ........................................................................................ 21

3.1. SISTEMA UTILIZADO .................................................................................................................. 21

3.2. SINTONIA DOS CONTROLADORES P, PI E PID ............................................................................... 26

3.3. ANÁLISE DO EFEITO DE CADA UMA DAS ACÇÕES DE CONTROLO ................................................... 31

4. COMPARAÇÃO Z-N MALHA FECHADA COM MALHA ABERTA ........................................ 37

5. SIMULAÇÃO DO SISTEMA SERVO ........................................................................................... 43

5.1. DIAGRAMA DE BLOCOS .............................................................................................................. 43

5.2. RESPOSTAS DO SISTEMA PARA OS CONTROLADORES ANTERIORMENTE OBTIDOS E PARA AS

VARIAÇÕES DAS ACÇÕES DE CONTROLO .................................................................................................. 44

6. CÁLCULO DO OVERSHOOT E AJUSTE DA RESPOSTA ........................................................ 52

7. SINTONIA DOS CONTROLADORES PI E PID UTILIZANDO UM MÉTODO ÓPTIMO ...... 57

7.1. OBTENÇÃO DOS GANHOS E ESBOÇO DAS RESPOSTAS .................................................................... 57

7.2. COMPARAÇÃO DO MÉTODO ÓPTIMO ZHUANG E ATHERTON COM O DE ZIEGLER-NICHOLS EM MALHA

ABERTA 62

8. CONTROLO DIFUSO .................................................................................................................... 64

8.1. ESCOLHA DO CONTROLADOR DIFUSO .......................................................................................... 64

8.2. PROJECTO DO CONTROLADOR DIFUSO ......................................................................................... 65

8.3. TESTE DO CONTROLADOR DIFUSO ............................................................................................... 73

Page 6: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

vi

9. CONCLUSÕES ............................................................................................................................... 78

FUNÇÃO ID_ZN_MF .......................................................................................................... 80 ANEXO A.

FUNÇÃO ZN2 ....................................................................................................................... 81 ANEXO B.

FUNÇÃO ID_ZN_MA .......................................................................................................... 82 ANEXO C.

FUNÇÃO ZN1 ...................................................................................................................... 83 ANEXO D.

FUNÇÃO OVERSHOOT ...................................................................................................... 84 ANEXO E.

FUNÇÃO ZA ......................................................................................................................... 85 ANEXO F.

Page 7: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

vii

Índice de Figuras

Figura 1 Imagem do servomecanismo disponível ......................................................................2

Figura 2 Modelação do sistema servo ........................................................................................6

Figura 3 Sistema no limite de estabilidade ................................................................................6

Figura 4 Período crítico ............................................................................................................8

Figura 5 Resultado da função id_zn_mf .....................................................................................9

Figura 6 Sintonia do controlador P .......................................................................................... 11

Figura 7 Sintonia do controlador PI......................................................................................... 12

Figura 8 Sintonia do controlador PID ...................................................................................... 12

Figura 9 Resposta do sistema a uma entrada em degrau de amplitude 40 rad/s (controlador P). 13

Figura 10 Resposta do sistema a uma entrada em degrau de amplitude 40 rad/s (controlador PI)

14

Figura 11 Resposta do sistema a uma entrada em degrau de amplitude 40 rad/s (controlador PID)

14

Figura 12 Resposta experimental do sistema para o controlador P com KP para a metade .......... 16

Figura 13 Resposta experimental do sistema para o controlador P com KP para o dobro ............ 17

Figura 14 Resposta experimental do sistema para o controlador PI com KI para a metade .......... 18

Figura 15 Resposta experimental do sistema para o controlador PI com KI para o dobro ........... 18

Figura 16 Resposta experimental do sistema para o controlador PID com KD para a metade ...... 19

Figura 17 Resposta experimental do sistema para o controlador PID com KD para o dobro ........ 20

Figura 18 Diagrama de blocos do Simulink em malha aberta .................................................... 22

Figura 19 Resposta do sistema ao degrau unitário ..................................................................... 23

Figura 20 ..................................................................................................................................... 25

Figura 21 Aproximação linear à entrada de 1 rad/s .................................................................... 25

Figura 22 Sintonia do controlador P .......................................................................................... 27

Figura 23 Sintonia do controlador PI......................................................................................... 28

Figura 24 Sintonia do controlador PID ...................................................................................... 28

Figura 25 Resposta do sistema a uma entrada em degrau de amplitude 40 rad/s (controlador P). 29

Figura 26 Resposta do sistema a uma entrada em degrau de amplitude 40 rad/s (controlador PI)

30

Figura 27 Resposta do sistema a uma entrada em degrau de amplitude 40 rad/s (controlador PID)

30

Figura 28 Resposta experimental do sistema para o controlador P com KP para a metade .......... 32

Figura 29 Resposta experimental do sistema para o controlador P com KP para o dobro ............ 32

Figura 30 Resposta experimental do sistema para o controlador PI com KI para a metade .......... 33

Page 8: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

viii

Figura 31 Resposta experimental do sistema para o controlador PI com KI para o dobro ........... 34

Figura 32 Resposta experimental do sistema para o controlador PID com KD para metade ........ 35

Figura 33 Resposta experimental do sistema para o controlador PID com KD para o dobro ........ 35

Figura 34 Comparação de respostas para Controlador P ............................................................ 38

Figura 35 Comparação de respostas para Controlador PI ........................................................... 39

Figura 36 Comparação de respostas para Controlador PID ........................................................ 39

Figura 37 Comparação de respostas para Controlador P/2 ......................................................... 40

Figura 38 Comparação de respostas para P*2 ............................................................................ 41

Figura 39 Diagrama de blocos desenvolvido ............................................................................. 44

Figura 40 Resposta simulada do sistema para o controlador P sintonizado a partir das regras Z-N

em malha aberta ................................................................................................................... 45

Figura 41 Resposta simulada do sistema para o controlador PI sintonizado a partir das regras Z-N

em malha aberta ................................................................................................................... 45

Figura 42 Resposta simulada do sistema para o controlador PID sintonizado a partir das regras Z-

N em malha aberta ............................................................................................................... 46

Figura 43 Resposta simulada do sistema para o controlador P com KP para a metade ................ 47

Figura 44 Resposta simulada do sistema para o controlador P com KP para o dobro .................. 48

Figura 45 Resposta simulada do sistema para o controlador PI com KI para a metade ................ 48

Figura 46 Resposta simulada do sistema para o controlador PI com KI para o dobro.................. 49

Figura 47 Resposta simulada do sistema para o controlador PID com KD para a metade ............ 49

Figura 48 Resposta simulada do sistema para o controlador PID com KD para o dobro .............. 50

Figura 49 Valor do overshoot para PID ..................................................................................... 53

Figura 50 Resposta com Ki = 0.0276 ........................................................................................ 54

Figura 51 Resposta com Kd = 0, 0158 ...................................................................................... 55

Figura 52 Resposta com Ki = 0.0276 e Kd = 0.0062 ................................................................. 56

Figura 53 Sintonia do controlador PI ........................................................................................ 60

Figura 54 Sintonia do controlador PID ...................................................................................... 60

Figura 55 Resposta do sistema a uma entrada em degrau de amplitude 40 rad/s (controlador PI)

61

Figura 56 Resposta do sistema a uma entrada em degrau de amplitude 40 rad/s (controlador PID)

62

Figura 57 Comparação do tempo de estabelecimento através do stepinfo................................... 63

Figura 58 Variáveis linguísticas, tipo de controlador difuso, métodos de agregação e implicação e

desfuzificação. ..................................................................................................................... 67

Figura 59 Variável linguística erro ........................................................................................... 68

Figura 60 Variável linguística variacao_erro ............................................................................ 69

Figura 61 Variável linguística accao__controlo ........................................................................ 70

Figura 62 Editor de regras e regras criadas ................................................................................ 71

Figura 63 Diagrama de blocos para simulação do sistema servo com um controlador difuso...... 71

Page 9: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

ix

Figura 64 Resposta simulada com o uso do controlador difuso .................................................. 72

Figura 65 stepinfo da resposta do sistema usando um controlador difuso ................................... 73

Figura 66 Diagrama de blocos para a resposta experimental usando o controlador difuso .......... 73

Figura 67 Resposta experimental com o uso do controlador difuso ............................................ 74

Figura 68 stepinfo da resposta do sistema usando um controlador difuso ................................... 74

Figura 69 Resposta experimental com o uso do controlador difuso ............................................ 75

Figura 70 stepinfo da resposta do sistema usando um controlador difuso ................................... 76

Page 10: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

x

Page 11: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

xi

Índice de Tabelas

Tabela 1 Regras de sintonia de Ziegler-Nichols em malha fechada. ......................................... 10

Tabela 2 Quadro resumo com os valores dos ganhos calculados .............................................. 13

Tabela 3 Variação das várias acções de controlo ...................................................................... 15

Tabela 4 Sintonização em malha aberta ................................................................................... 26

Tabela 5 Quadro resumo com os valores dos ganhos calculados .............................................. 29

Tabela 6 Variação das várias acções de controlo ...................................................................... 31

Tabela 7 Ganhos do controlador PID em malha fechada .......................................................... 52

Tabela 8 Variação do ganho derivativo e correspondente overshoot ......................................... 55

Tabela 9 Variação do ganho derivativo e integral e correspondente overshoot ......................... 56

Tabela 10 Parâmetros do controlador PI para o critério ISTE ..................................................... 58

Tabela 11 Parâmetros do controlador PID para o critério ISTE .................................................. 58

Tabela 12 Quadro resumo com os valores dos ganhos calculados .............................................. 61

Tabela 13 Comparação do overshoot entre ambos os métodos ................................................... 62

Tabela 14 Tabela das regras para o controlador difuso ............................................................... 70

Page 12: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas
Page 13: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

xiii

Acrónimos

FOPDT – First-Order-Plus-Dead-Time

ISTE – Integral Squared Time Weighted Error

Z-N – Ziegler-Nichols

Page 14: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

xiv

Page 15: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

1

1. INTRODUÇÃO

Este capítulo serve para fazer uma apresentação ao trabalho desenvolvido, assim como o

enquadramento na respectiva disciplina, identificando quais os objectivos a desenvolver e

uma breve abordagem a cada um dos capítulos seguintes.

Um servomecanismo, também apelidado de sistema servo, é um dispositivo automático

que usa uma malha de realimentação, com o objectivo de calcular o erro, para corrigir a

execução de um mecanismo. O sistema de cruise control utilizado por alguns veículos é

um exemplo de um sistema servo, sendo corrigida a velocidade por meio de uma

comparação da velocidade actual com a pretendida.

A maioria destes sistemas utiliza a força eléctrica de maneira a gerar força mecânica,

contudo, podem ser utilizados servos hidráulicos, pneumáticos ou magnéticos. Qualquer

erro detectado pelo sensor, é amplificado e convertido e utilizado para infligir uma

velocidade angular que reduza ou elimine esse erro.

Na Figura 1 é possível ver o sistema disponível para este trabalho. Este é constituído por

um motor DC e vários módulos, desde o módulo de inércia, de codificação incremental e

engrenagens com disco de saída.

Page 16: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

2

Figura 1 Imagem do servomecanismo disponível

1.1. CONTEXTUALIZAÇÃO

No âmbito da disciplina de Sistema de Controlo Avançado, este trabalho surgiu a partir da

necessidade de estudar, desenvolver e aperfeiçoar um controlador para integrar num

sistema servo. O trabalho está inserido numa área de relevo da engenharia, que permite que

um sistema autónomo seja dominado a partir de um padrão imposto inicialmente. Isto é

realizado utilizando controladores que modificam o comportamento do sistema à medida

que este vai evoluindo. Com isto, existe uma adaptação dos padrões impostos no circuito

em função do tempo. Em caso de exemplo, um sistema autónomo pode ser desde um

objecto simples como uma torradeira, até máquinas complexas tais como naves espaciais

ou integrações em centrais nucleares. Tais sistemas podem necessitar de controladores

gerais ou específicos. O modo como se efectua o controlo da temperatura de uma sala é

bastante distinto de um controlo de suspensão de um veículo. Para isto, são estudados

vários tipos de controladores, assim como o efeito causado no sistema por cada um deles e

quais as melhores situações onde os aplicar.

Desta forma, este trabalho conjuga o estudo de um sistema controlável com a utilização de

uma das ferramentas mais utilizadas na área da engenharia, o MATLAB.

1.2. OBJECTIVOS

Relativamente a este trabalho, existem dois grandes objectivos:

Controlo da velocidade de um sistema servo utilizando um controlador PID; e

Page 17: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

3

Controlo da velocidade de um sistema servo usando lógica difusa.

Dado o grande número de abordagens diferentes usadas no controlo da velocidade com um

controlador PID, optou-se por dividir este objectivo em vários objectivos intermédios de

forma a facilitar a execução do mesmo:

Controlo da velocidade de um sistema servo usando a heurística de Z-N para malha

fechada;

Controlo da velocidade de um sistema servo usando a heurística de Z-N para malha

aberta;

Desenvolvimento de um diagrama de blocos para simulação;

Controlo da velocidade de um sistema servo usando o método óptimo de sintonia

Zhuang e Atherton.

1.3. ORGANIZAÇÃO DO RELATÓRIO

No Capítulo 1 para além de contextualizar as experiencias realizadas, são introduzidos os

objectivos propostos para este trabalho laboratorial assim como a estrutura do presente

documento. No capítulo seguinte, 2, são apresentados os resultados da heurística de Z-N

em malha fechada. Por sua vez, no capítulo 3, também é utilizada a heurística de Z-N mas

em malha aberta. O capítulo 4 apresenta a comparação entre os resultados obtidos através

da aplicação das regras Z-N em malha fechada e malha aberta. Imediatamente a seguir

surge o capítulo 5, onde é desenvolvido um diagrama de blocos de modo a poder simular

resultados anteriormente obtidos e comparar com os resultados experimentais. O próximo

capítulo, 6, apresenta os detalhes do desenvolvimento da função que calcula o overshoot

no controlador PID e os procedimentos de modo a obter um overshoot menor que 20%

nesse mesmo controlador. O penúltimo capítulo apresenta a sintonia dos controladores PI

e PID usando o método óptimo de sintonia proposto por Zhuang e Atherton e realizado

controlo experimental do sistema servo. São ainda apresentadas comparações entre este

método e o método Z-N em malha aberta. No último capítulo, o 3º, são reunidas as

principais conclusões retiradas dos estudos efectuados.

Page 18: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas
Page 19: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

5

2. CONTROLO PID – MALHA

FECHADA

Este capítulo faz referência à questão 1 do guião laboratorial nº1. Nele são apresentados os

resultados obtidos no controlo da velocidade do sistema servo, disponível no laboratório,

utilizando um controlador PID. O controlo da velocidade do servo foi passível de ser

realizado utilizando a heurística de Ziegler-Nichols (Z-N) para obtenção dos parâmetros

essenciais à realização do controlo. Neste caso, foi utilizada a regra de Z-N de malha

fechada. Este método permite obter os parâmetros do controlador PID a partir do sistema

em malha fechada. Para obter esses parâmetros, foi necessário alterar inicialmente o ganho

proporcional de modo a colocar o sistema no limite da estabilidade, isto é, obter na saída

oscilações periódicas e de amplitude constante.

2.1. VARIAÇÃO DO GANHO PROPORCIONAL

Numa primeira fase, e como foi referido na introdução deste capítulo, foi necessário variar

o ganho proporcional de modo a colocar o sistema no limite da estabilidade. Para esse

efeito, utilizou-se o diagrama de blocos da Figura 2 onde, no bloco PID, foram sendo

alterados os valores da constante proporcional. Através de um conjunto de tentativas da

Page 20: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

6

variação da mesma, chegou-se a um valor que satisfazia o pretendido, Kc = 0.08584. Este

valor é denominado de ganho crítico.

Figura 2 Modelação do sistema servo

A alteração consciente do ganho proporcional permitiu que o sistema entrasse no limite de

estabilidade. Na seguinte figura pode ver-se o resultado da variação deste ganho.

Figura 3 Sistema no limite de estabilidade

Depois de realizada a experiencia, os resultados da mesma são guardados na variável

VelCtrl colocada no espaço de trabalho do MATLAB. De modo a poder calcular o período

Page 21: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

7

crítico, Pc, é necessário, numa primeira fase, guardar os dados provenientes do sistema

utilizando a seguinte instrução:

save dados_aula1_mf VelCtrl

De modo a poder trabalhar a variável obtida do sistema, é necessário primeiramente

efectuar o load da mesma para o espaço de trabalho. De seguida, para obter as variáveis

que dizem respeito ao tempo de simulação, a entrada de referência e a velocidade de saída

(t, ref e vel respectivamente) é necessário um conjunto de instruções previamente

fornecidas. Estas duas fases são descritas nas seguintes linhas de código:

&Carregamento da variável para o espaço de

trabalho

load dados_aula1_mf

&Obtenção das variáveis t, ref e vel

t = VelCtrl.time;

ref = VelCtrl.signals(1).values(:,2);

vel = VelCtrl.signals(1).values(:,1);

Finalmente, para a poder obter os gráficos da experiência realizada no sistema servo, é

necessário executar as seguintes instruções. Estas permitem esboçar a resposta do sistema

perante um degrau de entrada de 40 rad/s como pode ser visto na Figura 3.

plot(t,ref,'b') &Plot da entrada de referencia

hold on, grid on

plot(t,vel,'r') &Plot da velocidade de saída

xlabel('tempo (s)')

ylabel('amplitude (rad/s)')

title('Entrada de referencia (azul) - Velocidade

(vermelho)')

2.2. OBTENÇÃO DO PERÍODO CRITICO

Para obter o período crítico foi utilizada uma função (function [Kc, Pc] = id_zn_mf(t, vel,

Kc)) que recebe como entrada os vectores do tempo e da oscilação da velocidade (t e vel

respectivamente) para além do ganho crítico anteriormente obtido (Kc = 0.08584). Esta

função desenvolvida nas aulas laboratoriais retorna os valores de Kc (previamente

conhecido) e de Pc (calculado na função em causa), resultantes da aplicação das regras Z-

N em malha fechada. A partida, sabe-se que o Pu é a distância entre dois picos (Figura 4)

quando o sistema se encontra no limite de estabilidade.

Page 22: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

8

Figura 4 Período crítico

Tendo por base o atrás enunciado, passa-se então à explicação da função desenvolvida para

o efeito. Esta função irá calcular os máximos e seguidamente irá fazer a média dos

períodos críticos.

Numa primeira fase, criaram-se dois vectores, x e y, para armazenar as posições dos

máximos e a média dos períodos críticos. Seguidamente faz-se um ciclo for desde a

posição 500 até a posição 1501 do vector com incrementos de, neste caso, uma unidade.

Optou-se por ignorar as primeiras 500 posições do vector pois como se pode ver na Figura

3 o valor dos máximos varia consideravelmente. Desta forma, o cálculo dos máximos é

mais aproximado do que considerando as posições iniciais. Seguidamente é calculada a

posição dos máximos tendo em conta os valores anteriores e valores posteriores. Isto é,

caso os valores anteriores e posteriores sejam menores que o valor actual, é guardada a

posição do máximo. Isto repete-se até serem encontrados todos os máximos existentes. De

salientar que, o vector x contem treze posições pois é o número de máximos existentes a

partir da posição 500 do vector vel como se pode analisar através da Figura 3. A seguir

encontra-se transcrito em instruções o atrás enunciado.

%% Calcular máximos

x=zeros(13,1);

y=zeros(12,1);

a=1;

for i=500:1:1501

if i<1501

if vel(i)>vel(i-1) & vel(i)>vel(i+1) %ver

se o valor actual é superior ao valor anterior e

superior ao valor posterior e caso seja guardar o

valor de i

x(a)=i; %guarda a posição do máximo

no vector x

a=a+1; %incrementa a para ocupar a

próxima posição no vector x

end

Page 23: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

9

end

end

Depois do cálculo dos máximos, é necessário calcular a média dos períodos críticos. Para

isso, recorreu-se a outro ciclo for que calcula todos os períodos críticos e guarda-os no

vector y. Um período crítico é calculado subtraindo o valor em que o máximo actual

ocorre ao valor em que ocorre o máximo seguinte. Depois de armazenados no vector,

utiliza-se a função mean que calcula o valor médio de um dado vector. A seguir pode ver-

se o resto da implementação da função id_zn_mf.

%% Calcular média dos períodos críticos

for i=1:1:12

y(i)=t(x(i+1))-t(x(i)); %calcula os vários

períodos críticos

end

%% Mostrar Pc e Kc

Pc=mean(y);

Kc;

Como se pode analisar através da Figura 5, a execução da função id_zn_mf devolve os

valores de Kc e Pc que são respectivamente 0.0858 e 0.7442 (com uma aproximação de

quatro casas decimais). O código desta função pode ser visto no Anexo A.

Figura 5 Resultado da função id_zn_mf

2.3. SINTONIA DOS CONTROLADORES P, PI E PID

Para efectuar a sintonia dos controladores, é necessário recorrer à tabela de sintonização

que se pode ver a seguir.

Page 24: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

10

Tabela 1 Regras de sintonia de Ziegler-Nichols em malha fechada.

Tipo de Controlador KP TI TD

P 0.5Kc ∞ 0

PI 0.45Kc (1/1.2)Pc 0

PID 0.6Kc (1/2)Pc (1/8)Pc

De forma a poder calcular os ganhos dos controladores (KP, KI e KD) foram utilizadas as

seguintes equações:

Através da Tabela 1 e das equações anteriores é possível efectuar a sintonia dos

controladores desejados nesta questão do guião laboratorial. Essa sintonia é efectuada

através de uma função (function [Kp, Ki, Kd, Gc] = zn2(Kc, Pc, op)) que recebe como

entradas os valores do Kc e Pc e uma variável que contém o tipo de controlador desejado

(1-P, 2-PI e 3-PID). A seguir é apresentado as instruções que permitem sintonizar os três

tipos de controladores referidos. O código completo desta função pode ser visto no Anexo

B.

s=tf('s');

switch op

case 1 % Cálculo do controlador P

disp('Controlador P')

Kp=0.5*Kc;

Ti=Inf;

Ki=Kp/Ti;

Td=0;

Kd=Kp*Td;

Gc=Kp;

case 2 % Cálculo do controlador PI

disp('Controlador PI')

Kp=0.45*Kc;

Ti=(1/1.2)*Pc;

Ki=Kp/Ti;

Td=0;

Kd=Kp*Td;

Gc=Kp+Ki/s;

case 3 % Cálculo do controlador PID

disp('Controlador PID')

Kp=0.6*Kc;

Ti=(1/2)*Pc;

Ki=Kp/Ti;

Page 25: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

11

Td=(1/8)*Pc;

Kd=Kp*Td;

Gc=Kp+Ki/s+Kd*s;

otherwise % Outras opções

disp('Função: [Kp, Ki, Kd, Gc] =

zn2(Kc,Pc,op) onde,')

disp('op=1 -> Controlador P;')

disp('op=2 -> Controlador PI;')

disp('op=3 -> Controlador PID.')

end

end

A seguir vão ser apresentadas três figuras que apresentam os resultados da execução da

função zn2 para o controlador P (Figura 6), controlador PI (Figura 7) e controlador PID

(Figura 8).

Figura 6 Sintonia do controlador P

Page 26: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

12

Figura 7 Sintonia do controlador PI

Figura 8 Sintonia do controlador PID

Page 27: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

13

Na tabela seguinte pode ver-se um quadro resumo com os valores dos ganhos proporcional,

integrativo e derivativo calculados anteriormente.

Tabela 2 Quadro resumo com os valores dos ganhos calculados

Tipo de Controlador KP KI KD

P 0.0429 0 0

PI 0.0386 0.0623 0

PID 0.0515 0.1384 0.0048

Depois de calculados os três controladores desejados, realizou-se experimentalmente o

controlo do sistema servo substituindo os vários valores dos ganhos dos controladores

obtendo os três gráficos seguintes. O primeiro gráfico (Figura 9) representa a acção do

controlador P no sistema servo. Por sua vez, o segundo (Figura 10), representa a acção do

controlador PI e o terceiro (Figura 11) representa a acção do controlador PID.

Figura 9 Resposta do sistema a uma entrada em degrau de amplitude 40 rad/s (controlador P)

Page 28: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

14

Figura 10 Resposta do sistema a uma entrada em degrau de amplitude 40 rad/s (controlador PI)

Figura 11 Resposta do sistema a uma entrada em degrau de amplitude 40 rad/s (controlador

PID)

Analisando as três figuras anteriores, pode ver-se que, no primeiro caso, controlador P

(Figura 9), possui um erro em regime permanente pois a componente proporcional apenas

reduz o erro, não o elimina. No caso seguinte, controlador PI (Figura 10), verifica-se a

eliminação do erro em regime permanente devido a adição da componente integrativa. No

entanto, esta adição não é totalmente benéfica pois a resposta dinâmica do sistema é

Page 29: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

15

deteriorada, isto é, o sistema torna-se mais instável comparativamente ao controlador P da

Figura 9. Por sua vez, no controlador PID (Figura 11), a introdução da componente

derivativa introduz mais estabilidade ao sistema melhorando assim a resposta dinâmica e a

resposta em regime permanente.

2.4. ANÁLISE DO EFEITO DE CADA UMA DAS ACÇÕES DE CONTROLO

De modo a efectuar a análise de cada uma das acções de controlo (proporcional, integrativa

e derivativa) procedeu-se a variação destas para metade e para o dobro. Estas variações

foram feitas da seguinte forma:

Controlador P: para metade e o dobro do ganho proporcional;

Controlador PI: para metade e o dobro do ganho integral, mantendo os restantes ganhos

constantes;

Controlador PID: para metade e o dobro do ganho derivativo, mantendo os restantes

ganhos constantes.

Logo, e depois de efectuar os cálculos, surge a seguinte tabela (Tabela 3) com os vários

ganhos necessários para analisar o efeito das acções de controlo.

Tabela 3 Variação das várias acções de controlo

Tipo de

controlador

Acção de controlo a

variar Original

Para a

metade

Para o

dobro

P Proporcional

KP = 0.0429

KI = 0

KD = 0

KP = 0.02145

KI = 0

KD = 0

KP = 0.0858

KI = 0

KD = 0

PI Integrativa

KP = 0.0386

KI = 0.0623

KD = 0

KP = 0.0386

KI = 0.0312

KD = 0

KP = 0.0386

KI = 0.1246

KD = 0

PD Derivativa

KP = 0.0515

KI = 0.1384

KD = 0.0048

KP = 0.0515

KI = 0.1384

KD = 0.0024

KP = 0.0515

KI = 0.1384

KD = 0.0096

Nas secções seguintes vão ser apresentados os gráficos da resposta de saída para as

situações atrás enunciadas e analisados os resultados.

Page 30: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

16

2.4.1. SINTONIA DO CONTROLADOR P PARA METADE E DOBRO DO GANHO

PROPORCIONAL

As duas figuras seguintes, Figura 12 e Figura 13, mostram o comportamento do sistema

quando, usando um controlador P, se altera o ganho proporcional para metade e para o

dobro respectivamente. Analisando as duas figuras, conclui-se que diminuindo o ganho

proporcional para metade (Figura 12), o sistema torna-se mais estável mas mais lento a

responder. O mesmo não se sucede aumentando o ganho proporcional para o dobro (Figura

13). Neste caso, o sistema é mais rápido a responder no entanto não estabiliza e fica a

oscilar. Logo, verifica-se que o aumento da componente proporcional aumenta o tempo de

estabelecimento e eventualmente conduzirá o sistema à instabilidade.

Figura 12 Resposta experimental do sistema para o controlador P com KP para a metade

Page 31: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

17

Figura 13 Resposta experimental do sistema para o controlador P com KP para o dobro

2.4.2. SINTONIA DO CONTROLADOR PI PARA METADE E DOBRO DO GANHO

INTEGRAL, MANTENDO OS RESTANTES GANHOS CONSTANTES

Esta sub subsecção apresenta os resultados da alteração do ganho integrativo no caso do

controlador PI. Os resultados dessas alterações encontram-se nas Figuras Figura 14 e

Figura 15. Através da análise de estas duas figuras, pode concluir-se que, no caso da Figura

14, a diminuição do ganho integrativo para metade melhora a resposta dinâmica do sistema

e diminui o tempo de estabelecimento. Por sua vez, o aumento para o dobro desta

constante, resulta numa perda da estabilidade como se pode ver na Figura 15. É necessário

voltar a referir que, quando bem utilizada, a componente integrativa elimina o erro em

regime permanente como se viu nas Figuras Figura 10 e Figura 14. Esta característica

deve-se à adição de um polo na origem da função de transferência do controlador.

Page 32: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

18

Figura 14 Resposta experimental do sistema para o controlador PI com KI para a metade

Figura 15 Resposta experimental do sistema para o controlador PI com KI para o dobro

Page 33: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

19

2.4.3. SINTONIA DO CONTROLADOR PID PARA METADE E DOBRO DO GANHO

DERIVATIVO, MANTENDO OS RESTANTES GANHOS CONSTANTES

Por último, são apresentadas as Figuras Figura 16 e Figura 17, que se referem à variação da

acção de controlo derivativa num controlador PID. Como se pode ver pela análise das

figuras mencionadas, quando se aumenta a componente derivativa (Figura 17), o sistema

melhora a resposta dinâmica introduzindo mais estabilidade (adiciona amortecimento ao

sistema). O mesmo não acontece na redução desta componente (Figura 16). Quando ela é

reduzida, e comparando com a resposta do sistema usando um controlador PID (Figura

11), o tempo de estabelecimento do sistema aumenta. Ou seja, pode-se inferir que no caso

do aumento da componente derivativa, esta aumentou a instabilidade do sistema. No

cenário contrário, a diminuição desta componente permitiu aumentar a estabilidade do

sistema, diminuído respectivamente o tempo de estabelecimento.

Figura 16 Resposta experimental do sistema para o controlador PID com KD para a metade

Page 34: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

20

Figura 17 Resposta experimental do sistema para o controlador PID com KD para o dobro

Page 35: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

21

3. CONTROLO PID – MALHA

ABERTA

Este capítulo faz referência à questão 2 do guião laboratorial nº1. Aqui, de forma similar à

secção anterior, serão apresentados os resultados do sistema servo disponível no

laboratório, controlado por um PID, porém, baseado nas heurísticas de Z-N em malha

aberta. Ao contrário da heurística de malha fechada, onde eram calculados o ganho crítico

Kc e o período crítico Pc e, daí, projectado o controlador, aqui serão calculados diferentes

parâmetros, partindo da resposta do sistema ao degrau unitário. Para conseguir isto, um dos

valores imperativos de ser calculado é o atraso da resposta L, identificado pelo tempo

compreendido desde o início da simulação até à resposta do sistema atingir os 10% do

tempo de subida. Será também necessário o valor da resposta em regime permanente K,

assim como a duração do tempo de subida T.

3.1. SISTEMA UTILIZADO

Com o objectivo de obter a resposta do sistema ao degrau unitário, foi utilizado o sistema

em malha aberta, como apresentado na Figura 18. As diferenças para o sistema utilizado na

secção anterior assentam na inexistência das malhas de realimentação.

Page 36: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

22

Figura 18 Diagrama de blocos do Simulink em malha aberta

Após efectuar a simulação no sistema servo do laboratório e, antes de analisar os dados, é

essencial carregar os valores da entrada de referência e da velocidade (u e vel,

respectivamente) para o espaço de trabalho do MATLAB e traçar o gráfico da resposta

obtido, como demonstrado na Figura 19, utilizando a seguinte função:

plot(u(:,1),u(:,2),'b')

hold on, grid on

plot(vel(:,1),vel(:,2),'r')

xlabel('tempo (s)')

ylabel('amplitude (rad/s)')

title('Entrada de referencia (azul) - Velocidade

(vermelho)')

tempo=vel(:,1);

velocidade=vel(:,2);

Para cada variável desejada no traçado do gráfico, o tempo irá ocupar um vector na criação

matriz. Por essa razão ambas a entrada de referência e a velocidade dispõem de dois

vectores cada.

As últimas instruções desta função permitem gravar para uns novos ficheiros .mat os

valores correspondentes ao tempo e à amplitude da velocidade, com o objectivo de serem

utilizados no ponto seguinte, na altura de calcular o valor em regime permanente T.

Page 37: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

23

Figura 19 Resposta do sistema ao degrau unitário

Tendo por base o enunciado anterior, passa-se então à explicação da função desenvolvida

para o efeito. Esta função (Anexo C), abaixo descrita, irá receber os valores do tempo e da

velocidade previamente guardados e irá retornar os valores dos parâmetros necessários

para o cálculo da função de transferência de primeira ordem com atraso, representada por:

( ) ( )

( )

function [K, L, T, G] = id_zn_ma(tempo,

velocidade)

%

% Identificao da curva de resposta

% ao degrau do sistema servo

%

Numa primeira fase, é criado um vector, Kvector, com 201 posições, com o objectivo de

guardar os valores da amplitude da velocidade a partir do segundo 8 da simulação. Como

as simulações são realizadas tendo por base um steptime de 0.01s, o vector velocidade

anteriormente criado terá

ou 1001 posições.

Desta forma, é possível calcular a média do valor em regime permanente e rejeitar os

valores anteriores correspondentes ao tempo de subida. Após isso, com recurso a um ciclo

for percorre-se o vector velocidade desde a posição 800, correspondente ao segundo 8, até

Page 38: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

24

à posição final, onde, por fim, utilizando a função mean é calculada uma média dos 201

valores. Essa média é identificada como o parâmetro K ou, valor final da resposta em

regime permanente.

%% Calculo média do valor do ganho

Kvector=zeros(201,1);

a=1;

for i=800:1:1001

Kvector(a)=velocidade(i);

a=a+1;

end

K=mean(Kvector)

Com o objectivo de calcular a constante de tempo T e, sabendo que segundo a heurística

de Ziegler-Nichols, o declive máximo da curva do tempo de subida ou a taxa de reacção é

R, e sabendo que

,conseguindo calcular o valor máximo das derivadas nesse

instante de tempo, permite-nos revelar a constante de tempo T.

Com isso em mente, foi utilizada a função diff e calculadas as derivadas ponto a ponto

entre todas as posições dos vectores do tempo e da velocidade. Com os resultados

colocados no vector derivada, foi usada a função max de forma a retirar o ponto pretendido

do vector anterior. Com isto, o resultado é obtido em forma do tempo e da amplitude do

valor máximo. A última linha de código é equivalente a uma equação de primeira ordem,

onde, sabendo o valor de x e y explicados anteriormente, é calculado o declive da recta

desse ponto.

derivada=diff(velocidade)./diff(tempo);

[m,p]=max(derivada);

L = tempo(p) - velocidade(p)/m

T=K/m %Valor da constante de tempo

%% Calcular função de transferência de primeira

ordem com atraso, G

s=tf('s');

G=(K*exp(-L*s))/(T*s+1) %Função de transferência

Como se pode analisar através da Figura 20, a execução da função id_zn_ma devolve os

valores de K, L e T que são respectivamente 179.8335, 0.1831 e 1.1938 (com uma

aproximação de quatro casas decimais). O código desta função pode ser visto no Anexo C.

Page 39: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

25

Figura 20

Foi também esboçada a aproximação linear que esta função representa, de modo a ser

possível comparar uma resposta real com uma calculada analiticamente.

Figura 21 Aproximação linear à entrada de 1 rad/s

Page 40: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

26

3.2. SINTONIA DOS CONTROLADORES P, PI E PID

Com o objectivo de esboçar a resposta do sistema à aproximação linear, foram projectados

diversos controladores e analisadas as respostas para uma entrada de 40 rad/s.

Segundo as heurísticas de Zieger-Nichols, a tabela seguinte representa a sintonização

necessária para os três tipos de controladores:

Tabela 4 Sintonização em malha aberta

Tipo de Controlador KP TI TD

P

∞ 0

PI

0

PID

2L 0,5L

De forma a poder calcular os ganhos dos controladores (KP, KI e KD) foram utilizadas as

seguintes equações:

Para isto, foi desenvolvida uma função intitulada zn1(K, L, T, op) (Anexo D) que recebe

como entrada os parâmetros calculados anteriormente e uma opção numérica

compreendida entre 1 e 3, onde a op = 1 corresponde a um controlador P, a op = 2 a um

controlador PI e a op = 3 a um controlador PID. Esta função tem como objectivo

fornecer, na saída, o valor dos ganhos desses controladores, de forma a serem aplicados no

servo real.

s=tf('s');

R=K/T;

switch op

case 1 % Cálculo do controlador P

disp('Controlador P')

Kp=1/(R*L);

Ti=Inf;

Ki=Kp/Ti;

Td=0;

Kd=Kp*Td;

Gc=Kp ;

case 2 % Cálculo do controlador PI

disp('Controlador PI')

Kp=0.9/(R*L);

Ti=L/0.3;

Page 41: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

27

Ki=Kp/Ti;

Td=0;

Kd=Kp*Td;

Gc=Kp+Ki/s;

case 3 % Cálculo do controlador PID

disp('Controlador PID')

Kp=1.2/(R*L);

Ti=2*L;

Ki=Kp/Ti;

Td=0.5*L;

Kd=Kp*Td;

Gc=Kp+Ki/s+Kd*s;

A seguir vão ser apresentadas três figuras que apresentam os resultados da execução da

função zn1 para o controlador P (Figura 22), controlador PI (Figura 23) e controlador

PID (Figura 24).

Figura 22 Sintonia do controlador P

Page 42: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

28

Figura 23 Sintonia do controlador PI

Figura 24 Sintonia do controlador PID

Na tabela seguinte pode ver-se um quadro resumo com os valores dos ganhos proporcional,

integrativo e derivativo calculados anteriormente.

Page 43: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

29

Tabela 5 Quadro resumo com os valores dos ganhos calculados

Tipo de Controlador KP KI KD

P 0.0363 0 0

PI 0.0326 0.0535 0

PID 0.0435 0.1188 0.0040

Depois de calculados os três controladores desejados, realizou-se experimentalmente o

controlo do sistema servo substituindo os vários valores dos ganhos dos controladores

obtendo os três gráficos seguintes. O primeiro gráfico (Figura 25) representa a acção do

controlador P no sistema servo. Por sua vez, o segundo (Figura 26), representa a acção do

controlador PI e o terceiro (Figura 27) representa a acção do controlador PID.

Figura 25 Resposta do sistema a uma entrada em degrau de amplitude 40 rad/s (controlador P)

Page 44: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

30

Figura 26 Resposta do sistema a uma entrada em degrau de amplitude 40 rad/s (controlador PI)

Figura 27 Resposta do sistema a uma entrada em degrau de amplitude 40 rad/s (controlador

PID)

Page 45: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

31

Com estas simulações, é possível deduzir o efeito que a introdução de cada ganho produz

no sistema. Ao ser introduzido um ganho proporcional, o valor do erro na entrada do

controlador irá multiplicado e adicionado ao sinal de controlo. Desta forma, não há

garantias que o sistema atinja ou mantenha a entrada de referência em regime permanente.

Ao ser introduzido um ganho integrativo, o sistema fica mais instável e a resposta

dinâmica é deteriorada, comprovada pelo aumento da amplitude de oscilação e tempo de

estabilização, todavia, o erro em regime permanente é anulado. Isto porque, o termo

integrativo permite que o valor do sinal à saída do sistema seja tanto maior, quanto maior

foram os erros nos instantes anteriores introduzidos no PI.

Com a adição da componente derivativa, tanto o tempo de estabelecimento como o

overshoot são reduzidos, introduzindo estabilidade no sistema. Isto deve-se pois o termo

derivativo corresponde à razão da variação do erro na entrada do controlador. Assim, o

controlo ficou mais rápido e mais susceptível a variações.

3.3. ANÁLISE DO EFEITO DE CADA UMA DAS ACÇÕES DE CONTROLO

Tabela 6 Variação das várias acções de controlo

Tipo de

controlador

Acção de controlo a

variar Original Metade Dobro

P Proporcional

KP = 0.0363

KI = 0

KD = 0

KP = 0.01815

KI = 0

KD = 0

KP = 0.0726

KI = 0

KD = 0

PI Integrativa

KP = 0.0326

KI = 0.0535

KD = 0

KP = 0.0326

KI = 0.02675

KD = 0

KP = 0.0326

KI = 0.107

KD = 0

PD Derivativa

KP = 0.0435

KI = 0.1188

KD = 0.0040

KP = 0.0435

KI = 0.1188

KD = 0.0080

KP = 0.0435

KI = 0.1188

KD = 0.0020

Page 46: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

32

Figura 28 Resposta experimental do sistema para o controlador P com KP para a metade

Figura 29 Resposta experimental do sistema para o controlador P com KP para o dobro

As conclusões possíveis de se tirar da diminuição e aumento do ganho proporcional focam-

se, principalmente, no tempo da resposta e no tempo de estabelecimento, traduzindo-se em

demasia em instabilidade. Neste caso, a simulação patente na Figura 28, tem o menor valor

Page 47: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

33

do tempo de resposta, quando comparado com os da Figura 25 e Figura 29. Isto traduz-se

no resultado esperado pois, como é conhecido, o controlador proporcional dá, na entrada

do sistema a que é aplicado, um sinal proporcional ao erro. Logo, por grande ou pequeno

que seja o erro, este irá ser amplificado pelos demais e, aumentada qualquer amplitude de

controlo, o que fará com que prolongue o tempo de estabelecimento.

Figura 30 Resposta experimental do sistema para o controlador PI com KI para a metade

Page 48: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

34

Figura 31 Resposta experimental do sistema para o controlador PI com KI para o dobro

A utilização do ganho integrativo em cada controlador serve, maioritariamente, para

eliminar o erro em regime permanente. Em contra partida, o aumento deste ganho gera

sistemas lentos e oscilatórios, pois, permite que o valor do sinal à entrada do sistema seja

tanto maior, quanto maior foram os erros nos instantes anteriores introduzidos no

controlador. É isto que sucede na Figura 31, pois o erro inicial influencia em demasia os

restantes instantes da simulação, entrando em instabilidade.

Como na Figura 26 o sistema já tinha erro em regime permanente nulo ou similar, era

dispensável o aumento do ganho integrativo. Pois, como exemplifica a Figura 30, mesmo

com a diminuição deste, o erro em regime permanente continua nulo e tornou o sistema

mais estável.

Page 49: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

35

Figura 32 Resposta experimental do sistema para o controlador PID com KD para metade

Figura 33 Resposta experimental do sistema para o controlador PID com KD para o dobro

Embora a Figura 33 nos indique que o aumento do ganho derivativo é beneficial ao

sistema, esta acção, em sistemas reais, deve ser evitada o quanto possível. Quanto maior

for o incremento, mais sujeito se encontra o sistema à amplificação do ruído. Contudo,

Page 50: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

36

conforme se ilustra nas duas figuras, houve uma alteração considerável no overshoot da

resposta do sistema, pelo que este deve ser o primeiro ganho a apontar se for necessário

modificar esse parâmetro caso não se verifique problemas de ruído.

Verifica-se, também, uma alteração no tempo de estabelecimento. Pelo que este parâmetro

é influenciado por ambos os ganhos proporcional e derivativo e, caso seja necessário a

alteração, deve-se fazer um balanceamento entre estes dois ganhos e não alterar de forma

brusca o valor somente de um deles.

Page 51: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

37

4. COMPARAÇÃO Z-N

MALHA FECHADA COM

MALHA ABERTA

Este capítulo é relativo à questão 3 do guião laboratorial nº1.

A heurística de Z-N em malha fechada é bastante utilizada na indústria para sintonia de

controladores cuja dinâmica é desconhecida. O objectivo, e daí se calcula o Pu, consiste na

operação do sistema no limite da sua estabilidade, ou seja, com a parte real dos pólos igual

a zero. Caso os pólos tenham uma parte real negativa, a resposta do sistema tenderá para

um determinado valor em regime permanente. Pelo contrário, caso a parte real seja

positiva, a resposta ficará oscilatória e o sistema acabará instável. Assim, um sistema com

a parte real dos polos aproximadamente zero, apresentará normalmente, para uma entrada

em degrau, uma resposta com uma amplitude constante.

Oscilações são indesejáveis em algumas situações pois o processo pode sair da gama de

valores aceitável. Se por acaso acontecer, pode causar situações perigosas num qualquer

sistema, tal como uma aplicação de uma planta nuclear.

Page 52: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

38

Os resultados dados por este método podem ser constantemente melhorados, contudo está

limitado a processos que não podem estar integrados num sistema de malha fechada. Como

este método é baseado num sistema de tentativa e erro, para sistema complexos e onde a

precisão seja um factor indispensável, levará a uma perda enorme de tempo para se

conseguir encontrar o valor do ganho proporcional perfeito.

Por outro lado, o método de Z-N para afinação de sistemas em malha aberta é uma

alternativa que necessita de obter os dados provenientes da simulação, de forma a ser

possível analisá-los e projectar o controlador. Desta forma, torna-se um teste fácil e rápido

pois só é necessário obter uma resposta a uma entrada em degrau. Também, como os

resultados são provenientes de um computador, quer os dados da simulação, quer do

cálculo dos parâmetros para a heurística, torna-se mais fiável e correcto em comparação

com a simulação em malha fechada.

Apesar destas diferenças nos métodos a utilizar, estes foram criados de tal forma a que os

resultados esperados sejam aproximados, caso o utilizador parta de uma malha aberta ou de

uma malha com realimentação. Assim, é de esperar que os resultados sejam equivalentes.

Nos gráficos seguintes são exibidas as respostas para os valores por defeito de P, PI e PID.

Figura 34 Comparação de respostas para Controlador P

Page 53: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

39

Figura 35 Comparação de respostas para Controlador PI

Figura 36 Comparação de respostas para Controlador PID

Pelo gráfico da Figura 34, é possível deduzir que a heurística de Z-N de malha fechada

impõe mais ênfase no ganho proporcional do que a heurística de Z-N de malha aberta. Por

este motivo, o sistema irá ter mais overshoot e um maior valor de amplitude em regime

permanente. Também por este motivo, na Figura 35, verifica-se um maior tempo de

Page 54: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

40

estabilização para o sistema de malha fechada, pois com um ganho proporcional mais

elevado, o erro à entrada do controlador será amplificado, aumentando também o sinal de

controlo.

Outra explicação encontrada foi a de que encontrar um valor de perfeito não é tarefa

fácil. É necessário despender um excesso de tempo para verificar se o sistema está, ou já

tenha ultrapassado, o limite da estabilidade. Esta pode ser uma das razões pela qual o

ganho proporcional se encontra tão elevado quando comparado com o método de Z-N de

malha aberta.

Por este motivo, foram analisados em pormenor, as respostas do sistema às mudanças de

valores no controlador proporcional, tanto para metade, como para o dobro,

correspondentes às Figura 37 e Figura 38.

Figura 37 Comparação de respostas para Controlador P/2

Page 55: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

41

Figura 38 Comparação de respostas para P*2

Relativamente à alteração do valor proporcional para metade, está concordante com o que

era de esperar: o sinal de controlo terá menor amplitude, visto que o erro será menos

amplificado, tanto para a aplicação das regras de malha aberta, como para as de malha

fechada.

Todavia, o mesmo não acontece quando se aumenta em demasia o ganho proporcional.

Como tinha sido esclarecido anteriormente, este ganho foi aumentado consecutivamente

até ao limite da estabilidade do sistema, na altura de descobrir os parâmetros da heurística

de Z-N em malha fechada. Assim, e como

, quando se aumenta em , o

ganho proporcional toma valores de . Por este motivo, este ganho proporcional

torna o sistema oscilatório ou, no limite da estabilidade.

Em suma, as ideias iniciais foram comprovadas ao longo da análise dos gráficos. Qualquer

um dos métodos que seja utilizado, estará coerente com o outro. A opção de estudar o

projecto do controlador a partir do método de malha fechada ou aberta, terá de ser tomada

consoante o sistema em análise. Os pontos a pesar serão sempre a possibilidade de criar

instabilidade no sistema devido à oscilação e à possível instabilidade causada pelo método

de malha fechada, o limite de tempo ou a robustez que seja necessária no controlador.

Page 56: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

42

Page 57: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

43

5. SIMULAÇÃO DO SISTEMA

SERVO

Este capítulo faz referência à questão 4 do guião laboratorial nº1. Nele irão ser abordadas

as várias alíneas presentes na questão em causa.

Este capítulo consiste no desenvolvimento de um diagrama de blocos que utiliza uma

função de transferência de primeira ordem com atraso, obtida no capítulo 3, e onde foram

aplicadas as heurísticas de Z-N em malha aberta. Este diagrama é essencial para simular as

respostas do sistema para os controladores obtidos também no capítulo 3 e para as

variações das acções de controlo de modo a efectuar uma comparação do cenário simulado

com o cenário experimental.

5.1. DIAGRAMA DE BLOCOS

Para poder efectuar as comparações atrás enunciadas, teve de proceder-se à modelação de

um sistema servo recorrendo à ferramenta de desenvolvimento de diagrama de blocos,

Simulink. Este diagrama tem de possuir os seguintes blocos:

Entrada de referência;

Controlador PID;

Saturação;

Page 58: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

44

Bloco de atraso (transport delay);

Bloco da função de transferência;

Osciloscópio.

O diagrama final utilizado pode ver-se na Figura 39. De salientar que o bloco da função de

transferência usa os valores previamente calculados de K, L e T.

Figura 39 Diagrama de blocos desenvolvido

5.2. RESPOSTAS DO SISTEMA PARA OS CONTROLADORES ANTERIORMENTE

OBTIDOS E PARA AS VARIAÇÕES DAS ACÇÕES DE CONTROLO

Numa fase inicial simulou-se a resposta do sistema utilizando os controladores

sintonizados através das regras Z-N em malha aberta. A seguir vão ser apresentados os

resultados dessas simulações.

Para obter a resposta do controlador P, recorreu-se à Tabela 5 onde KP = 0.0363; KI e KD

são zero. Estes valores foram inseridos no bloco do controlador PID cuja resposta é

apresentada na Figura 40.

De seguida, para obter a resposta simulada do controlador PI, utilizaram-se os seguintes

ganhos, KP=0.0326, KI=0.0535 e KD=0, também presentes na Tabela 5. O resultado obtido

depois de inseridos os ganhos no bloco do controlador pode ver-se na Figura 41.

Por fim, para simular a resposta do controlador PID, foram utilizados os ganhos KP=

0.0435, KI= 0.1188 e KD= 0.0040. A resposta simulada pode ver-se na Figura 42.

Page 59: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

45

Figura 40 Resposta simulada do sistema para o controlador P sintonizado a partir das regras Z-

N em malha aberta

Figura 41 Resposta simulada do sistema para o controlador PI sintonizado a partir das regras

Z-N em malha aberta

Page 60: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

46

Figura 42 Resposta simulada do sistema para o controlador PID sintonizado a partir das regras

Z-N em malha aberta

Tendo em conta as três figuras anteriores, obtivemos resultados satisfatórios e coerentes

com os resultados obtidos no Capítulo 3. Analisando caso a caso, podemos ver que, na

Figura 40, obtemos um erro em regime permanente que se deve à existência de um

controlador P que apenas diminui o erro em regime permanente e não o elimina

completamente. Por sua vez, a Figura 41, apresenta a introdução da componente

integrativa ao controlador anterior, obtendo o controlador PI. Como se pode ver

analisando esta figura, a introdução desta componente eliminou o erro em regime

permanente no entanto, neste caso, introduziu uma ligeira deterioração da resposta

dinâmica aumentando o overshoot. Por último, a Figura 42 apresenta o resultado da junção

das três acções de controlo, proporcional, integrativo e derivativo (controlador PID).

Como se pode ver, a introdução da componente derivativa introduziu mais estabilidade ao

sistema reduzindo o tempo de estabelecimento. No entanto, a junção destas três

componentes contribuíram para obter um overshoot maior que nos casos anteriores.

Depois de simuladas as respostas para os três controladores (P, PI e PID) usando as regras

de Z-N em malha aberta, vão ser apresentadas as respostas com variação das acções de

controlo em cada um dos casos. A variação dos respectivos ganhos para o dobro e para a

metade encontram-se na Tabela 6.

Page 61: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

47

As duas primeiras simulações (Figura 43 e Figura 44) dizem respeito à variação do ganho

KP (metade e para o dobro do valor calculado) do controlador P sintonizado com as

regras Z-N em malha aberta.

As duas simulações seguintes, Figura 45 e Figura 46, são relativas à variação da constante

integrativa (KI) do controlador PI sintonizado com as regras Z-N em malha aberta.

Por fim, as duas últimas simulações, Figura 47 e Figura 48, dizem respeito à variação da

constante derivativa (KD) do controlador PID sintonizado com as regras Z-N em malha

aberta.

Figura 43 Resposta simulada do sistema para o controlador P com KP para a metade

Page 62: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

48

Figura 44 Resposta simulada do sistema para o controlador P com KP para o dobro

Figura 45 Resposta simulada do sistema para o controlador PI com KI para a metade

Page 63: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

49

Figura 46 Resposta simulada do sistema para o controlador PI com KI para o dobro

Figura 47 Resposta simulada do sistema para o controlador PID com KD para a metade

Page 64: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

50

Figura 48 Resposta simulada do sistema para o controlador PID com KD para o dobro

Relativamente aos gráficos da alteração do ganho proporcional, Figura 43 e Figura 44, é

possível concluir que quando é necessário serem efectuadas mudanças nos valores do

ganho, essas mudanças devem ser feitas de um modo suave e não bruscas. Com o aumento

do valor do para o dobro, o sistema entra em oscilação, pois, para além de estar a ser

analisado um sistema que é uma aproximação linear do sistema real, onde as respostas

podem não ser iguais, o valor do ganho fica similar ao experimentado para calcular o no

método de malha fechada. Também, com a ampliação do erro à saída do controlador, pode-

se dar o caso do sistema entrar em saturação e, sem componente derivativa, o sistema não

consegue recuperar dessa instabilidade.

Com a diminuição do ganho integrativo, na Figura 45, o sistema, embora consiga diminuir

o erro em regime permanente, nunca o consegue eliminar. Está provado mais uma vez que

esta alteração foi abrupta. O overshoot foi reduzido derivado da resposta do sistema ser

mais lenta, contudo, embora funcione neste caso, qualquer alteração que possa acontecer, o

sistema não reagirá de maneira adequada. Na Figura 46 já se consegue comprovar a

eliminação do erro em regime permanente, todavia, este só acontece ao fim de 12s. Isto

porque, com o aumento do ganho integrativo, deteriora-se a dinâmica do sistema. O

aumento deste ganho só deve ser justificado pela supressão do erro em regime permanente.

Page 65: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

51

Qualquer aumento para além deste, é desnecessário e irá causar problemas no sistema.

Como comprova a Figura 41, este erro já se encontrava anulado, pelo que a única

vantagem trazida era a diminuição deste valor, por tentativas, até próximo do limiar de

existência de erro em regime permanente.

Enquanto na Figura 47 se verifica o que era esperado e que já foi referido de diminuir o

valor do controlador derivativo: o controlo torna-se mais lento, alterando o overshoot e o

tempo de estabilização.

Porém, na Figura 48, o sistema tem um comportamento inesperado: após os primeiros

segundos de regime transitório, este entra em oscilação sem razão aparente, contrariando a

hipótese da estabilização no valor de referência. Uma outra razão para este facto, é a de o

sistema ter sido criado a partir de uma aproximação linear, podendo ter diferenças

significativas quando comparado com o sistema real.

Mesmo em situações onde as oscilações são lentas e a utilização do ganho derivativo

parece ser apropriada, é necessário cuidado na utilização deste. Segundo Rice, mesmo que

a resposta do sistema tenha um overshoot muito alto, é aconselhável aumentar também os

ganhos proporcionais e integrais para compensar o ganho derivativo. Sem isto, o valor

elevado da acção derivativa tende a destabilizar uma oscilação porque não consegue fazer

a correcção.

Não obstante, o uso da acção derivativa pode ser muito beneficial, mas tem de ser usada

nas situações e momentos exactos. Em alguns casos, alterar os parâmetros proporcionais e

integrativos é o suficiente para obter uma resposta equivalente à introdução de um ganho

derivativo.

“A adição de um ganho derivativo deve ser feita cuidadosamente e com a aplicação de um

filtro adequado. Como cozinhar com um molho picante, em situação apropriada e em boas

mãos, o resultado pode ser notável. Mas, se for usado inadequadamente, é a receita para o

desastre.”

Page 66: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

52

6. CÁLCULO DO OVERSHOOT

E AJUSTE DA RESPOSTA

Este capítulo faz referência à questão 5 do guião laboratorial nº1. Para este ponto, foram

utilizados os valores do controlador PID sintonizado, em malha fechada, na secção 2 e

apresentados a seguir na Tabela 7.

Tabela 7 Ganhos do controlador PID em malha fechada

Tipo de Controlador KP KI KD

PID 0.0515 0.1384 0.0048

O objectivo é o de analisar a resposta deste controlador no sistema servo e, perante os

dados resultantes, analisar o excedente, durante o tempo de subida, relativamente ao valor

final, ou overshoot. Após isto, se necessário, terá de ser alterada a percentagem de

overshoot para não mais de 20%, recorrendo à modificação dos ganhos do controlador

PID no sistema servo.

Para uma entrada em degrau, o cálculo do overshoot está referido como sendo o valor

máximo de amplitude atingido durante o tempo de estabilização subtraído pelo valor final

da amplitude, dividido pelo valor final da amplitude, ou: ( ) -

Page 67: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

53

( )

(2)

Depois de ser feita a simulação no sistema servo, foram retirados e observados os

resultados. Os estudos anteriores, mais concretamente na Figura 11, já nos tinham revelado

que o overshoot estaria com um valor mais elevado do que era pretendido. Contudo, para o

calcular, foi desenvolvida uma função (function Mp = calc_ov (t, vel), Anexo E), que teria

como parâmetros de entrada o tempo e a velocidade da simulação no sistema servo

anteriormente referida, e como parâmetro de saída a percentagem de overshoot em causa

no sistema.

Para isso, será necessário retirar do gráfico da Figura 11, o valor final e o valor máximo, os

quais são conseguidos a partir da última posição do vector vel, que acontece quando o

sistema já está estável durante algum período, e da utilização da função max, que retorna o

valor máximo contido no vector vel, respectivamente.

ValorFinal = vel(end);

ValorMaximo = max(vel);

Mp = (ValorMaximo - ValorFinal)/ValorFinal;

disp(sprintf('O overshoot tem o valor de

%g%%',Mp*100))

Após isto, é apresentado na linha de comandos o resultado final de 44.34% de overshoot:

Figura 49 Valor do overshoot para PID

Com este valor estabelecido, falta agora fazer as alterações necessárias ao sistema com o

objectivo de o reduzir. Já tinha sido visto na secção Erro! A origem da referência não foi

encontrada. a diferença causada pela variação de cada um dos ganhos no nosso sistema.

Caso fosse diminuído o ganho proporcional de forma excessiva, o sistema apresentaria um

valor final inaceitável pois, o valor ao qual era multiplicado o erro era demasiado pequeno

Page 68: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

54

e tornaria o controlo com um valor baixo. Pelo contrário, se fosse aumentado, poderia

causar um tempo de estabelecimento elevado.

O aumento do ganho integrativo serviria somente para introduzir rapidez no sistema (pois

o erro em regime permanente já se encontrava anulado), contudo iria aumentar a

instabilidade de tal forma que o controlo ficaria sem propósito. Assim como a diminuição,

onde iria, obrigatoriamente, reduzir o overshoot, como se comprova na Figura 50, pois o

sistema iria responder de uma forma lenta às mudanças provocadas, porém, caso o valor do

ganho fosse demasiado pequeno, podia até provocar o desfasamento do valor final do

pretendido.

Figura 50 Resposta com Ki = 0.0276

Quanto ao termo derivativo, foi possível comprovar que com a diminuição do valor deste,

o sistema tornar-se-ia mais lento e demorado a estabilizar e não diminuiria o overshoot.

Com o aumento deste ganho, não se verificou redução significativa no tempo de subida, a

resposta ainda se manteve no valor de referência (pois o ganho integrativo não foi alterado)

e o controlo tornou-se mais rápido e estável. Pelo motivo do controlo se tornar mais rápido,

optou-se por aumentar este ganho em primeiro lugar. A tabela seguinte indica as

modificações feitas ao ganho derivativo e o resultado final aceitável:

Page 69: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

55

Tabela 8 Variação do ganho derivativo e correspondente overshoot

Ganho Mp(%)

0,0096 24,05

0,0144 20,22

0,0158 19,43

A figura seguinte ilustra a resposta do sistema para a variação do ganho derivativo

Figura 51 Resposta com Kd = 0, 0158

Na generalidade, o ganho derivativo é usado quando é pretendido alterar o overshoot pois,

como este ganho corresponde à razão da variação do erro na entrada do controlador, o

controlo torna-se mais rápido e susceptível a variações repentinas do sistema. Todavia, isto

não é a solução óptima para todos os casos pois, embora neste sistema não nos tenhamos

deparado com isto, a acção derivativa tem a desvantagem de amplificar os sinais de ruido,

o que pode causar um efeito de saturação nos actuadores do sistema.

Page 70: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

56

Contudo, neste sistema, obtivemos melhores resultados com a variação do ganho

integrativo, quando comparado com a variação do ganho derivativo. O efeito de sistema

lento, que a redução do ganho integrativo devia causar, não foi notado e, o ganho foi

reduzido tanto quanto possível, sempre mantendo o erro em regime permanente nulo.

Após ter sido reduzido o ganho integrativo com a resposta indicada na Figura 50, optou-se

por, adicionalmente, aumentar o ganho derivativo com a intenção de estabilizar o sistema.

Como era expectável, com a modificação destes dois parâmetros houve uma redução no

tempo de estabelecimento, estabilidade no sistema e redução do overshoot. Na figura e

tabela seguintes são mostrados os resultados para uma versão aprimorada relativamente à

alteração do ganho integral e derivativo.

Tabela 9 Variação do ganho derivativo e integral e correspondente overshoot

Ki Kd Mp(%)

0.0276 0.0048 15,61

0.0276 0.00624 9,232

Figura 52 Resposta com Ki = 0.0276 e Kd = 0.0062

Page 71: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

57

7. SINTONIA DOS

CONTROLADORES PI E PID

UTILIZANDO UM MÉTODO

ÓPTIMO

Este capítulo é relativo à questão 6 do guião laboratorial nº1. Nela é pedido para fazer a

sintonia dos controladores PI e PID utilizando o método óptimo de sintonia proposto por

Zhuang e Atherton para o critério Integral Squared Time Weighted Error (ISTE). É

também pedido para esboçar as respostas dos controladores sintonizados para uma entrada

em degrau com amplitude de 40rad/s e para comparar as respostas de saída referentes à

utilização deste método e do método Z-N de malha aberta.

7.1. OBTENÇÃO DOS GANHOS E ESBOÇO DAS RESPOSTAS

Para obter os ganhos desejados, foi desenvolvida uma função denominada za cujos

parâmetros de entrada são K, L, T previamente calculados com o modelo de primeira

ordem com atraso determinado no capítulo 3. Possui ainda outro parâmetro de entrada, op,

que determina o tipo de controlador (1–PI e 2–PID). Depois de executada, esta função

Page 72: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

58

devolve os ganhos dos controladores (KP, KI e KD) e a respectiva função de transferência

do controlador desejado.

Para obter os parâmetros de sintonia, é necessário que o modelo do processo seja dado por

uma função de transferência de primeira ordem com um tempo de atraso (First-Order-

Plus-Dead-Time – FOPDT). Essa função foi anteriormente apresentada também no

capítulo 3.

Para ambos os controladores, PI e PID, os ganhos são calculados da mesma forma. A

seguir são apresentadas as equações que permitem determinar esses ganhos:

onde para diferentes valores de L/T , os coeficientes a e b são definidos de acordo com as

duas tabelas seguintes. A Tabela 10 é relativa aos parâmetros do PI. Por sua vez, a Tabela

11 diz respeito aos parâmetros do PID. De referir ainda que, no caso do controlador PI, a

constante de tempo derivativa Td é zero pois não possui essa componente.

Tabela 10 Parâmetros do controlador PI para o critério ISTE

L/T

constantes

0.1 – 1 1.1 – 2

a1 0.712 0.786

b1 -0.921 -0.559

a2 0.968 0.883

b2 -0.247 -0.158

Tabela 11 Parâmetros do controlador PID para o critério ISTE

L/T

constantes

0.1 – 1 1.1 – 2

a1 1.042 1.142

b1 -0.897 -0.579

a2 0.987 0.919

Page 73: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

59

b2 -0.238 -0.172

a3 0.385 0.384

b3 0.906 0.839

Através da utilização dos dados anteriores, foi possível realizar a sintonia dos

controladores PI e PID. A seguir são apresentadas as instruções que permitem essa

sintonia. O código da função za pode ser visto no Anexo F.

s=tf('s');

switch op

case 1 % Cálculo do controlador PI

disp('Controlador PI')

if (L/T)>=0.1 & (L/T)<=1

a1=0.712;

b1=-0.921;

a2=0.968;

b2=-0.247;

elseif (L/T)>=1.1 & (L/T)<=2

a1=0.786;

b1=-0.559;

a2=0.883;

b2=-0.158;

end

Kp=(a1/K)*((L/T)^b1);

Ti=T/(a2+b2*(L/T));

Ki=Kp/Ti;

Td=0;

Kd=Kp*Td;

Gc=Kp+Ki/s;

case 2 % Cálculo do controlador PID

disp('Controlador PID')

if (L/T)>=0.1 & (L/T)<=1

a1=1.042;

b1=-0.897;

a2=0.987;

b2=-0.238;

a3=0.385;

b3=0.906;

elseif (L/T)>=1.1 & (L/T)<=2

a1=1.142;

b1=-0.579;

a2=0.919;

b2=-0.172;

a3=0.384;

b3=0.839;

end

Kp=(a1/K)*((L/T)^b1);;

Ti=T/(a2+b2*(L/T));

Ki=Kp/Ti;

Td=a3*T*((L/T)^b3);

Kd=Kp*Td;

Gc=Kp+Ki/s+Kd*s;

otherwise % Outras opções

Page 74: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

60

disp('Função: [ Kp, Ki, Kd, Gc ] = id_za(

K, L, T , op) onde,')

disp('op=1 -> Controlador PI;')

disp('op=2 -> Controlador PID;')

end

end

A seguir vão ser apresentadas três figuras que apresentam os resultados da execução da

função za para controlador PI (Figura 53) e controlador PID (Figura 54).

Figura 53 Sintonia do controlador PI

Figura 54 Sintonia do controlador PID

Page 75: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

61

Na Tabela 12 pode ver-se um quadro resumo com os valores dos ganhos proporcional,

integrativo e derivativo calculados anteriormente para os controladores PI e PID usando o

método óptimo de sintonia proposto por Zhuang e Atherton para o critério ISTE.

Tabela 12 Quadro resumo com os valores dos ganhos calculados

Tipo de controlador KP KI KD

PI 0.0223 0.0173 0

PID 0.0311 0.0248 0.0026

Depois de obtidos os controladores, são esboçadas as respostas destes ao degrau para uma

amplitude de 40rad/s. Estas respostas foram obtidas recorrendo ao sistema servo

disponível. Os ganhos dos controladores utilizados foram obtidos através da função

desenvolvida para o efeito (za) e encontram-se na Tabela 12. A seguir são apresentadas as

respostas para o controlador PI (Figura 55) e para o PID (Figura 56).

Figura 55 Resposta do sistema a uma entrada em degrau de amplitude 40 rad/s (controlador PI)

Page 76: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

62

Figura 56 Resposta do sistema a uma entrada em degrau de amplitude 40 rad/s (controlador

PID)

7.2. COMPARAÇÃO DO MÉTODO ÓPTIMO ZHUANG E ATHERTON COM O DE

ZIEGLER-NICHOLS EM MALHA ABERTA

Nesta subsecção são apresentadas as comparações entre o método óptimo proposto por

Zhuang e Atherton (Figura 55 e Figura 56) com as regras de Z-N em malha aberta (Figura

26 e Figura 27) para as mesmas situações, isto é, sintonia dos controladores PI e PID.

Através da análise das figuras mencionadas no parágrafo anterior, é rapidamente

observável que a utilização do método óptimo proposto por Zhuang e Atherton permite a

sintonia de controladores que introduzem um overshoot menor que os controladores

sintonizados através das regras de Z-N em malha aberta. Utilizando a função desenvolvida

no Capítulo 6 para o cálculo do overshoot, comprovou-se que foi referido atrás. Os dados

obtidos da execução desta função podem ser vistos na Tabela 13.

Tabela 13 Comparação do overshoot entre ambos os métodos

Overshoot

Tipo de controlador Zhuang e Atherton Ziegler-Nichols

PI 19.591% 60.1654%

PID 15.5725% 48.3726%

Page 77: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

63

Ainda através da análise das figuras referidas, verifica-se que, para ambos os casos (PI e

PID), o tempo de estabelecimento é menor para os controladores sintonizados através do

método óptimo Zhuang e Atherton. Isto também foi verificado através de uma ferramenta

do MATLAB denominada de stepinfo. Esta ferramenta apresenta no ecrã as características

da resposta ao degrau de um dado sistema. Como se pode ver na Figura 57, depois de

executar a ferramenta stepinfo para ambos os casos, comprovou-se que o tempo de

estabelecimento (SettlingTime) era maior nos controladores sintonizados através das regras

Z-N. Comprova-se também que há uma maior diferença de tempo de estabelecimento no

controlador PI do que no controlador PID.

Figura 57 Comparação do tempo de estabelecimento através do stepinfo

Tendo em conta o atrás referido, pode-se afirmar que o método óptimo proposto por

Zhuang e Atherton é de maior eficácia na sintonização de controladores.

Page 78: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

64

8. CONTROLO DIFUSO

Este capítulo é relativo ao guião laboratorial nº2. Nele são apresentados os resultados

obtidos no controlo da velocidade do sistema servo, disponível no laboratório, utilizando

um controlador difuso. O controlo da velocidade do servo foi passível de ser realizado

utilizando o conhecimento humano para gerar decisões com base no mecanismo de

inferência difusa.

O objectivo deste guião é controlar o sistema servo utilizando um controlador difuso. Para

isso, o sistema tem de cumprir as seguintes especificações:

Erro em regime permanente nulo (ess = 0);

Sobreelongação inferior a 10% (PO (Percent Overshoot) < 10%)

Tempo de estabelecimento inferior a 4 segundos (ts < 4s)

Posto isto, de modo a efectuar o controlo difuso do sistema servo, executaram-se três

etapas fulcrais:

Escolha do controlador difuso (Mamdani ou Sugeno);

Projecto do controlador difuso;

Teste do controlador difuso.

8.1. ESCOLHA DO CONTROLADOR DIFUSO

Page 79: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

65

Nos métodos práticos de sintonia de controladores, o primeiro passo tem como objectivo a

escolha dos controladores a usar (proporcional, integrativo, derivativo ou uma combinação

destes). Após isto, a sintonização dos controladores consiste em, partindo da resposta do

sistema a uma entrada em degrau, arranjar certos valores que permitam o cálculo dos

referidos parâmetros.

A vantagem deste procedimento é não existir a necessidade de conhecer o modelo exacto

do sistema (por vezes difícil de determinar). Pode-se, assim, concluir que se deverá

recorrer a este procedimento somente quando o custo da sintonia do controlador for

inferior ao custo da análise do sistema e projecto do controlador adequado.

Relativamente à comparação entre os dois métodos de sintonização de Z-N, foi possível

comprovar que ambos foram criados para fornecer o mesmo tipo de resposta ao sistema. A

escolha de um deles no momento de projectar o controlador, rege-se somente pelo sistema

em que é aplicado. Foi comprovado que ambos os métodos são fiáveis e de relativa

facilidade de execução. Todavia, a necessidade de ter o processo em teste durante esse

tempo, o tempo e a imprecisão, assim como os ganhos e o overshoot elevado podem não

fazer deste método o melhor para todos os sistemas. Algumas aplicações podem preferir

minimizar ou eliminar o overshoot e, para essas, Z-N não é apropriado

A lógica de Fuzzy fornece um certo nível de inteligência artificial aos controladores

convencionais, conduzindo-os a uma elevada eficiência. Sistemas de oscilação não lineares

são excelentes candidatos para um controlador deste tipo, pois é possível ajustar os

parâmetros para obter uma resposta rápida e quase sem qualquer overshoot. Também,

sistemas com um alto nível de sensibilidade ao ruído, são controlados com mais precisão

quando a lógica de Fuzzy é aplicada.

8.2. PROJECTO DO CONTROLADOR DIFUSO

Para projectar o controlador difuso, foram seguidos um conjunto de passos de modo a

cumprir o objectivo proposto para este guião. Os passos seguidos foram os seguintes:

Definição das variáveis linguísticas de entrada e saída;

Definição das funções de pertença;

Implementação do conjunto de regras;

Page 80: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

66

Definição do método de agregação e implicação; e

Definição do método de desfuzificação.

Estes passos foram concretizados, um a um, utilizando a toolbox Fuzzy Logix que permite

o desenvolvimento de um controlador difuso de uma forma bastante intuitiva e de fácil

compreensão. Esta toolbox é facilmente executada digitando na linha de comandos a

instrução seguinte:

>> fuzzy

A primeira etapa consistiu na definição das variáveis linguísticas de entrada e saída. Para

controlar o servo, foram escolhidas duas variáveis de entrada e uma de saída. As variáveis

de entrada são:

Erro; e

Variação do erro.

Por sua vez, a variável de saída é:

Acção de controlo.

Na Figura 58 podem ver-se as variáveis linguísticas usadas assim como outras informações

relevantes à projecção do controlador difuso. O controlador usado foi o de mamdani e os

métodos And e Or são min e max respectivamente. Relativamente aos métodos de

implicação e agregação, as opções utilizadas são min e max respectivamente. O método de

desfuzificação utilizado foi o método do centróide.

Page 81: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

67

Figura 58 Variáveis linguísticas, tipo de controlador difuso, métodos de agregação e implicação

e desfuzificação.

Depois de definidas as variáveis linguísticas, foram definidas as funções de pertença para

cada variável linguística. Para cada uma delas definiram-se três conjuntos difusos: P

(positivo), Z (zero) e N (negativo). Para todas as variáveis (erro, variacao_erro e

accao_controlo), as funções de pertença dos conjuntos difusos são do tipo trapezoidais

para N e P e triangulares para o Z.

Na Figura 59 pode ver-se a variável linguística erro com os vários conjuntos difusos.

Como já foi dito, as funções de pertença N e P são trapezoidais e a função de pertença Z é

triangular.

Page 82: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

68

Figura 59 Variável linguística erro

De salientar que, o universo de discurso da variável linguística erro vai de -50 até 50. Este

facto deve-se ao que achamos ser o valor máximo do erro. No caso inicial, isto é, quando

t=0s, o erro associado é de 40rad/s. Tendo em conta este valor, optou-se por definir o

anterior universo de discurso especificado.

Os universos de discurso dos conjuntos difusos da variável linguística erro são:

P – [0 37.5 55 95];

Z – [-37.5 0 37.5];

N – [-95 -55 -37.5 0].

Na Figura 60 pode ver-se a variável linguística variacao_erro. Esta variável linguística

possui um universo de discurso de -150 a 150 pois, o declive máximo possível é de

aproximadamente 150. Este facto pode ser confirmado calculando a derivada máxima da

velocidade em ordem ao tempo.

Page 83: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

69

Os universos de discurso dos conjuntos difusos da variável linguística variacao_erro são:

P – [0 75 165 285];

Z – [-75 0 75];

N – [-285 -165 -75 0].

Figura 60 Variável linguística variacao_erro

Por último, a variável linguística accao_controlo pode ser vista na Figura 61. O universo

de discurso desta variável linguística varia de -1 a 1 onde 1 significa acção de controlo

máxima, 0 significa sem acção de controlo e -1 significa acção de controlo máxima mas no

sentido contrário.

Os universos de discurso dos conjuntos difusos da variável linguística accao_controlo são:

P – [0 0.22 1.1 1.9];

Z – [-0.22 0 0.22];

N – [-1.9 -1.1 -0.22 0].

Page 84: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

70

Figura 61 Variável linguística accao__controlo

O passo seguinte consistiu na implementação do conjunto de regras pelas quais o sistema

difuso se irá guiar. Essas regras foram criadas no editor de regras disponível para o efeito.

Dado o número de conjuntos difusos, foram definidas 9 regras para efectuar o controlo do

sistema servo. De modo a implementar as regras, construi-se primeiro uma tabela com as

acções de controlo a efectuar em diferentes cenários das variáveis de entrada. A tabela

referida pode ser vista a seguir.

Tabela 14 Tabela das regras para o controlador difuso

Variação do erro

N Z P

Erro

N N N N

Z N Z P

P P P P

Page 85: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

71

A seguir (Figura 62) é apresentado o editor de regras com todas as regras criadas para o

controlo do sistema servo e presentes na Tabela 14.

Figura 62 Editor de regras e regras criadas

Depois de efectuados todos estes passos, procedeu-se à simulação do comportamento do

sistema servo utilizando o controlador difuso desenvolvido. Para esse fim, foi necessário

construir um diagrama de blocos que reunisse as condições necessárias à correcta

simulação do sistema. A seguir é apresentado o diagrama de blocos desenvolvido (Figura

63).

Figura 63 Diagrama de blocos para simulação do sistema servo com um controlador difuso

Page 86: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

72

Depois de usado o controlador atrás criado, foi feita a simulação com o diagrama de blocos

também desenvolvido. A resposta da simulação obtida pode ser vista na Figura 64.

Figura 64 Resposta simulada com o uso do controlador difuso

Através da análise da Figura anterior, comprova-se que não existe erro em regime

permanente. Para comprovar as outras especificações, utilizou-se a função stepinfo já

anteriormente identificada. O resultado dessa função indica um tempo de estabelecimento

de 1.8938s e um overshoot de 0.3932. Pode assim afirmar-se que o controlador difuso foi

correctamente desenvolvido, no que diz respeito à simulação.

Page 87: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

73

Figura 65 stepinfo da resposta do sistema usando um controlador difuso

8.3. TESTE DO CONTROLADOR DIFUSO

De modo a poder testar no sistema servo o controlador difuso desenvolvido, necessitou-se

de criar um diagrama de blocos que permitisse efectuar o pretendido. Deste modo,

desenvolveu-se o diagrama de blocos seguinte (Figura 66). A verde encontram-se os

blocos adicionados para poder usar o controlador difuso desenvolvido.

Figura 66 Diagrama de blocos para a resposta experimental usando o controlador difuso

Page 88: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

74

Usando o controlador desenvolvido obteve-se a seguinte resposta (Figura 67) a um degrau

de 40rad/s. Analisando o gráfico rapidamente se observa que não existe erro permanente e

que possui um tempo de estabelecimento abaixo do limite fixado.

Figura 67 Resposta experimental com o uso do controlador difuso

Para saber o valor do overshoot recorre-se à função stepinfo que retornou as características

da resposta ao degrau como pode ser visto a seguir. Verificou-se então que o overshoot era

maior do que o desejado (14.4200%).

Figura 68 stepinfo da resposta do sistema usando um controlador difuso

Page 89: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

75

Para resolver este problema, alteraram-se os ganhos presentes no diagrama de blocos

desenvolvido de modo a ajustar a resposta e obter um resultado satisfatório. Depois de um

conjunto de tentativas, utilizaram-se 1.5 no ganho Gain1, 0.91 no Gain e 1.2 no Gain2.

A resposta obtida utilizando os ganhos anteriores pode ver-se na Figura 69. Rapidamente

se consegue observar que esta resposta cumpre todas as especificações necessárias. Não

possui erro em regime permanente; overshoot menor que 10% e tempo de estabelecimento

menor que 4s.

Figura 69 Resposta experimental com o uso do controlador difuso

Para quantificar o overshoot e o tempo de estabelecimento, usou-se a função stepinfo já

anteriormente referida. O resultado da execução deste comando pode ver-se na Figura 70.

Assim conclui-se que o valor do overshoot é de 1.1755% e o valor do tempo de

estabelecimento é de 2.9048.

Page 90: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

76

Figura 70 stepinfo da resposta do sistema usando um controlador difuso

Os controladores de Fuzzy têm a vantagem de poder controlar eficazmente sistemas não

lineares e usar o conhecimento humano como base. Como estes controladores têm uma

série de parâmetros a configurar, é importante fazer uma boa escolha das regras baseadas

nas funções de pertença. Assim que o controlador de Fuzzy for integrado no sistema, este

pode ser considerado como um todo numa relação de causalidade. Quando os parâmetros

são bem escolhidos e definidos, a resposta do sistema têm óptimas características, quer de

tempo de estabilização ou de subida. Este tipo de controlador é, também, bastante sensível

às distribuições das funções de pertença, pelo que uma pequena alteração pode significar

uma variação considerável quando testado no sistema.

Um dos problemas com estes controladores é o tempo de computação necessário para

calcular, quer as fuzzificações, quer as desfuzificações. Em sistemas de âmbito académico

essa diferença pode não ser notória, contudo, em sistemas de calibre industrial, pode ser a

razão para a não utilização.

Os controladores PID têm somente três parâmetros para ajustar, embora as respostas do

sistema das secções anteriores mostrem bons resultados em termos de tempo de resposta e

precisão, quando estes parâmetros são bem ajustados. Estes controladores não podem ser

aplicados a sistemas que requerem uma mudança rápida de parâmetros, pois isto iria

requerer uma constante mudança nos ganhos do controlador PID. Uma opção viável seria a

combinação de um controlador PID e de um controlador Fuzzy. Isto significa que,

Page 91: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

77

enquanto o sistema é controlado por um PID, este é supervisionado por um controlador

Fuzzy, podendo-lhe alterar assim os parâmetros em tempo real.

Page 92: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

78

9. CONCLUSÕES

Nos métodos práticos de sintonia de controladores, o primeiro passo tem como objectivo a

escolha dos controladores a usar (proporcional, integrativo, derivativo ou uma combinação

destes). Após isto, a sintonização dos controladores consiste em, partindo da resposta do

sistema a uma entrada em degrau, arranjar certos valores que permitam o cálculo dos

referidos parâmetros.

A vantagem deste procedimento é não existir a necessidade de conhecer o modelo exacto

do sistema (por vezes difícil de determinar). Pode-se, assim, concluir que se deverá

recorrer a este procedimento somente quando o custo da sintonia do controlador for

inferior ao custo da análise do sistema e projecto do controlador adequado.

Relativamente à comparação entre os dois métodos de sintonização de Z-N, foi possível

comprovar que ambos foram criados para fornecer o mesmo tipo de resposta ao sistema. A

escolha de um deles no momento de projectar o controlador, rege-se somente pelo sistema

em que é aplicado. Foi comprovado que ambos os métodos são fiáveis e de relativa

facilidade de execução. Todavia, a necessidade de ter o processo em teste durante esse

tempo, o tempo e a imprecisão, assim como os ganhos e o overshoot elevado podem não

fazer deste método o melhor para todos os sistemas. Algumas aplicações podem preferir

minimizar ou eliminar o overshoot e, para essas, Z-N não é apropriado

Page 93: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

79

A lógica de Fuzzy fornece um certo nível de inteligência artificial aos controladores

convencionais, conduzindo-os a uma elevada eficiência. Sistemas de oscilação não lineares

são excelentes candidatos para um controlador deste tipo, pois é possível ajustar os

parâmetros para obter uma resposta rápida e quase sem qualquer overshoot. Também,

sistemas com um alto nível de sensibilidade ao ruído, são controlados com mais precisão

quando a lógica de Fuzzy é aplicada.

Page 94: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

80

Função id_zn_mf Anexo A.

function [Kc, Pc] = id_zn_mf(t, vel, Kc) % % Obtenção dos parâmetros Kc, Pc aplicando as % regras de Ziegler-Nichols em malha fechada % Kc=0.08584; %% Calcular máximos x=zeros(13,1); y=zeros(12,1); a=1; for i=500:1:1501 if i<1501 if vel(i)>vel(i-1) & vel(i)>vel(i+1) %Ver se o valor actual é

superior ao valor anterior e superior ao valor posterior; caso seja

guardar o valor de i x(a)=i; %Guarda a posição do máximo no vector x a=a+1; %Incrementa a para ocupar a próxima posição no vector

x end end end %% Calcular média dos períodos críticos for i=1:1:12 y(i)=t(x(i+1))-t(x(i)); %Calcula os vários períodos críticos end %% Mostrar Pc e Kc Pc=mean(y); %% Calcula a média dos vários períodos críticos Kc; end

Page 95: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

81

Função zn2 Anexo B.

function [Kp, Ki, Kd, Gc] = zn2(Kc, Pc, op) % % Sintonia dos controladores PID usando % as regras de Ziegler-Nichols em malha fechada % s=tf('s'); switch op case 1 % Cálculo do controlador P disp('Controlador P') Kp=0.5*Kc; Ti=Inf; Ki=Kp/Ti; Td=0; Kd=Kp*Td; Gc=Kp; case 2 % Cálculo do controlador PI disp('Controlador PI') Kp=0.45*Kc; Ti=(1/1.2)*Pc; Ki=Kp/Ti; Td=0; Kd=Kp*Td; Gc=Kp+Ki/s; case 3 % Cálculo do controlador PID disp('Controlador PID') Kp=0.6*Kc; Ti=(1/2)*Pc; Ki=Kp/Ti; Td=(1/8)*Pc; Kd=Kp*Td; Gc=Kp+Ki/s+Kd*s; otherwise % Outras opções disp('Função: [Kp, Ki, Kd, Gc] = zn2(Kc,Pc,op) onde,') disp(' op=1 -> Controlador P;') disp(' op=2 -> Controlador PI;') disp(' op=3 -> Controlador PID.') end end

Page 96: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

82

Função id_zn_ma Anexo C.

function [K, L, T, G] = id_zn_ma(tempo, velocidade) % % Identificao da curva de resposta % ao degrau do sistema servo % %% Calcular média do valor do ganho Kvector=zeros(201,1); a=1; for i=800:1:1001 Kvector(a)=velocidade(i); a=a+1; end K=mean(Kvector)%K=velocidade(end) Valor do ganho %% Calcular valor do atraso derivada=diff(velocidade)./diff(tempo); % "." para fazer a derivada ponto

a ponto [m,p]=max(derivada); %calcular valor máximo (declive máximo) da derivada

e a posição do mesmo %tm=tempo(p); %ym=velocidade(p); %L=tm-ym/m %Valor do atraso L = tempo(p) - velocidade(p)/m % y =mx+b onde o b=velocidade(p)-

m*tempo(p) logo, x=L quando y=0 -> L=-b/m %% Calcular valor da constante de tempo T=K/m %Valor da constante de tempo %% Calcular função de transferência de primeira ordem com atraso, G s=tf('s'); G=(K*exp(-L*s))/(T*s+1) %Função de transferência de primeira ordem com

atraso, G %ou G=tf(K,[T 1],'inputdelay',L) %% Esboçar a resposta em malhar aberta e a aproximação linear plot(tempo,velocidade,'b', [0 L L+T tempo(end)], [0 0 K K], 'r') title('ZN - Resposta em Malha Aberta','fontsize',16) %title('Sinal Exacto

(azul) - Aproximação Linear (vermelho)') ylabel('amplitude(rad/s)','fontsize',16); xlabel('tempo (s)','fontsize',16); legend('Sinal Exacto','Aproximação Linear'

Page 97: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

83

Função zn1 Anexo D.

function [Kp, Ki, Kd, Gc] = zn1(K, L, T, op) % % Sintonia dos controladores PID usando % as regras de Ziegler-Nichols em malha aberta % s=tf('s'); R=K/T; switch op case 1 % Cálculo do controlador P disp('Controlador P') Kp=1/(R*L); Ti=Inf; Ki=Kp/Ti; Td=0; Kd=Kp*Td; Gc=Kp ; case 2 % Cálculo do controlador PI disp('Controlador PI') Kp=0.9/(R*L); Ti=L/0.3; Ki=Kp/Ti; Td=0; Kd=Kp*Td; Gc=Kp+Ki/s; case 3 % Cálculo do controlador PID disp('Controlador PID') Kp=1.2/(R*L); Ti=2*L; Ki=Kp/Ti; Td=0.5*L; Kd=Kp*Td; Gc=Kp+Ki/s+Kd*s; otherwise % Outras opções disp('Função: [Kp, Ki, Kd, Gc] = zn2(Kc,Pc,op) onde,') disp(' op=1 -> Controlador P;') disp(' op=2 -> Controlador PI;') disp(' op=3 -> Controlador PID.') end end

Page 98: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

84

Função overshoot Anexo E.

function Mp = calc_ov (t, vel) % % Cálculo do overshoot da resposta % de saida % ValorFinal = vel(end); ValorMaximo = max(vel); Mp = (ValorMaximo - ValorFinal)/ValorFinal; disp(sprintf('O overshoot tem o valor de %g%%',Mp*100))

Page 99: CONTROLO DA VELOCIDADE DE UM SISTEMA SERVOave.dee.isep.ipp.pt/~lbf/LABF520/Alulas...Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas

85

Função za Anexo F.

function [ Kp, Ki, Kd, Gc ] = za( K, L, T , op) %Função que faz a sintonia dos controladores PI e PID utilizando o método

%óptimo de sintonia proposto por Zhuang e Atherton para o critério ISTE s=tf('s'); switch op case 1 % Cálculo do controlador PI disp('Controlador PI') if (L/T)>=0.1 & (L/T)<=1 a1=0.712; b1=-0.921; a2=0.968; b2=-0.247; elseif (L/T)>=1.1 & (L/T)<=2 a1=0.786; b1=-0.559; a2=0.883; b2=-0.158; end Kp=(a1/K)*((L/T)^b1); Ti=T/(a2+b2*(L/T)); Ki=Kp/Ti; Td=0; Kd=Kp*Td; Gc=Kp+Ki/s; case 2 % Cálculo do controlador PID disp('Controlador PID') if (L/T)>=0.1 & (L/T)<=1 a1=1.042; b1=-0.897; a2=0.987; b2=-0.238; a3=0.385; b3=0.906; elseif (L/T)>=1.1 & (L/T)<=2 a1=1.142; b1=-0.579; a2=0.919; b2=-0.172; a3=0.384; b3=0.839; end Kp=(a1/K)*((L/T)^b1);; Ti=T/(a2+b2*(L/T)); Ki=Kp/Ti; Td=a3*T*((L/T)^b3); Kd=Kp*Td; Gc=Kp+Ki/s+Kd*s; otherwise % Outras opções disp('Função: [ Kp, Ki, Kd, Gc ] = id_za( K, L, T , op) onde,') disp(' op=1 -> Controlador PI;') disp(' op=2 -> Controlador PID;') end end