Como medir o nível de um tanque de água com um microcontrolador?
Como medir o nível de um tanque de água com um microcontrolador?
Respostas:
Bem, supondo que você esteja operando aqui na Terra (ao contrário de em órbita), você pode usar um sensor de flutuação que mede usando o micro. A pergunta é: você precisa saber o nível exato ou precisa de algum tipo de viagem quando estiver alto / baixo?
No tema 'viagem em nível específico', você pode obter interruptores como este - geralmente o flutuador contém algum tipo de sensor de atitude. Quando o nível da água é mais baixo, a bóia termina do seu lado e o interruptor é 'desligado', enquanto o aumento do nível força a bóia na vertical e, portanto, 'on'. Estes são frequentemente utilizados para bombas de depósito. Eles são bastante confiáveis e muito fáceis de lidar, embora você precise ter cuidado para ancorá-los corretamente e tenha certeza de que nada atrapalha a flutuação.
Se você precisa conhecer o nível atual, tem muitas opções, mas é menos simples. Você pode usar algo como um sensor ultrassônico (o feixe de ultrassom disparando da parte superior do tanque para refletir o nível da água).
Esses caras parecem fazer indicadores de nível para tanques BIG, que consistem em um flutuador e um peso externo cabeados juntos. À medida que a bóia sobe e desce sobre o fluido, o indicador externo se move adequadamente. Você pode criar algo semelhante, com nada mais complicado do que células fotoelétricas para ler o nível (se for um tanque grande ou se você quiser muita granularidade, você precisará de muitas células fotoelétricas).
Como alternativa, adotando a idéia de flutuação com cabos, você pode colocar uma roda intermediária que se move sempre que o cabo se move e depois conectar um codificador a isso. Isso permitiria acompanhar o nível com uma precisão bastante alta.
Eu sei que o livro a ser lançado em breve, o Arduino Prático, inclui um projeto de sensor de profundidade do tanque de água , que usa um transdutor de pressão diferencial para medir a pressão da água na parte inferior do tanque e a partir daí para calcular o quão cheio o tanque está.
Esquemas estão no link acima, junto com um link para o código fonte no github.
(Divulgação completa: não tenho associação com o livro, mas encontrei um dos autores algumas vezes nos espaços de hackers locais.)
Um método que eu gosto, mas ainda não tentei, é colocar duas placas isoladas no líquido. Sem condução, eletrólise, contanimação ....... Eles formam as placas de uma tampa. e são usados em algum tipo de oscilador (a escolha é sua) Como a água é uma boa dialétrica, a frequência depende fortemente da quantidade de água entre as placas. Medir a frequência para obter a profundidade.
Você pode obter um resultado semelhante aplicando um sinal CA e medindo a corrente através do limite.
Mais detalhes ajudariam, mas acho que o método ultrassônico é provavelmente o mais simples, conceitualmente, de qualquer maneira (daí a necessidade de mais detalhes: -]). Juntei um sensor de nível para o tanque de óleo combustível no meu porão usando um transdutor ultrassônico MaxSonar. Estou mudando para um sensor Parallax Ping, assim que puder colocar minhas mãos em um. A unidade MaxSonar provou ser um pouco dolorosa; Acontece que ele tem apenas uma resolução de 2,54 cm (uma polegada), o que equivale a quase 7 galões no meu aquário. Coloquei a unidade MaxSonar em uma tampa de PVC na parte superior do tanque, apontando para baixo (fora do alcance do líquido).
Uma maneira de fazer isso é colocar um led na parte inferior do tanque apontando para o topo e um fotodiodo na parte superior do tanque, voltado para o LED. O LED será atenuado pela água no tanque, você precisará experimentar para determinar quanto. Além disso, é melhor fazer uma série de medições rápidas e calculá-las como média ao usar esse método.
Há um número surpreendente de maneiras de verificar o nível. Existem sensores que usam RF, enviando um pulso por um guia de ondas e detectando o reflexo na superfície do líquido no tanque. Existem ultrassons, carros alegóricos, tubos borbulhantes, torneiras de pressão ... O método utilizado depende do tamanho do tanque, do conteúdo, do ambiente e de outros fatores.
Estou surpreso com todas as soluções eletrônicas complicadas aqui, eu usaria um potenciômetro simples. A maioria dos microcontroladores possui um i / p analógico básico.
+V
-----
|
|
/
\
/<----------> to analog i/p
\
|
|
-----
GND
Use uma bóia padrão da válvula do tanque de água (talvez já exista uma). O problema restante é acoplar o float ao pote para obter o máximo de swing (você também pode usar um pote deslizante).
|-|
| |
|o| <--------Slider pot.
|||
|||
|
| <--------Coupling.
|
____ |
(float)----------o-----o <--Anchor point of float.
----
Abordagem mais simples
Coloque um pequeno tubo em um canto do tanque com um diâmetro ligeiramente maior que uma bola de pingue-pongue.
Coloque um LED infravermelho em um lado do tubo e um fotorresistor oposto ao LED (perfurando um orifício no tubo opaco ou colocando do lado de fora se transparente). Cola quente nas peças elétricas para impermeabilizá-las e solte a bola de pingue-pongue no tubo.
Quando o nível da água aumenta ou diminui a ponto de a bola de pingue-pongue quebrar o raio infravermelho, você saberá que atingiu o nível desejado. Isso funciona se você precisar apenas de um indicador de nível discreto (ativado / desativado).
Esse sistema também é usado em pistolas de paintball projetadas para impedir que você corte bolas, garantindo que toda a bola esteja na câmara de tiro antes de permitir que o gatilho eletrônico arme o solenóide de tiro.
É simples, eficaz e requer pouca ou nenhuma calibração.
Meus dois centavos: http://www.circuitstoday.com/simple-water-level-idicator
Mais uma abordagem inteligente: use a maior condutividade térmica da água (fluido). A idéia é ter um sensor de temperatura e medir a diferença de seu auto-aquecimento quando submerso e ao ar livre.
Outra solução (sem trocadilhos);
Use um potenciômetro como sugerido acima. A faixa de rotação normal é de 270 graus. Anexe uma bóia ao potenciômetro usando um braço da lança. (comprimento = 1 unidade)
Entre cheio e vazio, o braço da lança se moverá 90 graus.
O ADC em um PIC é 256 ou 1024 etapas (sim, zero é uma etapa).
Vou usar 256 etapas para maior clareza.
270 graus = 256 etapas ADC. 270/90 = 3 (um terço da faixa do potenciômetro)
255/3 = 85 etapas ADC
Programe algum código para marcar o ponto de 0 grau (tanque vazio) quando um botão for pressionado.
Isso armazena um ponto de deslocamento no eeprom PIC. Agora, o potenciômetro não precisa estar exatamente em zero, porque esse ponto de calibração pode ser definido.
Usando a trigometria, calcule uma tabela de pesquisa (dica: script php) para corresponder a cada etapa do ADC.
Dica: cada etapa do ADC corresponde a 90/85 = 1,0588 graus.
Sim, você deveria ter prestado mais atenção na aula de matemática. perda de tempo idiota naquela época, indespensável agora. envolver cérebro. aprender trigonometria. ensinar aos outros.
Sigla: O árabe antigo carregava um saco pesado de feno.
A hipontenusa é o comprimento do braço da lança. Faça 1 unidade de comprimento. A tabela de pesquisa fornece a porcentagem de profundidade do tanque. (multiplique por 100, é claro)
Por favor, verifique o seguinte link:
http://www.edgefxkits.com/contactless-liquid-level-controller
Eu acho que pode ser útil para você.