Nivel de un tanque de agua con un microcontrolador.


24

¿Como mido el nivel de un tanque de agua con un microcontrolador?


1
Esto no es digno de respuesta, pero un amigo mío lo hizo para un proyecto de arte hace un par de años. Cualquier persona interesada estaría feliz de presentarte y estoy seguro de que él estaría encantado de explicar cómo lo hizo. Su proyecto ha terminado aquí: unixarts.com/sealevel.html esto combinado ambas bombas y los sensores y se requiere una precisión suficiente para bucle de arriba y abajo sin demasiado corte
cyphunk

77
Cuando el microcontrolador deja de funcionar, está bajo el agua.
John U

Respuestas:


23

Bueno, suponiendo que esté operando aquí en la Tierra (a diferencia de en órbita), puede usar un sensor de flotación que mida con el micro. La pregunta es: ¿necesita saber el nivel exacto, o simplemente necesita algún tipo de viaje cuando llega a alto / bajo?

En el tema 'viaje a un nivel específico', puede obtener interruptores como este , generalmente el flotador contiene algún tipo de interruptor de detección de actitud. Cuando el nivel del agua es más bajo, el flotador termina de lado y el interruptor está 'apagado', mientras que al elevar el nivel se fuerza el flotador hacia arriba y, por lo tanto, se 'enciende'. A menudo se usan para bombas de sumidero. Son bastante confiables y muy fáciles de manejar, aunque debes tener cuidado de anclarlos correctamente, y debes asegurarte de que nada se interponga en el camino del flotador.

Si necesita conocer el nivel real, entonces tiene muchas opciones, pero es menos simple. Puedes usar algo como un sensor ultrasónico (haz de ultrasonido que se dispara desde la parte superior del tanque para reflejar el nivel del agua).

Estos tipos parecen hacer indicadores de nivel para tanques GRANDES que consisten en un flotador y un peso externo conectado juntos. A medida que el flotador se mueve hacia arriba y hacia abajo sobre el fluido, el indicador externo se mueve adecuadamente. Podría construir algo similar, sin nada más complicado que las fotocélulas para leer el nivel (si se trata de un tanque grande o si desea mucha granularidad, necesitaría muchas fotocélulas).

Alternativamente, tomando la idea del flotador cableado, podría colocar una rueda loca que se mueva cada vez que se mueva el cable, y luego conectar un codificador a eso. Esto le permitiría rastrear el nivel con una precisión bastante alta.


15

Yo sé que el libro que pronto será liberado Practical Arduino tiene un sensor de profundidad del tanque de agua del proyecto incluidos, que utiliza un transductor de presión diferencial para medir la presión del agua en la parte inferior del tanque, y de ésta a calcular de llenado del tanque es.

Los esquemas se encuentran en el enlace anterior, junto con un enlace al código fuente en github.

(Divulgación completa: no tengo ninguna asociación con el libro, pero me he encontrado con uno de los autores un par de veces en nuestros espacios de hackers locales).


11

Un método que me gusta, pero que no he probado es poner dos placas aisladas en el líquido. Sin condiciones, electrolosis, contaminación ... Forman las placas de una gorra. y se usan en algún tipo de oscilador (usted elige) Como el agua es una buena dialétrica, la frecuencia depende en gran medida de la cantidad de agua entre las placas. Mida la frecuencia para obtener la profundidad.

Es posible que pueda obtener un resultado similar aplicando una señal de CA y midiendo la corriente a través de la tapa.


Tenga en cuenta que depende mucho de la constante dialéctica del fluido. A menos que me equivoque, la detección capacitiva se usa más para detectar la presencia / ausencia que el nivel. Sin embargo, parece que casi todos los métodos con los que me he encontrado dependen de la gravedad específica. Los tanques que contienen fluidos de composición variable son difíciles de regular.
wackyvorlon

Los sensores de nivel de líquido basados ​​en capacitancia funcionan mejor para detectar la presencia o ausencia de fluido. Para leer el nivel del agua, cargue / descargue las placas con una resistencia fija y mida el tiempo. Como se mencionó anteriormente, agregar contaminantes al agua (como la sal) puede causar un cambio drástico en la capacitancia y, por lo tanto, su lectura para un nivel de líquido fijo. Si el líquido que está midiendo es homogéneo, este es un problema mucho menor.
mjh2007

Hice un oscilador dynatron con una bobina SMD simple que resonaba con placas aisladas como postuló russ. La onda sinusoidal se cuadró y alguien más contó los pulsos en el firmware, en otras palabras, lo que russ dijo que sí funciona.
Autista

10

Más detalles ayudarían, pero creo que el método ultrasónico es probablemente el más simple, conceptualmente, de todos modos (de ahí la necesidad de más detalles: -]). Reuní un sensor de nivel para el tanque de combustible en mi sótano usando un transductor ultrasónico MaxSonar. Estoy cambiando a un sensor Parallax Ping, tan pronto como pueda conseguir uno. La unidad MaxSonar ha demostrado ser algo dolorosa; Resulta que solo tiene una resolución de una pulgada (2,54 cm), lo que equivale a casi 7 galones en mi tanque. Puse la unidad MaxSonar en una tapa de PVC en la parte superior del tanque apuntando hacia abajo (fuera del alcance del líquido).


7

Una forma de hacerlo es colocar un led en la parte inferior del tanque apuntando hacia la parte superior, y un fotodiodo en la parte superior del tanque, frente al LED. El LED será atenuado por el agua en el tanque, deberá experimentar para determinar cuánto. Además, es mejor tomar una serie de mediciones rápidas y promediarlas al usar este método.


1
parece muy propenso a errores, luz ambiental, salpicaduras, etc.
Jason S

7

Utilizo un sensor de perno barato de la ferretería local con un transistor de fotos para detectar el indicador LED. Con esto pegado al costado del tanque, detecta cuando el nivel se eleva por encima del sensor y nos alerta sobre una condición de agua alta.


6

Hay una sorprendente cantidad de formas de verificar el nivel. Hay sensores que usan RF, que envían un pulso por una guía de ondas y detectan el reflejo de la superficie del líquido en el tanque. Hay ultrasonido, flotadores, tubos de burbujeo, tomas de presión ... El método utilizado depende del tamaño del tanque, el contenido, el ambiente y otros factores.


4

Estoy sorprendido por todas las soluciones electrónicas complicadas aquí, usaría un potenciómetro simple. La mayoría de los microcontroladores tienen un i / p analógico básico.

 +V
-----
  |
  |
  /
  \
  /<----------> to analog i/p
  \
  |
  |
-----
 GND

Use un flotador estándar de la válvula del tanque de agua (ya puede haber uno). El problema restante es acoplar el flotador a la olla para obtener el máximo swing (también puedes usar una olla deslizante).

                  |-|
                  | |
                  |o| <--------Slider pot.
                  |||
                  |||
                   |
                   |  <--------Coupling.
                   |
   ____            |
  (float)----------o-----o  <--Anchor point of float.
   ----

¿Cómo se asegura de que el bote vuelva a su posición original?

El peso del flotador lo bajará cuando el nivel del agua baje ...
ttt

No estoy tan seguro de eso. Encontrar el peso correcto del flotador de modo que flote en presencia de agua y deje caer la olla en ausencia de agua no es tan fácil. La mayoría de las macetas tienen una fricción estática bastante alta. Sin embargo, supongo que es posible, dada la configuración mecánica correcta.

Muchos de los potes deslizantes más largos tienen muy baja fricción (se usan en mezcladores controlados con la punta de los dedos y en plataformas de DJ). Utilicé un control deslizante de 4 "de mi caja de brocas y lo probé con un flotador de tanque de agua normal. ¡Incluso funcionó en un flotador de cisterna de inodoro más pequeño! Por cierto, usaría una resistencia fija en serie con la olla para que, incluso si pantalones cortos en un ambiente húmedo no lo puedo excede la salida de un puerto de controlador (o llamar demasiado la corriente de un Vref fijo) he usado un resistor de 10k con una olla de 10k en mi configuración de la prueba..
TTT

En las pruebas, solo usé un trozo de alambre doblado para enganchar el brazo flotante. En la cisterna del inodoro, el brazo es de plástico de sección cuadrada, por lo que sería realmente fácil perforar un pequeño orificio para hacer el accesorio.
ttt

4

Enfoque más simple

Coloque un tubo pequeño en una esquina del tanque que tenga un diámetro ligeramente mayor que una pelota de ping pong.

Coloque un LED infrarrojo en un lado del tubo y un fotorresistor opuesto al LED (taladrando un agujero en el tubo opaco o colocándolo en el exterior si es transparente). Pegue en caliente las partes eléctricas para impermeabilizarlas y deje caer la pelota de ping pong en el tubo.

Cuando el nivel del agua sube o baja hasta el punto en que la pelota de ping pong rompe el rayo infrarrojo, sabrás que alcanzó el nivel deseado. Esto funciona si solo necesita un indicador de nivel discreto (activar / desactivar).

Este sistema también se usa en pistolas de paintball diseñadas para evitar que corte bolas al asegurar que toda la bola esté en la cámara de disparo antes de permitir que el gatillo electrónico arme el solenoide de disparo.

Es simple, efectivo y requiere poca o ninguna calibración.



1

Un enfoque más inteligente: hacer uso de la mayor conductividad térmica del agua (fluido). La idea es tener un sensor de temperatura y medir la diferencia de su autocalentamiento cuando está sumergido y cuando está al aire libre.


Esto realmente se ha hecho en CHCH Nueva Zelanda, donde estoy, pero no lo hice, creo que tiene unos 20 años. Había una fila de muchos termistores en el exterior del tanque, así que funciona bien, así que tienes mi voto.
Autista

1

Otra solución (sin juego de palabras);

Use un potenciómetro como se sugirió anteriormente. El rango de rotación normal es de 270 grados. Adjunte un flotador al potenciómetro con un brazo de brazo. (longitud = 1 unidad)

Entre lleno y vacío, el brazo de la pluma se moverá 90 grados.

El ADC en un PIC es de 256 o 1024 pasos (sí, cero es un paso).

Usaré 256 pasos para mayor claridad.

270 grados = 256 pasos ADC. 270/90 = 3 (un tercio del rango del potenciómetro)
255/3 = 85 pasos de ADC

Programe un código para marcar el punto de 0 grados (tanque vacío) cuando se presiona un botón.

Esto almacena un punto de compensación en el eeprom PIC. Ahora el potenciómetro no tiene que estar exactamente en cero porque este punto de calibración se puede configurar.

Usando la trigometría, calcule una tabla de búsqueda (pista: script php) para corresponder a cada paso del ADC.

Sugerencia: cada paso ADC corresponde a 90/85 = 1.0588 grados.

Sí, deberías haber prestado más atención en la clase de matemáticas. tonta pérdida de tiempo en aquel entonces, indescriptible ahora. comprometer el cerebro. Aprender trigonometría. Enseñar a otros.

Acrónimo: El viejo árabe llevaba un pesado saco de heno.

La hipontenusa es la longitud del brazo de la pluma. Hazlo 1 unidad de largo. La tabla de búsqueda proporciona el porcentaje de profundidad del tanque. (multiplicar por 100 por supuesto)


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.