CANCoder Issue

I am the programming mentor and I have been handed our new swerve test bot. I am having an issue with the CANCoders on our new SDS Mk4 Swerve mods…
The CAN bus comes up and all the Falcons are flashing orange and all the encoders are flashing rapidly green. When I bring up Phoenix I can see and address all the falcons but none of the CANCoders. The CAN wiring goes from falcon to encoder to falcon to the next swerve mod. So I know the signal is getting to the encoders.

I see there is a difference between a bright green and a dim green in the documentation. However having seen only one brightness I can’t tell if is the bright or the dim, though since it is failing I would guess dim.

It does seem odd they are all failing the same way. Also since they are new I would expect the them all to ID as zero and conflict but I am not seeing that in Phoenix tuner.

Any ideas on the diagnostics to figure out what is going on?

1 Like

Can you post pics of the wiring on the CANCoders? How are you powering them?

1 Like

Can you show a picture of the wiring and describe anything outside of the picture?

edit: sniped

1 Like

I am beginning to suspect the soldering the mech lead did. I did have to resolder a power line or two.
I don’t see a short on the can wiring but it looks pretty bad. It is being powered off the 12v 500 mA vrm PXL_20211218_171153710|375x500

1 Like

They do blink red first before they go to the green, so I believe it is a can failure.

1 Like

Yeah I would redo that soldering just out of principle as there is tons not done right there. You want to pull the wire all the way through. I just picked a random video (didn’t review much) but this looks correct. Looks like it was soldered from the front not the back.

2 Likes

Yeah, that’s bad soldering. Not sure if there is a short but that’s worth redoing or cleaning up. It looks like there is a serious chance of a cold joint or at least a joint that isn’t properly connected.

Still not up, I will give it a try tomorrow when I can get some solid 20awg. Kind of worn out now. I resoldered and did a better job but still not great. I do find it strange that even with the student soldering that all 4 had the same issue. I am assuming if the 2 high or low can touch each other then the signal doesn’t make it to the coder and it is possible but seemed strange.

1 Like

It’s hard to tell for sure, but the wire gauge might be too large (if these are the wires from the Falcons, should be good). I agree about the soldering, but it’s interesting that CAN works on both sides of these devices and that they seem to be getting power. I’d suggest testing individual CANcoders, with nothing else on the CAN bus. You can assign IDs while you are at it. If you are redoing the wiring anyway, this is a good thing to do, before you finish the wiring.

3 Likes

Yeah, this seems like the best approach. Get it working with 1 first. I have a feeling it is the power lines somehow not providing power to the CANCoders but I’m not certain.

It is getting some power as it is lighting up the LEDs.

If they are getting powered correctly then it’s the CAN bus. Would try bringing them up one by one and slowly adding more components to the bus. Might even be good to start with only a single CANcoder.

Plan to reduce to just the cancoder tomorrow, though it is strange that all the motors came up on the bus and the can coders and motors were wired in series on the bus.

2 Likes

While you have these isolated, be sure to check the firmware version they are running, just in case.

1 Like

We had the same exact issue with our cancorders–even though all of them are connected and lighting properly. Most likely you’re running your can from the robo rio through your motors and then through your can coders and then into your PDP you can actually trick the system into thinking that everything is connected properly but there is probably a discontinuity somewhere between the cancorders.

If you unscrew the screws on the covers off the cancoders you can jiggle the internal wires lightly to see if you have a solder issue.

Our layout is RIo, falcon, encoder, falcon, falcon, encoder, falcon, falcon, encoder, falcon, falcon, encoder, falcon, TalonSRX, PDP. All falcons show can and show in phoenix, no encoders show. All encoders are powered as they light up, they light red then go to dim flashing green. So the code says can issue, but it is very odd the the rest of the can shows. I can change motor names and IDS.

Might as well take a pic of your CAN ids tab displaying all of the connections?

Not at the bot now, will pick up tomorrow.

When I try to do just one (plus the srx and the pdb it still doesn’t come up. I wonder if all 4 got somehow damaged in the initial soldering since they were initially soldered top side. Again these CANCoders are powered as they light up, they don’t break the CAN chain as subsequent items show up. But none of the 4 do show up

1 Like