¿Cómo mido el nivel de un tanque de agua con un microcontrolador?
¿Cómo mido el nivel de un tanque de agua con un microcontrolador?
Bueno, asumiendo que está operando aquí en la Tierra (en lugar de en órbita), puede usar un sensor de flotador que mida usando el micro. La pregunta es: ¿Necesita saber el nivel exacto o simplemente necesita algún tipo de viaje cuando llega al nivel alto / bajo?
En el tema 'viaje a nivel específico', puede obtener los interruptores like 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 en su lado, y el interruptor está "apagado", mientras que elevar el nivel hace que el flotador se ponga en posición vertical, y por lo tanto "encendido". Estos se utilizan a menudo para bombas de sumidero. Son bastante confiables y muy fáciles de manejar, aunque hay que tener cuidado de anclarlos correctamente y asegurarse de que nada se interponga en el camino del flotador.
Si necesitas saber el nivel real, tienes muchas opciones, pero es menos simple. Puede ir con 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 chicos parecen hacer indicadores de nivel para los tanques GRANDES que consisten en un flotador y un peso externo cableados juntos. A medida que el flotador sube y baja en el fluido, el indicador externo se mueve adecuadamente. Podría construir algo similar, sin nada más complicado que las celdas fotográficas para leer el nivel (si es un tanque grande, o si desea mucha granularidad, necesitará muchas celdas fotográficas).
Alternativamente, tomando la idea del flotador cableado, puedes poner una rueda loca que se mueve cada vez que se mueve el cable, y luego adjuntar un codificador a eso. Esto le permitiría realizar un seguimiento del nivel con bastante alta precisión.
Sé que el libro que pronto será publicado Práctico Arduino tiene un se incluye el proyecto del sensor de profundidad del tanque de agua , que utiliza un transductor de presión diferencial para medir la presión del agua en la parte inferior del tanque y, a partir de eso, calcular la cantidad de agua. tanque es.
Los esquemas están en el enlace anterior, junto con un enlace al código fuente en github.
(Revelación completa: no tengo ninguna asociación con el libro, pero he conocido a uno de los autores un par de veces en nuestros hackerspaces locales).
Un método que me gusta, pero que no he probado, es poner dos placas aisladas en el líquido. Sin condución, electrolosis, contanimación ....... Forman las placas de una gorra. y se utilizan en algún tipo de oscilador (elección según usted) Debido a que el agua es un buen dialetric, 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 del límite.
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: -]). Hice un sensor de nivel para el tanque de combustible en mi sótano usando un transductor ultrasónico MaxSonar. Estoy cambiando a un sensor de Parallax Ping, tan pronto como pueda conseguir uno. La unidad MaxSonar ha demostrado ser un poco 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 que apunta hacia abajo (fuera del alcance del líquido).
Una forma de hacerlo es colocar un led en la parte inferior del tanque que apunta hacia la parte superior, y un fotodiodo en la parte superior del tanque, mirando hacia el LED. El agua del tanque atenuará el LED, tendrá que experimentar para determinar cuánto. Además, es mejor tomar una serie de mediciones rápidas y promediarlas al usar este método.
Utilizo un sensor de pernos barato de la ferretería local con un transistor fotográfico para detectar el indicador LED. Con esto pegado al lado del tanque, detecta cuando el nivel sube por encima del sensor y nos alerta de una condición de agua alta.
Hay un número sorprendente de formas de verificar el nivel. Hay sensores que usan RF, que envían un pulso a una guía de ondas y detectan la reflexión en 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.
Estoy sorprendido de todas las soluciones electrónicas complicadas aquí, usaría un simple potenciómetro. La mayoría de los microcontroladores tienen un i / p analógico básico.
+V
-----
|
|
/
\
/<----------> to analog i/p
\
|
|
-----
GND
Use un flotador de válvula de tanque de agua estándar (puede que ya haya 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.
----
El enfoque más simple
Coloque un tubo pequeño en una esquina del tanque que tenga un diámetro un poco más grande que una pelota de ping pong.
Coloque un LED infrarrojo en un lado del tubo y un fotoresistor opuesto al LED (perforando un orificio en el tubo de su opaco o colocándolo en el exterior si es transparente). Pegue en caliente las piezas eléctricas para impermeabilizarlas y colocar 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á que alcanzó el nivel deseado. Esto funciona si solo necesita un indicador de nivel discreto (encendido / apagado).
Este sistema también se usa en pistolas de paintball diseñadas para evitar que corte bolas asegurándose de que toda la bola esté en la cámara de disparo antes de permitir que el gatillo electrónico active el solenoide de disparo.
Es simple, efectivo y requiere poca o ninguna calibración.
Mis dos centavos: enlace
Un enfoque más inteligente: Aproveche 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á en aire libre.
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. Conecte un flotador al potenciómetro con un brazo articulado. (longitud = 1 unidad)
Entre lleno y vacío, el brazo de la pluma se moverá 90 grados.
El ADC en un PIC es 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 ADC
Programe algún 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 de PIC. Ahora el potenciómetro no tiene que estar exactamente en cero porque se puede establecer este punto de calibración.
Usando la trigometría, calcula una tabla de búsqueda (sugerencia: script php) para que se corresponda con cada paso del ADC.
Sugerencia: cada paso de ADC corresponde a 90/85 = 1.0588 grados.
Sí, deberías haber prestado más atención en la clase de matemáticas. Una tonta pérdida de tiempo en aquel entonces, indescensible ahora. enganchar el cerebro aprender trigonometria enseñar a otros
Acrónimo: El viejo árabe llevaba un pesado saco de heno.
El hiponteno 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. (multiplica por 100 por supuesto)
Lea otras preguntas en las etiquetas microcontroller sensor measurement