Understanding CANBUS operation - Page 1
Forum section: electronics / beginners

author: anvoice
author_rank: Frequent Contributor
timestamp: June 20, 2025, 05:56:58 am
content: Trying to design CAN connectivity into a project, but have trouble understanding something. The differential pair is pretty clear, as is CAN ground. I understand that CAN can also transfer power, hence a 4th wire. However, something like an Odrive micro servo controller with 2 CAN connectors for daisy-chaining also uses 4-pin connectors with propagated power, and the possibility to tap into logic power for any single Odrive via jumper on the CANPWR connection. I can only think of one scenario in which this could be useful: connecting a chain of devices, some of which are not servo controllers, to the same CAN bus. Then one can daisy chain power from one device with its own power supply (and only one assuming there is a potential for mismatched voltages, otherwise several could connect their internal power as it is the same exact voltage, eg. VBATT from the same battery) to power non-servo-controller devices which would otherwise need separate power wires. In all other cases where only servo controllers are used on the bus, propagating power seems useless as each servo controller necessarily has its own power wires to handle the motor's current.Is my assumption correct? If so, there is no harm in propagating CANPWR, to other servo controllers (same VBATT), but it's also not necessary. For example, I could have 10 servo controllers on the same battery with the CANPWR wires connected or disconnected, in any configuration (i.e. either internal CANPWR connected to VBATT or not) and everything would work properly? Assuming I use a proper 120Ohm terminating resistor on the last device of course.Part of my confusion stems from the CAN example diagram Odrive presents, reproduced here. They have seemingly no CANPWR wires at all, which led me to explore valid use cases.

author: PGPG
author_rank: Frequent Contributor
timestamp: June 20, 2025, 07:33:24 am
content: Quote from: anvoice on June 20, 2025, 05:56:58 amI know nothing about devices you design/use, and I have never used CAN, but...I can imagine if for example for motors is used higher voltage (like 24V or 48V) but servo controller logic can need for example 3.3V. Instead of converting 48V into 3.3V in each device it can be easier/smaller/cheaper to propagate 5V between all of them and linear down regulate into 3.3V (specially if we are speaking about connection length measured in cm and not hundreds of meters).

author: jwet
author_rank: Frequent Contributor
timestamp: June 25, 2025, 02:52:21 am
content: I'm familiar with CAN but not in ODrive's config. I looked at ODrive's docs a bit and its pretty confusing. I'm not sure if I follow your issue really- I'm sorry. I'd give them a call for some clarification- these are top dollar modules and they should have good support.From what I can tell:They call the ODrive Pro- "semi isolated" which sounds like it has an extended common mode range transceiver. This is usually +-25v, which means they are only looking at differentials and don't care what Vin- or CAN gnd or logic gnd is doing.The ODrive S1 and the controller say they are "non isolated" which I assume means that they have CAN Standard Common Voltage of -2 to +7v. This means that the bus will work even if CAN high and low are -2 to +7 above/below CAN Gnd. This gets you out of gnd imbalances.The business of distributing power from module to module I think is only for stuff local to you. You don't want to run power any distance- this is inside the same box/ground domain.Maybe you can clarify and I could help but calling the vendor is what I'd do.

author: anvoice
author_rank: Frequent Contributor
timestamp: June 25, 2025, 07:13:29 am
content: Thanks for the answer. The main issue is I don't understand what the point of the propagating power line in a chained configuration, unless you are powering something other than another servo controller (which each has its own power).There also seems to be some confusion: I don't own the Odrives, I'm in fact designing my own (similar) controller and would like to have CAN configured for it. This is the reason I need to understand what Odrive has done with their implementation.

author: jwet
author_rank: Frequent Contributor
timestamp: June 25, 2025, 10:52:08 am
content: I would call Odrive's support. I think that's fair. Take care.