Você está na página 1de 11

INSTITUTO FEDERAL SUL-RIO-GRANDENSE

CURSO SUPERIOR DE ENGENHARIA ELTRICA

PROJETO: CONTROLADOR DE
TEMPERATURA

Samuel dos Santos Cardoso

Pelotas, 27 de julho de 2016.

Introduo
Este trabalho tem por objetivo implementao de um controlador de
temperatura para aquecimento de gua. O projeto consiste basicamente em quatro
etapas: a etapa de aquisio de dados, ou seja, o sensoriamento da planta a ser
controlada, uma segunda etapa de processamento dos dados realizada pelo
microcontrolador ARM M4 do kit de desenvolvimento MSP432P401R launch pad, uma
etapa de atuao realizada atravs de um circuito de chaveamento simples , e por fim
uma etapa de potncia a qual a responsvel pelo controle da tenso em cima da
resistncia de potncia igual a 2200W.

Resumo do projeto
Para a construo deste projeto utilizamos os seguintes materiais: uma jarra
eltrica com potncia de 2200W , um kit de desenvolvimento MSP432P401R launch
pad, dois resistores de 1,2K, um resistor de 47, um transistor BC548A , uma bateria
de 12V , uma pilha de 1,5V, um sensor de temperatura LM35 e um rel de estado slido
SSR-40 DA da marca FOTEK. O projeto funcionar da seguinte forma: atravs do LM
35 ser feita a leitura de temperatura do lquido contido dentro da jarra , na sada deste
sensor ser induzida uma tenso de acordo com a temperatura em que este lquido
estar. Esta tenso ser aplicada em um conversor analgico digital (A/D) da placa
MSP432P401R e no processador contido nesta placa ser definido um set point , ou seja
o valor de temperatura que desejamos que o lquido alcance, assim atravs deste valor e
do valor de leitura no conversor A/D ser feito um controle proporcional do duty-cicle
do PWM presente nesta placa, que tambm ser utilizado. Atravs do PWM e de uma
etapa de chaveamento, que ser produzida pelo transistor e os resistores citados
anteriormente, ser feito o chaveamento do rel de estado slido que chavear a tenso
da rede para o controle da temperatura do lquido.

Controlador Proporcional
Controlador proporcional o controlador mais simples de ser implementado,
devido s equaes utilizadas serem instantneas e no levarem em conta o tempo de
converso do A/D. Em casos em que o processo a ser controlado simples, a ao

proporcional controla o processo de forma satisfatria. Neste caso como as aes


integral e derivativa so desligadas fica-se com a seguinte sada em malha fechada:

Microcontrolador
O microcontrolador um dispositivo, que integra todas as partes bsicas de um
microcomputador como, por exemplo, o microprocessador, portas de entrada e sada ,
memrias , temporizadores , entre outros perifricos. Em geral possuem limitaes no
que diz respeito memria de dados. Estes microcontroladores podem ser utilizados
em vrias reas, como por exemplo, na biomdica, na automobilstica, e normalmente
so utilizados para controlar e/ou automatizar processos.
Aqui neste trabalho utilizaremos um kit (placa de desenvolvimento) com
perifricos externos e um microcontrolador que est incluso no mesmo. Assim o
hardware a ser desenvolvido ficar reduzido.

Kit MSP432
O kit MSP432P401R foi desenvolvido pela impresa Texas Instruments. Neste kit
h vrios perifricos para comunicao I2C, SPI, Serial, possui entrada para touch
capacitivo, cinco PWMs seis entradas analgicas dentre outros. As maiorias dos
perifricos esto inclusos no prprio processador do kit. O processador utilizado pela
placa um ARM Cortex M4F de 32-bit, com ponto flutuante integrado, e clock de
processamento de 48MHz. Esta placa de desenvolvimento utiliza alimentao de 3.3v, o
que ideal para aplicaes que necessitem de baixo consumo.

Figura 1 Kit de desenvolvimento MSP432P401R

Figura 2 - Kit de desenvolvimento MSP432P401R

Arquitetura ARM
A arquitetura ARM uma arquitetura de processador de 32 bits que utilizada ,
normalmente em sistemas embarcados. Os mesmos so processadores que visam a
simplificao das instrues, com o objetivo de atingir a mxima eficincia por ciclo,
podendo realizar tarefas menores em um curto espao de tempo. O desenvolvimento
dessa ferramenta aconteceu com o intuito de se obter o melhor desempenho possvel,
ocupar o mnimo de rea e ter baixo consumo de energia.
Estes processadores possuem poucas instrues de programao, entretanto
possui uma versatilidade muito grande. So encontrados em diversos tipos de
eletrnicos, como celulares, calculadoras, perifricos de computador, entre outros. A
versatilidade destes processadores se d graas ao padro RISC que estes possuem o
que permite que a constituio fsica destes componentes seja com menos transistores
que processadores CISC. Assim a abordagem RISC reduz o custo, alm de reduzir o
consumo de energia. Estas caractersticas so essenciais para dispositivos portteis.
Os processadores ARM possui basicamente sete modos de operao que podem
ser trocados entre si atravs do software. Vale salientar que artifcios de programa como
interrupes externas e o processamento de execues, normalmente so aplicaes

executadas quando o software est no modo USURIO, neste modo o usurio no


tem a possibilidade de acessar alguns recursos, pois o sistema os protege.

Figura 3 Processador AMR cortex M4 contido no kit

Sensor LM 35
O sensor de temperatura LM35 um sensor analgico que apresenta uma sada
de tenso proporcional temperatura em que ele se encontrar no momento que for
alimentado por uma tenso que varia de 4 a 20V, tendo em sua sada um sinal de 10 mV
para cada grau de temperatura. Como a sada deste sensor proporcional, ento
podemos determinar o valor de tenso atual fazendo uma simples regra, medindo a
tenso na sada do mesmo. O LM35 no necessita de calibrao externa e tambm tem
um baixo custo, pois tem uma comunicao perfeita com circuitos de leitura de
temperatura. Consome apenas 60 mA e pode operar numa faixa de 2C a 150C de
temperatura sem utilizar qualquer tipo de componente alm da alimentao.

Figura 4 sensor LM 35

Atuadores
Os atuadores utilizados no projeto foram um conjunto composto pela
resistncia presente na jarra eltrica e o rel de estado slido SSR-40 DA da marca
FOTEK. Este rel o responsvel por chavear a tenso alternada da rede, na qual a jarra
ligada. J a resistncia presente na jarra a responsvel por fazer o aquecimento do
lquido contido na mesma.
O este rel de estado slido possui as seguintes caractersticas: tenso de entrada
de 4 a 32 V contnuos, tenso de sada de 24 a 380 V alternados, corrente mxima de
sada 40 A e corrente mxima de entrada de 4 a 20 m A. J a especificao do resistor
da jarra de 2200 W.

Figura 5 - Rel de estado slido

Figura 6 Representao do circuito interno do Rel de estado slido

Circuito de chaveamento
Um transistor pode operar como chave eletrnica, para isso basta polariza-lo em corte
ou em saturao. Quando o transistor est saturado opera como um curto, ou seja, uma chave
fechada, entre o coletor e o emissor de forma que a tenso VCE 0V (tenso entre coletor e
emissor) . Quando o transistor est na regio de corte ele opera como se fosse um circuito
aberto , ou seja , como uma chave aberta entre o coletor e o emissor, de forma que a tenso a
tenso entre coletor e emissor seja igual a tenso de alimentao do transitor (VCE VCC) .
Vale salientar que no ponto de saturao a corrente de base alta (mxima) e no ponto de
corte a corrente de base zero.
O circuito de chaveamento tem por funo chavear uma tenso mais alta para o
acionamento de outro circuito, ou de uma etapa de potncia. Aqui neste projeto ele tem a
finalidade de acionar o rel, que seria o responsvel pela etapa de potncia.

Figura 7 - Circuito de chaveamento do projeto

Implementao do controlador proporcional digital


Para a construo do algoritmo utilizou-se o software Energia IDE , este
software tem similaridades com o compilador das placas arduno dos processadores
ATMEL. No entanto, algumas funes so diferentes e no h compatibilidade para
compilar o arduno. Umas das vantagens deste software a facilidade na programao ,
pois o mesmo possui varias bibliotecas internas , as quais facilitam a implementao de
comunicaes , funes de controle , dentro outras tarefas.

Figura 8 - Energia IDE

Para a implementao do controlador proporcional fazemos com que a sada do


controlador varie de forma proporcional ao sinal de erro. Como o mesmo sugere
podemos analisar isso de forma matemtica

Ou seja , a sada proporcional ao erro


Para remover o sinal de proporcionalidade entre as duas variveis em questo,
deve-se admitir uma constante de proporcionalidade entre as mesmas. Esta constante o
ganho proporcional Kp.

Ainda podemos expressar a sada do proporcional da seguinte maneira

Ou seja

Figura 9 - Representao do sistema

No caso do controle de temperatura no podemos nos esquecer que este sistema


no linear , possumos limitaes no atuador , visto que apenas podemos aquecer o
lquido contido no recipiente. Ento nos comandos ainda haver a necessidade de
controlar a saturao. A seguir ser demonstrado os locais do cdigo onde a ao
proporcional foi construda e o contorno dos problemas de saturao.

Nesta linha de comando onde fechamos o sistema , ou seja realimentamos a


entrada.

Nesta linha de comando feito o mapeamento do valor do erro para um valor


proporcional ao range do PWM.

Nesta linha de comando feita a correo da saturao do sistema , alem de ser


estabelecido uma margem de erro, para que o proporcional no fique ligando e
desligando de forma intermitente.

Concluses
Com o termino do projeto chega-se a seguintes concluses: um controlador
proporcional para um sistema de aquecimento de agu suficientemente aplicvel, no
entanto pode se tornar muito lento dependendo da quantidade de lquido contido no
recipiente. Os valores do duty-cicle do controlador no podem ser muito baixos, pois a
resistncia da jarra j no chaveia de forma significativa. Deve-se levar em conta a
saturao e corrigi-la sempre. Ento, se todos esses aspectos forem respeitados o
sistema funcionar de forma correta , como visto neste trabalho.

Anexo A- cdigo do controlador


#include <math.h>
const int entrada_1 = A6;
int leitura=0;
int duty_PWM=0;
float temperatura=0;
int duty_KP=0;
float erro=0;
int setpoint=50;
int degrau_setpoint=0;

// Analog input pin

void setup()
{
Serial.begin(9600);
pinMode(PUSH2, INPUT_PULLUP);
pinMode(GREEN_LED, OUTPUT);
analogReference(EXTERNAL);
}
void loop()
{
int contador=0;
int BOTAO = digitalRead(PUSH2);
int aux=0;
////// leitura /////////////////
leitura=0;
while(contador<100){
aux=analogRead(entrada_1);
leitura=leitura+aux;
delay(10);
contador++;
}
contador=0;
leitura=leitura/100;
///////////////////////conversao para temperatura //////////////////
temperatura=float(((leitura*1.22)/1023)/(0.01));

//////////////////////converso do setpoint/////////////////////
degrau_setpoint=((setpoint*1023*0.01));

//////////////////////////////////////////////////////////////////////
//////////////////////realimentao proporcional (ERRO)/////////////
erro=degrau_setpoint-leitura*1.23;
duty_PWM= map(erro,0,1023,50,255);
//////////////////// wind up ////////////////////////////////////////
if((erro<=0) || (erro<=5) ){duty_KP=0;}
else{duty_KP=2.3*duty_PWM;
if(duty_KP>255){duty_KP=255;}}
//////////////////////////////////////////////////////////////////////
/////////////////// mapeamento da leitura para o valor do PWM////////
analogWrite(40,duty_KP);
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
if(BOTAO==LOW){
Serial.print("erro= \n");
Serial.println(erro);
delay(10);
Serial.print("degrau-setpoint= \n");
Serial.println(degrau_setpoint);
delay(10);
Serial.print("LEITURA= \n");
Serial.println(leitura);
delay(10);
delay(10);
Serial.print("Temperatura= \n");
Serial.println(temperatura);
delay(10);
Serial.print("DUTY= \n");
Serial.println(duty_KP);
delay(500);
// }
}

Você também pode gostar