Themen:

AVR, avr-gcc, CAN, CPLD, Elektronik, Mikrocontroller, MSP430, PIC, Roboter, Schaltungen, Sensoren, Software, Testboards

CAN Testboard

Tags: AVR, Schaltungen, CAN, Testboards
Stand: 7. August 2006, 17:35
33 Kommentar(e)

Ein Testboard mit einem ATMega 8 und einem MCP2515 CAN Controller um ein bisschen mit dem CAN Bus herum zu spielen. Neben CAN gibt es auch noch Anschlüsse für I2C und RS232 (für die Verbindung zum PC).

CAN Testboard

Features

Software

Für das CAN Testboard gibt es jetzt auch ein Tutorial zur Ansteuerung des MCP2515.

Außerdem existiert eine CAN-Bibliothek welche die gesamte Ansteuerung des MCP2515 abstrahiert, so dass man CAN-Nachrichten verschicken kann ohne genau wissen zu müssen welche Werte in welche Register eingetragen werden müssen.

Downloads:

avr_can_testboard.zip [532.02 kB]
mcp2515_demo.zip [17.49 kB]

Zum Anfang

Kommentare

# kai meinte am 8. November 2006, 20:59 dazu:

Hallo,

leider fehlt hier der Download zum Board/Schaltplan

MfG Kai

# Fabian meinte am 9. November 2006, 00:19 dazu:

In der Tat, die Verlinkung fehlte. Hab’s korrigiert.

# crigri meinte am 15. November 2006, 22:45 dazu:

Hi Fabian!!!

Ich muss hier mal ein FETTES LOB los werden!!!! geile seite!!!!

hast du elektronik studiert oder woher kommt dein wissen :)?

mfg cri

# KoF meinte am 9. Dezember 2006, 14:09 dazu:

Wie groß ist in etwa der compilierte code für den mcp2515?

# Fabian Greif meinte am 9. Dezember 2006, 15:53 dazu:

Der Code für den MCP2515 sind bei mir in etwa 1 kByte ohne größere Optimierungen. Falls man es darauf angelegt kann man aber auch noch ein Menge einsparen, da nicht immer alle Funktionen benötigt werden.

# Wambly meinte am 21. April 2007, 10:00 dazu:

Alles hier sehr interessant und klar strukturiert, echt super!!!!

Kann man mit dem Board auch bestehenden CAN ?sniffen? und eventuell debuggen?? (mithorchen und auswerten??) Möchte meinen Haussteuerbus Onlineloggen.

# Uwe Reinersmann meinte am 25. April 2007, 15:34 dazu:

Hallo Fabian, sehr viel Lob für die Seiten. Gibt es das CAN Board auch fertig? Wenn ja wo und zu welchem Preis? Gruß: Uwe Reinersmann

# Fabian Greif meinte am 26. April 2007, 12:06 dazu:

Nicht das ich wüsste.
Wenn noch mehr Leute Interesse haben könnte man eine Sammelbestellung auflegen, ansonsten bleibt aber leider nur das selber ätzen/fertigen lassen.

# Maximilian meinte am 10. Juli 2007, 11:53 dazu:

Kann man vielleicht eine Liste der genutzen Bauelemente machen. Denn soviel Erfahrung im Schaltplan lesen habe ich leider nicht. Will ja nichts falsch machen!

# Fabian Greif meinte am 20. Juli 2007, 20:48 dazu:

So, ich bin endlich mal dazu gekommen einen Bauteilliste mit Reicheltbestellnummer usw. zu erstellen. Zu finden im Archiv unter partlist.*
Viel Spass damit ;-)

# Tobias meinte am 27. September 2007, 08:52 dazu:

Hallo zusammen,

unter http://www.roboternetz.de/phpBB2/viewtopic.php?t=24234 gibts einige Leute die das Board gerne über Bascom programmieren würden. Könnt ihr da unetrstützen?
Tobias

# Dirk meinte am 3. März 2008, 15:05 dazu:

Gibt es die Platine zufällig fertig geätzt und gebohrt? Würde mir etwas Zeit und aufwand ersparen :-)

Gruß Dirk

# Stefan meinte am 2. April 2008, 11:29 dazu:

Hallo der MCP 2515-I/P ist bei Reichelt nur noch als SMD verfügbar. Kennt jemand eine gute Quelle für die DIP-Version?

Gruß

# Marco meinte am 9. Mai 2008, 08:25 dazu:

@ Stefan

Ja bei Farnell.de ist der MCP 2515-I/P in DIP-Version (noch) erhältlich.

Gruss Marco

# Mike meinte am 5. Juni 2008, 10:40 dazu:

Farnell: B.Nr.: 1439391 Typ MCP2515-I/P

Hat jemand zufällig eine geätzte Platine zuviel?

# adlerweb meinte am 21. November 2008, 11:19 dazu:

Die DIP-Variante gibts auch noch bei DARISUS.de

# WoS meinte am 6. Dezember 2008, 17:54 dazu:

Hallo,
ich würde mich gern mit einklinken wenn es darum geht evtl. eine Sammelbestellung der Platine zu starten. Oder hat sich jemand mehrere fertigen lassen und hat eine über? ^^

Grüße WoS

# Spitti meinte am 12. März 2009, 20:49 dazu:

Hallo, sehr schönes Testboard. Wie ich sehe hast du das alles schön in Eagle geplant. Könntest du wenn es möglich Wäre deine Eagle Library, die du für die nötigen Teile (MCP2515, CAN Stecker,… ) Auch online Stellen, sodass ich diese Bauteile nicht noch Definieren muss, Danke schonmal im Voraus.

# Dr.CKone meinte am 7. August 2009, 21:54 dazu:

Hallo, habe die MCP2512 und MCP 2551 als DIP Version bei TME.PL bestellt. Jeweils 2 IC?s (also zusammen 4) für 18,- Euro inkl. Port. Ist ok. Zahlung per Paypal, Liefverung innerhalb von 3 Tagen

# André meinte am 21. Januar 2010, 18:29 dazu:

Hallo,

den MCP 2515-I/P gibt es wieder bei Reichelt.
MCP 2515-I/P bei Reichelt

Gruß André

# Nils meinte am 8. Juni 2010, 10:12 dazu:

Hallo,

mit welcher Software wurde der Quelltext programmiert, umgewandelt und auf das Board übertragen?

Gruß, Nils.

# Fabian Greif meinte am 8. Juni 2010, 15:36 dazu:

Der Quelltext wurde damals mit dem Programmers Notepad 2 geschrieben, heute würde ich eher Eclipse verwenden.

Umgewandelt bzw. compiliert wurde mit avr-gcc und mit avrdude auf das Board übertragen.

# Gerd meinte am 12. Oktober 2010, 08:18 dazu:

Die Library ist schon wirklich sehr klein. Für viele Netzwerkaufgaben völlig ausreichend - dafür vielen Dank denn es spart mir eine Menge Arbeit.

Mit Eclipse zu arbeiten mag auf einer Linux-Büchse eine erleichterung darstellen, unter Windows ist Eclipse für einen Atmel umständlich. Das fängt schon mit dem Debuggen an. Würde Eclipse auch Source-Level Debugging unterstützen wäre Eclipse sicherlich eine gute Wahl. Die IDE von ATmel (WinAVR) ist ja nicht gerade ein Musterbeispiel für eine gelungene IDE. Mir fehlt vorallem die Zeilennummerierung im Editor. WinAVR wird nicht weiterentwickelt, daher wird es wohl früher oder später alternativen geben. Gruß Gerd

# Micha meinte am 28. Mai 2011, 09:49 dazu:

Thanks, greate work! If anybody has a hard time with Error Frames on the CAN-Bus try to add an 10k resistor between RS and GND next to the mcp2551. It worked for me. Micha

# Ben meinte am 4. Oktober 2011, 15:08 dazu:

Hallo,

ich habe einmal eine Frage bezüglich des Codes: Was passiert bei der Anweisung RESET (MCP2515_CS)?

Mir ist klar, dass RESET (x) als _XRS (x) definiert ist. Jedoch verstehe ich nicht, was das MCP2515_CS aussagt, und was genau mit dem _XRS (x) passiert. Wird dies dann in das Makro _XRS (x,y) umgewandelt? Wobei ich dann nicht verstehe, für was das y steht.

Danke schon mal.

Grüße, Ben

# Fabian Greif meinte am 5. Oktober 2011, 22:41 dazu:

MCP2515_CS ist zum Beispiel als C,2 definiert. Damit wird RESET(MCP2515_CS) im ersten Schritt zu _XRS(C,2) aufgelöst und dann zu PORT(C) &= ~(1<<2) und dann zu PORTC &= ~(1<<2).

Grüße Fabian

# Joachim Daemmig meinte am 15. Oktober 2011, 21:06 dazu:

Hallo, ich habe ein Problem das mich schon mehrere Tage beschäftigt. Mit einem PCAN Adapter kann ich den CAN mithören, allerdigs feuert der Atmega8 CAN ununterbrochen so dass PCAN zum Senden den BUS nicht arbitrieren kann. Auch nicht mit einem höher priorisierten Identifire. Ausserdem sollte doch nur eine Message über den Bus gehen. Das gleiche Verhalten existiert mit der Library. Vieleicht habe ich auch etwas falsch verstanden. Ich währe fuer einen Tip sehr dankbar. Vielen Dank im voraus und beste Grüsse.

Joachim Daemmig

# Joachim Daemmig meinte am 26. Oktober 2011, 17:34 dazu:

Hallo, ich habe mein Problem in zwischen gelöst. Nachdem die Kommunikation zwischen zwei Karten einwandfrei lief hat sich bei der Untersuchung herausgestellt daß die Schutzbeschaltung des PCAN den Pegel im Acknowledge-Slot zerstört.

Grüße Joachim

# Gottfried Hauer meinte am 9. November 2011, 23:14 dazu:

Ich würde gerne dieses Board nachbauen und mit dem Can-Bootloader betreiben. Wenn ich das Programm richtig verstanden habe müßte ich die defines für diese Schaltung wie folgt anpassen
define BOOT_LED B,0
define MCP2515_CS B,2
define MCP2515_INT C,3
die Boot Led müßte ich noch an B0 anschließen und im make file müßte ich ATMEGA8 und zb 4MHZ einstellen.

# Fabian Greif meinte am 14. November 2011, 13:38 dazu:

Anstelle von B0 kannst du auch jeden beliebigen anderen freien Pin verwenden. Oder falls du die LED nicht brauchst kannst du sie auch komplett weglassen. Dazu einfach das Define komplett löschen.

Aufpassen bei:

#define MCP2515_INT C,3

Die Interrupt Leitung hängt nicht an Port C3 sondern D3!

und im make file müßte ich ATMEGA8 und zb 4MHZ einstellen.

Genau.

Grüße Fabian

# Marcel meinte am 31. Januar 2012, 20:04 dazu:

Hallo Fabian,

in deinem Schaltplan ist der ResetPIN vom AVR nicht an den ISP-Programmer angeschlossen. Wenn ich dies an einer meiner Testschaltungen (ähnlich deinem Board) auch weglasse, komme ich gar nicht erst in den Programmiermode. Mache ich irgendetwas falsch oder programmierst du den AVR anders?

Liebe Grüße

# Fabian Greif meinte am 31. Januar 2012, 20:27 dazu:

in deinem Schaltplan ist der ResetPIN vom AVR nicht an den ISP-Programmer angeschlossen.

Doch. Ist nur im Schaltplan leider nicht zu erkennen. Die Leitung heißt auch “RESET” und ist so indirekt mit den restlichen Leitungen verbunden. Ohne Reset ist, wie du schon bemerkt hast, kein Programmieren per ISP möglich.

Grüße Fabian

# Fabian Greif meinte am 14. Juni 2013, 08:43 dazu:

Kommentare wegen zu viel SPAM geschlossen. Weitere Fragen/Kommentare bitte per E-Mail an mich.

Grüße Fabian