Índice:

Controlador de nível de líquido ultrassônico: 6 etapas (com imagens)
Controlador de nível de líquido ultrassônico: 6 etapas (com imagens)

Vídeo: Controlador de nível de líquido ultrassônico: 6 etapas (com imagens)

Vídeo: Controlador de nível de líquido ultrassônico: 6 etapas (com imagens)
Vídeo: Sensores de nível - instrumentação, controle e otimização de processos - aula 1 2024, Novembro
Anonim
Controlador de nível de líquido ultrassônico
Controlador de nível de líquido ultrassônico

IntroduçãoComo você provavelmente sabe, o Irã tem clima seco e falta água em meu país. Às vezes, principalmente no verão, pode-se constatar que o governo corta a água. Portanto, a maioria dos apartamentos tem tanque de água. Há um tanque de 1.500 litros em nosso apartamento que fornece água. Além disso, existem 12 unidades residenciais em nosso apartamento. Como resultado, pode-se esperar que o tanque se esvazie muito em breve. Há uma bomba d'água acoplada ao tanque que envia água para o prédio. Sempre que o reservatório está vazio, a bomba funciona sem água. Essa situação provoca um aumento na temperatura do motor e, com o passar do tempo, pode causar quebra da bomba. Há algum tempo atrás para nós essa falha da bomba aconteceu pela segunda vez, e depois de abrir o motor, vimos que os fios da bobina estavam queimados. Depois de trocarmos a bomba, para evitar esse problema novamente, decidi fazer um controlador de nível de água. Planejei fazer um circuito para cortar o fornecimento de energia da bomba sempre que a água caísse abaixo do limite mínimo do tanque. A bomba não funcionará até que a água chegue ao limite máximo. Após ultrapassar o limite superior, o circuito conectará a fonte de alimentação novamente. No início, pesquisei na internet para ver se encontro um circuito adequado. No entanto, não achei nada apropriado. Havia alguns indicadores de água baseados no Arduino, mas não resolveram meu problema. Como resultado, decidi projetar meu controlador de nível de água. Um pacote tudo-em-um com uma interface gráfica de usuário direta para definir parâmetros. Além disso, tentei considerar os padrões EMC para ter certeza de que o dispositivo funciona de forma válida em diferentes situações.

Etapa 1: Princípio

Princípio
Princípio

Você provavelmente conhece o princípio antes. Quando o sinal de pulso ultrassônico é emitido em direção a um objeto, ele é refletido pelo objeto e o eco retorna para o remetente. Se você calcular o tempo percorrido pelo pulso ultrassônico, poderá encontrar a distância do objeto. No nosso caso, o item é a água.

Observe que ao encontrar a distância até a água, você está calculando o volume de espaço vazio no tanque. Para obter o volume de água, você deve subtrair o volume calculado do volume total do tanque.

Etapa 2: sensor, fonte de alimentação e controlador

Sensor, fonte de alimentação e controlador
Sensor, fonte de alimentação e controlador
Sensor, fonte de alimentação e controlador
Sensor, fonte de alimentação e controlador
Sensor, fonte de alimentação e controlador
Sensor, fonte de alimentação e controlador
Sensor, fonte de alimentação e controlador
Sensor, fonte de alimentação e controlador

Hardware

Para o sensor, usei o sensor ultrassônico à prova d'água JSN-SR04T. A rotina de trabalho é como HC-SR04 (eco e trig pin).

Especificações:

  • Distância: 25 cm a 450 cm
  • Tensão de trabalho: DC 3.0-5.5V
  • Corrente de trabalho: < 8mA
  • Precisão: ± 1cm
  • Freqüência: 40 khz
  • Temperatura de trabalho: -20 ~ 70 ℃

Observe que este controlador tem algumas limitações. por exemplo: 1- JSN-SR04T não pode medir distâncias abaixo de 25CM, então você deve instalar o sensor pelo menos 25CM acima da superfície da água. Além disso, a medição de distância máxima é 4,5M. Portanto, este sensor não é adequado para tanques grandes. 2- a precisão é de 1cm para este sensor. Como resultado, com base no diâmetro do tanque, a resolução de volume que o dispositivo irá mostrar pode ser variada. 3- a velocidade do som pode variar com base na temperatura. Como resultado, a precisão pode ser afetada por diferentes regiões. No entanto, essas limitações não eram cruciais para mim e a precisão era adequada.

O controlador

Eu usei STM32F030K6T6 ARM Cortex M0 da STMicroelectronics. Você pode encontrar a especificação deste microcontrolador aqui.

A fonte de energia

A primeira parte é converter 220V / 50Hz (Iran Electricity) em 12VDC. Para este propósito, usei o módulo de fonte de alimentação HLK-PM12 buck step down. Este conversor AC / DC pode converter 90 ~ 264 VAC em 12VDC com corrente de saída de 0,25A.

Como você provavelmente sabe, a carga indutiva no relé pode causar vários problemas no circuito e na fonte de alimentação, e a dificuldade na fonte de alimentação pode levar à inconstância, principalmente no microcontrolador. A solução é isolar as fontes de alimentação. Além disso, você deve usar um circuito de amortecimento nos contatos do relé. Existem vários métodos para isolar fontes de alimentação. Por exemplo, você pode usar um transformador com duas saídas. Além disso, existem conversores DC / DC isolados em um tamanho minúsculo que podem isolar a saída da entrada. Usei o MINMAX MA03-12S09 para essa finalidade. É um conversor DC / DC de 3W com isolamento.

Etapa 3: O Supervisor IC

O Supervisor IC
O Supervisor IC

De acordo com a nota do aplicativo TI: Um supervisor de tensão (também conhecido como circuito integrado de reinicialização [IC]) é um tipo de monitor de tensão que monitora a fonte de alimentação de um sistema. Os supervisores de tensão são freqüentemente usados com processadores, reguladores de tensão e sequenciadores - em geral, onde a detecção de tensão ou corrente é necessária. Os supervisores monitoram os trilhos de tensão para garantir a ativação, detectar falhas e se comunicar com os processadores integrados para garantir a integridade do sistema. você pode encontrar esta nota de aplicativo aqui. Embora os microcontroladores STM32 tenham supervisores integrados, como monitor de alimentação, usei um chip de supervisor externo para garantir que tudo funcione bem. No meu caso, usei o TL7705 da TI. Você pode ver a descrição no site da Texas Instruments para este IC abaixo: A família TL77xxA de supervisores de tensão de alimentação de circuito integrado é projetada especificamente para uso como controladores de reinicialização em sistemas de microcomputador e microprocessador. O supervisor de tensão de alimentação monitora a alimentação para condições de subtensão na entrada SENSE. Durante a inicialização, a saída RESET torna-se ativa (baixa) quando VCC atinge um valor próximo a 3,6 V. Neste ponto (assumindo que SENSE está acima de VIT +), a função de temporizador de atraso ativa um atraso de tempo, após o qual as saídas RESET e RESET (NÃO) ficar inativo (alto e baixo, respectivamente). Quando uma condição de subtensão ocorre durante a operação normal, RESET e RESET (NÃO) ficam ativos.

Etapa 4: a placa de circuito impresso (PCB)

A placa de circuito impresso (PCB)
A placa de circuito impresso (PCB)
A placa de circuito impresso (PCB)
A placa de circuito impresso (PCB)
A placa de circuito impresso (PCB)
A placa de circuito impresso (PCB)
A placa de circuito impresso (PCB)
A placa de circuito impresso (PCB)

Eu projetei o PCB em duas partes. O primeiro é o PCB LCD que é conectado à placa-mãe com um cabo de fita / flat. A segunda parte é o PCB do controlador. Neste PCB, coloquei fonte de alimentação, microcontrolador, sensor ultrassônico e componentes relacionados. E também a parte de alimentação que é o circuito de relé, varistor e amortecedor. Como você provavelmente sabe, relés mecânicos, como um relé que usei no meu circuito, podem falhar se sempre funcionarem. Para superar esse problema, usei o contato normalmente fechado (NF) do relé. Portanto, em uma situação normal, o relé não está ativo e o contato normalmente próximo pode conduzir a energia para a bomba. Sempre que a água ficar abaixo do limite Baixo, o relé ligará e isso cortará a energia. Dito isso, este é o motivo pelo qual usei o circuito de amortecimento nos contatos NC e COM. Em relação ao fato da bomba ter alta potência, usei o segundo relé 220 para ela, e a dirijo com o relé na placa de circuito impresso.

Você pode baixar arquivos PCB como arquivos Altium PCB e arquivos Gerber do meu GitHub aqui.

Etapa 5: Código

Image
Image
Instalação no tanque
Instalação no tanque

Usei o IDE STM32Cube, que é uma solução completa para desenvolvimento de código da STMicroelectronics. É baseado no Eclipse IDE com compilador GCC ARM. Além disso, tem STM32CubeMX nele. Você pode encontrar mais informações aqui. No início, escrevi um código que incluía a especificação do nosso tanque (altura e diâmetro). No entanto, decidi alterá-lo para GUI para definir parâmetros com base em especificações diferentes.

Etapa 6: Instalação no tanque

Instalação no tanque
Instalação no tanque
Instalação no tanque
Instalação no tanque

No final, fiz uma caixa simples para proteger o PCB da água. Além disso, fiz um furo no topo do tanque para colocar o sensor nele.

Recomendado: