CAN Bus im Elektroauto
Der CAN Bus wird seit vielen Jahren in allen Autos eingesetzt um elektronische Komponenten mit einander kommunizieren zu lassen. Wer ein Fahrzeug auf elektrischen Antrieb umrüstet, benutzt oft Komponenten wie Ladegerät, BMS, Motorsteuerung und andere Geräte, die CAN Bus fähig sind. So muss man sich früher oder später mit dem schwierigen Thema auseinandersetzen.
In diesem Beitrag möchte ich mich mit der “Hardware” beschäftigen!
Die CAN Sofware ist HIER beschrieben.
Der CAN Bus hat den Ruf, störunanfällig zu sein. In einem “normalen” Auto wird es auch wenig Probleme geben, wenn wir aber einen Elektromotor verbauen, sehen wir uns schon bald mit einigen Problemen konfrontiert: Die Leistungselektronik des Motors und die hohen Spannungen und Ströme verursachen massive Probleme, auch auf dem CAN Bus! Der CAN Bus im Elektroauto wird dich also vor einige Herausforderungen stellen!
Bei mir hat es dazu geführt, das wenn der Motor eingschaltet war, der CAN Bus komplett zusammengebrochen ist. Doch dazu später mehr! Wir wollen uns erst einmal damit beschäftigen, wie ein CAN Bus überhaupt funktioniert!
Inhalt:
Der CAN Bus
Der CAN Bus ist in der ISO11898 definiert und eine 2-Draht Topologie, das heißt, es werden prinzipiell nur 2 Drähte für die Datenübertragung benötigt, CAN High und CAN Low. Meistens werden aber noch 12V+ und GND zur Spannungsversorgung anderer Geräte mitgeführt, GND außerdem als Spannungsrefferenz für die Datenleitungen. Dies ist aber unter normalen Bedingungen selten notwendig.
Die maximale Leitungslänge wird mit 40m beschrieben und Stichleitungen dürfen 0,3m lang sein. (Dies gilt aber für hohe Übertragungsraten, bei niedrigeren Übertragungsraten sind Kabellängen bis zu 1000m möglich.)
Im rezessiven Zustand, also wenn CAN High und CAN Low kein Signal führen (was logisch 1 entspricht) haben beide Leitungen 2,5V gegen Masse. Zwischen den beiden Leitungen gemessen, beträgt der Signalpegel somit 0V.
Im doninanten Zustand ist der CAN High Pegel bei 3,5V und der CAN Low Pegel 1,5V. Zwischen den beiden Leitungen gemessen, beträgt der Signalpegel somit 2V.
CAN Verkabelung
Wie verkabelt man einen CAN Bus? Die CAN Teilnehmer oder Geräte werden immer in Reihe geschaltet, nicht sternförmig.
- Die beiden CAN Datenleitungen müssen verdrillt sein und am besten geschirmt!
- CAN Kabel haben einen Wellenwiderstand von 120 Ohm.
- Die Leitungen sollen einen Querschnitt von mindestens 0,35mm2 aufweisen.
Professionelle CAN Kabel sind aufgrund der Spezifizierung dick, steif und teuer! In Fahrzeugen werden allerdings meistens nur die beiden Datenleitungen verdrillt und ungeschirmt ausgeführt.
Alternativen
Günstige Kabel und Stecker/Buchsen stehen mit RJ45/CAT Netzwerkkabeln zur Verfügung. Die Adern sind paarweise verdrillt und geschirmt. Am besten nimmt man CAT6 / S-FTP Kabel. Für RJ45/CAT stehen auch wasserdichte Verbinder zur Verfügung, ich habe diese genommen: Aliexpress, Xintylink wasserdichte rj45 stecker
Sie haben den Vorteil, das man normale Kabel mit konfektionierten Steckern nehmen kann und sie sind angeblich IP67. Dafür sind sie aber auch recht teuer.
CAT Netzwerkkabel entsprechen nicht der CAN Norm für taugliche Kabel! Der Leitungsquerschnitt ist dünner und CAT hat einen Kabel Wellenwiderstand von 100 Ohm anstatt 120 Ohm, die bei CAN vorgeschrieben sind!
Da wir aber nicht hunderte Meter verlegen und die Knoten (Teilnehmer) sich in Grenzen halten, ist es problemlos, CAT Kabel zu verwenden.
Ein Wechsel der Kabeltypen unterschiedlicher Wellenwiderstände ist nicht zulässig und sollte vermieden werden!
CAN Terminierung
Ein CAN Bus wird am Anfang und am Ende mit einem 120 Ohm Widerstand abgeschlossen, also einen Widerstand zwischen CAN-H und CAN-L. Dieser Widerstand entspricht dem Wellenwiderstand von CAN Kabeln!
CAN Bus Geräte werden prinzipiell in Reihe geschaltet und nicht sternförmig. Abzweigungen von 0,5m stellen idr. kein Problem dar.
Wenn ein Gerät (z.B. der Motorcontroller) über CAN programmiert wird, ist auf alle Fälle hier darauf zu achten, das die CAN Bus Terminierung am Programme ist und eine Terminierung im Fahrzeug entfernt wird.
Ich habe ins Auto eine DBD2 Buchse zum progammieren eingebaut, die ich bei nichtgebrauch mit einem Blindstecker terminiere. (also einen Stecker der einen 120 Ohm Widerstand zwischen CAN-H und CAN-L hat). Dies ist dann im Normalfall ein Ende des CAN Bus.
Wellenwiderstand und Terminierung
Um zu verstehen, warum der Wellenwiderstand eines Kabels und die Terminierung mit einem Widerstand wichtig ist, hier eine kurze Erklärug (Quelle: mikrocontroller.net)
- Eine Leitung gibt an einen Lastwiderstand volle Leistung nur bei einem bestimmten Strom/Spannungsverhältnis ab. Wenn der Lastwiderstand ein anderes Strom/Spannungsverhältnis erzwingt, wird ein Teil des Stroms oder der Spannung in die Leitung reflektiert. Der Widerstand, bei dem z.B. Impulse reflexionsfrei übergeben werden, ist der Wellenwiderstand.
- Durch die Geometrie einer Leitung werden Kapazitätsbelag und/oder Induktivitätsbelag verändert. Aus dem Verhältnis Kapazität/Induktivität lässt sich ein Widerstand errechnen, dies ist der Wellenwiderstand.
CAN Bus auf Funktion überprüfen
Wer ein 2 Kanal Oszilloskop zur Verfügung hat, kann bei Problenen prüfen, ob die CAN Datenübertragung physikalisch OK ist.
Wir verbinden eine Prüfspitze mit CAN-L und die andere mit CAN-H. die Massen der Prüfkabel werden mit der CAN Masse/GND/B- verbunden.
Im Ruhezustand sollten beide Signale einen Wert von etwa 2,5V anzeigen, bei einem Signal wechselt die Wellenform CAN-L von 2,5 V auf 1,5 V und die Wellenform CAN-H wechselt von 2,5 V auf 3,5 V.
Dieses Signal solle möglichst ohne Störfrequenzen zu messen sein und die Spannungen sollten halbwegs stimmen!
CAN störungssicherer machen
Die Störanfälligkeit des CAN Bus in einem Elektrofahrzeug kann deutlich verbessert werden, wenn jedes CAN Gerät eine spezielle Schaltung zum Bus hin erhält.
Die Schaltung ist zum CAN Bus hin mit Masse verbunden und hängt vor jedem CAN Teilnehmer!
Ein CAN Transceiver mit Splitverbindung scheint prinzipiell störunanfälliger zu sein, als die Transceiver (MCP2550) mit nur 2 Anschlüssen.
Hier sein noch einmal darauf hingewiesen, das die Widerstände RT/60 Ohm natürlich nur an den beiden Enden des CAN Bus eingebaut werden dürfen, bei allen anderen Devices werden sie weggelassen!
Die Schaltung im Bild links besteht im wesentlichen aus 4 wirksamen Bestandteilen:
- Der ESD Protector ist ein Bauteil, das Überspannungen vom CAN Bus wirksam gegen GND ableitet (z.B. PESD1CAN von NXP)
- Die Kondensatoren CH und CL, die hochfrequente Störspannungen dämpfen (je 100pF)
- Der Common mode choke (Gleichtaktdrossel) der induktiv Gleichtaktstörungen filtert (z.B. B82789C0104H001 von EPCOS)
Erklärung: Ein Stromsignal fließt durch einen Leiter in den Verbraucher und im anderen wieder zurück. Das ist ein Gegentaktstrom. Störsignale auf ein Kabel werden idr. in beide Leiter induziert. Das nennt man Gleichtakt, der Strom fließt in beiden Kabeln in eine Richtung. Dieser Strom wird in einer Gleichtaktdrossel gedämpft. - Die Split Termination RT bestehen aus 2x 60Ohm, die über den Kondensator CG (4,7nF) geerdet sind und einen Tiefpassfilter für das Gleichtaktrauschen im Netzwerk schaffen. Die Widerstände und der Kondensator erzeugen einen RC-Tiefpassfilter. (Die Split Termination darf natürlich nur am Anfang und am Ende des CAN Bus eingesetzt werden.)
- Die Split Verbindung zum CAN Bus Device darf nur verbunden werden, wenn wir einen CAN Transceiver einsetzen, der Split Termination unterstützt (Bild rechts)! Bei allen anderen Transceiver Bausteinen wir die Verbindung nicht gesetzt (z.B. MCP 2550/2551).
Die Schaltung im Bild rechts besteht zeigt den Transceiver TJA 1040 mit Splitverbindung:
Der Pin SPLIT liefert eine stabilisierte Gleichspannung von 0,5 VCC. Die VSPLIT-Schaltung kann zur Stabilisierung der rezessiven Gleichtaktspannung verwendet werden, indem Pin SPLIT mit dem Mittelabgriff der Split-Terminierung verbunden wird. Im Falle einer rezessiven Busspannung <0,5VCC aufgrund des Vorhandenseins eines nicht versorgten Transceivers im Netzwerk mit einem signifikanten Ableitstrom von den Busleitungen nach Masse, stabilisiert die Splitschaltung diese rezessive Spannung auf 0,5VCC. So verursacht ein Sendestart keinen Sprung im Common-Mode-Signal, der zu einem schlechten EME-Verhalten führen würde. (Philips Semiconductors)
Die Schaltung ist sehr wirksam, um EMV Störungen auf dem CAN Bus zu blocken. Trotzden ist eine wirksame Abschirmung der Hochvoltleitungen unverzichtbar. Diese Aussage trifft schon bei 48V Traktionssystemen zu, umsomehr bei 400V Hochvoltsystemen!
EMV Störungen sollten immer auf 2 Wegen vermieden werden:
- Schirmung der strahlenden Hochvoltkomponenten.
- EMV Filter an den Hochvoltleitungen und den niedervolt Busleitungen.
CAN Bus Probleme vermeiden
Die offensichtlichsten Rauschquellen sind die Komponenten des Übertragungskreises selbst, der Sender, die Leiterbahnen und Kabel, die Stecker und der Empfänger:
- Geschirmte CAN Kabel verwenden.
- Wasserdichte Steckverbinder verwenden.
- CAN Bus Geschwindigkeit reduzieren.
- Entstörfilter an den Geräteeingängen einsetzen.
- Auf eine saubere Versorgungsspannung der Teilnehmer achten.
- CAN BUS Transceiver: Wenn die Möglichkeit besteht, einen anderen Transceiver Baustein testen. (z.B. TJA 1040T, TJA1049 SN65HVD251, MCP2151).
- Bei selbst programmierten Teilnehmern den Code überprüfen. Hier verstecken sich auch gern Fehlerquellen.
IXXAT USB to CAN
Eine weitere Störquelle ist, das der IXXAT USB to CAN ein Problem mit zu langen USB Leitungen hat! Bei mir hat dieser Fehler dazu geführt, das der PC komplett abgestürzt ist. Es ist also empfehlenswert, die USB Leitung kurz zu halten und stattdessen die CAN Leitung länger auszuführen. 10m sind jedenfalls kein Problem, mit einem entsprechen CAN Kabel. Der IXXAT blinkt gern mal rot an der CAN Seite, d.h. das die CAN Verbindung nicht richtig steht. In diesem Fall am besten DVT schleißen und den GEN4 einmal aus und wieder einschalten!
Ein weiteres Problem ist, das sich der IXXAT bei mir nicht gut mit anderen USB Geräten vertragen hat. Am besten andere USB Geräte abstöpseln!
Mehr über generelle EMV Probleme im Elektrofahrzeug in diesem Beitrag!
Fazit
Wer den CAN Bus unter rauhen Bedingungen in einem Fahrzeug einsetzen will, muss einige Hürden nehmen. Was im Versuchsaufbau noch prima klappt, kann dann in der Realität zu einem Problem werden, da Störstahlungen, Überspannungen, Umweltbedingungen und längere Leitungen Fehlerquellen darstellen.
Beitrag wird fortgesetzt…..
Mehr über generelle EMV Probleme im Elektrofahrzeug hier im nächsten Beitrag: EMV im Elektroauto
Bei Fragen bitte die Kommentarfunktion nutzen!
Dies ist ein privater Blog. Brauchst du professionelle Hilfe zum GEN4, EMUS BMS, EV Umbau oder Programmierung? Dann bitte hier klicken!
Hi, toller Bericht erstmal Danke …
https://i.postimg.cc/gk7qryxp/can.jpg
Frage-1 Zum Verständnis … Sevcon Gen4 / Can Terminierung ist von Haus aus geschlossen ? ( Brücke – mit 120ohm ? kontakt Pins 2 und 27 )? (Es wird nur 1 Controller verwendet in meinem Fall)
Frage-2 :
Ixxat usb zu Can Compact Vers.x = Verbinder Ixxat 1.04.0075.03000 ( Endpoint mit 120ohm bereits integriert ) = Can Kabel 120ohm (0,5 – 0,75 Meter) = Gen4 Controller mit wiederstand 120ohm (zwischen Pin 13 und 24 = startpoint) ? Wäre das soweit richtig ? Oder sitzt der Wiederstand 120ohm nur in der Brücke von Pin 2 zu 27?
Frage-3 :
Sollte ich eine OBD2 Buchse zwischen setzen …. dann Gen4 Controller = 120ohm wiederstand zwischen 13 und 24 = 25cm Can leitung = bis ODB2 Buchse , hier mit 120ohm wiederstand für Pin 13 und 24 abschlusstecker drauf, bei nicht nutzung. Bei Anschluss Adapter zu Ixxat , ist bereits der wiederstand seitens Ixxat gegeben und würde wieder den kreislauf schließen ?
MfG
1. Pin 2 und 24 gebrückt schaltet die Terminierung ein.
2. Siehe 1.
3. ein Blindstecker, der bei nichtanschluss des Ixxat die Terminierung übernimmt, ist
sicher nicht verkehrt, habe ich auch so gemacht.