CAN BUS not detected error

Hello,

We recently just assembled a new drivetrain and when we powered it on, our talon srx’s and victor spx’s were alternating off/red signifying a CAN BUS not detected error. Our PDP lights were both flashing red. We made sure our RIO firmware and image were up to date. Our CAN BUS wiring, per the talon srx user manual goes from the rio, to a talon, to another talon, and so on until it reaches the PDP for the end. We tried switching the rio but that did not help. When we pull up the Phoenix Tuner and connect it to the robot, it successfully connects but no motor controllers show up on the CAN devices tab, which makes sense. We tugged and pulled the CAN wires and they are all sturdy and firm. They are soldered together. I won’t have acess to the robot until next week so I won’t be able to test anything.

Thanks in advance for all the help.
-Dario

1 Like

I think the first place to start would be to get out your meter and start checking for continuity. Also, verify that you have the jumper for the terminating resistor in the PDP active. Those are the common reasons I’ve seen for CAN to fail.

Ok will do. I’m curious on the terminating resistor because last season we actually ran our CAN BUS from the rio -> PDP -> Talons/Victors and never ended it and it worked fine. We then changed it for our second comp and wired it the right way and it worked the same way.

Double check you’ve got CANH and CANL (yellow and green) the same way the entire way down.

Start with one device on the bus, then add another, until it breaks.

Yup will do. Let’s say I accidentally switched the yellow/green mid way down the CAN BUS chain, would the first part if the chain be working or would the whole chain be faulty? I know for a fact that the first talon is wired correctly and if there is an error down the line, then it would explain why nothing works if all of it disables.

If there’s an issue down the line, then the entire bus breaks. Because the devices that have CANH and CANL switched will be trying to pull the bus in different directions than the rest of the devices.

Ok thank you. I will next check next week.

You might also try a connectivity test with a multimeter, and make sure that the green and yellow lines aren’t shorted together.

I actually saw this problem on a robot this year. Turns out an overzealous student had overtightened the bolts holding the Victor SPX onto the electronics board and had slightly crushed the case. This must have been enough to short the two CAN wires on the board inside and took down the whole CAN network. I would highly suggest backing off all of your fasteners just a little bit to see if the problem is resolved. We watched the case spring back to normal and the CAN bus started working normally instantly.

One of the quick tests you can perform is to check for proper termination of the CAN bus.

From the description of your system, the only place you probably have open terminals is at the PDP. The PDP provides the ability to land two sets of CAN wires, one each green and yellow.

With the power to the robot off, you should be able to use a multi-meter (set to read resistance) to check the resistance between the un-used Yellow and Green terminals. The correct reading between these terminals is 60 ohms. If you are reading 120 ohms, you have at least one open connection in the chain. If you are reading 0 ohms, then you have at least one shorted termination pair in the chain.

1 Like

Oh wow, we also tighten-down our speed controllers fairly strong so I’ll test that out. Thanks for the tip.

Ok, so I just tried checking for continuity and it passed. No shorts. I touched one end of the yellow wire and touched the other end and the multimeter told me there is continuity, however Phoenix tuner doesnt pick up the motor controllers.

You also did this test for the green wire, correct? CAN uses both wires, if one has continuity and the other doesn’t, that’s probably your problem.

And what were your measurements for the resistance between yellow and green (CANH and CANL)?


If you still can’t figure it out, isolate each device and test them one at a time.

Since your CAN wires are soldered together, I’d first try powering off every device except one (remove the breakers are the easiest way to do this) and see if it blinks orange/can be seen by Tuner. If no device behaves, then you have to physically isolate each device from the network and test it. Look into the Initial Hardware Testing and Bring Up: CAN Bus sections of the Phoenix Documentation.

Yes, I also tested the green wire. I did not test the resistivity. I cut each wire and just plugged in the first motor controller on the rio and that still flashes an error, however, when I unplug and replug the breaker for the 1st motor controller, it flashes yellow for like half a second and then goes to alternating red/off. It is connected, and when I restarted the server it worked

To confirm, you had 1 Talon who had 1 pair of CAN wires going to the RIO, the other pair floating in the air and not touching each other. This caused the talon to blink red, and Phoenix Tuner could not see it.

If that’s the case, try other controllers with the exact setup. If it’s consistent across controllers, there’s something we’re missing, and a picture of the setup would help a lot.

Also make sure there’s no connectivity between the wires. If CANH (Yellow) is connected to CANL (green), then that’s an internal short which is an issue.

It works, it was a faulty Victor SPX, thanks for the help.

1 Like

I’d suggest sending an email to CTR’s support team at support@ctr-electronics.com to see what the issue with the SPX is. It’s possible it’s something that you can fix and use it elsewhere. In any case CTR always likes to know about faulty hardware so they can improve on it in future revisions.

1 Like

When you state ‘no connectivity’ perhaps a better statement is that there aren’t any direct shorts. You should see 60 ohms if the bus is properly connected.