Ce projet décrit mon travail sur l'électronique d'ingénierie inverse (module télémètre laser) d'un ruban à mesurer laser "X-40" bon marché.
Je crée mon propre firmware qui permet d'utiliser ce module à des fins de bricolage.
Les types de modules pris en charge sont : « 512A » et « 701A ». Le fonctionnement du "703A" est confirmé par "Damian" ici : Lien.
UPD 11/2019 : Attention : Il a été constaté que les nouveaux mètres à ruban laser "x-40" sont livrés avec des modules "M88B". Le marquage est "88B" sur le PCB près du MCU. Ces modules sont basés sur le MCU STM32F0 (il possède le package QFN-32). Ces modules ne sont pas pris en charge par mon firmware !
UPD 06/2022 : ajout de la prise en charge des nouveaux modules U85A/U85B basés sur le MCU STM32F0. Voir le dossier Code/CortexM0.
UPD 10/2024 : ajout de la prise en charge des nouveaux modules B2A basés sur le MCU STM32G0. Voir le dossier Code/CortexM0_STM32G0.
Dimensions du module "701A": 25x13x50 mm.
Dimensions du module "U85/B2A" : 17x7x41mm, Poids : ~4g
Voir le wiki Github pour plus d'informations !
Gros article en russe : https://habr.com/post/327642/
Google traduit : Lien.
Une autre page du projet : https://hackaday.io/project/25515-cheap-laser-tape-measure-reverse-engineering
Étapes que j'ai effectuées:
Vidéo (test du module télémètre) : https://youtu.be/bJaUrZ7ZMj4
Les principales parties du module télémètre laser sont le MCU STM32F100C8T6, le double PLL Si5351, l'APD (type inconnu), la diode laser et les sources d'alimentation.
Schéma de structure du ruban à mesurer laser :
Article sur la connexion du module télémètre laser à l'Arduino :
https://www.hackster.io/iliasam/making-a-cheap-laser-rangefinder-for-arduino-4dd849
Vidéo : https://youtu.be/FA4mfvgpOQQ
Exemple de données UART ("Firmware_dist_calculation_fast") :
DIST;01574;AMP;0993;TEMP;1343;VOLT;082rn
DIST - distance à l'objet en mm.
AMP - amplitude du signal. TEMP - Température APD (valeur ADC brute).
VOLT-tension APD. La longueur de la chaîne est constante.
Les données de distance sont transmises en continu.
Débit en bauds UART - 256 000.
Commandes UART ("Firmware_dist_calculation_fast") :
"E" - active le laser et le processus de mesure.
"D" - désactive le laser et le processus de mesure.
"C" - démarre l'étalonnage de la distance zéro. Vous devez exécuter un étalonnage de la distance nulle au premier démarrage. Placez tout objet blanc à une distance > 10 cm de la bande laser avant l'étalonnage.
Vitesse de mesure de distance - près de 60 Hz.
La précision de la mesure de distance varie de 1 à 10 mm en fonction de la distance et du type de surface.
Pour obtenir de meilleurs résultats, le petit tableau avec APD doit être fermé à la lumière extérieure.