Hallo zusammen,
ich bin kurz davor meine Technikerarbeit zu beginnen. Ich möchte mir
dafür ein OBD Diagnosegerät bauen. Diese gibt es auch bereits fertig zu
kaufen:
https://shop.motofreakz.de/Elektrik-Instrumente/Diagnosegeraete:::1124_1151/HealTech-OBD-Diagnosegeraet-fuer-Honda-CBR1000RR-Fireblade::31559.html
Mein Problem dabei ist nun folgendes: Ich habe keine Ahnung welches
Protokoll zur Übertragung von Honda verwendet wird. Auf meine Anfrage
direkt an den Support von Honda wurde ich höfflich abgewiesen. Auch
online findet man dazu keinerlei Informationen. Auch die Belegung des
Diagnosesteckers wird nirgends beschrieben.
Meine Frage dazu: Habe ich auch nur die geringste Chance irgendwie eine
Signalauswertung hinzubekommen? Wenn ja, hat jemand eine Idee wie?
Ich möchte per Bluetooth später alle Sensordaten Live auf mein
Smartphone übertragen wie es z.B. in folgendem Video der Fall ist (ab
5min).
https://www.youtube.com/watch?v=mqHYmpGepAA
Irgenwie muss es ja gehen wenn es diverse "große" Hersteller auch
geschafft haben.
Über eure Hilfe würde ich mich sehr freuen! Vielen Dank und Grüße,
Purzel
Ich glaube, bei Mopeds gibt's keine Vorschriften bzgl. OBD(-2), daher
kann da wohl jeder Hersteller sein eigenens Süppchen kochen, was
Übertragungsweg (CAN, K-Line, was ganz anderes...) und Protokoll (UDS,
KWP2000, Proprietär, ...) angeht.
Die Hersteller von käuflichen Diagnoseadaptern/-software haben Ihre
Informationen entweder von Honda (mit entsprechenden Verträgen, u.A.
wahrscheinlich einem NDA), per Reverse-Engineering und/oder auf nicht
ganz legalem Wege ergattert.
Purzel schrieb:> Meine Frage dazu: Habe ich auch nur die geringste Chance irgendwie eine> Signalauswertung hinzubekommen? Wenn ja, hat jemand eine Idee wie?
Um Signale auszuwerten, müssen welche vorhanden sein. Je nach
Schnittstelle/Protokoll kann es sein, dass dauerhaft was anliegt oder
eben nur auf Requests eines Diagnosegeräts geantwortet wird.
Im ersten Fall könntest Du erstmal ein Oszi dranhängen und die Pegel
anschauen, um dann einen Pegelwandler zu basteln, der Dir dis Signale an
einen Logic Analyzer oder µC oder FTDIxxx oder was auch immer anpasst um
dann zu versuchen das Protokoll zu erkennen.
Im zweiten Fall bräuchtest Du auf jeden Fall ein Diagnosegerät um die
Kommunikation anzuregen.
Wenn Du es schaffst, überhaupt Daten aus dem Diagnosestecker zu
bekommen, ist es aber immernoch ein riesengroßer Haufen Arbeit, diese
Daten zu interpretieren.
Purzel schrieb:> ich bin kurz davor meine Technikerarbeit zu beginnen. Ich möchte mir> dafür ein OBD Diagnosegerät bauen.> Mein Problem dabei ist nun folgendes: Ich habe keine Ahnung welches> Protokoll zur Übertragung von Honda verwendet wird.
Aha. Das übliche Problem.
Ich würde mir den im Link beschriebenen Adapter kaufen und die
Datenübertragung einfach mitloggen. Einerseits mit dem Oszilloskop wegen
der Pegel und Geschwindigkeiten und dann mit dem Logikanalyser.
Außerdem erfährst Du so die Belegung des Servicesteckers, die aber IMHO
auch aus dem Schaltplan zu erfahren ist.
Ich schätze mal, daß Honda vermutlich irgend etwas K-Line-mäßiges
verwendet, das Du dann mit einem der vielen dazu verwendbaren Chips
nachbaust...
Just my 2 cents
Elux
Vielen Dank für eure Ratschläge.
Reiner O. schrieb:> Ich würde mir den im Link beschriebenen Adapter kaufen und die> Datenübertragung einfach mitloggen
Genau das habe ich mir auch bereits überlegt. Nur die Anschaffungskosten
von ca. 300€ für OBD und Logikananalyzer, für etwas was anschließend
vielleicht überhaupt nicht funktioniert, schrecken mich noch etwas ab.
In einem Forum habe ich bereits gelesen, das es sich anscheinend um
einen
K-Leitungs-Bus handelt. Anscheinend soll die Datenübertragung gestartet
werden, sobald man den Datenleitung für 800ms auf Masse legt. Wie
zuverlässig die Angaben sind weiß ich leider auch nicht, aber anstatt
den teuren OBD zu kaufen könnte ich es ja mal mit einem Controller
versuchen und mir nur einen Logikanalyzer anschaffen.
Hab mir auch schon einen ausgesucht:
https://www.antratek.de/saleae-logic-8-logic-analyzer?gclid=EAIaIQobChMIj-3fg_mD1QIVzpPtCh0TNAf8EAYYASABEgIOUfD_BwE
Was haltet ihr davon? Einfach mal versuchen oder? :)
Skeptisch bin ich dennoch etwas. Hab vorhin den Stecker mal gesucht und
auch gefunden. 2 Polig mit Ground und die Datenleitung mit 3,5V. Spricht
3,5V aber nicht eher für CAN-Bus?
Danke euch!
Purzel schrieb:> aber anstatt den teuren OBD zu kaufen könnte ich es ja mal mit einem Controller
versuchen und mir nur einen Logikanalyzer anschaffen.
Gut, und dann? Was willst Du dann mit dem Analyser loggen?
> 2 Polig mit Ground und die Datenleitung mit 3,5V. Spricht> 3,5V aber nicht eher für CAN-Bus?
Zum Einstieg kannst Du ja mal hier
(https://www.obd-2.de/obd-1-diagnose-uebersicht.html) nachsehen, was es
alles für Diagnosemethoden so gab; es ist IMHO eben kein eOBD oder OBD2,
das kann alles sein.
Wie schön, wenn man jetzt einen funktionierenden Diagnoseadapter incl.
Software hättte und beim Verbindungsaufbau und der Komunikation zusehen
könnte...
Natürlich würde ich erst einmal per Oszilloskop klären, was das
überhaupt für ein Bus ist, wie schnell er ist und was für Pegel
verwendet werden.
> für etwas was anschließend vielleicht überhaupt nicht funktioniert,
Ja, vermutlich. Aber immerhin hättest Du dann ein Diagnosetool für Dein
Moped ;-)
Gruß
Elux
Purzel schrieb:> In einem Forum habe ich bereits gelesen, das es sich anscheinend um> einen> K-Leitungs-Bus handelt.
Das ist eine UART-Verbindung. Quasi RS232 mit anderen Pegeln. High ist
Batteriespannung, low ist Masse. Das Datenformat ist nicht genormt, das
legt der Hersteller individuell fest. Zwischen 11 bit/s und 19200 bit/s
ist alles möglich.
Es gibt die K-Line auch mit standardisiertem Übertragungsprotokoll, dann
nennt man sie LIN-Bus. Die Datenpakete selber sind natürlich immer noch
kundenspezfisch.
Du musst also erstmal rausfinden wie gesendet wird, und dann was.
soul e. schrieb:> Es gibt die K-Line auch mit standardisiertem Übertragungsprotokoll, dann> nennt man sie LIN-Bus.
Nein.
Für K-Line gibt es haufenweise standardisierte Protokolle.
MfG
Elux
Eine eigene Frage?
Dieser Thread ist über 9 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.