Projetos de circuito eletrônicoProjetos de engenharia do ArduinoCircuito medidor de vazão de água digital simples usando Arduino

Circuito medidor de vazão de água digital simples usando Arduino

Relacionados

Neste post vamos construir um medidor digital de vazão de água usando Arduino e display LCD 16 x 2. Vamos dar uma olhada no sensor de fluxo de água YF-S201, sua construção e funcionamento e como fazer a interface com o Arduino para extrair algumas leituras úteis.

O projeto proposto pode medir a vazão de água em litro/minuto e a vazão total de água em litros.

Vamos dar uma olhada no sensor de fluxo de água YF-S201.

Ilustração de YF-S201:

IMG 6245BD80802C3
CIRCUITO MEDIDOR DE VAZÃO DE ÁGUA DIGITAL SIMPLES USANDO ARDUINO 9

YF-S201 é um sensor de água baseado em efeito Hall. Possui três terminais 5V (tensão nominal de trabalho), GND e saída. O +5V é o fio de cor vermelha, o preto é GND e o amarelo é a saída.

O sensor fornece frequência diretamente proporcional ao fluxo de água. O sensor YF-S201 pode medir de 1 litro/minuto a 30 litros/minuto. A pressão da água deve ser menor ou igual a 1,75 MPa.

A água pode ser injetada de uma extremidade e a água flui pela outra extremidade.

O sensor pode ser colocado após a válvula principal do tanque; se você quiser medir o fluxo de água em uma rede de tubos de água ou você pode colocar um pouco antes de uma torneira de água para medir o fluxo de água de uma única torneira.

A colocação do sensor pode ser em qualquer lugar de acordo com a necessidade do usuário, mas deve-se tomar cuidado para evitar vazamento de água.

O sensor possui um ímã e um sensor de efeito Hall; se dermos uma olhada nas laterais do sensor de fluxo de água, podemos testemunhar uma turbina de plástico no caminho do fluxo de água.

Um ímã redondo é embutido no centro da turbina e o sensor de efeito Hall é selado e protegido da umidade e colocado acima do ímã. O sensor de efeito Hall produz um pulso para cada rotação da turbina.

Forma de onda de fluxo de água na plotadora serial

Podemos ver os pulsos gerados pelo sensor de fluxo de água no plotter serial do arduino IDE, mostrado abaixo (Usando Arduino Single channel Oscilloscope).

IMG 6245BD80C8318
CIRCUITO MEDIDOR DE VAZÃO DE ÁGUA DIGITAL SIMPLES USANDO ARDUINO 10

Sopramos ar através do sensor para girar a turbina como um teste e a forma de onda gerada é mostrada acima. A forma de onda mais densa no lado esquerdo representa maior frequência e rotação mais rápida da turbina, a forma de onda menos densa no lado direito significa vice-versa.

Um fluxo de água consistente fornece saída de frequência consistente.

Temos que converter a frequência em escala de litro/minuto. Para fazer isso, o fabricante deu uma fórmula:

Taxa de fluxo de água (litro/min) = frequência / 7,5

Então, precisamos medir a frequência gerada e aplicar a fórmula acima no código do programa.

Especificações Técnicas do YF-S201:

· Precisão: +/- 10%, se precisar de melhor precisão, precisamos calibrar.

· Temperatura de trabalho: -25 a + 80 graus Celsius.

· Umidade de trabalho: 35% a 80% RH.

· Ciclo de trabalho de saída: 50% +/- 10%.

· Pressão máxima da água: 1,75 MPa.

· Pulsos por litro: 450.

· Consumo máximo de corrente: 15 mA a 5V

Isso conclui o sensor de fluxo de água YF-S201.

Agora vamos para o esquema.

Diagrama esquemático:

IMG 6245BD810C518
CIRCUITO MEDIDOR DE VAZÃO DE ÁGUA DIGITAL SIMPLES USANDO ARDUINO 11

O pino de saída do sensor de fluxo de água está conectado ao A0 do Arduino. Use o potenciômetro de 10K para ajustar o contraste da tela. Conecte o Arduino e o display LCD conforme o diagrama acima.

Código do programa:

//-----Program Developed by R.Girish-----//
#include
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int X;
int Y;
float Time = 0;
float frequency = 0;
float waterFlow = 0;
float total = 0;
float LS = 0;
const int input = A0;
const int test = 9;
void setup()
{
Serial.begin(9600);
lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Water Flow Meter");
lcd.setCursor(0,1);
lcd.print("****************");
delay(2000);
pinMode(input,INPUT);
pinMode(test, OUTPUT);
analogWrite(test,100);
}
void loop()
{
X = pulseIn(input, HIGH);
Y = pulseIn(input, LOW);
Time = X + Y;
frequency = 1000000/Time;
waterFlow = frequency/7.5;
LS = waterFlow/60;
if(frequency >= 0)
{
if(isinf(frequency))
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("L/Min: 0.00");
lcd.setCursor(0,1);
lcd.print("Total: ");
lcd.print(total);
lcd.print(" L");
}
else
{
total = total + LS;
Serial.println(frequency);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("L/Min: ");
lcd.print(waterFlow);
lcd.setCursor(0,1);
lcd.print("Total: ");
lcd.print(total);
lcd.print(" L");
}
}
delay(1000);
}
//-----Program Developed by R.Girish-----//

Protótipo do autor:

IMG 6245BD814492E
CIRCUITO MEDIDOR DE VAZÃO DE ÁGUA DIGITAL SIMPLES USANDO ARDUINO 12

O “L/Min” indica a vazão atual de água e o “Total” indica o total de água escoado desde que o circuito foi ligado.

Você também pode fluir quaisquer líquidos cujo valor de viscosidade esteja próximo ao da água.

Se você tiver alguma dúvida sobre este medidor de vazão de água digital usando Arduino, sinta-se à vontade para expressar na seção de comentários, você pode receber uma resposta rápida.

Hashtags: #Circuito #medidor #vazão #água #digital #simples #usando #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