Can Protocol Questions


I want 3 Odrives (6 motors) communicating with each other for a 6 DOF robot. I have read all that I see in the forum and the manual of odrive and I (correct me if I am wrong) have come to understand that I have to use the CAN PROTOCOL. :sweat_smile:

Although I am searching the web, I have some things that I don’t understand.

  1. What do I need for the Can protocol to be established? Do I need a special module (Can Bus Module) or it can be achieved without any module?
  2. Do I need a microcontroller for the robot to control everything or I can make do with only the 3 Odrives?

You will need a brain for the robot, which will speak CAN to the three ODrives. Take a look at the CAN Guide I’ve started:

1 Like

I’ve read everything that you sent and I want to test the raspberry connection.

From your guide I saw that I need a rasp and a CAN hat but my question is, for the 3 ODrives that I have, is this combo enough? Or do I need more rasps and CAN hats?

From this I understand I probably need 3 Can hats.

No, CAN is a shared bus. You can connect all 3 ODrives to the same bus, and all you need to do is make sure you are using a different axis.config.node_id for each axis, and that only one of the three ODrives has the 120R switch set for the termination resistor. :+1:

1 Like

Perfect! :grin:

I will try it and return with more questions when I have all the components!

Thank you for your help