Forum: Fahrzeugelektronik Hilfe bei CAN Kommunikation


von Friederike R. (emoto31)



Lesenswert?

Hallo an alle Foren-Mitglieder,

Ich habe ein elektrisches Motorrad und einen anderen Controller 
eingebaut. Das Anzeige-Display (Geschwindigkeit, Batterieanzeige, 
Spannung usw.) erhält die Daten über CAN Bus high und low.
Die CAN Bus Kabel sind mit einem Steuergerät verbunden (s. Bilder).
Der Controller (Kelly KLS) hat CAN 2.0B und SAE J1939 Protokoll (s. 
PDF). Das Steuergerät arbeitet wahrscheinlich mit CAN 2.0, ich habe 
leider keine Informationen über die Protokolle. Von dem Steuergerät aus 
wird auch die OBD2 Buchse angesteuert.

Meine Frage ist folgende:
Wie schaffe ich es  das der Controller und das Steuergerät miteinander 
kommunizieren, damit am Display die Daten angezeigt werden?

Ich bin gerne bereit die Hilfestellung zu entlohnen und kann das 
Fahrzeug auch innerhalb Süddeutschlands zu jemandem bringen.
Selbstverständlich unter Beachtung der vorgeschriebenen Covid19 
Auflagen.

Danke schonmal für die Unterstützung.

von Max G. (l0wside) Benutzerseite


Lesenswert?

CAN 2.0 sagt leider noch nicht viel aus, dazu müsste man wenigstens die 
Datenrate kennen (die sich aber recht einfach herausfinden lässt).
Was mich wundert, ist das Stichwort J1939, das kenne ich eigentlich nur 
aus dem Nutzfahrzeug-Bereich (lerne aber gerne dazu).

Was macht denn dieser Controller genau, an was für einer Maschine ist er 
angebaut, was war da vorher drin, und warum wurde er gegen den jetzigen 
getauscht? Das ist alles gerade ziemlich mysteriös.

von Friederike R. (emoto31)


Lesenswert?

Hallo Max,

das nicht so misteriös.
Ganz einfache Erklärung der originale Controller war ein Lingbo und 
etwas unterdimensioniert für das Leichtkraftrad.
Der Kelly Controller hat mehr Leistung und bietet mehr 
Einstellungsmöglichkeiten.
Das ist alles gut und funktioniert wie es soll, bis auf den CAN Bus zum 
Display.
Leider konnte ich vom Hersteller des Steuergerätes keine weiteren 
Informationen herausfinden.

Ich weiss auch, dass das J1939 im NFZ-Bereich eingesetzt wird. Soweit 
ich herausgefunden habe scheint aber das CAN 2.0B ein gängiges Protokoll 
zu sein.

Ich benötige  jemandem der mir helfen /sagen kann, wie ich herausfinde, 
mit welchem Protokoll das Steuergerät arbeitet und wie ich dann die 
Daten abgleichen kann. Anscheinend spricht der Controller eine andere 
Sprache als das STG.

Nochmals zum besseren Verständnis, es handelt sich bei dem Fahrzeug um 
elektrisches Motorrad.

Hoffe, es findet sich jemand.

von Peter Z. (hangloose)


Lesenswert?

CAN 2.0B ist halt CAN mit 29bit Identifier.
J1939 läuft über CAN 2.0B.
J1939 hat immer 250kbit CAN Baudrate und hat einen 29bit Identifier.
J1939 ist das Netzwerkprotokoll welches über CAN 2.0B übertragen wird.

Du benötigst am besten einen CAN Logger wie z.B.

https://www.peak-system.com/PCAN-USB.199.0.html?&L=1&gclid=CjwKCAiAuoqABhAsEiwAdSkVVCD1KleXt_jRl4mvLdXifbgfPT4WR7X7OCowy81-dQbwDkwbYO64RhoCUoQQAvD_BwE

oder

https://www.proemion.com/de/produkte/hardware/standardprodukte/canview-usb.html

...und dann mal mitlesen was am Bus so passiert.

Dein neues Steuergerät wird halt das Display nicht ansteuern können?!

: Bearbeitet durch User
von Friederike R. (emoto31)


Lesenswert?

Hallo Peter,

Danke für die Antwort.
Was Du geschrieben hat steht auch alles in der PDF die ich beigefügt 
habe.
Das Steuergerät kommuniziert mit dem Display nur leider der Controller 
nicht mit dem Steuergerät.
Die wichtigsten Daten die ich benötige sind Geschwindigkeit/Tachosignal, 
Batterieanzeige und  Spannung/Ampere
Die von Dir vorgeschlagenen Adapter sind mir für den wahrscheinlich 
einmaligen Gebrauch zu kostspielig/unwirtschaftlich. Außerdem hat weder 
der Controller noch das STG genormte Anschlüsse für solche Adapter. Ich 
habe die Möglichkeit über eine RS485 (STG) und RS232 (Controller) 
Schnittstelle Daten auszulesen und zu verändern, mit den entsprechenden 
Programmen.

Ich benötige ein PC Programm das CAN Bus Daten lesen kann, aber über die 
o.g Schnittstellen oder direkt mit den beiden Kabeln für CAN high und 
low.

Ich weiss auch nicht, ob es überhaupt möglich ist eine CAN Kommunikation 
zwischen den beiden (Controller und STG) herzustellen. Ich denke aber 
schon, nur fehlen mir die Kenntnisse, Hardware und Software.

von Kevin M. (arduinolover)


Lesenswert?

Hast du allen Ernstes erwartet, dass der Kelly Controller mir 
irgendeinem Steuergerät eines Herstellers funktioniert? Bzw. das das 
Steuergerät einen random von dir eingebauten Controller versteht? Das 
Steuergerät kommuniziert vermutlich mit einem proprietären Protokoll und 
selbst wenn du den Bus auslesen kannst wirst du ohne eine entsprechende 
Datenbank die die Botschaften aufschlüsselt nicht viel Erfolg beim 
entziffern haben.

Wenn du den Bus auslesen willst brauchst du einen entsprechenden 
Adapter. Peak Tech hat sowas und über ihre CAN View Software kann man 
sich die Botschaften auch anzeigen lassen. Aber selbst dann bezweifle 
ich, dass du irgendeinen der Teilnehmer so verändern kannst, dass sie 
kommunizieren. Allenfalls wenn du ein Gerät hinzufügst, welches dir als 
Gateway dient und die Nachrichten übersetzt. Das wird es kaum fertig zu 
kaufen geben also müsstest du selber etwas entwickeln.

von Friederike R. (emoto31)


Lesenswert?

Hallo Kevin,

Danke für die Antworten.

Ich habe mir vor dem Umbau des Controllers schon eine alternative 
gesucht um die benötigten Daten ohne CAN Bus zu visualisieren.

Was Du geschrieben hast hilft mir schon weiter.

Vielen Dank.

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
Noch kein Account? Hier anmelden.