Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

DIY Günstiger Laser-Entfernungsmesser für Arduino – Schnell, Zuverlässig & Erschwinglich

Komponenten und Zubehör

Bauteil Menge
Arduino Nano R3 1
Elecrow OLED 0,96" 128x64 1
X-40 Laser-Entfernungsmesser (Laser Tape Measure) 1 Kostet ca. 20 $ oder weniger
LM2596 DC-DC Step-Down Modul 1 Für 3,3V Versorgung des Lasermoduls

Benötigte Werkzeuge und Maschinen

Apps und Online-Dienste

Über dieses Projekt

Brauchst du einen schnellen, günstigen Laser-Entfernungsmesser für dein Arduino-Projekt?

Spezialisierte Module (VL53L0X/VL53L1X) sind billig, haben aber großes Sichtfeld. Die Lösung: Ein billiger „X-40“ Laser-Entfernungsmesser (Baumarkt-Gerät) als Modul nutzen. Kosten: ~20 $, Reichweite bis 40 m, Genauigkeit ~3 mm.

Zwei Probleme: 1) Kein Zugriff auf Messwerte. 2) Messrate < 1 Hz.

Lösung: Reverse Engineering des X-40, eigene Firmware für den STM32-Mikrocontroller im Lasermodul. Ergebnis: ~60 Hz Messrate, max. stabile Distanz ~6 m (volle Reichweite 37 m, nicht getestet). Genauigkeit 1–10 mm je nach Zielobjekt und Distanz.

Modulabmessungen: 25 × 13 × 50 mm.

WICHTIG: Original-Firmware geht verloren – Gerät kann danach NICHT mehr als Laserbandmaß genutzt werden!

Hinweis: X-40 Geräte haben verschiedene Modul-Revisionen. Meine Firmware unterstützt nur bestimmte Versionen!

„X-40“ ist nicht der einzige Name – es gibt diverse chinesische Laserbandmaße mit passenden Modulen.

Schritt 1: Laserbandmaß zerlegen

7 Schrauben am Gehäuse lösen:

DIY Günstiger Laser-Entfernungsmesser für Arduino – Schnell, Zuverlässig & Erschwinglich

Zerlegtes Gerät – kleines Lasermodul im Inneren sichtbar:

DIY Günstiger Laser-Entfernungsmesser für Arduino – Schnell, Zuverlässig & Erschwinglich

Flachbandkabel vom Modul lösen, Modul entnehmen:

DIY Günstiger Laser-Entfernungsmesser für Arduino – Schnell, Zuverlässig & Erschwinglich

Modul ist mit „701A“ markiert. Meine Firmware unterstützt „512A“ und „701A“. Nutzer berichten, dass „703A“ auch funktioniert (nicht selbst getestet).

Update 11/2019: Neuere X-40 haben „M88B“-Module (Markierung „88B“ bei MCU, STM32F0, QFN-32). Diese werden NICHT unterstützt!

Update 10/2021: Support für U85B-Module hinzugefügt (moderne Laserbandmaß-Typen). Siehe GitHub-Link.

DIY Günstiger Laser-Entfernungsmesser für Arduino – Schnell, Zuverlässig & Erschwinglich

Falls Modul unterstützt: Stromversorgungsleitungen am Modul verlöten.

Schritt 2: Lasermodul programmieren

  1. Programmierleitungen anlöten (Pinout siehe Bild):
    DIY Günstiger Laser-Entfernungsmesser für Arduino – Schnell, Zuverlässig & Erschwinglich
    Pins 7-8 des Tastatursteckers verbinden (Power-Up).
    • GND & Vbat → Stromquelle (+2,7…+3,3V). An Vdd müssen +3,5V anliegen bei Versorgung.
    • GND, SWDIO, SWCLK, NRST → ST-LINK Programmer. NRST ist kritisch! Original-Firmware ist Read-Protected – NRST nötig für Programmiermodus.
    • Manche Programmer haben NRST, billige nicht (Workaround siehe unten).
    • Original „ST-LINK/V2“ braucht Vbat an VCC/TVCC des Programmers.
    Beispielverbindung (Programmer ohne NRST):
    DIY Günstiger Laser-Entfernungsmesser für Arduino – Schnell, Zuverlässig & Erschwinglich
  2. ST-LINK Utility installieren (viele Tutorials im Web). Konfigurieren: Target → Settings.
    DIY Günstiger Laser-Entfernungsmesser für Arduino – Schnell, Zuverlässig & Erschwinglich
  3. Verbindung herstellen:
    • Mit NRST: Strom an, „Target → Connect“.
    • Ohne NRST: Strom an, NRST kurz auf GND ziehen, „Target → Connect“ klicken, NRST sofort von GND trennen. Utility muss Verbindung anzeigen.
      DIY Günstiger Laser-Entfernungsmesser für Arduino – Schnell, Zuverlässig & Erschwinglich
  4. Read Out Protection deaktivieren (Original-Firmware geht verloren!): Target → Option Bytes → „Read Out Protection“ auf „Disabled“, „Unselect all“, „Apply“. Modul neustarten (Strom kurz trennen). Erneut „Target → Connect“ – Speicher muss mit 0xFF gefüllt sein. Jetzt Custom Firmware flashen.
    DIY Günstiger Laser-Entfernungsmesser für Arduino – Schnell, Zuverlässig & Erschwinglich
  5. Firmware herunterladen: GitHub Firmware-Ordner. Passende HEX-Datei für dein Modul wählen und per ST-LINK Utility in Flash laden.

Schritt 3: Lasermodul an Arduino anschließen

Draht/Stecker an TX-Pad des Moduls löten:

DIY Günstiger Laser-Entfernungsmesser für Arduino – Schnell, Zuverlässig & Erschwinglich

Test ohne OLED: TX des Lasermoduls → TX des Arduino (nicht RX!), Modul an 3,3V versorgen. Leeren Sketch auf Arduino laden. Serial Monitor: 250000 Baud. Bessere Alternative: USB-UART-Adapter mit 256000 Baud (echte Baudrate des X-40 MCU).

Erwartete Ausgabe: Rohdaten vom Modul.

Vollständiger Aufbau mit OLED: TX Lasermodul → RX Arduino (beim Flashen des Arduino trennen!). Schaltbild beachten.

DIY Günstiger Laser-Entfernungsmesser für Arduino – Schnell, Zuverlässig & Erschwinglich

OLED zeigt 3 Werte:

Schritt 4: Nullpunkt-Kalibrierung

Nach erstem Start Kalibrierung nötig. Weißes Objekt auf bekannte Distanz platzieren → diese Distanz wird Nullpunkt. Tastatur des Laserbandmaßes anschließen, unterste Taste drücken. Modul piept 2x (Start & Ende, ~10 Sek.).

DIY Günstiger Laser-Entfernungsmesser für Arduino – Schnell, Zuverlässig & Erschwinglich

Links:

  1. GitHub – Reverse Engineering Ergebnisse & Quellcode: iliasam/Laser_tape_reverse_engineering
  2. Habr.com – Google-übersetzter Artikel zum Reverse Engineering.

Entschuldige mein Englisch – ich komme aus einem nicht-englischsprachigen Land.

Code

Arduino Sketch

Keine Vorschau (nur Download).

GitHub Repository

Code für das Laserbandmaß: https://github.com/iliasam/Laser_tape_reverse_engineering

Schaltpläne

Breadboard-Aufbau:

DIY Günstiger Laser-Entfernungsmesser für Arduino – Schnell, Zuverlässig & Erschwinglich

Herstellungsprozess

  1. Luftqualität messen mit OpenSensors: Arduino & Python Anleitung
  2. Laserschneidanwendungen: Von Holz bis Luft- und Raumfahrt
  3. Smartes Temperatur-Monitoring für Schulen – Arduino, Raspberry Pi, Sigfox & ThingSpeak
  4. Effiziente 8-Bit-I/O-Port-Bibliothek für Arduino – Digitale Steuerung erweitern
  5. Arduino 64-Tasten-Prototyp-Keyboard-Matrix – Eigenes Keyboard mit Schieberegistern bauen
  6. 2,8″ TFT-Shield für Arduino Nano – 320×240 SPI-Display mit Touch
  7. Isolierter Analogeingang für Arduino: Spannung/Strom galvanisch trennen
  8. Günstiger Arduino-Atemcontroller mit USB-MIDI-Integration
  9. Smartes Indoor-Navigations-Roboter-Kit für Arduino-Projekte
  10. Warum 5G für modernes Smart Manufacturing unverzichtbar ist