Table of Contents

CAN Grundlagen

CAN (Controller Area Network) wurde 1986 von Bosch entwickelt, um Kabelbäume leichter und effizienter zu gestalten. Das Bussystem ist also gut dafür geeignet, in einem 3D Drucker zur Verkabelung eingesetzt zu werden. Die Vorteile liegen klar auf der Hand:

YouTube Video #48


verwendete Hardware

Buskoppler

Ein CAN Buskoppler kommt immer dann zum Einsatz, wenn das Gerät keinen nativen CAN Anschluss besitzt.

Transceiver

Der CAN Transceiver stellt die Verbindung dar zwischen den CAN Daten die geschrieben und gelesen werden sollen und dem physikalischem CAN BUS. Er „übersetzt“ sozusagen die Daten in passende Bussignale. Von diesen Transceivern (= Gerät was lesen und schreiben kann) gibt es eine ganze Menge, jedoch sind sie sich alle ziemlich ähnlich - meist kleine 8 pinnige ICs. Hier eine kleine Übersicht:

Verkabelung

DC- bzw NF-mässig will man ihn meistens (aber nicht immer) nur einseitig angebunden haben, um Masseschleifen zu verhindern. Daher wird meistens eine Seite nur kapazitiv geerdet. Der Kapazitätswert liegt typßisch zwischen 100 pF und 10 nF.

Um zu vermeiden, dass sich der Kondensator auflädt wird meist ein Entladewiderstand parallel geschaltet. Das sind typ. 470k - 1M.

Kabel

Stromberechnung

Wer noch Strom zum Kopf führen will sollte das vorher mal grob überschlagen. Gehen wir mal von 24V aus und ca. 60W Heizpatrone. Dazu kommen vielleicht nochmal 0,5A an Strom für die Elektronik. Dann bedeutet das wir müssen ca. 60W/24V = 2,5A + 0,5A = ~3A zum Kopf transportieren. Gehen wir weiter davon aus das im Drucker ca. 3m Kabel lieben (und das wäre schon arg lang) dann hat ein Kabel mit 0,5mm² Querschnitt überschlagen ca. 0,11Ω an Leitungswiderstand. Damit lässt sich dann der Spannungsabfall berechnen … U = R*I = 0,11Ω * 3,0A = 0,33V. Am Kopf kommen also von den 24V ca. 23,7V an. Das passt :-)

http://www.e-formel.info/elektrotechnik/leitungswiderstand.html

Endwiderstände

Wie im Schaubild oben zu sehen ist muss der CAN Bus am Ende mit jeweils einem 120Ω Widerstand terminiert werden. Wenn diese Endwiderstände nicht vorhanden sind kommt es auf dem Bus zu Signalreflektionen und damit früher oder später zu Störungen. Man muss allerdings aufpassen wo und wie viele Widerstände “aktiv” am Bus hängen. Denn viele Boards bringen die Möglichkeit mit diese 120Ω zu aktivieren. Auf einigen Boards (wie z.B. die billigen eBay CAN Transceiver) lässt sich der Widerstand auch gar nicht deaktivieren (mittels Jumper).

Deshalb immer 2x hinschauen wo sich am BUS Kabel Widerstände befinden. Die Widerstände sollten immer am Ende des Kabels sein. Bei einem Drucker ist das oft direkt vorgegeben. Es gibt einen Buskoppler am Raspberry PI und ein Drucker Board z.B. am Druckkopf. Beide haben in der Regel einen 120Ω Widerstand direkt verbaut und der BUS ist damit sauber terminiert. Hängen aber mehrere Teilnehmer am CAN Bus kann das durchaus ein Thema werden. Im Zweifel Messen

Wer sich unsicher bezüglich der korrekten Terminierung ist kann dies mit einem Digitalmultimeter (Ohm Messung) prüfen. Dazu alle Elektronik erstmal stromlos machen! Dann kann man mit dem Ohmmeter den Widerstand zwischen der L und H CAN Leitung messen. Dabei sollte das Messgerät ~60Ω anzeigen (Das Ergebnis von 120Ω parallel zu 120Ω). Ist das Ergebnis kleiner ist garantiert ein Widerstand zu viel aktiv am Bus. Misst man hingegen 120Ω fehlt ein Widerstand - bei unendlich Ω fehlen beide ;-)

CAN Bridge Mode

Macht das Sinn? Druickerboard eh nahe am Pi → USB Kopf per CAN

Probleme

Unterschiede CAN / USB

CAN (Controller Area Network) und USB (Universal Serial Bus) sind beide Bus-Protokolle, die zur Übertragung von Daten zwischen verschiedenen Geräten verwendet werden. Es gibt jedoch einige Unterschiede zwischen den beiden Protokollen, die zu unterschiedlichen Vor- und Nachteilen führen.

Vorteile von CAN gegenüber USB

Nachteile von CAN gegenüber USB

Vorteile von USB gegenüber CAN

Nachteile von USB gegenüber CAN