I have 3 Odrive Pros configured as Nodes 0, 1, 2. Teensy 4.1 and Microchip MCP2562FD CAN FD transceiver. I’m running the example sketch from the Odrive page Controlling ODrive from an Arduino via CAN. When I run the sketch with only node 0 connected, the servo operates correctly. If I disconnect node 0, connect node 1, edit and run the sketch (#define ODRV0_NODE_ID 1), the servo at node 1 operates correctly. Same for node 2. However, when I connect the three nodes together using the nanofit CAN cables, I cannot get any of the servos to operate. I update and run the code (#define ODRV0_NODE_ID X) but none of the three nodes respond. Node 2 has the DIP switch to enable the 120 Ohm resistor and I checked that there is 60 Ohms between the CAN High and Low.
Anectode: At one point with all 3 nodes on the bus and the code running for Node 2, Node 2 did actually start operating, after about 10 minutes of “Waiting for ODrive…” I’m not sure what to make of that.
Also I tried looking for heartbeats from the 3 nodes with my scope. I was able to view the messages but I am a novice and will probably need a couple weeks to interpret the can protocol page.
I beleive this is a fairly basic implementation so I am kindly requesting if there is anything obvoius that I am missing in terms of hardware, configuration, implementation of the example code, or otherwise. Thanks!
The configs for the nodes are all identical except the node ID: