Mystery CAN issue - irregular status lights

Hello everyone. I’m writing this after a full team meeting (2.5 hours) waisted on a CAN issue that has brought our team to a standstill. Any help would be much appreciated.

Summary: status lights on CTRE devices show no CAN connection. Phoenix Tuner confirms this by showing no devices. However, using a multimeter from one end of the bus to the other shows connection all the way through with around 3 Ohms of resistance (not including the terminating resistor of course). Additionally, on the 4th power cycle, each device started showing strange status lights:

Sparks: flashing rapid yellow then slow blue

Can coders: rapidly flashing between green and red with no pattern

Falcons: back and forth red with patternless flashes of orange

Please help in any way you can.

If the bus is good, try checking for conflicting can ids within your bus. We found that conflicting cancoder ids caused some really strange blink patterns on the cancoder and Falcons in this year’s robot.

2 Likes

I would wager you have a wiring issue. Starting at the roborio, trace your way to the first can device. Disconnect everything downstream and test that the device is visible. Continue adding devices back one at a time and verifying they appear on the bus. Be very methodical and don’t take shortcuts or skip devices. As you go, make sure each device has a unique ID.

5 Likes

Seconding this advice, since it will capture the CANid issue along it’s process. You have measured low resistance across your bus (…Tbf 3 Ohm isn’t extremely low…), but that doesn’t rule out either line-line (green to yellow) or line-ground (CAN to chassis) fault.
Plus you’ll find any green-yellow mismatches. I’ve had one lucky team have two, so the end of the bus and start of the bus ring out correct but the faulting still occurs :upside_down_face:

4 Likes

Just to add to the above. The easiest way to implement is to use a long CAN bus extension and bypass all devices can only connect the RoboRIO and the PDP. Check phoenix to make sure it can see them all. Now, add in 1 device at a time back into the chain and repeat the check using phoenix after each check.

Before you do all these, make sure that you have wired all the motor controller’s battery wires to the battery and that each fuse slot has the appropriated fuse installed too.

1 Like

Keep in mind that because can is passthrough, a device without power will simply have dead power lights but the can signal will pass through it with no issue. So non-powered components are easy to “see” and diagnose, but have no effect on the can bus.

2 Likes

The culprit:

5 Likes

After a set of connections are made, the person doing the work should be checking each and every wire to ensure it is connected correctly. Then have someone who is meticulous check it all again, wire by wire, connection by connection. One should only apply power only after all the connections are verified to be correct. It sounds tedious and it is. It sounds like it takes a while and it does but it takes much less time than trying to troubleshoot it while it is doing weird and unexplainable things.

1 Like

Quick update: out team continued to run into several can issues in the following weeks, which we ended up fixing by purchasing a CTRE CANivore. We put all of our drive train motors, encoders, and Pigeon IMU on the second CAN bus. This basically ended all the can issues we have had this season. I guess that’s what happens when you have 26 CAN devices on one bus.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.