Você está na página 1de 16

Centro Federal de Educação Tecnológica de Minas Gerais

CEFET/MG

Engenharia de Automação Industrial

Disciplina: Sistemas de Controle de Processos Discretos

PROJETO PARA CONTROLE DISCRETO DE TEMPERATURA


(PID)

Denis Carlos dos Reis

Guilherme Cristino

Jordane Marques dos Santos

Júlio Cesar Alves Júnior

Araxá, MG
2015
1. INTRODUÇÃO
Nos últimos anos, os sistemas de controle automáticos têm assumido uma
importância crescente no desenvolvimento e avanço da tecnologia. Praticamente todas as
atividades envolvidas no nosso dia a dia, são efetuadas por algum tipo de sistema de
controle. Estes são encontrados em abundância em setores da indústria, tais como
controle de qualidade e fabricação de produtos, linhas de montagem automática, controle
de ferramentas, tecnologia espacial e de armamento, sistemas de transporte, sistemas de
potência, robôs e muitos outros (OGATA, 1998). O controle, na escala tecnológica,
assume um papel primordial e decisivo dentre os modelos e processos existentes, sejam
eles simples, modestos, robustos ou de estrema complexidade no plano de ação
(SILVEIRA, 2003). E o controle de temperatura é necessário em processos industriais e
comerciais frequentemente observados nas várias linhas de produção, tais como fornos
industriais, centrais de ar condicionado, caldeiras, chocadeiras, estufas e uma infinidade
de aplicações.

Um sistema de controle é uma interconexão de componentes formando uma


configuração de sistema que produzirá uma resposta desejada ao sistema. (DORF, 2009).
Com o auxílio de um diagrama esquemático, é possível visualizar como diferentes
componentes são interligados para representar um sistema de controle. Na Figura 1 é
apresentado o diagrama esquemático do sistema de controle de temperatura do projeto.
Para realizar o controle da energia entregue à resistência, está sendo inicialmente
implementado um controle de fase.

Figura 1 – Diagrama esquemático do


sistema de controle.

O micro controlador se comunica com o sensor de temperatura, LM35, obtendo


assim, a temperatura atual que é exibida em um display (Monitor). É possível selecionar a
temperatura desejada (set-point) obtendo assim, o valor referencial que também é
mostrado no display. Para controlar a temperatura do sistema, o micro controlador obtém a
informação da temperatura escolhida e atual e calcula o ângulo de disparo do TRIAC, de
maneira a ajustar o nível de potência entregue a resistência elétrica (R).
Foi implementado também um circuito detector de passagem por zero (DPZ) para
informar ao micro controlador quando a tensão da rede elétrica passa por 0 V. A partir
desse momento é a c i o n a d o u m t i m e r q u e c o n t a o t e m p o d e d i s p a r o , p r é -
calculado, necessário para o controle de temperatura desejada.

No chamado Controle de fase, em um dado semiciclo da rede, o tiristor é acionado em


um determinado instante, fazendo com que a carga esteja conectada à rede por um
intervalo de tempo menor ou igual a um semiciclo (ALMEIDA, 2003). Os tiristores SCR e
TRIAC funcionam como chaves que podem obter o disparo controlado. E por isso,
podem ser usado para o controle de fase de tensão alternada. Sendo que, os mesmos só
deixam de conduzir no instante que a corrente cai à zero. Portanto, o SCR e o TRIAC
retificam a tensão alternada aplicada à carga e consequentemente controla a potência
fornecida a ela. A diferença entre eles é que o TRIAC conduz corrente em ambos os
sentidos, ou seja, o controle de fase pode ser feito tanto no semiciclo positivo quanto no
semiciclo negativo. A análise das características destes dispositivos foi importante para
selecionar qual deles é o mais adequado para o controle a ser usado no projeto.

A Figura 2 ilustra o gráfico da fonte de Tensão alternada da rede (V) versus Ângulo de
disparo (α). A parte sombreada de cada semiciclo mostra quando o TRIAC está
conduzindo. Portanto, o dispositivo TRIAC comuta em duas posições, ora ligado ora
desligado, disparando a cada semiciclo da onda senoidal. Devido ao deslocamento da fase,
a tensão no gatilho atrasa a tensão da rede por um ângulo entre 0 e 90º. O disparo é
limitado à condução de 180° por ciclo e, ele pode conduzir 360° por ciclo,
disponibilizando controle completo sobre a forma de onda da tensão na carga. Um
controle como este é usado no aquecimento, na iluminação industrial e em outras
aplicações de alta potência (MALVINO, 2008).

Figura 2 – Gráfico da Tensão e Ângulo de disparo.

Os circuitos de disparo controlado por fase devem ser sincronizados com a rede
elétrica para que não ocorram disparos aleatórios do TRIAC. E a passagem da rede por
zero é uma referência para manter esse sincronismo do pulso toda vez que a tensão passa
por 0 V. Na Figura 3 é mostrado o gráfico de verificação do detector de passagem por zero,
onde é possível perceber a tensão de referência em sincronia com a tensão da rede. A seta
indica exatamente o sincronismo entre as mesmas.

Figura 3 – Referência para


a passagem por zero.
A Figura 4 mostra o gráfico de disparo (2) sincronizado com a rede (1), onde o pulso
tem uma duração de 500us, tempo determinado para se ter uma variação de tensão
sobre uma carga. O pulso é enviado para o gate do tiristor até a metade da onda
senoidal. Portanto, o ângulo de disparo do TRIAC varia de acordo com a posição inicial do
pulso. E o disparo é feito nos semiciclos positivo (P) e negativo (N) da rede elétrica. Dessa
forma, é possível se ter um completo controle sobre uma carga.

Figura 4 – Disparo sincronizado


com a rede.

A Figura 5 mostra que é possível variar a tensão na carga com a alteração do


ângulo de disparo, por exemplo, 90º (a) e 144º (b) para cada semiciclo de um período. Se
α=0, a tensão na carga é máxima e quando α=π, ela é mínima. Portanto, quanto menor o
ângulo, maior o a potência entregue a resistência elétrica, e consequentemente, maior
temperatura é fornecida ao sistema.

(a) (b)
Figura 5 – Formas de onda de tensão na carga para
α=90º (a) e α=145º (b).

Dessa forma, a potência fornecida à carga é controlada através do controle do ângulo


de disparo do TRIAC. Esse processo é ideal para aplicação de controle de temperatura do
sistema projetado.

Devido à sua simplicidade e eficiência, o controlador PID é o mais usado nas


indústrias. Para a implementação do controle PID, pode-se utilizar primeiramente o
método Ziegler-Nichols em malha aberta, desde que a curva de resposta do sistema ao
degrau unitário de entrada apresentar o aspecto de um S. Essa curva de resposta ao
degrau unitário pode ser gerada experimentalmente.
Figura 6 – Resposta ao degrau unitário.

A curva com o formato em S pode ser caracterizada por duas constantes, o atraso L e
a constante de tempo T. O atraso e a constante de tempo são determinados desenhando-
se uma linha tangente no ponto de inflexão da curva com o formato de S e determinando-
se a interseção da linha tangente com o eixo do tempo. O ajuste do controlador PID,
segundo este método, introduz no sistema dois zeros em -1/L se o projeto for feito em
tempo contínuo. A figura 7 apresenta uma tabela para o cálculo dos parâmetros PID.

Figura 7 – Ajustes do controlador PID para o método Ziegler-Nichols malha aberta.

O PID discreto pode ser obtido por este método, algumas modificações podem ser
realizadas, em vista a melhoria do desempenho do controlador PID.
2. PROCEDIMENTOS EXPERIMENTAIS

2.1. COMPONENTES UTILIZADOS NO PROJETO

I. Cooler 12 vc
II. Fonte 19,5 vc
III. Resistência 110 v / 500 w
IV. Tubo PVC 75 mm
V. Madeira
VI. Sensor de temperatura LM35
VII. Micro controlador Arduino Mega 2560
VIII. Circuito detector de zero
IX. TRIAC
X. Fusível

2.2. MONTAGEM

Figura 8 – Projeto montado

Figura 9 – Interior do tubo


Figura 10 – Arduino e placa contendo o detector de zero e TRIAC

Figura 11 – Cooler

As figuras acima representam a parte estrutural do projeto, observa-se um tubo de


PVC em uma estrutura de madeira, numa extremidade do tubo se encontra fixado um
cooler (o cooler está ligado a uma fonte independente) e a outra extremidade está aberta
para saída de ar. Dentro do tubo se encontra uma resistência que fica próxima ao cooler,
há também três sensores de temperatura dispostos a uma certa distância entre eles.
Exteriormente vemos um micro controlador Arduino e uma placa contendo o detector de
zero e o TRIAC. Na entrada do Micro controlador estão conectados os três sensores de
temperatura e o detector de zero, em sua saída está conectado a base (gate) do TRIAC, o
mesmo está alimentando a resistência.

2.3. RESPOSTA AO DEGRAU UNITÁRIO

Após a montagem, o sistema foi submetido ao degrau unitário (resistência a 100% da


potência), medindo-se a temperatura pelo sensor intermediário S2 até a estabilização do
processo. A partir dos dados de temperatura e tempo para estabilização encontrou-se a
curva característica do sistema.

60

50

40

30 Series1
Poly. (Series1)
20

10

0
0 50 100 150 200 250

Figura 12/13 – Curva característica do sistema

2.4. APLICAÇÃO DO METODO DE ZIEGLER-NICHOLS

Analisando a curva característica, verificamos que a curva possui o perfil s e pode ser
aplicado o método de Ziegler-Nichols em malha aberta.
60

50

40

30 Series1
Poly. (Series1)

20

10

0
0 50 100 150 200 250

Figura 14 – Aplicação do método de Ziegler-Nichols

Após aplicação do método obtemos os valores de T e L, que são respectivamente 76 e


8. Calculamos também o período de amostragem a partir do valor de T, sendo T/10=7,6.

Com isso chegamos aos valores dos parâmetros conforme indicado abaixo:

Kp Ki Kd
P 9,5 ∞ 0
PI 8,55 26,66667 0
PID 11,4 16 4

2.5. RESULTADO APÓS IMPLEMENTAÇÃO DO PID

Para nossa aplicação foi utilizado Kp, Ki, Kd, o qual se mostrou eficiente no controle da
planta, conforme gráfico abaixo.
Figura 15 – Resposta do sistema após implementação do PID.

2.6. DIFCULDADES ENCONTRADAS

I. Dificuldade em adquirir componentes;


II. Perca de componentes;
III. Falta de ferramentas para a montagem do projeto;
IV. Implementação em Arduino;
V. Confecção da placa de potência;
VI. Elevado custo.
3. CONCLUSÃO

Ao Termino do projeto, pudemos utilizar os conceitos teóricos aprendidos no decorrer


do curso e verificar sua eficácia na prática. Os desafios proporcionados pelo projeto foram
uteis para a busca de novos conhecimentos, agregando ainda mais na nossa formação
acadêmica. O projeto se mostrou complexo e desafiador, mas a união do grupo foi
fundamental para o êxito. O resultado em si nos surpreendeu de forma positiva.
4. IMPLEMENTAÇÃO NO ARDUINO

#include <TimerOne.h>
#define triacApin 7

int set[2],set1[2], i = 0, Tempo_Onda = 0, sensor = 0, setpoint, a = 0,A=0,B=0;


float LM35_1 = A0; // Pino Analogico onde e ligado S1
float LM35_2 = A1; // Pino Analogico onde e ligado S2
float LM35_3 = A2; // Pino Analogico onde e ligado S3
const float CELSIUS_BASE = 0.4887585532746823069403714565; //Base de conversão
para Graus Celsius
double Output = 0, Kp = 11.4, Ki = 16, Kd = 4, outMin = 0, outMax = 8000000, errSum = 0,
lastErr = 0;
long previousMillis = 0 , interval = 18000, currentMillis;

void setup()
{
pinMode(triacApin, OUTPUT);
pinMode(6, OUTPUT);
digitalWrite(triacApin, LOW);
digitalWrite(6, LOW);
Serial.begin(9600);
Timer1.attachInterrupt(gateTRIACa);
attachInterrupt(0, detectorzero, FALLING);
Compute();
Serial.println("Digite o Setpoint desejado (Temperatura)");
Serialclear();
delay(1000);

void loop()
{
while((i < 2) && (Serial.available()>0))
{
set[i] = Serial.read();
i++;
}
if(i==2)
{
if(A==0)
{
setpoint = Concatena_Numeros(set[0], set[1]);
Serial.print("Setpoint: ");
Serial.println(setpoint);
delay(1000);
Serial.println("Digite o Sensor desejado: (1) para S1 , (2) para S2 e (3) para S3 ");
Serialclear();
i++;
B=0;
}
else
{
setpoint = Concatena_Numeros(set[0], set[1]);
Serial.print("Setpoint: ");
Serial.println(setpoint);
delay(1000);
Serial.print("Sensor: S");
Serial.println(sensor);
delay(1000);
Serialclear();
i=4;
}
}
if(i==3)
{
while((Serial.available()>0)&& (B==0))
{
set1[0] = '0';
set1[1] = Serial.read();
sensor = Concatena_Numeros(set1[0], set1[1]);
B++;
if((sensor>0) && (sensor<4))
{
Serial.print("Sensor: S");
Serial.println(sensor);
delay(1000);
Serial.println("PARA ALTERAR O SETPOINT INSIRA UM NOVO VALOR A
QUALQUER MOMENTO");
Serialclear();
delay(3000);
i++;
}
else
{
Serial.println("SENSOR INEXISTENTE");
Serialclear();
delay(1000);
i=2;
}

}
}

if(i==4)
{

Serial.print("Temperatura: ");
Serial.println(temperatura_calculo());
delay(1000);
Serial.print("Tempo: ");
Serial.println(Tempo_Onda);
delay(1000);
Serial.print("Setpoint: ");
Serial.println(setpoint);
delay(1000);
Serial.print("Sensor: S");
Serial.println(sensor);
delay(1000);
if(Serial.available()>0)
{
i=0;
A++;
}
}
}

void Serialclear()
{

while(Serial.available()>0)
Serial.read();

return;
}
int Concatena_Numeros(int variavel1, int variavel2)
{
int resultado;
resultado = ((variavel1 - '0') * 10) + (variavel2 - '0');
return resultado;
}

void detectorzero()
{
if (a < 1)
{
Timer1.initialize(Tempo_Onda);
a=1;
}
currentMillis = millis(); //Conta 18s
if(currentMillis - previousMillis > interval)
{
previousMillis = currentMillis;
Compute();
}
}

void gateTRIACa()
{
digitalWrite(triacApin, HIGH); // dispara0 o Triac
delayMicroseconds(25); // aguarda 25 microsegundos para garantir disparo do TRIAC
digitalWrite(triacApin, LOW); // desabibilta gate do TRIAC
Timer1.stop();
a = 0;
}

float temperatura_calculo()
{
if (sensor == 1)
return (analogRead(LM35_1) * CELSIUS_BASE);
if (sensor == 2)
return (analogRead(LM35_2) * CELSIUS_BASE);
if (sensor == 3)
return (analogRead(LM35_3) * CELSIUS_BASE);
}

void Compute()
{
double error = setpoint - temperatura_calculo();
errSum += (error * 18000);
double dErr = (error - lastErr) / 18000;
Output = ((Kp*error) + (Ki*errSum) + (Kd*dErr));
lastErr = error;
SetOutputLimits();
}

void SetOutputLimits()
{
if(Output > outMax)
Output = outMax;
if(Output < outMin)
Output = outMin;
Tempo_Onda = 8000-((Output/8000000)*8000);
}
5. REFERÊNCIAS

SILVEIRA, P. R. da S. Automação e Controle Discreto. 5. ed. São Paulo: Érica Ltda 2003.

DORF, R. C. Sistemas de Controle Modernos. 7. ed. Rio de Janeiro: LCT 2009.

OGATA, Katsuhiko. Engenharia de controle moderno. Tradução Bernardo Severo. 3. ed.


São Paulo: LTC 1998.

ALMEIDA. José Luiz Antunes de. Dispositivos Semicondutores: TIRISTORES. 8. ed. São
Paulo, 2003.

MALVINO, A. P. Eletrônica. 4. ed. São Paulo: Pearson Makron Books. Março, 2008.

NATIONAL SEMICONDUCTOR LM35 - Precision Centigrade Temperature Sensores.


Novembro, 2000.

Você também pode gostar