All of our motors were working just fine on the 2020 version of the FRC drive station and motor controller firmware, then one day the right side stopped working. Since then we’ve updated the robrio to 2021. When we got on the phoenix tuner 4 controllers would not show up, even though previously they had. They all happened to be on the right side of our robot. We found one motor controller that seemed to link the left side to the right side in the BUS chain. We took it out, rewired it, but the 4 controllers on the right side are still not showing up. A mentor had told us it could be the CAN, power or programming issue, but we don’t know where to look. All the motor controllers have power though, and it’s the same program we had used previously and has been updated for the 2021 as well.
Does anyone have any other ideas of what we can try to trouble shoot?
I agree with your mentor it sounds like a CAN bus issue. Can you trace CAN from your MC to the roboRIO and PDP?
If that doesn’t yield anything I would try just wiring one of the motor controllers in (so roboRIO -> MC -> PDP) and verify that works and continue adding from there.
We checked yesterday, everything is wired in order. We had one controller that was wired funny, so we had to take it out, rewire and put it back in.
Is it possible it could be a blown circuit? The 4 motor controllers that are the issue were all after the one we had to rewire, in the CAN. Could the bad wiring have caused a short? If that is the case how would we go about fixing them? Would it be as simple as changing out a fuse or could it be more than that?
CAN is low power so wiring it backwards shouldn’t hurt anything.
You can measure resistance (from CTRE docs):
Measure resistance between CANH and CANL when system is not powered (should measure ~60Ω). If the measurement is 120Ω, then confirm both RIO and PDP are in circuit, and PDP jumper is in the correct location.
I apologize for my lack in terminology. The CAN wires on the suspect motor controllers didn’t have proper connectors attached. Everything after that one wasn’t working, so we assumed(hoped) the problem was with that controller. We thought we rewired it properly(and maybe we did) but it still didn’t work. Last night we took it out of the CAN entirely and after that everything showed up perfectly, and ran and at least did what the code was telling it to do.
I guess a follow up question would be is how can we tell if that specific motor controller is still good, or if it’s just junk. I suppose put it in a chain by itself, test it, then add another motor controller and see if it works properly. Any ideas on how to do this easily? That will probably be a project for after season. Being our third year we don’t have too many spare parts to play around with yet.
I was worried you might have had the power leads wrong and fried the controller or something.
We usually use a testbench (many times that testbench is on a robot) for this kind of thing. See this thread for ideas.
The other thing to consider is how you are connecting your CAN wires? There are MANY different solutions but picking one that leads to being able to quickly swap things in and out is the biggest factor after ruggedness IMO and the main reason why we don’t solder ours. We use the 221 Lever nuts and have found them both reliable and easy to swap in and out.
A blown controller shouldn’t normally affect the controllers downstream, since the CAN leads are terminated together in the SPX or SRX (and I assume Spark Max).
Completely agree on that theory. At competition I have heard of problems with this. I don’t know what the actual cause was (a lot of times problems like this have other factors) and it couldn’t really be troubleshot so the easiest solution was to take it out