Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Indicador e controlador de nível de fluido

Componentes e suprimentos

Arduino UNO
× 1
Sensor ultrassônico - HC-SR04 (genérico)
× 1

Aplicativos e serviços online

Arduino IDE

Sobre este projeto


O diagrama abaixo exibe o sensor de ultrassom e o Arduino. O modelo feito foi apenas para fins de apresentação .





Introdução


O indicador de nível é usado principalmente em todos os setores industriais. Também podemos implementar o mesmo para fins domésticos ou de trabalho em pequena escala. Construímos um sensor de nível de fluido que nos ajuda a ler dados contínuos. Dá-nos o valor de quanto fluido está ocupado no tanque. O sistema que criamos é um sistema de feedback que não só nos dá a quantidade de fluido ocupado, mas também o controla por meio de uma bomba.





Construção


A figura acima é um diagrama de blocos simplificado do sistema que criei. O Arduino é o microcontrolador que estamos usando. O sensor de ultrassom HC-SR04 é conectado ao Arduino. O sensor é montado na parte superior do tanque. Usei duas bombas submersíveis como modelo. As bombas submersíveis são unidirecionais, ou seja, podem transportar fluido de uma direção para outra apenas. Poderíamos usar uma bomba bidirecional que pode ser operada em ambas as direções. Ambas as bombas recebem sinal do Arduino. As bombas precisam de 12v para funcionar, portanto, temos que usar um driver de motor também. (O driver do motor não é mostrado no diagrama de blocos.)





Trabalhando


Para facilitar a compreensão, dividiremos o modelo em diferentes seções:
  • Sistema de detecção
  • Sistema de controle





Detecção


O sistema de detecção possui um sensor ultrassônico HC-SR04. A faixa ultrassônica vai acima de 20 kHz. Este sensor possui um transmissor e um receptor. O transmissor produz uma frequência de 40 kHz; esta onda ultrassônica é devolvida do nível do fluido e é recebida pelo receptor. Este sensor tem 4 pinos:o aterramento é fornecido ao aterramento do Arduino e o VCC pode ser + 3.3v ou 5v. O pino de disparo é usado para dar um sinal de disparo ao transmissor. O pino de eco é usado para receber o eco do ultrassom. A partir disso, obtemos um período de tempo do ultrassom para produzir e receber. Precisamos converter o tempo em distância. O seguinte é mostrado abaixo:
  duração =pulseIn (echoPin, HIGH); // Calculando a distância distance =duration * 0.034 / 2;  





Sistema de controle


O Arduino recebe os dados do sensor e então dá o sinal desejado para as bombas. Podemos definir nosso nível dado a partir do código. Se o nível ultrapassar o limite determinado, a bomba no tanque recebe um sinal e começa a bombear a água para fora do tanque até que esteja abaixo do limite. Quando o nível cai abaixo do limite mencionado, a bomba do reservatório começa a bombear fluido para o tanque. O tanque e apenas uma bomba serão usados.





Melhorias futuras


Podemos melhorar a eficiência do projeto da seguinte maneira:
  • Podemos usar uma bomba bidirecional que pode estar localizada fora do tanque, então apenas uma bomba deve ser usada.
  • Podemos exibir o resultado em um OLED ou em uma tela LCD.
  • Também podemos armazenar dados na nuvem se estivermos conectados ao IOT.
  • Podemos controlar o nível de fluido e também verificar o nível de fluido de um aplicativo se conectado ao IOT.
  • Também podemos fornecer uma campainha de segurança quando o tanque transbordar, também podemos modificar o código para evitar o transbordamento do tanque.

Código

  • controlador de nível de água
controlador de nível de água Arduino
 int tankPump =3; int reserviorPump =2; int trigPin =9; // whiteint echoPin =10; // duração brownlong; distância int; void setup () {Serial.begin (9600); pinMode (tankPump, OUTPUT); pinMode (reserviorPump, OUTPUT); pinMode (trigPin, OUTPUT); // Define o trigPin como um OutputpinMode (echoPin, INPUT); // Define o echoPin como uma entrada} void loop () {ultrasound (); pump ();} void ultrasound () {digitalWrite (trigPin, LOW); delayMicroseconds (2); // Define o trigPin no estado HIGH por 10 micro segundosdigitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); // Lê o echoPin, retorna o tempo de viagem da onda sonora em microssegundosduração =pulseIn (echoPin, HIGH); // Calculando a distância distância =duração * 0,034 / 2; // Imprime a distância no Serial MonitorSerial.print ("Distance:"); Serial.println (distance); delay (1000);} void pump () {if (distance> 10) {digitalWrite (tankPump ,ALTO); digitalWrite (reserviorPump, LOW); } else {digitalWrite (tankPump, LOW); } if (distância <6) {digitalWrite (reserviorPump, HIGH); digitalWrite (tankPump, LOW); } else {digitalWrite (reserviorPump, LOW); }} 

Esquemas


Processo de manufatura

  1. Sensor de pressão arterial - Funcionando e suas aplicações
  2. Sensor de tensão funcionando e suas aplicações
  3. Sensor Arduino - Tipos e Aplicações
  4. O que é fluido de transmissão e o que ele faz?
  5. Sensor de temperatura Python e Raspberry Pi
  6. Temperatura do Raspberry Pi e sensor de luz
  7. Sensor Raspberry Pi e controle do atuador
  8. Aeroponia com Raspberry Pi e sensor de umidade
  9. Como verificar e calibrar um sensor de umidade
  10. Windows 10 IoT Core e SHT15