So ganz blicke ich mit den "Modes" des ISO9141-Protokolles nicht durch. Mein OBD K-Line Adapter funktioniert elektrisch wie auch Software mäßig. Nur bekomme ich einen Time out wenn ich Werte schneller als 200ms Abstand abfrage. Da ich das Ganze im Circuit Tool (Datenauswertung von der Rennstrecke) und als Overlay im Onboard-Video nutzen möchte, sind 5 Werte pro Sekunde e bissl mau. Aktuell frage ich über den Mode 01 die einzelnen PIDs ab. Genau genommen sind es nur TPS (0x0C) und RPM (0x11) zwei Mal pro Sekunde, IAT(0x0F) und ECT(0x05) jede zweite Sekunde. Gibt es vielleicht einen Weg mehrere Bytes am Stück zu lesen? Auch auf einem OBDlink springen die Werte recht aufgeregt auf und ab. Kann es sein, dass das Fahrzeug (Honda BJ 2002) tatsächlich so eingeschränkt Kommunikationswillig ist?
Naja was haben wir denn da, 10400 baud mit UDS OBD KWP2000 Overhead bleiben netto vielleicht 4000 baud also etwa 500 Bytes pro Sekunde. Daran kanns nicht liegen.
Alexander schrieb: > Naja was haben wir denn da, 10400 baud mit UDS OBD KWP2000 Overhead > bleiben netto vielleicht 4000 baud also etwa 500 Bytes pro Sekunde. > Daran kanns nicht liegen. Ach da schau an. Ehrlich, das mehr als 8 Byte pro Sekunde möglich sind, hätte ich jetzt ohne nachrechnen nicht heraus gefunden :-/ Deswegen war meine Frage aber auch auf die Modi bezogen und nicht auf die Übertragungsgeschwindigkeit.
Dann sollte doch klar sein dass es nicht am Mode liegen kann. Einen anderen als Mode 01 gibt es für Sensordaten nicht, falls Du Dich auf die OBD2 Generic Modi beziehst. Vielleicht ist Deine Frage "Gibt es einen Weg mehrere Werte am Stück zu lesen"? Dazu müsstest Du mal mehr über die Software verraten, nicht jeder weiß was Du da in Betrieb hast. Auf Deinem Bild sieht man eine VBOX. Das sieht nicht so aus als ob Du da selbst etwas an der Software ändern kannst. Wüsste nicht was man da noch überprüfen kann. Wird wohl am Fahrzeug liegen.
:
Bearbeitet durch User
Die VBOX hat mit dem OBD nur so viel zu tun, dass sie die ausgelesenen Daten via CAN (von meinem Adapter) zu geschickt bekommt. Aber im Eingangspost hatte ich geschrieben, dass ich neben meinem selbstgebauten OBD-Adapter auch ein OBDlink zum Auslesen des Honda S2000 genommen habe. Und auch dieser liefert keine kontinuierliche Anzeige von Drehzahl und so weiter. Wenn es nur den Mode 01 zum Auslesen der Werte gibt, dann beantwortet das meine Frage. Weil in diesem Mode akzeptiert das Auto nur ca alle 200ms eine Wertabfrage.
K-Line ist aber nicht gleich CAN, und das OBD2 Protokoll ist auch nicht das beste Mittel der Wahl. Leider ist es das einzige mangels fahrzeugspezifischer Dokumentation. Mit CAN ginge da sicher mehr.
:
Bearbeitet durch User
Nur hat ein Honda S2000 mit BJ 2002 kein CAN-Bus. Ich habe nie nach OBD2 gefragt. ISO9141 ist K-Line. Und die VBOX kann nur CAN-Bus und kein K-Line. Deswegen habe ich ja einen Adapter gebaut.
:
Bearbeitet durch User
Ja sehr verwirrend. K-Line hat aber eigentlich keine Modi, OBD hat die Modi? Dein Adapter hängt doch an einer OBD2 Dose... egal. Dass da ein selbstgebauter Adapter dazwischen hängt war mir entgangen, aber Du wirst schon wissen was Du tust. Deine Frage ergibt beim zweiten durchlesen nun auch Sinn. Möglicherweise kann man auch direkt über K-Line Daten abfragen, wenn man die fahrzeugspezifische Dokumentation dazu hat, ähnlich CAN.
OBD kann nunmal über verschiedene Bussysteme übertragen werden. Neben CAN und K-Line gibt es noch einen SAE J1850 Bus. Und alle drei sind je nach Belegung an der OBD2-Buchse zu finden. Naja, ich werde wohl nun doch die Daten analog unabhängig vom OBD direkt messen. Meine ursprüngliche Frage nach mehr Bytes abfragen kam ich, weil ich Softwareschnippsel gefunden hatte wo die Leute eben mit einem Request mehr als eine einzelne PID abgefragt haben. Wenn ich das halbwegs richtig verstanden hatte wurden eben mit dem abfragen eines PIDs unmittelbar die darauf folgenden quasi mit gelesen. Nur hat das bei mir nicht geklappt.
:
Bearbeitet durch User
Hast Du schon versucht wie schnell Du PID 0x00 abfragen kannst? PID 0x00 ist zwar nur die Bitmap der unterstützten PIDs, steht aber sofort zur Verfügung. Damit kann man eventuell erkennen ob der von Dir beobachtete Timeout von der PID abhängt oder generell auftritt. Hier hat scheinbar schon mal jemand mit der maximalen Abfragerate bei einer Honda ECU experimentiert, ich habe aber auf die Schnelle nicht gefunden was dabei heraus kam: https://github.com/micooke/ArduinoHondaOBD_Extra
Dieter S. schrieb: > Hast Du schon versucht wie schnell Du PID 0x00 abfragen kannst? PID 0x00 > ist zwar nur die Bitmap der unterstützten PIDs, steht aber sofort zur > Verfügung. Damit kann man eventuell erkennen ob der von Dir beobachtete > Timeout von der PID abhängt oder generell auftritt. Hab ich tatsächlich noch nicht probiert. Ist aber eine gute Idee :-) > Hier hat scheinbar schon mal jemand mit der maximalen Abfragerate bei > einer Honda ECU experimentiert, ich habe aber auf die Schnelle nicht > gefunden was dabei heraus kam: > > https://github.com/micooke/ArduinoHondaOBD_Extra Je bei ihm hab ich mir auch ein paar Ideen geholt. Auch wenn der Code gewöhnungsbedürftig ist. Genau das war die Grundlage meiner Anfrage, weil er 16bytes (0x10) mit einmal abfragt. Mal schauen was die "Nicht-Cabrio-Zeit" so bereit hält :-)
Jens R. schrieb: > > Je bei ihm hab ich mir auch ein paar Ideen geholt. Auch wenn der Code > gewöhnungsbedürftig ist. Genau das war die Grundlage meiner Anfrage, > weil er 16bytes (0x10) mit einmal abfragt. > Wenn ich es richtig verstehe schaltet der Code auf das "Honda" Protokoll um und liest dann vermutlich direkt aus dem Speicher. Hier gibt es ein paar mehr Details zu dem Protokoll (in "Honda OBD code.docx"): https://github.com/mr-sneezy/ArduinoHondaOBD1_to_OBD2_BT Die Frage ist ob das Dein Steuergerät auch kann und wenn ja, ob man dann damit schneller auslesen kann.
Du bist ein Schatz :-) Genau das ist der Weg punkt der mir in meinen Gedankengängen gefehlt hat. Da der aus deinem ersten Link genau das gleiche Auto aus dem gleichen Jahr hat, stehen die Chancen ganz gut, dass ich es ausprobiere. :-D
Dieter S. schrieb: > https://github.com/mr-sneezy/ArduinoHondaOBD1_to_OBD2_BT Netter Fund, da stehen ja alle Bitfelder. Hier noch der Original-Link zu dem Fund. https://translate.google.com/translate?sl=ru&tl=en&u=http://hondamotor.ru/board/index.php?showtopic=98035%26st=136
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.