Sistema de controle de nível de água sem fio

Sistema de controle de nível de água sem fio

Sistema de controle de nível de água sem fio
Introdução: Em aplicações domésticas e industriais utilizamos tanques de água para armazenar água. Encher o tanque com água usando bomba d'água é bastante comum. Quando a água dentro do tanque acaba, devemos enchê-lo bombeando água usando um motor CA e depois que o tanque estiver cheio de água, paramos o motor. Este é um sistema manual, significa que ligar o motor quando o tanque estiver vazio e desligá-lo quando o tanque estiver cheio é manual. Mas agora não é mais manual. O sistema automático de ligar e desligar o motor com base no nível de água do tanque já está disponível no mercado. Este sistema é um sistema com fio e conectar o circuito e organizar os fios e o circuito é um pouco complexo. Neste sistema, a maior desvantagem são as conexões cabeadas entre o circuito de controle e o motor. Portanto, temos que usar fios longos desde o topo da casa até a unidade de abastecimento de água e a unidade do circuito de controle. Se quisermos adaptar este sistema para grandes edifícios, ele se tornará muito caro e muito complexo. Para superar isso, em vez do sistema com fio, se adotarmos o sistema sem fio, poderemos reduzir custos e complexidade. A abordagem nova e diferente neste projeto é que os níveis de água são monitorados sem fio e o sistema de bombeamento de água é controlado com base no nível da água, enviando sinal sem fio de Tx para Rx. Portanto, como não há conexão de fio entre a caixa d'água e o circuito de controle do motor, podemos utilizar este sistema em edifícios altos (com 10 ou mais andares) com menor custo. Descrição: Neste projeto o transmissor é conectado à caixa d'água, da caixa d'água quatro sensores de nível de água (conectores) são conectados ao codificador. Os dados do codificador são transmitidos ao receptor. O circuito receptor está conectado às unidades de exibição e motor. Ele usa microcontrolador para exibir o nível de água e controlar o motor. Então, quer saber como isso é possível? Como isso é feito? Vamos começar. Primeiro colete todos os componentes e equipamentos necessários. Componentes e equipamentos necessários: Sr. Não. Nome do componente Quantidade necessária 1 módulo RF Tx (434 MHz) 1 2 Módulo RF Rx (434 MHz) 1 3HT12E1 4HT12D1 5 LED 1 6 Resistor – 1KΩ (um quarto de watt) 4 7 Resistor – 1MΩ (um quarto de watt) 1 8 Resistor – 50KΩ (um quarto de watt) 1 9 Placa de desenvolvimento Arduino pro mini 1 10 LCD 16×2 1 11 Transistor BC547 1 12 1 Relé de montagem PCB tipo C/O 1 13 diodo 1N4007 1 14 Resistor 1 de 100 Ω (um quarto de watt) 15 pote 1 de 10 K 16 Bateria – 9V 2 17 Tábua de pão 3 18 fios de conexão Diagrama de circuito: Procedimento: Seção do transmissor: Passo 1: Organize um tanque de água em forma de arame de baixo para cima e, da mesma forma, organize quatro níveis com fios (suponha; 25%, 50%, 75%, 100%). Pegue um total de cinco conexões do tanque. Passo 2: nestas cinco conexões conecte o último e o fio inferior Vcc, e permaneçam quatro contatos de nível ao codificador HT12E 10,11,12,13, pinos com resistência pull down de 1K. Passo 3: conecte o resistor de 1MΩ entre 15 e 16 pinos do HT12E. Passo 4: conecte 17 pinos do HT12E ao 2º pino do módulo RF Tx e 14 pinos ao terra. Passo 5: 1-8 pinos do HT12E são pinos de endereço, conecte todos eles ao terra e conecte o pino 18 ao Vcc e o pino 9 ao terra Passo 5: conecte o pino 1 do módulo RF Tx ao pino terra 3 ao Vcc e o pino 4 à antena. Seção do receptor: Passo 1: conecte o decodificador 10,11,12,13 pinos à placa microcontroladora Arduino pro mini 10,11,12,13, pinos. Passo 4: conecte o resistor de 50KΩ entre os pinos do decodificador 15 e 16 do HT12D. Etapa 5: conecte 14 pinos do decodificador ao 2º pino do módulo RF Rx e 17 pinos ao indicador LED (o LED indica que o sinal foi recebido) Passo 6: 1-8 pinos do HT12D são pinos de endereço. Conecte tudo ao terra e conecte também o pino 9 ao terra. Conecte o pino 18 ao Vcc Etapa 7: conecte os pinos 1, 6 e 7 dos módulos RF Rx aos pinos de aterramento 4-5 do Vcc e o pino 8 à antena. Etapa 8: conecte o pino 2 do Arduino ao pino En do LCD, o pino 3 ao pino Rs e os pinos 4,5,6,7 aos pinos de dados D5-D8. Passo 9: a bobina do relé é conectada entre o coletor do transistor e a alimentação Vcc. Um diodo é conectado em polarização reversa através da bobina. A carga CA (lâmpada) é conectada entre os terminais comuns e normalmente abertos dos contatos do relé. Trabalhando: 1. O ponto básico neste projeto é considerar que a água é um bom condutor, se a densidade da água aumenta, a condutividade também aumenta (água salgada). A água pura não é um bom condutor de eletricidade. Água destilada comum em equilíbrio com o dióxido de carbono do ar tem uma condutividade de cerca de 10 x 10-6 W-1*m-1 (20 dS/m). Como a corrente elétrica é transportada pelos íons em solução, a condutividade aumenta à medida que a concentração de íons aumenta. Assim, a condutividade aumenta à medida que a água dissolve espécies iônicas. Condutividade típica das águas: Água ultrapura 5,5 • 10-6 S/m Água potável 0,005 – 0,05 S/m Água do mar 5 S/m Aqui S/m = Siemens por metro. 2. De acordo com os pontos de construção, neste projeto são medidos quatro níveis de água, o quinto fio (fio inferior) é para aplicar a fonte de alimentação. Quando estamos enchendo o tanque com água, a água toca o fio inferior, portanto, desde o ponto inicial, a água carrega a tensão de alimentação (+5V). Quando o nível da água aumenta e atinge o nível de 25% do fio condutor, esse fio seco conduz e obtém +5V. Esta tensão altera o estado do pino de dados do chip codificador. Da mesma forma, quando a água toca os fios restantes, eles recebem +5 V e mudam de estado do respectivo pino de dados. Este é o princípio de funcionamento deste projeto. 3. Os fios do nível de água do tanque são conectados aos pinos de dados do chip codificador HT12E usando resistores pull down (10KΩ). Aqui, uma chance de levantar dúvidas sobre a resistência à queda. A resistência pull down é necessária aqui, porque, quando as conexões elétricas são estabelecidas entre o fio e a água, a corrente flui através do fio e essa corrente é convertida em tensão proporcional pelo resistor pull down. 4. Quando esta tensão é aplicada na entrada do codificador, ela converterá dados paralelos em dados seriais e alimentará o pino 2 do módulo Tx. Em seguida, o transmissor transmite os dados na forma de sinal ASK para o receptor. 5. O receptor recebe os dados e o decodificador converte dados seriais em dados paralelos. Os pinos de saída do decodificador conectados aos pinos digitais do Arduino como entradas. Se a 1ª entrada for alta, o LCD exibe o nível de água em 25% conforme o programa. 6. Da mesma forma, o LCD exibe todos os outros níveis de água à medida que o microcontrolador obtém dados do transmissor 7. Quando o tanque de água estiver cheio, o relé muda de estado e desliga o motor. Fotos:
Solução de problemas: O principal problema que tiveA face neste projeto é que os pinos do codificador são conectados aos quatro fios e esses quatro fios são conectados ao tanque de água em diferentes níveis. Este arranjo ajuda a indicar os níveis de água. Mas os fios do nível da água não estão fornecendo tensão suficiente aos pinos do codificador. Aumentando a superfície de contato do condutor com a água resolvi esse problema. Quando estamos programando um microcontrolador para exibir níveis em LCD, devemos considerar todos os níveis em cada estágio, observando o programa podemos entender isso. Precauções: 1. O status das linhas de endereço deve ser o mesmo no lado do transmissor e do receptor. 2. No transmissor, o 14º pino deve ser conectado ao terra ou conectar uma chave entre o terra e o 14º pino para reiniciar o codificador. 3. No transmissor, o resistor entre 15 e 16 deve estar entre 750MΩ e 1MΩ e no lado do receptor, o resistor entre 15 e 16 deve estar entre 30KΩ e 50KΩ. 4. Caso queira usar outras baterias, verifique uma vez a folha de dados do HT12E/D. 5. Tome cuidado com as conexões do tanque ao circuito do transmissor e ao circuito do relé. 6. No programa devemos mencionar todos os níveis em cada loop if, como, no início apenas o nível 1 é alto, mas no 2º nível, o 1º nível e o 2º nível são altos. Portanto, devemos mencionar isso em condições. E ainda há menção a dois estados em estado baixo.

Código-fonte do projeto

 

Código-fonte do projeto

###

 

#include
//decoder 10,11,12,13 output pins connected to arduino 10,11,12,13 digital pins as input.int tx1 = 10;int tx2 = 11;int tx3 = 12;int tx4 = 13;int relay = 8;int buzzer = 9;LiquidCrystal lcd(2, 3, 4, 5, 6, 7); void setup {    pinMode(tx1,INPUT);  pinMode(tx2,INPUT);  pinMode(tx3,INPUT);     // decoder output microcontroller reading as input.  pinMode(tx4,INPUT);    pinMode(relay,OUTPUT);    Serial.begin(9600);     lcd.begin(16, 2);  lcd.print("ENGINEERS GARAGE");  lcd.setCursor(0, 1);    digitalWrite(relay,HIGH);  delay(1000);} void loop {    // reading data and storing in avariable for further use.  int Tx1 = digitalRead(tx1);  int Tx2 = digitalRead(tx2);  int Tx3 = digitalRead(tx3);  int Tx4 = digitalRead(tx4);      if (Tx1 == HIGH && Tx2 == LOW && Tx3 == LOW && Tx4 == LOW  )  {        lcd.setCursor(0, 2);  lcd.print("Water Level");  lcd.print(" 25%"); // change the analog out value:  }          if (Tx1 == HIGH && Tx2 == HIGH && Tx3 == LOW && Tx4 == LOW )   {     lcd.setCursor(0, 2);  lcd.print("Water Level");  lcd.print(" 50%"); // change the analog out value:   }      if (Tx1 == HIGH && Tx2 == HIGH && Tx3 == HIGH && Tx4 == LOW )  {            lcd.setCursor(0, 2);     lcd.print("Water Level");     lcd.print(" 75%"); // change the analog out value:  }      if (Tx1 == HIGH && Tx2 == HIGH && Tx3 == HIGH && Tx4 == HIGH )  {    lcd.setCursor(0, 2);    lcd.print("Tank Full");    lcd.print(" !!!! "); // change the analog out value:      digitalWrite(buzzer,HIGH);    delay(1000);      digitalWrite(relay,LOW);           }}
//Program to 

###

Diagramas de circuito

RF16

Вернуться в блог

Оставьте комментарий

Комментарии должны быть одобрены перед публикацией.