Durch Zufall bin ich günstig an einen Laserentfernungsmesser gekommen. So ein Teil ist schon hochinteressant ! Es hat auch funktioniert und danach kam natürlich der Schraubendreher :-)

  • Laserentfernungsmesser_01

 


So sieht das Teil von aussen aus. China-Ware und dann je nach Kundenwunsch ein Firmenlogo.

  • Laserentfernungsmesser_01

Frontansicht : Man erkennt die obere Linse wo das Auge das Objekt sieht und wo der Laserstrahl ausgesendet wird. Die Untere Linse ist mit der Empfängeroptik verbunden (vermutlich ne APD Diode).

  • Laserentfernungsmesser_02

Kurze Beschreibung der Technischen Daten :

  • Laserentfernungsmesser_03

Und hier noch die möglichen Innenansichts-Segmente :

  • Laserentfernungsmesser_04

So sieht das ganze in Aktion aus :

  • Laserentfernungsmesser_05

Dann mal auf das gute Stück :

  • Laserentfernungsmesser_06

Klappt man die Platine weg, kommt die Optik zum Vorschein :

  • Laserentfernungsmesser_07

Was haben wir auf der Top-Lage ?

Bezeichnung Typ Aufgabe
C8051f31 uC 8051 Clone Microcontroller zur Steuerung
CY24115 PLL+Clock Clockgenerator
CPLD XC2C32A CPLD

Coolrunner CPLD für die Timingkritische Distanzmessung ?

LT1713_LTUK Komparator

Komparator fürs Empfangssignal der APD Diode

  • Laserentfernungsmesser_08

Und was gibt die Rückseite her ?

Bezeichnung Typ Aufgabe
1621B Controller Display-Controller für LCD Einblendung
  • Laserentfernungsmesser_09

 Spielt man eine Weile rum, vermisst man den USB-Anschluss um die gemessenen Werte abzuspeichern ... Nur wie kommt man da ran ? Idee war einfach den Bus anzuzapfen der zum Display-Controller geht !

  • Laserentfernungsmesser_10

Dann per uC die einzelnen Segmente auslesen und an den PC schicken zur Analyse ...

  • Laserentfernungsmesser_11

Damit kein Durcheinander herrscht noch die Segmente mit Namen belegen :

  • Laserentfernungsmesser_12

Und ob man die Segmente nicht kompakter abspeichern könnte ....

  • Laserentfernungsmesser_13

Anmerkung :

Möglich sind mit dem Display-Controller 128 Pattern (32x4).

Benutzt werden offensichtlich :

28 Segmente  4x7 Segment-Ziffern 
2 Segmente  1x die führende 1
1 Segmente  Dezimal-Punkt
10 Segmente Quality-Dreiecke
7 Segmente Meter / Yard / Battery / Quality / Laser / Scan / Zielkreuz

Ergibt 48 Segmente die mit 4 Common und 12 Segment-Leitungen über das 16 polige Display-Kabel angesteuert werden.

Am Microcontroller ist die Belegung wie folgt :

Pin 3 Masse
Pin 4 VDD
Pin 22 DATA
Pin 23 /WR
Pin 24 /CS

Am Displaycontroller ist die Belegung wie folgt :

Pin 9 /CS
Pin 11 /WR
Pin 12 DATA
Pin 13 VSS
Pin 17 VDD

/Chipselect :

Normal High, geht auf Low für 30..35us zwischen den Übertragungen, eine Übertragung aller Daten dauert ca. 280..290us. Eine Übertragung enthält das komplette Display-RAM. ca. 3000mal pro Sekunde wird das RAM neu beschrieben.

/WR :

ein Bit dauert ca. 1,4 .. 3,0us. Die Datenübernahme erfolgt vom Chip bei der steigenden Flanke des /WR Signals.

DATA :  

Es wird nur das Write Mode Successive Address Writing verwendet. Gesendet wird der Befehl "101", dann "000000" als Start-Adresse sowie 32x 4 Bit Blöcke. Es wird also jedesmal das ganze Display-RAM im IC neu geschrieben.

Zum Batteriesymbol : Bei grob 2,4V wird Low Batt angezeigt, wenns noch weniger ist zeigt das Display beim einschalten nur noch "LOU"

Da die Drähte auf Dauer auch nix sind, habe ich mir eine 4polie 2,5mm Buchse eingebaut, die wie folgt belegt ist :

  • Laserentfernungsmesser_14

So sieht das ganze im Gerät aus :

  • Laserentfernungsmesser_15

Und die Leitungen sicherheitshalber mit 10Ohm Serienwiderständen abgreifen und auf die Buchse legen :

  • Laserentfernungsmesser_16

Der PIC-Controller emuliert nun das komplette Display-RAM des Holtek und schreibt regelmäßig den RAM-Inhalt auf der Seriellen Schnitte raus. Sieht dann so aus :

  • Laserentfernungsmesser_17

Assembler-Code und Hex-File in rudimentärem Zustand liegen hier (Ist nur zusammengestümpert, bitte keine großen Erwartungen hegen) : LRFDD.zip

Die Liste welches Segment was bedeutet habe ich herausgefunden : Displayspeicher.pdf

Auf PC Seite müsste jetzt ein Programm die Display-Segmente wieder zusammenbasteln und in Zahlen anzeigen. Und an dieser Stelle hab ich das Projekt aus Zeitgründen eingestellt. Wer Interesse hat, kann hier weiterarbeiten. Viel Spass !