Dieses Projekt beschreibt meine Arbeit zum Reverse Engineering der Elektronik (Laser-Entfernungsmessermodul) eines billigen „X-40“-Laserbandmaßes.
Ich erstelle meine eigene Firmware, die es ermöglicht, dieses Modul für Heimwerkerzwecke zu verwenden.
Unterstützte Modultypen sind: „512A“ und „701A“. Die Funktionsfähigkeit von „703A“ wird von „Damian“ hier bestätigt: Link.
UPD 11/2019: Achtung: Es wurde festgestellt, dass neuere „x-40“-Laserbandmaße mit „M88B“-Modulen ausgestattet sind. Die Markierung auf der Platine in der Nähe der MCU lautet „88B“. Diese Module basieren auf der STM32F0-MCU (im QFN-32-Gehäuse). Diese Module werden von meiner Firmware nicht unterstützt!
UPD 06/2022: Unterstützung für neuere U85A/U85B-Module basierend auf der STM32F0-MCU hinzugefügt. Siehe Code/CortexM0-Ordner.
UPD 10/2024: Unterstützung für neuere B2A-Module basierend auf der STM32G0-MCU hinzugefügt. Siehe Ordner Code/CortexM0_STM32G0.
Abmessungen des Moduls „701A“: 25x13x50 mm.
Abmessungen des Moduls „U85/B2A“: 17 x 7 x 41 mm, Gewicht: ~4 g
Weitere Informationen finden Sie im Github-Wiki!
Großer Artikel auf Russisch: https://habr.com/post/327642/
Von Google übersetzt: Link.
Eine weitere Projektseite: https://hackaday.io/project/25515-cheap-laser-tape-measure-reverse-engineering
Schritte, die ich durchgeführt habe:
Video (Entfernungsmessermodul testen): https://youtu.be/bJaUrZ7ZMj4
Hauptbestandteile des Laser-Entfernungsmessermoduls sind STM32F100C8T6 MCU, Si5351 Dual PLL, APD (unbekannter Typ), Laserdiode und Stromquellen.
Schematischer Aufbau des Laserbandmaßes:
Artikel über den Anschluss des Laser-Entfernungsmessermoduls an den Arduino:
https://www.hackster.io/iliasam/making-a-cheap-laser-rangefinder-for-arduino-4dd849
Video: https://youtu.be/FA4mfvgpOQQ
Beispiel für UART-Daten („Firmware_dist_calculation_fast“):
DIST;01574;AMP;0993;TEMP;1343;VOLT;082rn
DIST – Abstand zum Objekt in mm.
AMP – Signalamplitude. TEMP – APD-Temperatur (roher ADC-Wert).
VOLT – APD-Spannung. Die Saitenlänge ist konstant.
Entfernungsdaten werden kontinuierlich übermittelt.
UART-Baudrate - 256000.
UART-Befehle („Firmware_dist_calculation_fast“):
„E“ – Laser und Messvorgang aktivieren.
„D“ – Laser und Messvorgang deaktivieren.
„C“ – Nullpunktkalibrierung starten. Beim ersten Start müssen Sie eine Nullabstandskalibrierung durchführen. Platzieren Sie vor der Kalibrierung ein beliebiges weißes Objekt in einem Abstand von > 10 cm vom Laserband.
Entfernungsmessgeschwindigkeit - nahe 60 Hz.
Die Genauigkeit der Entfernungsmessung variiert je nach Entfernung und Oberflächentyp zwischen 1 und 10 mm.
Um bessere Ergebnisse zu erzielen, muss die kleine Platine mit APD vor externem Licht geschützt werden.