Arduino und CAN via SPI

Gast #3302346
Lesenswert?
• ▲
▼
Hallo,

ich betreibe einige kleine Automatisierungen und Steuerungen auf 
CAN-Basis. Jetzt möchte ich einzelne kleine "Teiljobs" ausgliedern, und 
den jeweiligen Prozess mit Parametern aufrufen. Parameter sind z.B. 
Zeiten, mit denen die Ventile abwechselnd angesteuert werden, oder 
Sollwerte. Diese Steuerung möchte ich in einen Arduino Due 
implementieren. So kann ich genauer und zuverlässiger Ventilzeiten 
einhalten, als über den PC direkt gesteuert.

Der Arduino soll eine CAN-Schnittstelle haben. Eine Möglichkeit wäre der 
MCP2515 als CAN-Controller, dieser lässt sich aber nicht so einfach 
programmieren. Deshalb überlege ich gerade, das ganze wie unten 
gezeichnet aufzubauen. Der AT90CAN128 geht natürlich nicht direkt auf 
CAN, sondern über einen CAN-Transceiver. Den AVR würde ich also "nur" 
als Kommunikationsschnittstelle zwischen CAN und SPI verwenden. Für den 
AVR habe ich auch schonmal Programme erstellt, es geht hauptsächlich nur 
um das Senden einzelner Frames mit 8 Byte an eine Bestimmte Adresse.

Ist diese Vorgehensweise sinnvoll, bzw. gibt es eine einfachere, um 
CAN-Frames mit dem Arduino auszutauschen?
                ________
Sensor 1 --->  |         |
Sensor 2 --->  |         |          __________
Sensor 3 --->  |         |         |            |         ___
Sensor 4 --->  |         |   SPI   |            |  CAN   |     |
               | arduino | <-----> | AT90CAN128 | <----> | PC  |
Ventil 1 <---  |         |         |            |        |_____|
Ventil 2 <---  |         |         |____________|
Ventil 3 <---  |         |
Ventil 4 <---  |_________|

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.