Projetos de circuito eletrônicoControladores de aquecimentoCircuitos de Ventiladores DC Controlados por Temperatura do Arduino

Circuitos de Ventiladores DC Controlados por Temperatura do Arduino

Relacionados

Neste artigo, vamos construir alguns circuitos simples de ventiladores dc controlados por temperatura automática baseados em Arduino que ligarão um ventilador ou qualquer outro dispositivo conectado a ele, quando a temperatura ambiente atingir um nível de limite pré-determinado. Vamos utilizar o sensor DHT11 e o arduino para este projeto.

Visão geral

A beleza dos microcontroladores é que temos um controle muito preciso sobre os periféricos que estão conectados a ele. Neste projeto o usuário só precisa inserir a temperatura limite no programa, o microcontrolador cuidará do resto da função.

Existem toneladas de projetos de controladores automáticos de temperatura não baseados em microcontroladores disponíveis na Internet, como o uso de comparador e transistores.

Eles são muito simples e funcionam bem, mas o problema surge ao calibrar o nível de limiar usando um resistor ou potenciômetro predefinido.

Temos uma ideia cega ao calibrar e o usuário pode precisar fazer o método de tentativa e erro para encontrar o ponto ideal.

Esses problemas são superados por microcontroladores, o usuário só precisa inserir a temperatura em Celsius neste projeto, portanto não há necessidade de calibração.

Este projeto pode ser usado onde a temperatura interna do circuito precisa ser estabilizada ou evitando o superaquecimento.

No diagrama 1, estamos conectando uma ventoinha da CPU como saída. Esta configuração pode ser usada para controlar a temperatura ambiente interna de um circuito fechado.

Quando a temperatura limite é atingida, o ventilador liga. Quando a temperatura fica abaixo do limite de temperatura, o ventilador desliga. Então é basicamente um processo automatizado.

No diagrama 2, conectamos um relé para controlar dispositivos que funcionam com tensão de rede, como ventilador de mesa.

Quando a temperatura ambiente atinge a temperatura limite, o ventilador liga e desliga quando o ambiente esfria.

Esta pode ser a melhor maneira de economizar energia e isso pode ser o paraíso para pessoas preguiçosas que desejam que outras pessoas liguem o ventilador quando estiverem quentes.

Diagrama de circuito mostrando um controle de ventilador DC

CONTROLE DE VENTILADOR DC PARA AJUSTE DE TEMPERATURA AUTOMÁTICO

Esta configuração pode ser implantada para circuitos que estão dentro de uma caixa. O LED acende quando o nível de limite predefinido é atingido e também liga o ventilador.

Conectando um relé para controlar ventiladores maiores

CONTROLE DO VENTILADOR DO INTERRUPTOR DO RELÉ USANDO O SENSOR DE TEMPERATURA DO ARDUINO

Este circuito faz a mesma função do circuito anterior, agora o ventilador é substituído pelo relé.

Este circuito pode controlar um ventilador de mesa ou de teto ou qualquer outro dispositivo que possa resfriar a temperatura ambiente.

O dispositivo conectado desliga assim que a temperatura atinge um nível abaixo do limite predefinido.

O diagrama do circuito do ventilador CC com temperatura controlada ilustrado aqui são apenas algumas das muitas possibilidades. Você pode personalizar o circuito e programar para seu próprio propósito.

NOTA 1: #Pin 7 é a saída.

NOTA 2: Este programa é compatível apenas com o sensor DHT11.

Programa para o circuito regulador automático de temperatura explicado acima usando Arduino:

Código do programa

//--------------------Program developed by R.Girish---------------------//
#include
dht DHT;
#define DHTxxPIN A1
int p = A0;
int n = A2;
int ack;
int op = 7;
int th = 30; // set thershold tempertaure in Celsius
void setup(){
Serial.begin(9600); // May be removed after testing
pinMode(p,OUTPUT);
pinMode(n,OUTPUT);
pinMode(op,OUTPUT);
digitalWrite(op,LOW);
}
void loop()
{
digitalWrite(p,1);
digitalWrite(n,0);
ack=0;
int chk = DHT.read11(DHTxxPIN);
switch (chk)
{
case DHTLIB_ERROR_CONNECT:
ack=1;
break;
}
if(ack==0)
{
// you may remove these lines after testing, from here
Serial.print("Temperature(°C) = ");
Serial.println(DHT.temperature);
Serial.print("Humidity(%) = ");
Serial.println(DHT.humidity);
Serial.print("\n");
// To here
if (DHT.temperature>=th)
{
delay(3000);
if(DHT.temperature>=th) digitalWrite(op,HIGH);
}
if(DHT.temperature {
delay(3000);
if(DHT.temperature }
}
if(ack==1)
{
// may be removed after testing from here
Serial.print("NO DATA");
Serial.print("\n\n");
// To here
digitalWrite(op,LOW);
delay(500);
}
}
//-------------------------Program developed by R.Girish---------------------//

Nota: No programa

int = 30; // define a temperatura limite em Celsius.

Substitua “30” pelo valor desejado.

Segundo projeto

O segundo projeto de circuito de ventilador CC com temperatura controlada discutido abaixo detecta automaticamente a temperatura ambiente e ajusta a velocidade do motor do ventilador para manter a temperatura ambiente sob controle. Este processamento automático é feito através de um Arduino e um sensor de temperatura IC LM35.

De: Ankit Negi

NOSSO OBJETIVO:

1). Assim que a temperatura do ambiente aumenta além de 25 graus Celsius (você pode alterar este valor no programa de acordo com sua necessidade, explicado na seção de trabalho) o motor começa a funcionar.

2). E com cada grau de aumento da temperatura, a velocidade do motor também aumenta.

3). O motor funciona em sua velocidade máxima assim que a temperatura sobe para 40 graus Celsius (este valor pode ser alterado no programa).

SENSOR DE TEMPERATURA LM35:

Para realizar a tarefa mencionada acima, vamos usar temp. Sensor LM35 como é amplamente utilizado e facilmente disponível.

O LM35 tem 3 pinos como você pode ver na figura.

PINAGEM LM35 IC

1. Vin– este pino está conectado à fonte de alimentação dc entre 4 a 20 v.
2. Vout– este pino dá saída na forma de tensão.
3. GND– este pino é conectado ao terminal GND do circuito.

O LM35, quando conectado à fonte de alimentação, detecta a temperatura do ambiente e envia tensão equivalente de acordo com o aumento de temperatura por grau através de seu pino de saída.

O LM35 pode detectar qualquer temperatura. entre -50 graus a +150 graus Celsius e aumenta a saída em 10 milivolts com um aumento de 1 grau na temperatura. Assim, a tensão máxima que pode fornecer como saída é de 1,5 volts.

POR QUE ARDUINO PARA ESTE PROJETO DC FAN CONTROLLER?

O Arduino é obrigado a alterar o valor analógico recebido do pino de saída do LM35 para o valor digital e envia a saída digital correspondente (PWM) para a base do mosfet.

Também usaremos comandos do arduino para imprimir temperatura, valor analógico correspondente e saída digital para mosfet no monitor serial do ARDUINO IDE.

QUAL É O PAPEL DO POWER MOSFET?

Este circuito será inútil se não puder executar o motor de alta corrente. Portanto, para executar esses motores, o mosfet de potência é usado.

POR QUE O DIODO É USADO?

O diodo é usado para proteger o mosfet do EMF traseiro gerado pelo motor durante a execução.

LISTA DE PEÇAS PARA O PROJETO:

1. LM35

2. ARDUINO

3. MOSFET DE POTÊNCIA (IRF1010E)

MOSFET DE POTÊNCIA (IRF1010E)

4. DIODO (1N4007)

DIODO (1N4007)

5. VENTILADOR (motor)

6. FONTE DE ALIMENTAÇÃO DO VENTILADOR

DIAGRAMA DE CIRCUITO:

CONTROLE DO VENTILADOR DC DEPENDENTE DA TEMPERATURA DO ARDUINO

Faça as conexões conforme mostrado no diagrama de circuito.

a) Conecte o pino vin do lm358 a 5v do arduino
b) Conecte o pino vout do lm358 ao A0 do arduino
c) Conecte o pino terra do lm358 ao GND do arduino
d) Conecte a base do mosfet ao pino PWM 10 do arduino

CÓDIGO:

float x;// initialise variables
int y;
int z;
void setup()
{
pinMode(A0,INPUT); //  initialize analog pin A0 as input pin
Serial.begin(9600); // begin serial communication
pinMode(10,OUTPUT); //  initialize digital pin 10 as output pin
}
void loop()
{
x=analogRead(A0) ; // read analog value from sensor's output pin connected to A0 pin
y=(500*x)/1023;// conversion of analog value received from sensor to corresponding degree Celsius (*formula explained in working section)
z=map(x,0,1023,0,255) ; // conversion of analog value to digital value
Serial.print("analog value    ");
Serial.print(  x) ; // print analog value from sensor's output pin connected to A0 pin on serial monitor( called "analog value")
Serial.print("    temperature    ");
Serial.print(  y) ; // print the temprature on serial monitor( called "temprature")
Serial.print("     mapped value     ");
Serial.print(      z*10) ; // multiply mapped value by 10 and print it ( called " mapped value " )
Serial.println();
delay(1000) ; // 1 sec delay between each print.
if(y>25)
{analogWrite(10,z*10)  ;  // when temp. rises above 25 deg, multiply digital value by 10 and write it on PWM pin 10 ( ** explained in working section)
}
else
{analogWrite(10,0) ; //  in any other case PWM on pin 10 must be 0
}
}

FUNCIONANDO (compreendendo o código):

UMA). VARIÁVEL X-

Este é simplesmente o valor analógico que é recebido pelo pino no. A0 do pino de saída do LM35.

B). VARIÁVEL Y-

Devido apenas a esta variável, nosso motor do ventilador funciona de acordo com a temperatura correspondente. O que essa variável faz é alterar o valor analógico, ou seja, a variável x para a temperatura correspondente do ambiente.

Y = (500*x)/1023
1. O primeiro valor analógico deve ser alterado para a tensão correspondente, ou seja
1023: 5v
Portanto, (5000 milivolts *x)/1023 V
2. Agora sabemos que para cada aumento de grau na temperatura, a saída de tensão correspondente aumenta em 10 mv, ou seja
1 grau Celsius: 10 milivolts
Portanto, (5000 milivolts *x)/ (1023*10) GRAUS

C). VARIÁVEL Z-

z=map(x, 0, 1023, 0,255);
esta variável altera o valor analógico para o valor digital para saída pwm no pino 10.

NOTA:: Sabemos que o lm35 pode fornecer no máximo 1,5 volts e isso também quando temp. É 150 graus. o que não é prático.

Isso significa que para 40 graus Celsius temos 0,40 volts e para 25 graus temos 0,25 volts. Como esses valores são muito baixos para o pwm adequado no mosfet, precisamos multiplicá-lo por um fator.

Portanto, multiplicamos por 10 e, em vez disso, damos esse valor como saída analógica para o pino 10 do PWM, ou seja

** analogWrite(10,z*10)

Agora, para 0,25 volts, o mosfet obtém 0,25 * 10 = 2,5 volts

Para 0,40 volts o mosfet obtém 0,40 * 10 = 4 volts em que o motor quase funciona em sua velocidade máxima

CASO 1. Quando temp. É inferior a 25 graus

Neste caso o arduino envia tensão 0 PWM para o pino 10 como na última linha de código

** outro
{analogWrite(10,0); // em qualquer outro caso, o PWM no pino 10 deve ser 0
} **

Como a tensão pwm na base do mosfet é 0, ele permanece desligado e o motor é desconectado do circuito.

Veja circuito simulado neste caso.

SIMULAÇÃO DE CONTROLE DE VENTILADOR ARDUINO

Como você pode ver a temperatura é de 20 graus, portanto

Valor analógico=41
Temperatura=20
Valor mapeado = 100

Mas como a temperatura é inferior a 25 graus, o mosfet recebe 0 volt como mostrado na fig (indicado pelo ponto azul).
CASO 2. Quando temp. É maior que 25 graus

Quando a temperatura atinge 25 graus, então, conforme especificado no código pwm, o sinal é enviado para a base do mosfet e, a cada grau de aumento de temperatura, essa tensão PWM também aumenta, ou seja

if(y>25)
{analogWrite(10,z*10)
} which is z* 10.

Veja circuito simulado neste caso.

IMG 624561E651D94

Como você pode ver, à medida que a temperatura aumenta de 20 graus para 40 graus, todos os três valores mudam e a 40 graus Celsius

Valor analógico=82
Temperatura=40
Valor mapeado = 200

Como a temperatura é superior a 25 graus, o mosfet obtém a tensão PWM correspondente, conforme mostrado na fig (indicado pelo ponto vermelho).

Portanto, o motor começa a funcionar a 25 graus e com o aumento correspondente na temperatura por grau; tensão pwm do pino 10 à base do mosfet também aumenta. Portanto, a velocidade do motor aumenta linearmente com o aumento da temperatura e se torna quase máxima para 40 graus Celsius.

Se você tiver mais dúvidas sobre o circuito de ventilador dc controlado por temperatura automática explicado acima usando ventilador e Arduino, você sempre pode usar a caixa de comentários abaixo e enviar seus pensamentos para nós. Tentaremos retornar o quanto antes.

Hashtags: #Circuitos #Ventiladores #Controlados #por #Temperatura #Arduino
 

FONTE


Nota: Este conteúdo foi traduzido do Inglês para português (auto)
Pode conter erros de tradução

Olá, se tiver algum erro de tradução (AUTO), falta de link para download etc…
Veja na FONTE até ser revisado o conteúdo.
Status (Ok Até agora)


Se tiver algum erro coloque nos comentários

Mas se gostou compartilhe!!!

Relacionados

Relacionados