Der CAN-Knoten

canknotenkomplett_klein.jpgAls Grundlage für den Bus habe ich eine Platine mit der Größe 50mm x 80mm erstellt.
Diese Platine beinhaltet alle Komponenten die für eine Nachrichtenübertragung mittels CAN notwendig sind. Neben einem ATMega32 als Mikrocontroller befindet sich auf der Platine noch ein FT232 um eine Anbindung mittels USB an einen PC zu erlauben und ein MCP2515 CAN-Controller. Zudem sind wichtige Schnittstellen wie UART, SPI und I²C herausgeführt. Außerdem besteht die Möglichkeit 8 analoge und 8 digitale I/Os zu verwenden.
Da der MCP2515 nur das CAN-Protokoll bereitstellt und keinen CAN-Transreciever beinhaltet, muss dieser noch zusätzlich mit in die Schaltung eingebracht werden. Der CAN-Transreciever (in meiner Schaltung ist es ein MCP2551) übersetzt dann die Signalem, die der CAN-Controller über TXCAN oder RXCAN ausgibt in die passenden CANH und CANL Pegel.
Die gesamte Beschaltung für den MCP2515 sieht dann so aus:

Grundbeschaltung-MCP2515 MCP2551

Die Kommunikation mit dem FT232 und dem MCP2515 übernimmt der Mega32, der mit einem 16MHz Takt arbeitet. Die Ports A und C sind über 10-pol Wannenstecker nach außen geführt. Zudem befindet sich auf der Platine ein 3-pol Anschluss für den UART, der z.B. dafür verwendet werden kann um einen externen MAX232 oder ein XBee Funkmodul anzuschließen.
Der I²C ist zusammen mit einer 5V Versorgungsspannung herausgeführt und kann über einen 4-pol Stecker abgegriffen werden. Der SPI des Mega32 kann über den 10-pol ISP Stecker verwendet werden.
Jeder Knoten wird mit einer Spannung von 12V versorgt. Ein kleiner Schaltregler erzeugt aus diesen 12V die benötigte Spannung von 5V. Die 12V Versorgungsspannung liegen zudem auch an dem 4-pol CAN-Connector an. Dadurch ist man in der Lage nur einen Knoten mit einem 12V Steckernetzteil zu versorgen und alle anderen Knoten die am Bus angeschlossen sind werden automatisch mit versorgt.

 

-> Zurück zum CAN-Bus

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload CAPTCHA.