ODrive Voltage Bus reading through CAN Problem

Hi everyone,

I am trying to get the vbus reading from ODrive through CAN Protocol, but these are the problem we have:
-When we try to read the voltage info, it responds the encoder position value for each axis, so vary. We are using remote transmission messages and does works with encoder estimates lectures but not voltage.

-Also, we send a message though CAN Linux Candump according to the ODrive CAN specs, but when we send the RTR message, we obtain variable values (trash info) and not about voltage.

I am using CMD ID 0x017 to form the Frame as ODrive CAN documentation describes.

Does anyone have implemented ODrive voltage reading through CAN before? Could not find any source

1 Like

-cansend can0 017#r

-candump can0,0x017:7ff

example output:
can0 017 [0] remote request
can0 017 [8] 27 FB DF 41 00 00 00 00
can0 017 [0] remote request
can0 017 [8] CD DB DF 41 00 00 00 00
can0 017 [0] remote request
can0 017 [8] CD DB DF 41 00 00 00 00
can0 017 [0] remote request
can0 017 [8] 73 BC DF 41 00 00 00 00

Floating Point to Hex = 28.072V

2 Likes

Thanks for the answer.

I am still having problems with the battery. Again I only can receive messages from encoders but no the voltage lecture.

you can try to update to the latest firmware version.

Are you using the correct CAN node ID? 0x17 is the command ID but you need to OR that with the node ID (either one that’s configured on the drive)

What message code do you send to get the response (on another device than Raspberry)?

  • Note: These messages are call & response. The Master node sends a message with the RTR bit set, and the axis responds with the same ID and specified payload.

I got the Node and CommandID correct, being able to sent it position commands
TxMsg.id = (TxNode << 5) | TxCmd;

Sending an empty message buffer doesn’t return anything, so what data needs to be in there?
Sent 0x037 LEN: 8 DATA: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00

As per the other thread, you need to set the RTR bit. It is not part of the ID or data