Recientemente me topé con los sensores de distancia TOF VL53L0X y VL53L1X. Estos sensores pueden determinar distancias con precisión milimétrica utilizando un láser. Tienen un alcance de hasta 4 m (VL53L1X9) o 2 m (VL54L0X). Los sensores me parecieron muy interesantes y, por supuesto, pedí algunos de inmediato. Me gusta tener cosas prácticas en stock 🙂
Después de que llegaron y jugué con ellos, me di cuenta de que también podían usarse para determinar el nivel de mi taza de café. Una prueba rápida en el fregadero y otra prueba en el barril de lluvia mostraron que esto también funcionaba con líquidos claros. Eso me dio la primera idea de uso práctico: un sensor de nivel para el barril de lluvia.
El siguiente artículo describe lo que necesita y cómo puede proceder al construir su propio sensor de nivel. 🙂
Instrucciones de seguridad
Sé que las siguientes notas siempre son un poco molestas y parecen innecesarias. Desafortunadamente, muchas personas que sabían "mejor" han perdido ojos, dedos u otras cosas debido a un descuido o se lesionaron. La pérdida de datos es casi insignificante en comparación, pero incluso estos pueden ser realmente molestos. Por lo tanto, tómese cinco minutos para leer las instrucciones de seguridad. Porque incluso el proyecto más genial no vale la pena lesionarse u otros problemas.
https://www.nerdiy.de/sicherheitshinweise/
Enlaces afiliados / enlaces publicitarios
Los enlaces a las tiendas en línea enumerados aquí son los llamados enlaces de afiliados. Si hace clic en dicho enlace de afiliado y realiza una compra a través de este enlace, Nerdiy.de recibirá una comisión de la tienda en línea o el proveedor correspondiente. El precio no cambia para usted. Si realiza sus compras a través de estos enlaces, ayuda a Nerdiy.de a poder ofrecer otros proyectos útiles en el futuro. 🙂
Requisitos
Artículos útiles:
Antes de comenzar con este artículo, debería haber tratado los conceptos básicos de la soldadura. Puedes encontrar información al respecto en el siguiente artículo.
Herramienta requerida:
En la siguiente lista encontrarás todas las herramientas que necesitas para implementar este artículo.
Material requerido:
En la siguiente lista encontrará todas las piezas que necesita para implementar este artículo.
Reúna las piezas necesarias
En la siguiente imagen puede ver las piezas necesarias para construir su propio sensor de nivel.
Imprime en 3D las piezas que necesitas
Descargue todos los archivos STL necesarios:
Cortar hilos en la carcasa
Debe utilizar un prensaestopas para que el cable USB de la fuente de alimentación también pueda introducirse en la carcasa de forma estanca. Esta es la única forma de evitar permanentemente que el agua penetre en la carcasa con el tiempo.
Para poder montar este prensaestopas en la carcasa, primero se debe cortar una rosca en la carcasa. El corte de roscas internas también se trata en el artículo. Mecánica – rosca interna cortada explicado en detalle.
Como de costumbre, aplique el grifo lo más recto posible. También recuerde retroceder una vuelta después de cada vuelta completa para romper el chip.
Tan pronto como haya cortado todo el hilo con el grifo, todo debería...
... mira algo como esto.
Ahora puede enroscar el prensaestopas en la rosca recién cortada.
De esta manera, también determinará rápidamente si el hilo está completamente cortado o no.
Si mantuvo el grifo derecho al cortar la rosca, ahora también puede ver que el anillo de sellado está presionado uniformemente contra la carcasa en todas partes y, por lo tanto, también sella bien.
Vista exterior.
Vista interior.
Preparar el sensor de distancia
Ahora es el momento de prepararse para instalar el sensor real. Este se comunica con el microcontrolador a través del bus I2C y, por lo tanto, requiere un total de cuatro líneas.
Prepare la línea de conexión pelando los extremos de las líneas individuales 5 mm y estañándolos con un poco de soldadura.
Luego puede preparar el sensor real estañando primero los contactos “VCC”, “GND”, “SCL” y “SDA” con un poco de soldadura.
En este punto también puede quitar la película protectora amarillenta de la superficie del sensor.
Ahora puede soldar los cables a los contactos correspondientes como se muestra.
Cuando todo esté completamente preparado, debería verse así.
Conectar el sensor de distancia al Wemos D1 Mini
Ahora, por supuesto, el sensor todavía tiene que estar conectado al microcontrolador.
Para ello, primero debes preparar los contactos nuevamente. Para ello están estañados los contactos “5V”, “G”, “D2” y “D1”.
A continuación, puede soldar el cable de conexión previamente preparado al microcontrolador.
Todo debe estar listo para armar...
... mira algo como esto.
Instale el sensor de distancia
Por supuesto, la unidad compuesta por el microcontrolador y el sensor ahora debe integrarse en la carcasa para que sea hermética.
Para ello, coloque las tuercas M3 como se muestra...
… debajo del soporte en la carcasa.
Las tuercas deben colocarse de manera que...
... se encuentran exactamente debajo de los orificios a través de los cuales se insertarán más tarde los tornillos.
Ahora puede insertar el pequeño anillo de sellado en el hueco.
A continuación, se coloca el sensor sobre este como se muestra y se atornilla con los tornillos M3x10.
Tenga cuidado de no apretar demasiado los tornillos. Porque después de “firme” viene “off”. 🙂
Ahora puedes comprobar rápidamente que el sensor también tiene una “vista” clara...
...al exterior.
Instalación del Wemos D1 Mini y el cable USB
Después de instalar el sensor en la ubicación correcta, todos los demás componentes deben guardarse en la carcasa de forma estanca.
El sensor ahora debería verse así. 🙂
El tamaño del conector micro USB es algo crítico: debe ser lo suficientemente pequeño para pasar por la tuerca del prensaestopas.
Si es necesario, también puede procesar la conexión con un archivo para que pase por la tuerca.
Una vez que el conector micro USB se pasa a través de la tuerca...
...y empiezas a apretar la tuerca...
...te darás cuenta rápidamente de que aún queda mucho espacio entre la junta de goma del prensaestopas y el cable USB.
Esto es claramente demasiado espacio para evitar que entre agua en la caja.
Por lo tanto, debe volver a desatornillar el prensaestopas y sacar el cable USB unos 2 cm. Ahora envuelva unas cuantas vueltas de la cinta adhesiva autosellante alrededor de la parte del cable que estaba previamente en el prensaestopas.
Entonces puede aumentar el diámetro del cable en el punto relevante...
... y así fijar el cable USB de forma estanca en el pasacables. El cable USB ahora también debería estar asegurado mecánicamente para que no se extraiga.
Vista frontal.
Ahora puede hacer el resto de la instalación: antes de guardar el microcontrolador en la carcasa, puede proteger los contactos del sensor contra cortocircuitos con un poco de pegamento caliente.
Por supuesto, también puede hacerlo más tarde, después de una primera prueba, tan pronto como esté seguro de que todo funciona correctamente.
Puedes hacer lo mismo con los contactos del microcontrolador.
Después de eso, el microcontrolador se puede conectar con el cable micro USB...
... e insertado en la carcasa.
Puede que tenga que aflojar de nuevo la tuerca de unión del casquillo roscado. 🙂
Una vez ensamblado, ahora debería verse así. 🙂
Selle la carcasa a prueba de agua
El casi último paso: ahora que todos los componentes están instalados en la carcasa, también debe sellarla herméticamente.
Su sensor debería estar tan lejos...
…ser construido.
En este punto, por supuesto, puede saltar un capítulo más y programar primero el microcontrolador. La carcasa también se puede cerrar después de la programación y las primeras pruebas. 🙂
Ahora se requieren cuatro tuercas M3 para cerrar la carcasa.
Colóquelos desde abajo en las ubicaciones de montaje designadas en las esquinas de la carcasa.
Luego voltee la caja sin que las tuercas se caigan de sus lugares de montaje.
Luego puede insertar el anillo de sellado en el bulto en la parte superior.
Ahora coloque la placa de cubierta y guíe los tornillos a través de los orificios provistos.
Al apretar los tornillos, siempre debe apretar los tornillos opuestos. Por ejemplo, primero arriba a la derecha, luego abajo a la izquierda, luego arriba a la izquierda y finalmente abajo a la derecha.
Los tornillos deben apretarse de modo que el espacio entre la carcasa y la cubierta sea el mismo en todas partes.
Programando el firmware
En principio, tienes muchas opciones en cuanto a firmware. Puede equipar el ESP8266 instalado en el Wemos D1 Mini con su propio firmware, pero también puede utilizar el popular firmware “Tasmota” o “ESPEasy”.
Personalmente, ESPEasy me parece el más agradable porque tiene más opciones de configuración. Para algunos, sin embargo, esto puede ser un argumento para preferir usar el firmware Tasmota, que, en mi opinión, tiene algunos ajustes preestablecidos más "simplemente funcionales".
En el siguiente artículo se describe cómo puede leer el sensor VL53L0X con ESPEasy y el complemento apropiado.
sugerencia de montaje
Aquí hay una pequeña sugerencia de instalación sobre cómo podría montar el sensor en un barril de lluvia, por ejemplo.
En cualquier caso, debe asegurarse de que el sensor no se inunde si se desborda el tope de agua. Aunque el sensor está muy bien protegido contra salpicaduras de agua, es mejor no sumergirlo en agua. 🙂
Por ejemplo, el sensor se puede instalar de modo que descanse en el borde del cañón.
Si está disponible, también puede perforar un agujero en la tapa y alinear el sensor con la superficie del agua. Un taladro escalonado funciona muy bien para esto.
Evaluación en NodeRed
Una cosa es registrar el nivel de su depósito de agua. Otra es recibir estos datos, procesarlos y, en su caso, convertirlos.
Porque hasta ahora solo obtienes una distancia de tu sensor. Ese no es realmente un volumen que realmente quieras medir. Por lo tanto, el nivel del agua aún tiene que convertirse en un volumen. Esto depende de la forma y las dimensiones de su depósito de agua y no siempre es fácil de calcular. Así que aquí hay algunas sugerencias y un flujo que prepara todo visualmente.
Información adicional
- https://www.hackster.io/team-protocentral/liquid-level-sensing-using-a-laser-tof-sensor-d04232
- http://forum.creationx.de/forum/index.php?thread/955-f%C3%BCllstand-%C3%B6l-tank-messen/&pageNo=3
- https://www.electronicspecifier.de/micros/flugzeitsensor-der-n-chsten-generation-von-stmicroelectronics
- https://github.com/adafruit/Adafruit_VL53L0X
Diviértete con el proyecto.
Espero que todo te haya funcionado como se describe. Si no es así, o si tiene alguna pregunta o sugerencia, hágamelo saber en los comentarios. Si es necesario, lo añadiré al artículo.
Las ideas para nuevos proyectos siempre son bienvenidas. 🙂
PS Muchos de estos proyectos, especialmente los proyectos de hardware, cuestan mucho tiempo y dinero. Por supuesto que hago esto porque lo disfruto, pero si crees que es genial que comparta la información contigo, me encantaría hacer una pequeña donación al fondo del café. 🙂
Hola
¡Gracias por la exitosa guía!
No me queda del todo claro cómo puedo integrar el sensor VL53L0X en el EspEasy.
¿Tengo que cargar cierto firmware (aún no tengo tanta experiencia)?
Estaría muy agradecido si pudiera ayudarme aquí.
Saludos Stefan Allenspach
Hola Sr. Allenspach,
Así es, debería explicar mejor esa parte en el manual. Gracias por la pista. 🙂
Hasta entonces: En este artículo (https://nerdiy.de/howto-espeasy-nerdiyspanelmeter-plugin-installieren-und-konfigurieren/#Plugin_konfigurieren) en el párrafo “Configurar el complemento” se explica el proceso para el dispositivo “Display – Nerdiys-PanelMeter”. Esto funciona exactamente con el VL53L0X, excepto que, por supuesto, se debe seleccionar el dispositivo "VL53L0X". Por favor, avíseme si funcionó. 🙂
Atentamente
Fabian
Hola,
Gran artículo y así es como me di cuenta por primera vez de la posible solución con sensores TOF. Una pregunta que es muy importante para mi tanque y no tengo impresión 3D disponible y tengo que "hacerme" una carcasa. ¿La abertura que se muestra es impermeable? En mi caso, el tanque ocasionalmente se llena de 100% y por eso el sensor puede recibir algunas gotas. Las fotos muestran un agujero por donde pasa algo más que las aberturas para la luz del sensor, así que creo que puede entrar agua por aquí. ¿Es posible cerrar esto con un disco pequeño? Sería importante para mí y creo que sería una diferencia crucial con respecto a la medición por ultrasonido. Actualmente (en el área de bricolaje) solo hay impermeabilización con una distancia mínima de 20cm y se reportan algunos problemas en los tanques. Por tanto, la solución TOF sería ideal.
Atentamente
rafael
Hola Ralf,
Gracias. 🙂 Mi solución es, como máximo, a prueba de salpicaduras. Y sólo desde arriba. La tapa debe estar bastante apretada gracias a la junta tórica. Pero como ya has visto correctamente, el sensor no es resistente al agua. Desafortunadamente, solo leí más tarde que el sensor también se puede instalar detrás de un panel de vidrio. Probablemente pueda encontrar más información sobre esto en la hoja de datos del sensor. 🙂 Cuando tenga tiempo diseñaré una nueva versión del estuche. Si no tiene ganas de retoques: también hay servicios de impresión en línea donde puede imprimir las piezas y hacer que se las envíen. 🙂
Atentamente
Fabian
Hola Fabián,
Muchas gracias por su colaboración. Ahora pedí un VL53L0X con esta tapa y creo que puedo montarlo/pegarlo en algo así como una caja de conexiones AP. Nada en contra de su vivienda, pero para mí sería usado en un hoyo cavado en un tanque de agua en el jardín, que nadie vería jamás (como dicen, perlas antes que cerdos...). Cuando cumple la función estoy muy contento. También uso ESPEasy para mis historias anteriores de ESP8266 y me gustaría volver a hacerlo aquí (las reglas por sí solas para filtrar/calmar un resultado de medición fluctuante serían copiar y pegar). Como dice mi comentarista anterior, desafortunadamente no tengo del todo claro cómo integrar el complemento P0133 para compilar ESPEasy. Su enlace ayuda, pero la activación de complementos parece haber cambiado al eliminar las marcas de comentarios de la estructura en ESPEasy. Supongo que allí hay un archivo de administración central. Además, P0133 ya no parece estar presente en la versión “MEGA” de ESPEASY (termina en P097). Para el VL53L0X, todavía soy optimista acerca de implementar esto de alguna manera si el complemento para la versión actual aún funciona, pero ¿cómo funciona esto para un VL53L1X? ¿Simplemente integrar el VL53L1X.h de Polulu en el proyecto y adaptar el archivo ino en consecuencia?
Mantenlo emocionante y mantente al tanto del proyecto.
Atentamente
rafael
Hola Ralph,
Ah todo bien Puedo entender completamente. En última instancia, se trata de la función confiable y menos de la óptica. 😀
En lo que respecta al problema con el complemento: actualmente todavía estoy muy ocupado escribiendo la documentación para WinDIY hasta el próximo lunes (información aquí: https://nerdiy.de/news-sommer-2020/). Cuando termine con eso, me ocuparé de ello y abriré un repositorio en GitHub, donde ofrezco todos mis complementos, incluido ESPEasy, configurados en consecuencia. Entonces ya no tendrá que hacer los cambios usted mismo y debería funcionar de inmediato. 🙂
Espero que esté bien. 🙂
Atentamente
Fabian
Hola
Gran descripción, gran proyecto.
Actualmente tengo una medición de ultrasonido, pero funciona muy mal en el pozo (hasta 3,5 metros de profundidad) (he intentado todo lo posible).
En busca de una alternativa, encontré el VL53L1X y su sitio.
Actualmente también estoy usando ESPEasy con el sensor ultrasónico, pero al igual que los oradores anteriores, soy más un usuario y programador de Hoppy y no tanto un “compilador de complementos”. Si pudieras ayudarnos con el VL53L1X y ESPEasy también te lo agradecería mucho. 🙂
Saludos
erwin
Buenas noches Ervin,
sí, lamentablemente este lugar está un poco escasamente documentado. Acabo de mirar y no pude encontrar ninguna instrucción que lo describa. Escribiré eso e intentaré crear instrucciones lo antes posible que expliquen cómo conectar el sensor y configurar el complemento en consecuencia.
Como una pequeña solución, creé un archivo .bin que se puede programar en el Wemos D1 Mini. El VL53L0X ya está integrado en él. Solo tienes que activarlo más tarde (como es habitual con ESPEasy) y configurarlo en consecuencia.
Puede encontrar el archivo bin en: https://github.com/Nerdiyde/pxlBlck/blob/main/plugin/bin/ESP8266_ESPEasy_incl_pxlBlck_4M.bin
He resumido información sobre cómo programar esto en Wemos D1 Mini o ESP8266 aquí: https://nerdiy.de/howto-esp8266-mit-dem-esptool-bin-dateien-unter-windows-flashen/
Espero que eso ayude. De lo contrario, por favor hágamelo saber. 🙂
Atentamente
Fabian
hola fabián
Gracias por su rápida y amable ayuda.
Pedí un par de VL53L0X y VL53L1X hace unos días.
Por seguridad. Ahora necesitarán un poco hasta que lleguen desde China.
Luego probaré tu imagen con el VL53L0X. Desafortunadamente, no hay casi nada en la red sobre el VL53L1X 🙁 Excepto por enfoques que son demasiado altos para mí.
Gracias, mis mejores deseos
erwin
Buenas noches Ervin,
comprendido. Conozco el problema (con el largo tiempo de envío). 😀 Tal vez habré terminado el artículo para entonces. Trataré de pensar en eso, luego te lo haré saber aquí también. 🙂
Atentamente
Fabian
hola fabián
Gracias por tu apoyo. Lo intentaré de nuevo cuando tenga todo junto. Definitivamente te dejaré saber cómo va. si es necesario te atormentaré de nuevo. 😉
Gracias, mis mejores deseos
erwin
Hola Ervin,
Lamentablemente, el LaserSensor de AliExpress nunca me llegó y, al igual que el tuyo, los resultados con un sensor ultrasónico, entre otras cosas, no me convencieron. Las medidas son muy propensas a errores y cada medida se desvía de la otra incluso si no pasa nada, está bien, es barato y puedes trabajar con filtros de software. Una vez pedí una sonda de nivel de llenado por unos 20 € y están disponibles en diferentes versiones (rango de medición, por ejemplo, 0-5 m). Como ya estoy usando un buen cable, no quería usar una sonda con una señal de medición de voltaje, sino de 4-20 mA. Para el 4-20mA a 0-3.3V (entrada analógica ESP8266) así como para el suministro de 24VDC hay módulos listos para usar (alrededor de 1€) en Ali-Express y estoy muy contento con ellos. El software ejecuta ESPEasy en la versión estándar y simplemente evalúa la entrada analógica. Saludos rafael
hola ralf
Gracias por tu amable respuesta.
También he leído sobre eso. ¿Es realmente tan bueno/fácil?
Me desanimó el hecho de que hay que “calibrar” los valores.
Así que valor inferior y superior. Al menos eso es lo que leí en alguna parte.
Bueno, tal vez retome el tema.
Gracias, mis mejores deseos
erwin
Hola Fabián, hola Ralf
Gracias por toda su ayuda e ideas, finalmente dejé de medir con el LaserSensor después de los intentos iniciales y probé la variante con una sonda de nivel. Y tengo que decir: SUPER!! El esfuerzo de hardware es ciertamente mayor (pero bastante manejable), pero también es fácil de configurar en ESPEASY. Solo ha estado funcionando durante unos días, pero estoy gratamente sorprendido. La medición funciona sin fluctuaciones significativas. Tan pronto como tenga experiencia a largo plazo, estaré feliz de compartirla con usted.
@Ralf como son tus experiencias hasta ahora.?
@Fabian: Absolutamente tienes que probarlo. Seguí esta guía, funciona perfectamente. https://forum.iobroker.net/assets/uploads/files/1604243665450-f%C3%BCllstandsmesser-per-pegelsonde.pdf
Saludos Erwin 🙂
Hola Ervin,
¡Eso parece interesante! Gracias por la pista. 🙂
Atentamente
Fabian
Hola Fabián,
Gracias y todo está bien para mí. Ali-Express tarda en entregar 🙂
Creo que su repositorio es excelente y lo usaría, pero también soy un gran admirador de explicar el principio a personas dispuestas usando un ejemplo. Con un poco de suerte, los “conocedores” aumentan su poder y progresan minipaso a minipaso y también pueden ayudar a otros. Creo que también quieres hacer cosas nuevas y no simplemente explicar lo mismo una y otra vez 🙂
Atentamente
rafael
Hola Ralph,
Sí tienes razón. En realidad, mi “lema” es describir las cosas en pasos muy pequeños si es necesario. 🙂 En cuanto tenga tiempo me encargo.
Atentamente
Fabian
Hola
alguien me puede decir que tasmota tengo que flashear en la esp?
Desafortunadamente, el sensor bin no reconoce el vl53lox, ni siquiera el último tasmota bin
gracias de antemano
hola migas,
Una vez preparé y cargué un binario para ello. Puedes encontrarlos en: https://github.com/Nerdiyde/NerDIYs_STLs/tree/main/STLs/water_level_sensor/binary
Atentamente
Fabian
Hola,
¿Tengo razón al decir que un TOF200C es el mismo sensor en una carcasa protegida y, por lo tanto, funciona de la misma manera?
https://de.aliexpress.com/item/1005003694800050.html
Atentamente,
Daniel
Hola, Daniel,
sí, eso también debería funcionar. 🙂
Atentamente
Fabian
Hola,
¿Alguien más tiene el problema de que cuando se instala el sensor solo se muestran valores por debajo de los 30cm, aunque debería haber más? Tan pronto como se expande, muestra la distancia correcta.
El sensor en realidad tiene una vista clara.
Hola te lo puedo confirmar. Mientras tanto, descubrí que hace una diferencia si el sensor se opera en interiores o exteriores. Tengo una configuración experimental con una computadora portátil y tan pronto como paso frente a la puerta, se registran distancias de solo aproximadamente 40 cm.
Adiós
Tengo el problema de que no se muestran valores en Tasmota (12.0.2). El VL53L0X está conectado a D1 (SCL) y D2 (SDA). Tasmota también se configura de la misma manera (D1 - I2C SCL y D2 - I2C SDA).
Cuando uso ESPEasy todo funciona.
Hola Norberto,
Lo siento por la respuesta tardía. Me enteré de tu comentario. El problema es probablemente que el VL53L0X no es compatible de forma predeterminada. Entonces tendría que compilar el firmware usted mismo después de haber activado la opción correspondiente de antemano. 🙂
Atentamente
Fabian
Excelentes instrucciones, definitivamente las construiré también. Dado que tengo varios barriles de lluvia uno al lado del otro que me gustaría monitorear: ¿Puedo conectar y leer tres VL53L1X más (es decir, un total de 4 por Wemos D1 mini) a través de los pines D3/D4, D5/D6 y D7/D8? ?