Índice:
Vídeo: Sensor de nível de líquido (usando ultrassônico): 5 etapas
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
O sensor de nível de líquido detecta o nível do líquido a partir do nível do solo. Liga o motor (requer amplificador do driver do motor) abaixo de um determinado valor e desliga acima de um determinado valor após encher o líquido
Características deste sistema:
- Funciona com qualquer líquido (água, óleo etc).
- Alcance até 250 cm de distância do solo (também altura do tanque).
- Medição precisa (até 2 cm de erro) com HC-SR04, Ping etc.
- Saída de controle do motor.
-
Calibração (em tempo de execução) disponível para:
- Nível do solo: Pode ser calibrado para qualquer tanque (até 250 cm de altura) enquanto o sistema está funcionando, com um botão.
- Níveis LIGADO e DESLIGADO do motor: os níveis LIGADO e DESLIGADO podem ser configurados com as predefinições fornecidas e um botão de mudança de modo.
- Indicação fora dos limites com '0 cm'.
- Funciona em 5V DC.
Peças necessárias para construir:
- Arduino (ou ATMega 328 com programador).
- HC-SR04 ou qualquer módulo sensor ultrassônico comum.
- Predefinições (20K ou 10K) - 2 Pc
- Cabeçalho Masculino - 6 Pinos
- Cabeçalho fêmea 16 pino
- Microinterruptor push click
- Pressione o micro interruptor de alternância
- Resistor de 10K 1/4 watt
- Diodo 1N4007
- Soquete de alimentação DC
- Resistor 220E
- Veroboard (ou Breadboard, se preferir)
- Fios de conexão
- Tela LCD 16 * 2 com cabeçotes de pino macho conectados
- Motorista e motor (se quiser)
- Conhecimentos básicos de eletrônica e Arduino
Etapa 1: Diagrama de Circuito
Etapa 2: Trabalho
Em nossa placa de sensor, temos peças ultrassônicas Tx e Rx. O sensor lê a distância do nível de superfície do líquido. O Tx é basicamente um alto-falante de 40KHz, que envia pulsos de som ultrassônico de 40KHz. O tempo de envio do pulso e o tempo de recebimento do pulso são anotados para cada pulso. Esses pulsos são detectados em MCU.
O MCU registra a diferença de tempo entre e, em seguida, usa a velocidade do som para calcular a distância. O MCU deve ser pré-calibrado para registrar a distância do nível do solo, ou seja, quando o tanque / recipiente estiver vazio. A diferença é calculada e assim obtemos o nível do líquido.
O nível é mostrado no display LCD 16x2. Também outros detalhes são mostrados na tela.
Existem duas predefinições para o limite de valor máximo e mínimo do gerador de sinal da bomba. O é gerado quando o nível do líquido atinge o limite máximo definido pelo preset. O sinal fica baixo novamente quando atinge abaixo do limite mínimo definido por outro preset.
A calibração da distância do solo é feita por uma chave, que envia um sinal para o chip atmega328 e ele registra a distância atual e a define como aterramento de referência.
Etapa 3: Programa - Arduino
O programa é feito em Arduino. Use-o para gravar em Atmega328 (ou qualquer outro de sua preferência).
O programa está disponível em git sob GPL-3.0.
Um arquivo hex compilado já é fornecido para fácil upload usando o arduino-builder.
Dependências:
Biblioteca de Newping.
Etapa 4: Calibração e dados
A tela LCD mostra o nível atual (diferença) em relação ao nível calibrado.
As duas predefinições decidem o superior (nível máximo) após o qual a carga será desligada e inferior (nível mínimo) após o qual a carga será ligada. A carga pretendida aqui é a bomba, pois este sistema é aplicável em sistema de bomba automatizada. Quatro cabeçalhos são para o sensor sônico (ping). Usei o HC-SR04. Um par de cabeçalhos para motor (pino digital 9). Requer um acionador de bomba externo. Ele usou EEPROM para armazenar dados de calibração.
Duas calibrações são fornecidas:
- LEVEL_CAL
- MOTOR_TRIGGER_CAL
Etapa 5: Controle da bomba
A placa possui 2 pinos dedicados para o sinal da bomba
Um emite um sinal de 5 V quando a bomba precisa ser ligada (quando o nível do líquido cai abaixo do valor limite inferior predefinido) e dá um sinal de 0 V quando a bomba deve ser mantida desligada (o nível ultrapassa o limite superior).
O sinal é enviado a uma placa de relé para controlar uma bomba AC.