www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CAN Bus im Fahrzeug auslesen und auf Display anzeigen


Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> drei Bus leitungen

Der Bus besteht aus nur 2 Leitungen.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was wild du genau für Daten auslesen?

Autor: Micha B. (chameo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, CAN-H, CAN-L und Masse sind drei Leitungen auch wenn letztere 
keine Busleitung ist.

Ein nettes Board mit Demo-Code gibt es hier:

http://www.kreatives-chaos.com/artikel/can-testboard

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Masse wird nicht benötigt. CAN ist ein Differenzieller Bus.

Autor: Dude (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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! ;)

Autor: Bensch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Masse wird nicht benötigt.

Wirklich? Auch ohne galvanische Trennung?

Autor: Michael H* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die macht ja im auto auch so viel sinn?? und ja, auch ohne... das ist 
gerade der trick an differentiell.

Autor: F'Dor (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Bensch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.....

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: F'Dor (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: F'Dor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Otto

Recht hast Du!!!

Autor: Bensch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für eure Hilfe!

Warum braucht man diesen MC2515? Ist der ATCAN nicht ausreichend?

Gruß,Sebi

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du meinst bestimmt den MCP2515 und das ist ein CAN-Controller. Der ist 
quasi schon im ATCAN eingebaut.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?f...

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.

Autor: Meister Eder (edson)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Warum braucht man diesen MC2515? Ist der ATCAN nicht ausreichend?

Du meinst den MC2551, das ist der Transceiver für die CAN-Hardware des 
uC.

>Du meinst bestimmt den MCP2515 und das ist ein CAN-Controller.

Ich glaube nicht, dass er das meinte... ;)

Gruss,
Edson

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich glaube nicht, dass er das meinte... ;)

Wer weiß das schon ;-) .

Autor: Meister Eder (edson)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine reine Glaubensfrage...

Autor: Soe (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.