Maxon epos24/5 über CAN parametrieren

Hallo, ich würde gerne bei einem neuen Projekt meine maxon epos 24/5 Regler über CAN Bus parametrieren um diese dann im Step/Dir Mode zu benutzen. Leider benötige ich dazu aber einen Master und wollte dafür einen Mega mit Can Shield einsetzen. Hat das vielleicht schon mal einer gemacht und könnte mir somit eventuell etwas unter die Arme greifen. Meine Programmierkenntnisse sind eher dürftig, komme aus dem Hardware Bereich.
Würde mich freuen wenn mit in der Angelegenheit einer helfen könnte.

Gruß Leines

Hallo,

ich glaube das Teil kommuniziert eher über CANopen, das ist ein Industrieprotokoll was CAN als Übertragungsweg benutzt. Darauf deutet auch hin, dass du von einem Master sprichst. Beim normalen CAN-Bus gibt es keine Master.

Die normalen Libraries zu einem Arduino CAN-Shield oder Arduinos mit eingebautem CAN (Teensy 3.x oder Due) reichen dafür nicht. Ich bin mir nicht sicher, ob es da was fertiges gibt.

Ist bei dem epos irgendwelche Software dabei ? Bei denen auf der Webseite steht es wären Beispiele für verschiedene CAN-Adapter für PCs dabei. Die kommen in der Regel auch nicht mit CANopen.

Hallo,
bei dem epos ist eine Studio Software dabei, damit bekommne ich den Regler auch in den Zustand den ich möchte. Leider kann der Regler die Parameter aber nicht speichern und benötigt daher einen Master. Du meinst also CanOpen mit Arduino Mega und Seed Shield geht nicht? Das wäre schade.
Gruß

Naja, geht nicht habe ich nicht gesagt. Aber einfach vermutlich nicht.

Soweit ich das überblicke, funktioniert CANopen so ähnlich wie die Kommunikation einer SPS mit verteilten IO-Modulen. Der Master ist relativ komplex, der hat eine Art Prozessabild mit seinen Slaves und deren Funktionen. D.h. er muss erst konfiguriert werden, damit er funktioniert.

Die einzige mir bekannte freie CANopen Implementierung ist canfestival. Das gibt es auch für AVR, wie hier steht
http://www.canfestival.org/doc
(links auf "Supported Devices" klicken)
D.h. aber nicht, dass es direkt in der Arduino IDE läuft.

Hier hat wohl mal jemand dran gearbeitet

Ist wohl seit 2 Jahren eingeschlafen. Andere Projekte noch länger.

Eventuell macht ein Raspi mit entsprechendem CAN-Board mehr Sinn, oder ein Linux Board mit integriertem CAN (Beaglebone, manche Banana Pi, usw.). Denn in der Tabelle bei canfestival steht, dass SocketCan unterstützt wird, das ist die Standard CAN Schnittstelle unter Linux. Den Arduino müsstest du da dann anschliessen, wenn er noch für was anderes gebraucht wird.

Ansonsten bleibt wohl nur die CANopen Spezifikation besorgen und selber zur Tat schreiten ...

ArduFE:
Die einzige mir bekannte freie CANopen Implementierung ist canfestival.

Kaum schreibt man das, findet Google noch eine

Da wird zwar kein Mega erwähnt, aber es gibt da SAM3X (Arduino Due) und mbed LPC1768. Das sind zumindest mal typische ARM Bastelboards.

Hallo, vielen Dank. Das werde ich mir mal ansehen. Ich verstehe allerdings nicht ganz was das Seeed Can Shield dann für eine Aufgabe hat. Ich dachte das könnte für solche Projekte verwendet werden. Hab da übrigens auch was gefunden, bekomme aber keinerlei Komunikation zu Stande.

http://forum.arduino.cc/index.php?topic=225789.0

Selbst die relativ einfachen Beispiele bei der Seeed Bibliothek zeigen keinerlei Reaktion mit dem Regler.

Gruß
Leines

Leines:
Ich verstehe allerdings nicht ganz was das Seeed Can Shield dann für eine Aufgabe hat.

Du hast offensichtlich noch nicht das Problem verstanden. Du hälst CAN und CANopen für das gleiche.

Genauso könnte man dann sagen Profibus und RS485 wäre das gleiche. Was natürlich nicht stimmt. Profibus verwendet RS485 zur Übertragung. Aber der Inhalt der Daten ist dann das Profibus Protokoll. Genauso verwendet CANopen einen CAN-Bus zur Übertragung. Der Inhalt der Daten ist dann das CANopen Protokoll.

Dein Shield kann nur CAN, von CANopen weiß es nichts. Aber natürlich braucht man erstmal die CAN-Hardware um CANopen machen zu können ...

Hallo, die Sache läuft jetzt, der Regler "spricht" mit mir. Muss nur noch alle nötigen Objekte ins Programm eintragen und hoffen das ich bei den vielen Parametern nichts vergessen habe.
Gruß

Hallo,

danke für die Rückmeldung. Offensichtlich gibt es ja da doch eine Doku, die beschreibt welche Teile des CANopen Protokolls da verwendet werden.