Hello, my team keeps on having problems with our CAN. We keep on disconnecting or our CAN gets cut even during competition and then we are dead for the rest of the match. How do you ensure your can will never break? We have thought about switching over to star CAN but the problem is that a lot of the devices don’t support it. We have also thought about getting a CANivor to have two can networks running, is it worth it? . What do you do to ensure a stable CAN network on your robot?
Why is your can network disconnecting? Poor connections, wiring mistakes, etc. Most likely changing topology will just create more issues than you currently have.
I suggest that you attempt to make the can network disconnect while the robot is on. Drive it into a wall, shake it as much as possible, etc. If you are able to replicate it, then narrow down where the issue is and reinforce that area so it won’t disconnect again. Use wago nuts instead of the 2 pin connections they come with normally.
We had had all sorts of issues, of bad placement where it gets caught, where they get pulled, get cut by other mechanisms on and also where they just randomly disconnect.
We currently use locking Molex crimp and housing like these
https://www.digikey.com/en/products/detail/molex/0016020119/1656197
https://www.digikey.com/en/products/detail/molex/0050579402/115029
We have had problems where the crimp would come out of the housing too. Would wago nuts still be better than these?
One thing you can try is just zip typing the CAN wires to structural elements on your robot. This will keep the wires tucked away and likely decrease the chance of the wires being damaged.
What crimper are you using with these?
I’m a big fan of wago 221-412
It sounds like you’ve already identified most of your problems. Route all wires into safe areas. Use wire ties liberally. Tie to holes in the belly pan, other electronics boards, or structural members. Use sticky wire tie anchors where there are no holes and it is impractical to add them. Where CAN or any wires need to be placed on moving mechanisms, it is doubly-important to plan good routes, retain securely, and have sufficient wire to handle movement.
Those Molex connectors are inherently fine, but poor crimps on the pins or improper pin insertion can still cause connection problems. Without good crimpers and good training on crimp technique, these connectors can be troublesome. There are tons of topics on CD with ideas and opinions on how to create reliable CAN wiring. Some options other than locking Molex connectors include:
- soldering
- Wago 221 series connectors
- CANdaisy connectors
- compact screw terminal blocks
- compact screwless terminal blocks
- wire tap connectors
- more if you search CD
More to some of the questions in the original post…
A CANivore does not, by itself, fix CAN reliability problems. If you divide your CAN into multiple networks, you can reduce the chance that one problem takes down everything. However, a subset of devices going down is still likely to be a major issue. Note that a CANivore is only compatible with the newer CTRE devices. It is not compatible with the Spark MAX.
A bus topology (not really a “star” topology, but more of a trunk with branches as described in the CAN spec) can help with reliability if any branch line is broken. The problem would be limited to the single device on the branch. If the trunk line is broken, it could still impact multiple devices, though.
If you are using Spark MAX controllers in a daisy-chain CAN topology, I strongly recommend using the V2 can wires from Rev. If any CAN wire gets unplugged from the Spark MAX, these wires will maintain the continuity of the daisy-chain and limit the problem to a single device.
If you’re using spark maxes and plugging the CAN wires together, use these:
You should have a bunch that came with the Spark Maxes. They keep the wires from unplugging from each other.
Clips, sticky squares, zip ties, and careful cable routing will help tremendously.
It also sounds like you aren’t driving and testing everything enough.
Remember, if you test it at home and it breaks, you’ll have time to fix it. If the comp is the first time you drive the robot at 100%, you’ll be in for a rough comp.
As @Attention stated, test your robot at home first, no holds barred. I hit our robot on the bumpers with a 2x4, on all sides. I have the driver run the robot into a concrete wall at full speed. Similarly, I “torture” the circuitry I design for work, especially in areas that I suspect it is weak. This results in circuitry that only fails when the customer has truly abused it.
You should be doing a pull test on each and every connection as soon as it is made.
Wires that have been caught in mechanisms may have been damaged internally. Use a meter set to Ohms or continuity and measure the resistance of each wire that has been caught in a mechanism. It should read some low value, below 4-5 Ohms. While measuring the resistance, have a second person stretch the wire in the region where it may have been damaged. It is possible the resistance jumps to a high value if the conductors have been broken inside. The wire may also be very easy to stretch in that section, and go to a smaller diameter, confirming that the conductors are broken.
Make sure when you route the wires that none of them are tight so that they pull on the connectors at the two ends. This can lead to damage to the conductors internally. It also makes it difficult to re-terminate the wire if it needs to be re-stripped. I always allow 1-2 inches of slack at each end.
This is adequate free length to eliminate any lateral bias that prevents the terminals from floating in their shell. Make sure that about 1/2 inch of wire is coming straight out of the shell then a gentle bend toward the tie-down or twist is allowed.
Mini-Fit Jr. Spec and good advice for the SL, too
Make sure the terminals aren’t being “over-crimped” (too much pressure) and looking a little like a banana shape. Terminals must still be straight after crimping so they can float in their shell.
A terminal cannot come out of the shell if the barb is properly set. That’s fairly easy to test first with a visual inspection to see if the barb looks like it’s in the capture hole and then verify with a gently tug.
[See, also, other CD threads such as crimp inspection ]
Some cable raceways, semi-rigid loom (split or not), or soft braided sleeves can be helpful to prevent snags and loose cables but they still have to be routed and tied down. Don’t put terminals inside that type of cable management product, though, unless absolutely necessary and then well marked as to the hidden connection within.
A second CAN bus is useful if the primary CAN bus is heavily loaded say from 12 CAN devices for swerve modules. OP didn’t indicate that was a problem, though.
We had similar issue during an off season event this fall. Robot was fine during two competitions and tons of practice, but summer updates to mechanisms evidently “jostled” things around enough to introduce failures.
We had used a terminal block to connect CAN wires in a start topology. Somewhere along the way a green wire was making contact with a yellow wire intermittently. Caused systems to fail to respond.
This can happen at the connection points at the RoboRIO, PDP/PDH, and PCM. Make sure those connections do not have any crossover happening.
There are two common causes for adjacent wires shorting to each other.
The first is that too much insulation was removed and/or the wire was not fully inserted into the connector. The user manuals for all the FRC control system components I have looked at all showed what the strip-length should be. It is also printed on one side of the Wago lever nuts. If the strip-length is in the correct range and the wire has been inserted properly, the plastic of the connector should overlap with the insulation of the wire so that no bare conductors is visible.
The second is that not all strands of the wire went into the connector. It is best to gently twist the wires so they are “neat” before inserting. If the strands of the wire are already “jumbled up” and messy looking, it is better to cut it off and re-strip the wire. This is one of the reasons I recommended leaving 1-2 inches of slack at each end.
It is best to use a bright light to look around where the wires enter the connector body. Anything shiny can be indicative of either of the two issues above.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.