33
1 Pontifícia Universidade Católica do Paraná (PUC-Pr) Escola Politécnica Engenharia de Controle e Automação Osvaldo Silveira, Rafael dos Santos, Vinicius Pertel, Willian Vinicius Atividade de Laboratório 1: Sintonia de Controladores P, PI e PID Trabalho desenvolvido pelos alunos de Engenharia de Controle e Automação na matéria de Controle Continuo II, ministrada pelo professor Roberto Zanetti Freire na Pontifícia Universidade Católica do Paraná Setembro de 2014. Curitiba.

Relatorio Controle Continuo

Embed Size (px)

DESCRIPTION

Relatório sobre projeto de controle elaborado pelos alunos do curso de Engenharia de Controle e Automação - PUCPR

Citation preview

1

Pontifícia Universidade Católica do Paraná (PUC-Pr)

Escola Politécnica

Engenharia de Controle e Automação

Osvaldo Silveira, Rafael dos Santos, Vinicius Pertel, Willian Vinicius

Atividade de Laboratório 1: Sintonia de Controladores P, PI e PID

Trabalho desenvolvido pelos alunos de

Engenharia de Controle e Automação na

matéria de Controle Continuo II, ministrada

pelo professor Roberto Zanetti Freire na

Pontifícia Universidade Católica do Paraná

Setembro de 2014. Curitiba.

2

Sumário 1 - Introdução ................................................................................................................................ 3

2 - Desenvolvimento ..................................................................................................................... 4

Parte 1: ...................................................................................................................................... 4

1) Determine os parâmetros dos controladores P, PI e PID utilizando os dois métodos

de Ziegler-Nichols, apresente estes valores em duas tabelas da mesma forma que as

tabelas 1 e 2. ......................................................................................................................... 4

2) Para cada um dos métodos de Ziegler-Nichols: ............................................................ 6

3) Quais as vantagens e desvantagens da aplicação de cada método de Ziegler-Nichols?

15

Parte 2: .................................................................................................................................... 16

1) Obter a curva de resposta do sistema, em malha aberta, para um degrau de 3,5V a

6V e fazer a modelagem do sistema pelo primeiro método de Ziegler-Nichols. Determine:

16

2) Verificar através de simulação se o modelo proposto representa de forma aceitável o

modelo real em toda sua região de funcionamento linear, sobreponha as curvas de

resposta do motor e do modelo em um mesmo gráfico para fazer esta comparação

justificando sua resposta. .................................................................................................... 20

3) Adote o controlador PI projetado através de um dos métodos de Ziegler-Nichols e

simule, utilizando o MATLAB/Simulink, seu comportamento utilizando um dos modelos

aproximados do item “e” do exercício 1. Este controlador deverá modificar a resposta do

motor de modo que o erro seja nulo em regime permanente para uma entrada do tipo

degrau de 5V ....................................................................................................................... 21

4) Monte o controlador utilizando amplificadores operacionais, teste o controlador na

planta com uma resposta ao degrau de 5V (igual a simulação do exercício anterior) e

determine: ........................................................................................................................... 24

4 - Referencias ............................................................................................................................. 28

5 - Anexo ..................................................................................................................................... 29

3

1 - Introdução

Este trabalho foi subdividido de acordo com a numeração das questões

propostas pelo material da atividade. Ele baseia-se em duas atividades

principais, uma é aprender a trabalhar com o método de Ziegler-Nichols a partir

de uma função dada, e a outra é aplicar esses conhecimentos obtidos na

primeira etapa no projeto do controlador para o Ball & Hoop.

Foram necessários conhecimentos obtidos em sala da matéria de controle

continuo, informática, eletrônica entre outros que foram adquiridos por meios de

pesquisas.

4

2 - Desenvolvimento

Parte 1:

1) Determine os parâmetros dos controladores P, PI e PID utilizando os dois

métodos de Ziegler-Nichols, apresente estes valores em duas tabelas da

mesma forma que as tabelas 1 e 2.

Equação que representa o processo no domínio da frequência (figura 1).

Figura 1.

O diagrama em malha fechada sem perturbação pode ser observado na

figura 2.

Figura 2.

O diagrama em malha fechada com perturbação P(s) pode ser observado

na figura 3.

Figura 3.

5

No primeiro método, é obtida experimentalmente a resposta de uma

planta quando aplicado um degrau unitário. Este método é usado quando a curva

de resposta para uma entrada degrau unitário possuir um formato em “S” e na

planta não existir integradores ou polos complexos conjugados dominantes. A

função de transferência pode ser aproximada por um sistema de primeira ordem

com um atraso de transporte, indicado abaixo.

𝐶(𝑠)

𝑈(𝑠)=

𝐾𝑒−𝐿𝑠

𝑇𝑠 + 1

Tabela 1 - Parâmetros do controlador para o primeiro método

Tipo do Controlador Kp Ti Td

P τ /(K T) ∞ 0 PI 0,9τ /(K T) T/0,3 0

PID 1,2τ /(K T) 2T 0,5 T

O segundo método é um ajuste do primeiro e foi desenvolvido a partir de

experiências feitas por Ziegler. Este segundo método trabalha com um ganho de

um controlador proporcional (figura 4), fazendo o sistema atingir o limite da

estabilidade e do período de oscilação (Pcr).

Figura 4.

Tabela 2 - Parâmetros do controlador para o segundo método

Tipo do Controlador Kp Ti Td

P 0,50 K ∞ 0 PI 0,45 K P/1,2 0

PID 0,60 K 0,50 P P/8

6

Parâmetros do controlador gerados para o sistema, utilizando o primeiro

e o segundo método de Ziegler-Nichols:

Tabela 3 – Parâmetros do controlador para o primeiro método obtidos

Tipo do Controlador Kp Ti Td

P 0,3447 ∞ 0 PI 0,3102 47,8 0

PID 0,4136 28,68 7,17

Tabela 4 – Parâmetros do controlador para o segundo método obtidos

Tipo do Controlador Kp Ti Td

P 0,333 ∞ 0 PI 0,300 52,375 0

PID 0,400 31,425 3,1425

2) Para cada um dos métodos de Ziegler-Nichols:

a) Apresentar a saída para uma entrada degrau unitário (P, PI e PID

para o primeiro método em um gráfico, P, PI e PID para o segundo

método em outro gráfico).

7

A saída de uma entrada degrau unitário para o primeiro método é

mostrada na figura 5.

Figura 5.

A saída de uma entrada degrau unitário para o segundo método é

mostrada na figura 6.

Figura 6.

Na figura 7 pode se observar o esquemático montado no simulink para

gerar a resposta dos controladores sobre o sistema. Para o primeiro e o segundo

método, o esquemático é o mesmo, pois quem varia são apenas os valores de

referencia usados para os cálculos.

P

PI

PID

P

PI

PID

8

Figura 7.

b) Determinar o sobre sinal máximo percentual e o tempo de

acomodação critério (2%) a partir da simulação.

“Maximo sobressinal (em porcentagem), Mp : é o valor máximo de pico da

curva de resposta, medido a partir da unidade. Se o valor final da resposta em

regime permanente diferir da unidade, então é comum utilizar porcentagem

máxima de sobressinal definida por:

Porcentagem máxima de sobressinal = 𝑐(𝑡𝑝)−𝑐(∞)

𝑐(∞)× 100% “ (Ogata,2010).

Analogicamente, no script do programa nós obtemos Mp através de:

mp_a=(max(resposta_ma)-resposta_ma(end))/resposta_ma(end)

O tempo de acomodação (ts) é o tempo necessário para a curva de

resposta alcançar e permanecer dentro de uma faixa em torno do valor final, esta

faixa possui magnitude especificada por uma percentagem absoluta do valor

final (2% ou 5%).

9

Ts (2%) = 4𝜏 = 4

𝜎=

4

𝜁𝜔𝑛

Ts (5%) = 3𝜏 = 3

𝜎=

3

𝜁𝜔𝑛

O valor de Ts também pode ser calculado utilizando a estrutura a seguir para 2%(onde kma=ts): kma=1200;

while (resposta_ma(kma)>(resposta_ma(end)*1.02) || resposta_ma(kma)<(resposta_ma(end)*0.98))

kma=kma-1; end kma

Na figura 8 pode-se observar aonde são representadas graficamente

algumas informações uteis para conhecer e trabalhar com um sistema.

Figura 8

As Tabelas 5 e 6 representam os valores encontrados referentes à Ts(2%)

e ao Mp para o primeiro e para o segundo método.

10

Tabela 5 – Tempo de acomodação (critério2%) e sobre sinal máximo percentual do controlador

obtidos pelo primeiro método.

Tipo do Controlador Ts(2%)s Mp Mp(%)

P 464 0,5682 56,82% PI 798 0,6888 68,88%

PID 238 0,5143 51,43%

Tabela 6 – Tempo de acomodação (critério2%) e sobre sinal máximo percentual do controlador

obtidos pelo segundo método.

Tipo do Controlador Ts(2%)s Mp Mp(%)

P 473 0,5542 55,42% PI 814 0,6341 63,41%

PID 195 0,4426 44,26%

c) Obter a resposta à entrada de perturbação em degrau unitário

para o controlador ajustado, a perturbação deverá ser aplicada

após a estabilização do sistema considerando para uma referência

R(s) também em degrau unitário aplicada no instante tempo = 0s.

A representação de um sistema cuja uma perturbação é aplicada está na

figura 3.

Figura 3.

Na figura 9 pode se observar o esquemático montado no simulink para

gerar a resposta dos controladores sobre o sistema com a entrada da

perturbação:

11

Figura 9.

A resposta à entrada de perturbação em degrau unitário para o primeiro

método é mostrada na figura 10.

Figura 10.

P

PI

PID

12

A resposta à entrada de perturbação em degrau unitário para o primeiro

método é mostrada na figura 11.

Figura 11.

d) Considerando o item anterior, analise o sinal de controle de cada

um dos controladores.

O que mais chama atenção é: o controlador Proporcional apresenta um

ganho grande que muitas vezes pode não ser interessante para a

implementação pratica, o controlador Proporcional Integral apresenta o maior

valor de pico e precisa oscilar mais vezes para estabilizar a saída, logo a sua

resposta é mais “lenta” e por fim o controlador PID se destaca por, em geral,

apresentar um tempo de acomodação menor em relação aos outros.

P

PI

PID

13

e) Para a entrada de perturbação, determinar a amplitude de pico e a

duração do desvio (critério 2%).

As Tabelas 7 e 8 representam os valores encontrados referentes à Ts(2%)

e ao Mp para o primeiro e para o segundo método com a entrada da perturbação.

Tabela 7 – Tempo de acomodação (critério2%) e sobre sinal máximo percentual do controlador

obtidos pelo primeiro método com entrada de perturbação.

Tipo do Controlador Ts(2%)s Mp Mp(%)

P 564 0,5682 56,82% PI 809 4,2932 429,32%

PID 269 2,7978 279,78%

Tabela 8 – Tempo de acomodação (critério2%) e sobre sinal máximo percentual do controlador

obtidos pelo segundo método com entrada de perturbação.

Tipo do Controlador Ts(2%)s Mp Mp(%)

P 573 0,5542 55,42% PI 811 4,3248 432,48%

PID 269 2,7543 275,43%

f) Analise a saída do sistema e o sinal de controle quando uma

perturbação P(S) em degrau unitário for aplicada ao sistema

quando o sinal de referência R(s) for nulo.

A resposta à entrada de perturbação em degrau unitário quando o sinal

de referência R(s) for nulo para o primeiro método é mostrada na figura 12.

14

Figura 12.

A resposta à entrada de perturbação em degrau unitário quando o sinal

de referência R(s) for nulo para o segundo método é mostrada na figura 13.

Figura 13.

P

PI

PID

P

PI

PID

15

3) Quais as vantagens e desvantagens da aplicação de cada método de Ziegler-

Nichols?

Uma das grandes vantagens da aplicação do método de Ziegler-Nichols é

que ele se baseia e pode ser análise graficamente para ser implementado, o

que torna fácil a sua manipulação. Contudo deve-se considerar que os valores,

como por exemplo o “tempo morto”, devem ser obtidos com a maior precisão

possível para que os dados extraídos pela aplicação do método sejam validos.

16

Parte 2:

Para a realização do Projeto e Execução de um Controlador de Velocidade Analógico para o Sistema Ball & Hoop foi obtida a curva de resposta da planta (em azul no gráfico abaixo) ao ser aplicada uma entrada degrau com amplitude de 5 e -5v (como pode ser vista na figura abaixo na cor verde).

Figura x.

1) Obter a curva de resposta do sistema, em malha aberta, para um degrau de

3,5V a 6V e fazer a modelagem do sistema pelo primeiro método de Ziegler-

Nichols. Determine:

a) região de funcionamento linear:

A região de funcionamento linear de uma curva de resposta de uma planta é a região onde o sinal de resposta se assemelha a uma reta, o que significa que a velocidade do motor responde de forma linear a entrada do degrau. O que nessa resposta apresentada a cima se dá entre 1 a 5 segundos para o degrau positivo, e para o negativo de 1.5 a 4.5 segundos.

17

b) zona morta: A zona morta que também é chamado de tempo morto é o tempo que o

processo leva para começar a responder à variação em degrau. Para a entrada positiva o tempo morto é 1.1425 segundos.

c) ganho do sistema:

O ganho do sistema é dado pela variação do valor da resposta em estado estacionário e o valor da entrada, o valor da resposta em estado estacionário para a entrada positiva desse projeto é de 4.7345 v, e para a negativa é 4.7875v, sendo assim o ganho do sistema para entrada positiva é de 0.9469 e para a negativa é de 0.9575.

d) constante de tempo:

Para se obter a constante de tempo e o tempo morto foi utilizado o método de reta tangente proposto na primeira parte desta atividade, utilizando esse método foi obtida a constante de tempo com o valor de 4.6465 segundos para entrada positiva e para negativa de 3.7405 segundos.

e) Duas funções de transferência para o processo (motor) utilizando

aproximações para a exponencial (usar aproximações de Padé de 1ª e de 2ª

ordem).

18

A aproximação de Padé de 1ª ordem é mostrada a cima que foi obtida

aplicando:

𝐺(𝑠) =𝐾

𝜏𝑠 + 1𝑒−𝑠𝑇

Onde 𝑒−𝑠𝑇 pode ser aproximado pelo modelo de Padé de primeira ordem

por:

2 − 𝑇𝑠

2 + 𝑇𝑠= 𝑒−𝑠𝑇

Sendo assim a planta pode ser aproximada por:

𝐺(𝑠) =0.9522

(4.1935𝑠 + 1) (2 − 1.1963𝑠)

(2 + 1.1963𝑠)

Os valores de T, 𝜏, K foram obtidos realizando-se a media aritmética dos valores de entrada positiva e negativa.

Para aproximação de 2ª ordem 𝑒−𝑠𝑇 é aproximado pela equação:

𝑒−𝑠𝑇 =𝑇2𝑠2 − 6𝑇𝑠 + 12

𝑇2𝑠2 + 6𝑇𝑠 + 12

19

Logo a aproximação da planta é:

𝐺(𝑠) =0.9522

(4.1935𝑠 + 1) 1,4311𝑠2 − 7,1778𝑠 + 12

1,4311𝑠2 + 7,1778𝑠 + 12

Sua resposta ao degrau é mostrada a seguir:

20

2) Verificar através de simulação se o modelo proposto representa de forma

aceitável o modelo real em toda sua região de funcionamento linear,

sobreponha as curvas de resposta do motor e do modelo em um mesmo

gráfico para fazer esta comparação justificando sua resposta.

A imagem a cima corresponde a curva de reposta do motor(Curva que

apresenta ruído) e a curva do modelo de Padé de 2ª ordem, pode-se notar que as curvas não possuem a mesma inclinação mas possuem o mesmo tempo morto e máximo pico sendo assim pode-se se dizer que o modelo simula de forma satisfatória a resposta do motor.

21

3) Adote o controlador PI projetado através de um dos métodos de Ziegler-

Nichols e simule, utilizando o MATLAB/Simulink, seu comportamento

utilizando um dos modelos aproximados do item “e” do exercício 1. Este

controlador deverá modificar a resposta do motor de modo que o erro seja

nulo em regime permanente para uma entrada do tipo degrau de 5V

Dado este modelo de aproximação, é possível simular um controlador agindo sobre o modelo de planta apresentado na figura 1. O controlador aplicado foi um PI (Proporcional-Integral), para extrair as informações necessárias da planta, para desenvolvimento do controlador, foi necessária a escolha de um dos métodos de Ziegler-Nichols apresentados, nos exercícios anteriores .O método utilizado para sintonia do controlador foi o primeiro método (método da reta tangente), este método foi escolhido pois trabalha em malha aberta, ou seja, trabalhamos diretamente com a curva em “s” da planta (curva do modelo de Padé de 2ª ordem) , sem precisar efetuar outras modificações.

Ao efetuarmos o método da reta tangente, foram obtido novos valores

para a planta G(s),

𝐺(𝑠) =0.9522

(3.765𝑠 + 1) 1.504𝑠2 − 7.359𝑠 + 12

1.504𝑠2 + 7.359𝑠 + 12

Ao aplicar o método da reta tangente foram obtidos os parâmetros Kp e

Ti, necessários para um controlador PI conforme a formula abaixo

𝐻(𝑠) =𝐾𝑝(𝑠 + 1 𝑇𝑖𝑠⁄ )

𝑠

Dados os respectivos valores de Kp= 3.8438 e Ti=3.8085 , a equação do controlador ficou na forma,

𝐻(𝑠) =3.8438 (𝑠 + 1 3.8085𝑠)⁄

𝑠

Abaixo Diagrama de Blocos para a planta e o controlador,

22

Para efetuar a simulação no MATLAB/Simulink, temos o seguinte

diagrama de blocos:

As demais etapas e simulação feitas através de script no MATLAB estão

disponíveis no anexo(nº anexos). O sinal do sistema simulado, é apresentado

na figura(n), na próxima pagina.

23

Para efetuar os cálculos de tempo de acomodação ts(2%) e máximo

sobressinal utiliza-se as formulas.

Porcentagem máxima de sobressinal = 𝑐(𝑡𝑝)−𝑐(∞)

𝑐(∞)× 100% “ (Ogata,2010).

Para o calculo do tempo de acomodação (ts(2%)) e máximo sobressinal (Mp)

foi utilizado o seguinte algoritmo,

kma=801; while (resposta_ma(kma)>(resposta_ma(end)*1.02) ||

resposta_ma(kma)<(resposta_ma(end)*0.98)) kma=kma-1; end tempo_ma=tempo(kma); mp_a=(max(resposta_ma)-resposta_ma(end))/resposta_ma(end)

onde kma é o índice máximo do vetor tempo (eixo “X”), e a resposta_a (eixo

“Y”), apresenta o valor da curva em determinado instante.Para o critério de

ts(2%), o valor do tempo de acomodação é de 40 segundos. O máximo

sobressinal encontrado foi de 6.83%.

24

4) Monte o controlador utilizando amplificadores operacionais, teste o

controlador na planta com uma resposta ao degrau de 5V (igual a simulação

do exercício anterior) e determine:

Para projeto do controlador real foi utilizada a seguinte arquitetura,

O diagrama equivalente com amplificadores operacionais somente para

o controlador é mostrado abaixo,

Foi utilizado o software de montagem e simulação de circuitos

elétricos Proteus/Isis, as imagens a seguir mostram a curva de resposta, e toda

a montagem do controlador incluindo os valores de resistores e capacitores

utilizados.

25

Cálculos dos resistores e capacitores

Dado o circuito abaixo,

26

A equação de saída pela entrada deste circuito é,

𝑉𝑜(𝑠)

𝑉𝑖(𝑠)= −

𝑍2

𝑍1 (𝐼)

Utilizando a formula (I) para o circuito com amplificadores operacionais

da parte Proporcional da figura 2 temos que,

𝐾𝑝 = −𝑅12 + 𝑅11 + 𝑅5

𝑅13 + 𝑅4 + 𝑅14= 3.8438

Utilizando a formula (I) para o circuito com amplificadores operacionais

da parte integral da figura 2 temos que,

𝐾𝑖 =1

𝑅3𝐶1𝑠= 1.0093

Após os cálculos e projeto, a curva de resposta do sistema com o

controlador e a planta real foi obtida, e está plotada em azul na figura abaixo,

Figura3

27

Podemos comparar com a curva simulada

Existem muitas diferenças entra a curva real e a curva simulada, o tempo

de acomodação por exemplo, da curva simulada é de 40s e da curva real é maior

que 60s. Houve uma mudança também na referencia da curva de resposta,

quando simulamos a referencia vale 5 volts, valor do degrau aplicado, porém, ao

aplicarmos uma entrada de 5 volts no sistema real, a referencia do sinal aumenta

para um valor de aproximadamente 6.75 volts. Em nossa simulação, a curva

obtida para um degrau de 0 a +5 volts positivo não se comportou de maneira

satisfatória, a curva apresentada na figura 3, é a curva para uma entrada de

degrau de 0 a -5 volts, porém, foi rebatida para efeito de comparação. Neste

caso, já que não foi obtida a curva para entrada de 0 a +5 volts, não podemos

comparar. Um fator que impediu a correta apresentação da curva de respota foi

o capacitor usado no projeto do controlador, que por ser polarizado, modificou

bastante o comportamento da curva para sinais de entrada opostos.

28

4 - Referencias

OGATA, Katsuhiko. Engenharia de Controle Moderno.

5ª Edição. Rio de Janeiro: Pearson, 2010.

OGATA, Katsuhiko. Solving control engineering problems with MATLAB.

Englewood cliffs: Prentice Hall, 1994.

NISE, Norman S. Engenharia de sistemas de controle. Rio de Janeiro: LTC,

2009.

29

5 - Anexo

Atividade1_Ctrlprog.m % Parte1: Primeiro método sem perturbação //----------------------------------------------------------------------------------------------

clear all; close all; clc; %Função de Transferência

num=15; den=[6000 1100 60 1]; G=tf(num,den); dt=0.05; t=0:dt:350; y=step(G,t)'; dy=diff(y)/dt; [m,p]=max(dy); yi=y(p); ti=t(p); L=ti-yi/m; Tau=(y(end)-yi)/m+ti-L; K=y(end); %Controlador PID Kp3=1.2*Tau/(K*L); Ti2=2*L; Td=L/2; Ki=Kp3/Ti2; Kd=Kp3*Td; %Controlador PI Kp2=0.9*Tau/(K*L); Ti1=L/0.3; Ki1=Kp2/Ti1; %Controlador P Kp1=Tau/(K*L); %Funções Controlador %FTCPID=tf([Kd Kp3 Ki],[1 0]); %FTCPI=tf([Kp2 Ki1],[1 0]); %FTCP=tf(Kp1,1); %Funções de Transferência %HLC=feedback(G*FTCPID,1); %HLC2=feedback(G*FTCPI,1); %HLC3=feedback(G*FTCP,1); %Plotagem sim('Atvdade1Ctrl'); plot(tempo,resposta_ma,'b'); % azul, PID hold on; plot(tempo,resposta_ma2,'r'); % vermelho, PI hold on; plot(tempo,resposta_ma3,'g'); % verde, P grid on;

//----------------------------------------------------------------------------------------------

30

CtrlOsc.m % Parte1: Segundo método sem perturbação

//----------------------------------------------------------------------------------------------

clear all; close all; clc;

dt=0.05; num=15; den=[6000 1100 60 1]; t=0:dt:50; H=tf(num,den); Kasc=2/3; FOsc=feedback(Kasc*H,1); y=step(FOsc,t)'; [m,p1]=max(y); ti=t(p1); t=10:dt:145; y=step(FOsc,t)'; [m,p2]=max(y); tf=t(p2); Pasc=tf-ti; %Controlador P Kp1=0.5*Kasc; %Controlador PI Kp2=0.45*Kasc; Ti1=Pasc/1.2; Ki1=Kp2/Ti1; %Controlador PID Kp3=0.6*Kasc; Ti2=0.5*Pasc; Td=Pasc/8; Ki=Kp3/Ti2; Kd=Kp3*Td; %Funções Controlador %FTCPID=tf([Kd Kp3 Ki],[1 0]); %FTCPI=tf([Kp2 Ki1],[1 0]); %FTCP=tf(Kp1,1); %Funções de Transferencia %HLC=feedback(G*FTCPID,1); %HLC2=feedback(G*FTCPI,1); %HLC3=feedback(G*FTCP,1); %Plotagem figure(2); sim('Atvdade1Ctrl'); plot(tempo,resposta_ma); hold on; plot(tempo,resposta_ma2,'r'); hold on; plot(tempo,resposta_ma3,'g'); grid on;

//----------------------------------------------------------------------------------------------

31

Atividade1_Ctrlprog.m % Parte1: Primeiro método com perturbação //----------------------------------------------------------------------------------------------

clear all; close all; clc; %Função de Transferência

num=15; den=[6000 1100 60 1]; G=tf(num,den); dt=0.05; t=0:dt:350; y=step(G,t)'; dy=diff(y)/dt; [m,p]=max(dy); yi=y(p); ti=t(p); L=ti-yi/m; Tau=(y(end)-yi)/m+ti-L; K=y(end); %Controlador PID Kp3=1.2*Tau/(K*L); Ti2=2*L; Td=L/2; Ki=Kp3/Ti2; Kd=Kp3*Td; %Controlador PI Kp2=0.9*Tau/(K*L); Ti1=L/0.3; Ki1=Kp2/Ti1; %Controlador P Kp1=Tau/(K*L); %Funções Controlador %FTCPID=tf([Kd Kp3 Ki],[1 0]); %FTCPI=tf([Kp2 Ki1],[1 0]); %FTCP=tf(Kp1,1); %Funções de Transferência %HLC=feedback(G*FTCPID,1); %HLC2=feedback(G*FTCPI,1); %HLC3=feedback(G*FTCP,1); %Plotagem sim(' Atv1Per'); plot(tempo,resposta_ma,'b'); % azul, PID hold on; plot(tempo,resposta_ma2,'r'); % vermelho, PI hold on; plot(tempo,resposta_ma3,'g'); % verde, P grid on;

//----------------------------------------------------------------------------------------------

32

CtrlOsc.m % Parte1: Segundo método com perturbação

//----------------------------------------------------------------------------------------------

clear all; close all; clc;

dt=0.05; num=15; den=[6000 1100 60 1]; t=0:dt:50; H=tf(num,den); Kasc=2/3; FOsc=feedback(Kasc*H,1); y=step(FOsc,t)'; [m,p1]=max(y); ti=t(p1); t=10:dt:145; y=step(FOsc,t)'; [m,p2]=max(y); tf=t(p2); Pasc=tf-ti; %Controlador P Kp1=0.5*Kasc; %Controlador PI Kp2=0.45*Kasc; Ti1=Pasc/1.2; Ki1=Kp2/Ti1; %Controlador PID Kp3=0.6*Kasc; Ti2=0.5*Pasc; Td=Pasc/8; Ki=Kp3/Ti2; Kd=Kp3*Td; %Funções Controlador %FTCPID=tf([Kd Kp3 Ki],[1 0]); %FTCPI=tf([Kp2 Ki1],[1 0]); %FTCP=tf(Kp1,1); %Funções de Transferencia %HLC=feedback(G*FTCPID,1); %HLC2=feedback(G*FTCPI,1); %HLC3=feedback(G*FTCP,1); %Plotagem figure(2); sim('Atv1Per'); plot(tempo,resposta_ma); hold on; plot(tempo,resposta_ma2,'r'); hold on; plot(tempo,resposta_ma3,'g'); grid on;

//----------------------------------------------------------------------------------------------

33

ts.m % Parte1: Cálculo do Ts(2%) e Mp

//----------------------------------------------------------------------------------------------

clc;

kma=1190; % azul PID while (resposta_ma(kma)>(resposta_ma(end)*1.02) ||

resposta_ma(kma)<(resposta_ma(end)*0.98)) kma=kma-1; end %tempo_ma3=tempo(kma3) kma

kma2=1200; % azul PID while (resposta_ma2(kma2)>(resposta_ma2(end)*1.02) ||

resposta_ma2(kma2)<(resposta_ma2(end)*0.98)) kma2=kma2-1; end %tempo_ma3=tempo(kma3) resposta_ma(end) kma2

kma3=1200; % azul PID while (resposta_ma3(kma3)>(resposta_ma3(end)*1.02) ||

resposta_ma3(kma3)<(resposta_ma3(end)*0.98)) kma3=kma3-1; end %tempo_ma3=tempo(kma3) kma3 %resposta_ma(kma)

mp_a=(max(resposta_ma)-resposta_ma(end))/resposta_ma(end) mp_a2=(max(resposta_ma2)-resposta_ma2(end))/resposta_ma2(end) mp_a3=(max(resposta_ma3)-resposta_ma3(end))/resposta_ma3(end)

//----------------------------------------------------------------------------------------------