Arduino und CAN via SPI

Gast #3302346
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

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.