Wie können wir helfen?
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
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