CAN Bus im Fahrzeug auslesen und auf Display anzeigen

Gast #778959
Lesenswert?

Hallo,

Ich hab viele interessante Artikel in diesem Forum zum CAN Bus gefunden. 
Nun würde ich gerne einen AT90CAN128 oder ähnlichen Controler verwenden 
um den CAN Bus eines Fahrzeugs mitzulesen. Ich dachte mir,man könnte ein 
kleines Interface konstruieren, das man einfach parallel an die drei Bus 
leitungen anschließt und die Frames seriell ausgibt oder auf ein Display 
schreibt. Leider weis ich nicht so recht, ob beispielsweise folgendes 
Projekt dabei hilfreich ist:

Beitrag "Beispiel Projekt AT90CAN128 AVRStudio  LCD  Timer"

Würde eine socleh einfache Schaltung ausreichen?

Gruß,Sebastian
Gast #779058
Lesenswert?

>Masse wird nicht benötigt. CAN ist ein Differenzieller Bus.

dennoch gibt es eine seperate CAN_GND-Leitung die gerade im 
automobilebereich für alle Hersteller notwendig ist.

das grösste Problem welches Du wahrscheinlich bekommen wirst ist dass, 
das Du in erfahrung bringen musst welche COB-ID zu welchem Parameter 
gehört, ansonsten nützt das ganze auslesen ja nichts!

Wenn Du auf dem Bus "nur hören" willst, müsste das Teil oben völlig 
ausreichen, vom Daten senden würde ich ersteinmal abraten bis Deine 
Soft- und Hardware ganz sicher fehlerfrei funktioniert! ;)
Gast #779207
Lesenswert?

die GND Verbindung wird benötigt.

Es ist richtig, dass CAN ein differentieller Bus ist, aber er beruht 
trotzdem auf einer Referenzspannung und das ist nun mal GND. Im Auto 
dient die Karosserie als GND Referenzpotential.
Bei kurzen Anschlusskabeln mag es vielleicht funktionieren, aber bei 
längeren nicht mehr. Das Problem verstärkt sich, wenn man zudem eine, 
vom Fahrzeug, unabhänge Spannungsversorgung nimmt.
Gast #779264
Lesenswert?

@F'Dor

Ich würde mal behapten, dass dein Aussage von vorne bis hinten Falsch 
ist. Der CAN-Bus läuft auch bei getrennten Betriebsspannung nur über 2 
Leitungen. Wenn GND als Referenz dienen würde währe es kein 
differentieller Bus mehr. Das einzige wozu GND gut ist, ist für die 
Abschimung der Leitung.
Gast #779296
Lesenswert?

> Wenn GND als Referenz dienen würde

Nein, GND dient NICHT als Referenz, trotzdem musst du die GNDs verbinden 
oder  das Ganze galvanisch trennen.

Sag mal, arbeitest du zufällig in einer Firma, die sowas herstellt? Dann 
bitte deren Namen- damit man nicht zufälligerweise solch einen Schrott 
kauft.....
Gast #779318
Lesenswert?

> Nein, GND dient NICHT als Referenz, trotzdem musst du die GNDs verbinden
> oder  das Ganze galvanisch trennen.

Ist doch genau das was ich sage. Ich hoffe du hast dich auch schon mit 
Masseschleifen beschäftigt.

> Sag mal, arbeitest du zufällig in einer Firma, die sowas herstellt?

Ich arbeite bei Renault ;-P
Gast #779352
Lesenswert?

Die ganze Diskussion über die Masse ist doch sinnlos, bei Anschluss an 
das Bordnetz ist der GND des CAN-Transceiver an GND bzw. Fahrzeugmasse 
angeschlossen. Eine galvanische Trennung ist auch vollkommen sinnfrei, 
wenn die Schaltung aus dem Bordnetz versorgt wird.

Gruss Otto
Gast #779397
Lesenswert?

@Bensch - Warum so aggressive? Dieses Problem hatte ich während meiner 
Diplomarbeit!

Hab mir fast schon gedacht, dass meine Erklärung etwas zu kurz ist. :)

GND dient als Referenz! (siehe auch HS-CAN Application Note von Infineon 
Seite 5)

und zwar weil:

beim CAN Bus der rezessive Zustand bei 2,5V liegt. Im dominanten Zustand 
ist CANL etwa 1,5V und CANH etwa 3,5V (messbar).
Differenziell heißt nun, dass der Transceiver intern eine differentielle 
Spannung "berechnet" U_diff = U_CANH - U_CANL. Das macht im rezessiven 
Zustand 0V und im dominanten Zustand 2V. Nachlesbar in diversen 
Application Notes, zB. Infineon TLE6251 oder Philips TJA1041.

Ohne GND Verbindung kann es nun zu eine GND Offset zwischen den Knoten 
kommen, damit kann die differentielle Spannung nicht mehr ermittelt 
werden. Ein Knoten kann den anderen zwar empfangen, der andere aber 
nicht mehr senden. (hängt davon ab ob man einen negativen oder positiven 
GND Offset hat).
Gast #779416
Lesenswert?

Das einzige Problem sind Bezugspotentiale, die so unterschiedlich sind, 
dass die Transceiver sterben.
Beispiel: CAN-Teilnehmer1 hat seine Masse bei 0V, CAN-Teilnehmer2 hat 
seine Masse z.B. bei 80V -> wenn diese nur über die beiden CAN-Leitungen 
verbunden sind, führt das zum vorzeigen Ableben des Transceivers, da die 
absoluten Pegel dann eben 80V+2.5V sind...
Sollten die beiden Teilnehmer galvanisch getrennt sein, funktioniert 
alles wie gewollt.
Gast #779521
Lesenswert?

> Das einzige Problem sind Bezugspotentiale, die so unterschiedlich sind,
dass die Transceiver sterben.

Genau DAS ist das Problem, das hier einige nicht kapieren.

In jedem Fall gibt es bei differentieller Übertragung DREI Verbindungen. 
Ob eine davon jetzt durch die Fahrzeugkarosserie hgergestellt wird, 
spielt keine Rolle. Und beim Projekt des OP ist das zusätzliche Teil 
vermutlich NICHT fest mit der Karosserie verbunden, also braucht er 
mindestens 3 Leitungen plus evtl. Betriebsspannung.
Gast #780237
Lesenswert?

Ich denke, hier wird einiges zusammen in einen Topf geworfen.

1. Gemeinsamme Betriebsspannung : GND sollte nicht als 3. Leitung für 
den Bus verwendet werden, bereits eine Masseverbindung über das Chassis 
besteht => Masseschleife. Empfänger und Sender sind schon (über die 
Karosserie) Massemäßig verbunden. Da darf die Potentalunterschied 
(Shifted Ground) nicht zu groß werden, sonst Tranciever kaputt.
Gut das F'Dor die Application Notes vom Infineon TLE6251 ansprichst.

http://www.infineon.com/dgdl/HighSpeedCAN-AN.pdf?folderId=db3a304412b407950112b408e8c90004&fileId=db3a304412b407950112b416f93221e8

Ihr möget euch mal Absatz 2.3.6 zu Gemüte führen.

2. Getrennte Versorgungsspannungen : Eine GND Leitung ist nicht 
erforderlich, da differentieller Bus.

> Das einzige Problem sind Bezugspotentiale, die so unterschiedlich sind,
> dass die Transceiver sterben.

Das nenntr sich auch Ground shift. Also "gemeinsamme" Masse, da nicht 
galvanisch getrennt, oder anders herum eine elektrische Verbindung 
besteht.

> Beispiel: CAN-Teilnehmer1 hat seine Masse bei 0V, CAN-Teilnehmer2 hat
> seine Masse z.B. bei 80V -> wenn diese nur über die beiden CAN-Leitungen
> verbunden sind, führt das zum vorzeigen Ableben des Transceivers, da die
> absoluten Pegel dann eben 80V+2.5V sind...

Sollte sich dieser Satz auf Getrennte Versorgungsspannungen beziehen: 
Ohne Masseverbindung gibt es diese 80V nicht, sondern nur die 
Differenspannung.
Gast #780767
Lesenswert?

Um noch mal eben auf die Eingangsfrage zurückzukommen (die Sache mit dem 
GND sollte man vielleicht in einem anderen Thread austragen...):
Die reinen CAN-Daten abzuhören ist sicherlich hardwaremäßig kein 
Problem. Wenn du jetzt aber versuchen möchtest, Fahrzeugdaten 
(Geschwindigkeit, Drehzahl, Temperatur, what ever----) als Klartext auf 
einem Display auszugeben, muss ich dir leider sagen, dass du da nahezu 
keine Chance haben wirst. Die ID's sind absolute Firmengeheimnisse und 
es ist quasi unmöglich da ran zu kommen. Es gibt allerdings von einigen 
Autofreaks diverse Versuche experimentell an die nötigen Infos zu 
kommen. So weit ich weiß bis jetzt aber ziemlich erfolglos.
Sorry für schlechte Nachrichten
viele Grüße
Soe

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren