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.
Although I am searching the web, I have some things that I don’t understand.
- 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?
- 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:
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 https://www.waveshare.com/product/raspberry-pi/2-ch-can-hat.htm 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.
I will try it and return with more questions when I have all the components!
Thank you for your help