Você está na página 1de 5

Curso Superior Tecnológico em Automação Industrial

Sistemas Supervisórios e Redes Industriais 1

UNIVERSIDADE LUTERANA DO BRASIL


CURSO SUPERIOR TECNOLÓGICO EM AUTOMAÇÃO INDUSTRIAL

Relatório Trabalho G2 – Máquina de Estados –


Contador de Moedas

FABRIZIO GRASSIOLLI
MARTIM BOUFLEUR

Canoas, 25 de junho 2018.


Curso Superior Tecnológico em Automação Industrial
Sistemas Supervisórios e Redes Industriais 2

RELATÓRIO DE MONTAGEM CONTROLADOR DE TEMPERATURA


DE UMA ESTUFA E MANUAL DE FUNCIONAMENTO

Este projeto foi desenvolvido para o controle de uma estufa, ou seja, um ambiente
próprio para o desenvolvimento de algumas espécies de plantas que necessitam cuidados
específicos.
Estes cuidados se referem a temperatura, luminosidade. Alguns desses parâmetros são
controlados de acordo com a necessidade da planta com a tecnologia Arduino.
Com a implementação da automatização da estufa, visa-se facilitar e
consequentemente aumentar a produção, por ser um sistema automatizado, acaba gerando um
desenvolvimento mais rápido das espécies.

O projeto foi montado em uma caixa de acrílico 20cm X 20cm, e foi utilizado alguns
material

 Placa de Arduino
 Sensor de temperatura LM35
 Lâmpada incandescente para aquecimento
 Cooler para resfriamento
 Led para demonstração do acionamento
 Led para demonstração do resfriamento
 Rele de acionamento do aquecedor e do cooler
 Caixa de acrílico
 Fonte 12Vcc

Após darmos início ao projeto, tivemos algumas dificuldades em instalar o I2C devido ao
números de biblioteca de diferentes modelos.
No projeto foi decidido usar um cooler para resfriamento, uma lâmpada incandescentes
para aquecimento e um sensor LM 35 para fazer a leitura analógica do sistema em um
microprocessador Arduino.
Curso Superior Tecnológico em Automação Industrial
Sistemas Supervisórios e Redes Industriais 3

CARACTERISTICAS DO PROJETO
No projeto foi definido 4 sinais digitais de saída, aquecedor, resfriamento, indicador
aquecedor indicador do resfriamento e 1 sinal analógico para leitura da temperatura.

O projeto foi desenvolvido para trabalhar em uma temperatura de 25°C, podendo


ajustar para outras temperaturas.

Após concluir a montagem, foi observado que quando a temperatura chegava ao ponto
necessitado e o sistema ficava ligando e desligando, com isso, optamos por colocar uma
histerese de 1°C, podendo ajustar, ao testar novamente o programa rodou normalmente.

Após concluir a parte de leitura de temperatura, foi colocado um coeficiente de filtro


para não causar picos de temperaras

As decisões do programa de “aquecimento” e “resfriamento” e a “temperatura” são


exibidas na tela de LCD conforme os resultados.

CODIGO DO PROGRAMA

#define solenoide 3
#define secador 4
#define led_aquecimento 5
#define led_resfriamento 6
intsetpoint=25;//setpoint 25°C
int histerese=1.0;//coeficiente de correção, evitando o liga e desliga
floattemp;//valor da temperatura
floatcf=0.10;//coeficiente de filtro, para nao causar picos de temperatura
floattempf=0;//valor de temperatura corrigido

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// Set the LCD addressto 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup ()
Curso Superior Tecnológico em Automação Industrial
Sistemas Supervisórios e Redes Industriais 4

{
//define o setup dos pinos e variaveis
pinMode (secador, OUTPUT);
pinMode (led_aquecimento, OUTPUT);
pinMode (led_resfriamento, OUTPUT);
Serial.begin(9600);//saida do monitor serial
lcd.begin();//set up do numero de colunas e linhas no led
}
void loop()
{
//transformando a leitura de entrada analogica em valor de temperatura
temp=(5.0*analogRead(1)*100)/1024.0;//analogica A1 divide por 1024 numero
de bits que o arduino consegue ler na entrada digital
//5 = 0volt a 5volt, 100 = temp 0°C a 100°C
tempf=(1-cf)*temp+tempf*cf;//correçao para eliminar picos

if(tempf>=setpoint+histerese)
{
digitalWrite(solenoide, HIGH);
digitalWrite(led_resfriamento, HIGH);
digitalWrite(led_aquecimento, LOW);
digitalWrite(secador, LOW);
lcd.setCursor(0,0);
lcd.print("RESFRIANDO...");//demonstrando a palavra resfriando
// delay 300
}

if(tempf<setpoint-histerese)
{
digitalWrite(solenoide, LOW);
digitalWrite(led_aquecimento, HIGH);
digitalWrite(led_resfriamento, LOW);
digitalWrite(secador, HIGH);
lcd.setCursor(0, 0);
lcd.print(" AQUECENDO...");//MOSTRANDO A PALAVRA AQUECENDO
//delay 300
}
//configurando saidas monitor serial
Serial.print("TEMPERATURA=");
Serial.print(tempf);
Serial.print("C");
Serial.println();
Curso Superior Tecnológico em Automação Industrial
Sistemas Supervisórios e Redes Industriais 5

lcd.setCursor(4,1); //definindo posicionamento do cursor(primeira linha e a zero)


//mostrando o valor da temperatura no display
lcd.print("TEMP=");
lcd.print(tempf);
lcd.print("C");
delay(1000);
}