Hi, Ich versuche gerade einen Roboter via CANopen zu steuern. Den Motor kann ich schon mal ein- und ausschalten. Jedoch bewegen die Achsen überhaupt nicht. Folgendes habe ich bereits gemacht : 1. Um den Roboter bewegen zu können, muss ich den Button A und Joystick in eine Richtung bewegen. Zunächst habe ich den Button A gedrückt und geguckt welcher CAN id seinen Wert ändert : 181h änderte sich auf 0A 00 09 00 00 00 00 FB. Danach das Joystick nach rechts bewegt, dann hat 281h seinen Wert auf 00 00 00 FA 6F BD 00 FB. 2. Nun habe ich versucht den Roboter ohnen meinen Remote Controller zu bewegen, indem ich zunächst 0A 00 09 00 00 00 00 FB nahc 181h sende und 00 00 00 FA 6F BD 00 FB nach 281h. 3. Keine Reaktion vom Roboter. Habe ich hier etwas vergessen ?
181h und 281h sind TxPDOs...sprich Nachrichten ausgehend vom Roboter. Wenn du den Roboter füttern möchtest, sind 201h, 301h, 401 interessant. Da ich die 80h sehe, ist wohl auch SYNC aktiv. Dann musst du nach dem absenden deiner RxPDOs auch die SYNC abschicken. Nutze besser mal die trace Funktion von CanView um wirklich alle Nachrichten zu sehen.
Danke für das Tipp. Habe das nochmal mit RxTDO und Trace ausprobiert, jedoch keine Reaktion. Nach dem ich den Roboter mit meinem Joystick bewegt, konnte ich eigentlich nur an einem RxTDO(301h) Traffic feststellen (siehe catched.png). Dieses Message habe ich dem 301h gesendet, diesmal mit Sync (siehe transmitted.png). Was ich jedoch auf dem Tracefenster feststellen konnte war, dass zwischen meine Transmissionen immer wieder jede Menge Rx Traffics auftauchen, siehe trace_after_transmission.png. Ist das vielleicht der Grund, warum meine Transmission ignoriert wird?
Im Moment tappst du noch völlig im Dunkeln. Dein Ziel ist es doch zu verstehen, was sich hinter den PDOs verbirgt und dies dann auszunutzen. Dafür brauchst du das PDO Mapping. Dies ist entweder gespeichert oder wird nach dem Einschalten vom Master in einer Init-Sequenz übergeben. Das könntest du mal überprüfen indem du eine Aufzeichnung beim Powerup machst. Dafür solltest du aber schon etwas mehr über CanOpen wissen. Ich empfehle dir dich da einzulesen. Du solltest schon wissen welche Nachricht auf dem Bus welche Bedeutung hat. Wenn da beim Powerup nichts ist, musst du weiterhin durch probieren herausfinden, welches Byte welche Bedeutung hat.
Ich denke ich habe den Fehler gefunden. Der Fehler liegt wirklich an dem Remote controller. Mein Roboter ist jetzt so aufgebaut, dass ich ihn nur über meinen Remote-Controller einschalten kann, aber dadurch sendet der Remote Controller auch CAN Messages die ganze Zeit. Gibt es eine Möglichkeit diese Messages zu blockieren? Am liebsten nicht die ganze Messages vom Remote-Controller, sondern nur ein paar, damit ich den Notausschalter noch drin habe.
J. L. schrieb: > Gibt es eine Möglichkeit diese Messages zu blockieren? Am liebsten nicht > die ganze Messages vom Remote-Controller, sondern nur ein paar, damit > ich den Notausschalter noch drin habe. Bau ein Gateway dazwischen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.



