Wie können wir helfen?

Print

Lesen und Abrufen von Daten von einem TF-Luna LiDAR-Entfernungssensor über den RS232/485-Anschluss des ACE

 

Hier sehen wir uns an, wie man Daten aus einem HEXA-Frame extrahiert. Ein Beispiel mit einem LiDAR-Sensor

Dieses Radargerät hat einen seriellen TTL-Ausgang. Ein TTL-RS232-Konverter muss hinzugefügt werden, um ihn an einen ACE RS232 anzuschließen.

Daten und ihre Analyse

Dieses LiDAR sendet standardmäßig alle 10 ms einen Datenrahmen:

  • Dist: Entfernung in cm
  • Amp: Signalstärke-Anzeige
  • Temp: Celsius-Temperatur = Temp / 8 – 256℃

In diesem Beispiel wird gezeigt, wie man die Daten Dist Amp Temp an den Positionen 2 bis 7 im Datenrahmen extrahiert.

Beispiel für Dist:

Die Daten bestehen aus 2 Bytes, Position 2 und 3.

Bei einer Entfernung von 157 cm erhalten wir diese Daten: 59599D003C07780913. Wir wollen den fett gedruckten Wert extrahieren: 9D 00

  • 9D in HEXA (Basis 16) = 157 in DEC (Basis 10): Es ist das niedrigstwertige Bit (LSB)
  • 00 in HEXA (Basis 16) = 0 in DEC (Basis 10): Es ist das höchstwertige Bit (MSB)

Wenn wir die Gewichtung auf das MSB anwenden: [ 157 ] [0 * 256 ] = 157, die Zahl, die wir als Ergebnis haben wollen!

Wenn der Abstand 587 wäre, wäre es: [ 75 ] [2 * 256 ] = 587

Der erste Startcode des Datenrahmens ist 59 in HEXA = 89 in DECIMAL

Datenanalyse auf dem PC mit der Software realterm

vBuilder: Abhören des seriellen ACE-Anschlusses

  • hört die serielle Schnittstelle ab und wartet auf den Empfang des „Startzeichens“ 89 (59 in HEXA)
  • zählt die Anzahl der empfangenen Bytes
  • speichert den Datenrahmen im Empfangsarray RX[ ], dessen Länge durch die Anzahl der empfangenen Bits bestimmt wird Empfangene Bytes
  • Minimum Break bestimmt die minimale Ruhezeit, die zu berücksichtigen ist, damit der gesamte Rahmen als empfangen gilt (Zeit zwischen 2 Rahmen)

Prüfen des Datenrahmens

Nachdem wir den Datenrahmen erhalten haben, können wir prüfen, ob das 1. und 2. Zeichen 89 sind

Wenn dies der Fall ist, können wir mit Schritt 2 fortfahren.

Berechnen Sie jeden Wert, Dist, Amp und Temp

Temp : Température Celsius = Temp / 8 – 256℃

Versuchen Sie die Unterroutine

Sie können das Programm hierherunterladen