-
-
Neuer Benutzer
Öfters hier
Messergebnis vom SRF02 richtig interpretieren
Hallo zusammen,
ich hoffe ihr könnt mir bei folgender Frage/Problem helfen!
Und zwar ist es mir nicht ganz klar wie der SRF02 sein Ergebnis ausgibt?!?
Der Sensor wird von einem µC über die RS-232 (ist richtig initialisiert!) angesteuert (ID: 0x00, Befehlscode: 0x54) und das Ergebnis direkt aufm Terminal ausgegeben.
Wenn ich es richtig verstanden hab, müsste jetzt das Ergebnis in zwei Bytes (zuerst das High-Byte?!?) in cm ausgegeben werden?!?
Als Ergebnis bekomme ich für 86cm H-Byte (erstes Byte)=250dec und L-Byte (zweites Byte)=87dec, für 47cm H-Byte=248 und L-Byte 62, für 34cm H-Byte=250 und L-Byte=32!
Weiss nicht so recht wie ich das interpretieren soll! Wer kann mir helfen?
Beste Grüße und vielen Dank…
-
Erfahrener Benutzer
Robotik Einstein
-
Neuer Benutzer
Öfters hier
Hallo linux_80.
klar habe ich da schon gesucht. Aber wie das Ergebnis zu interpretieren ist, ist mir leider immer noch nicht klar....
-
Erfahrener Benutzer
Robotik Einstein
Irgendwie kommen mir deine Messwerte komisch vor. Das Ergebnis berechnet sich als H*256+L. Da kommt dann mit deinen Werten was im Bereich von 63000 raus. Irgendwas passt da noch nicht...
PS: die Lowbytes sehen ja schon mal fast richtig aus. Nur der 47cm ist ein Ausreißer (Messfehler?), die beiden anderen sind im Rahmen der Messungenauigkeit schon so in Ordnung. Das Highbyte müsste bei Entfernungen unter 256cm aber immer Null sein!
-
Erfahrener Benutzer
Robotik Einstein
Aus den Werten von Register 2 und 3 muss man eine 16Bit Integer draus machen, das ergibt dann die Entfernung in der Einheit mit der man die Messung gestartet hat.
Das mit der Einheit sollte passen, bei RS232 ist $54 für cm.
Hast Du die 2 Stop-Bits berücksichtigt ?
-
Neuer Benutzer
Öfters hier
hmm irgendwas stimmt da wohl wirklich nicht!
Hab mich auch schon gewundert warum der Wert des ersten Bytes (H-Byte) so groß ist.
Ja messe in cm (Befehlscode: 0x54).
ch muss doch lediglich den Sensor richtig adressieren und den entsprechenden Befehlscode senden und bekomme dann zwei Bytes mit dem richtigen Ergebnis zurück oder?!? Dieses habe ich wie gesagt über ein Terminalprogramm ausgegeben und die oben genannten Ergebnisse bekommen.
Müsste nicht für z.B. 100cm im H-Byte 00000000b stehen und im L-Byte 01100100b?!? Oder habe ich ein grundsätzliches Verständnisproblem?
-
Erfahrener Benutzer
Robotik Einstein
Hab grad mein Post oben umgebaut,
mit der Frage zu den Stop-bits.
-
Neuer Benutzer
Öfters hier
jep die 2 Stopbits sind gesetzt! Hab vorher die Kommunikation auch sicherheitshalber getestet => Kommunikation funktioniert einwandfrei! Nur die Ergebnisse sind für mich nicht verständlich!?!
-
Neuer Benutzer
Öfters hier
Hallo,
ich habe gerade die Pegel von dem SRF02 mit dem Oszilloskop überprüft. Die Pegel waren absolut wie erwartet! => Fehler bei der Übertragung der Daten an das Terminal-Programm…
Vermutung: Man kann den SRF02 nicht direkt über einen MAX-232 mit dem PC verbinden?!?
Also werde ich im nächsten Schritt wieder die Daten über den µC auslesen…
Noch ne Frage zu der Genauigkeit des SRF02. Nach ersten Tests (mit Oszilloskop) scheint mir im Bereich von 20-100cm mindestens ein Fehler von 5-10% aufzutreten! Kann das jemand bestätigen bzw. welche Genauigkeit ist zu erwarten?
-
Erfahrener Benutzer
Roboter Experte
bezueglich genauigkeit: ich habe gehört, dass ultraschallsensoren bei weitem nicht so genau gehen wie ir-sensoren.
ist es möglich, die genauigkeit irgendwie zu verbessern?
lg
ikarus_177
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen