Este proyecto describe mi trabajo sobre ingeniería inversa de la electrónica (módulo de telémetro láser) de una cinta métrica láser barata "X-40".
Creo mi propio firmware que permite utilizar este módulo con fines de bricolaje.
Los tipos de módulos admitidos son: "512A" y "701A". "Damian" confirma el funcionamiento del "703A" aquí: Enlace.
ACTUALIZACIÓN 11/2019: Atención: Se descubrió que las cintas métricas láser "x-40" más nuevas vienen con módulos "M88B". La marca es "88B" en la PCB cerca de la MCU. Esos módulos se basan en la MCU STM32F0 (tiene el paquete QFN-32). ¡Esos módulos no son compatibles con mi firmware!
ACTUALIZACIÓN 06/2022: Se agregó soporte para módulos U85A/U85B más nuevos basados en MCU STM32F0. Consulte la carpeta Código/CortexM0.
ACTUALIZACIÓN 10/2024: Se agregó soporte para módulos B2A más nuevos basados en MCU STM32G0. Consulte la carpeta Código/CortexM0_STM32G0.
Dimensiones del módulo "701A": 25x13x50 mm.
Dimensiones del módulo "U85/B2A": 17x7x41mm, Peso: ~4g
¡Consulta Github Wiki para obtener más información!
Gran artículo en ruso: https://habr.com/post/327642/
Traducido por Google: enlace.
Otra página del proyecto: https://la-tecnologia.io/project/25515-cheap-laser-tape-measure-reverse-engineering
Pasos que he hecho:
Vídeo (prueba del módulo telémetro): https://youtu.be/bJaUrZ7ZMj4
Las partes principales del módulo de telémetro láser son MCU STM32F100C8T6, PLL dual Si5351, APD (tipo desconocido), diodo láser y fuentes de energía.
Esquema de la estructura de la cinta métrica láser:
Artículo sobre cómo conectar el módulo de telémetro láser al Arduino:
https://www.hackster.io/iliasam/making-a-cheap-laser-rangefinder-for-arduino-4dd849
Vídeo: https://youtu.be/FA4mfvgpOQQ
Ejemplo de datos UART ("Firmware_dist_calculation_fast"):
DIST;01574;AMP;0993;TEMP;1343;VOLT;082rn
DIST - distancia al objeto en mm.
AMP - amplitud de la señal. TEMP - Temperatura APD (valor ADC sin procesar).
VOLTIO - voltaje APD. La longitud de la cuerda es constante.
Los datos de distancia se transmiten continuamente.
Velocidad de transmisión UART: 256000.
Comandos UART ("Firmware_dist_calculation_fast"):
"E" - habilita el láser y el proceso de medición.
"D" - desactiva el láser y el proceso de medición.
"C" - inicia la calibración de distancia cero. Debe ejecutar la calibración de distancia cero en el primer inicio. Coloque cualquier objeto blanco a una distancia > 10 cm de la cinta láser antes de la calibración.
Velocidad de medición de distancia: cerca de 60 Hz.
La precisión de la medición de la distancia varía de 1 a 10 mm dependiendo de la distancia y el tipo de superficie.
Para obtener mejores resultados, la placa pequeña con APD debe estar cerrada a la luz exterior.