Banner publicitario de PCBWay

[VL53L0X] - Volumen remanente de agua en tanque de reserva.

fwalsh

Automirador de dedo.
Quiero comenzar este post aclarando que todo lo aquí vertido es simplemente una prueba que realice con un sensor que me llamó la atención para algo puntual y sin vistas a ser demasiado preciso o extenderlo a otras locuras.

Con eso en mente, el sensor es el VL53L0X de la firma ST cuya hoja de datos adjunto conjuntamente con el Manual de Usuario, para aquellos que deseen obtener el conjunto de funciones API le dejo este vínculo en donde se registran y lo descargan; que contiene?, lo desconozco ya que no me dedico a la programación en lenguaje C ( en realidad podría decirse con más exactitud que no me dedico a la programación :LOL: )

Podríamos decir que el VL53L0X es un sensor de distancia que opera por láser infrarrojo de clase 1 para medir distancias de 50mm a 2000 mm, también opera con elevada luz ambiental infrarroja e incorpora un sistema de compensación de la medición que le permite funcionar incluso detrás de un cristal protector. ( Incluyo un vínculo a un video de ST Labs en donde pueden ver sus características y su funcionamiento aún en entornos con elevados contaminantes )


Mi idea fué sensar el volumen remanente de un tanque de agua, utilizándolo aún cuando sospechaba que su longitud de onda ( 940nm ) podría atravesar el líquido y no medir nada o en el mejor de los casos sin precision, el resultado fue que midió con bastante precisión a pesar de lo antedicho.

Todavía queda por ver si no se produce condensación de agua en el sensor que perturbe la medición como pasaba con el sensor de ultrasonido que tenía colocado previamente; si bien era hermético, la condesación generaba gotas de agua que el sensor interpretaba como "pared" y devolvia error de medicion dado que estaba fuera del rango permitido.

Este es el dispositivo VL53L0X montado en la placa TOF200C junto al ESP-01 que utilicé para las pruebas y su integración con el Home Assistant.

1748163349914.png

En ESPHome este sensor está soportado y se encuentra aquí, para quienes deseen utilizarlo con Arduino, hay una librería desarrollada por Adafruit "Adafruit_VL53L0X.h"

Su conexionado es más que evidente

VIN - 3.3V
GND - GND
SDA - GPIO2 del ESP-01
SCL - GPIO0 del ESP-01
INT - NC
SHUT ( o XSHUT ) - NC

En ESPHome hay que declarar primero la configuración I2C para que el sensor funcione, por ejemplo en YAML sería:
YAML:
i2c:
  sda: GPIO2
  scl: GPIO0
  scan: true
  id: bus_a

y luego el sensor

YAML:
sensor:
  - platform: vl53l0x
    name: "VL53L0x Distance"
    address: 0x29
    update_interval: 60s
    long_range: true

en caso de utilizar mas de un sensor en el bus I2C en ESPHome, hay que definir las diferentes GPIO que corresponderán a cada sensor en el ESPXX y, en este caso, conectarlas a cada SHUT o X-SHUT correspondiente ( ver página 13 del datasheet ). Esto no lo he probado.


YAML:
sensor:
  - platform: vl53l0x
    name: "distancia1"
    id: distancia1
    address: 0x41
    enable_pin: GPIOXX
    timeout: 200us
    update_interval: 500ms
    unit_of_measurement: "m"

  - platform: vl53l0x
    name: "distancia2"
    id: distancia2
    address: 0x42
    enable_pin: GPIOXX
    timeout: 200us
    update_interval: 500ms
    unit_of_measurement: "m"

Si alguien quiere aportar algo mas al tema, como siempre bienvenido!
 

Adjuntos

  • vl53l0x.pdf
    2.1 MB · Visitas: 3
  • um2039.pdf
    1.1 MB · Visitas: 4
Realizado el contenedor del sensor para su colocación en el tanque.

1748846608808.png1748846648371.png1748846693103.png

Resta probarlo en funcionamiento aunque, en pruebas piloto que hice, la precisión que entrega es bastante burda ( ±3cm = ±21L en mi caso ) pero para lo que lo necesito, alcanza y sobra. También hay que considerar que su precisión depende mucho del color del material en que se refleja el haz.

Verde que te quiero verde!!!!... era lo que sobraba !!!!

Luego voy a probar el segundo sensor que pedí, pero esta vez con un modulito Arduino y ver si puedo utilizar las API para corregir la precisión

1748847474817.png
 
Última edición:
Simplemente para informar que el proyecto hace 4 meses que funciona bien, el único agregado que tuve que hacer, fué colocar una placa de poliuretano expandido que flotase en el líquido para obtener mejores resultados, veremos como responde en la época estival.

Saludos!
 
Simplemente para informar que el proyecto hace 4 meses que funciona bien,

Saludos!
Hola Fwalsh: unos tres años atrás se me solicitó una solución similar, con el agregado que enviara la información del volumen de agua vía SMS.
Además, se tenía que activar dos bombas, alternadamente, para enviar agua desde un suministro que estaba a 1Km de distancia del tanque cuando el volumen llegaba a un valor crítico pre establecido.
Lo montamos en el lugar y funcionó muy bien durante 1 mes. Después dió errores, y sucedió lo que mencionas con respecto al sensor ultrasónico, que se afectaba por la condensacion.
Íbamos a colocar un sensor infrarrojo, pero el usuario decidió que ya no quería la solución, en virtud del problema con el sensor
 
Íbamos a colocar un sensor infrarrojo, pero el usuario decidió que ya no quería la solución, en virtud del problema con el sensor
Hola @Lamas , el tema de la condensación es complicado cuando de líquidos se trata, en mi caso coloqué un ducto de ventilación superior en la misma tapa con la esperanza que equilibre las temperaturas y permita una evacuación de los gases; en fin, esto es experimental y casero, ahora está comenzando el período primaveral por acá y el aumento paulatino de la temperatura ambiente, veremos como dije anteriormente, como se comporta en el período estival y luego colocaré los resultados obtenidos.
 
Lamento no poder aportar mucho, solo algo de experiencia personal de 2 casos puntuales con varias muestras en cada una que abarca unos 18 años aprox.
No voy a tratar dentro del ámbito de aplicación industrial ya que siempre hay personal dedicado y podran fallar mas o menos pero lo solucionan rápido con personal.

Caso 1:
Buenos Aires, ciudad de alta humedad relativa durante todo el año, corta excursión térmica durante todo el año dentro de cada estación, temperaturas medias con mejor expresión hacia las altas, clima clasificado como subtropical húmedo templado. Por estar recostada contra el Río de la Plata no hay salinidad, ese espejo de agua actúa como estabilizador térmico.

Caso 2:
Neuquen, en la Patagonia, clima semi árido continental, mucha partícula en suspensión, mucha, BAJISIMA humedad relativa, amplia excursión térmica estacional y diaria, bajas precipitaciones, viento, viento y mas viento. Por la espalda, Los Andes y a chorrocientos Kms, el mar, no llega a molestar. Episodios de congelamiento ocasionales y los de casi congelamiento bastante habituales (en campo abierto)

Para ambas geografías:
Sistemas de detección: lumínicos, sónicos, resistivos, capacitivos o mecánicos.
Ambito: particular o edificios, en sotanos o terrazas.

Conclusión:
Los sistemas mecánicos basados en microswitch vinculado a boya les hace pasar verdadera y magistral verguenza al resto con un promedio de atención a corrección de 4 años promedio.

Me interesa sobremanera la experiencia del amigo fwalsh en el tiempo, las características de ese sensor parece un sueño a pedido, no lo conocía y basado en evidencia de campo, desistí de electrónica en sensado de nivel hace mucho.
 
Atrás
Arriba