CAN
How CAN is used to communicate with all electrical components on the robot.
A CAN bus (or controller area network) is how the roborio communicates with the rest of the robot. (and how your car communicates with its different parts) It consists of two wires, yellow and green (high and low) which are twisted together and strung in a loop through nearly every electrical component on the robot.
Each component gets its own unique CAN ID and can be addressed individually from the RIO without having to run a separate set of sensor wires for each motor (like those nerds in FTC have to do).
Conveniently, a robot can have more than one "loop" (although they are not actually loops, they are terminated at the end. Sounds a lot more dramatic than it is.) one is provided in the rio, and another can be added via a CTRE Canivore (which is actually faster for some reason, and thus we use it for our swerve.). This makes wiring simpler and, if something malfunctions on some part of the CAN bus, half the robot will remain working.
Nearly every component that we use on the robot will have two sets of CAN wires built in (some small components, such as some sensors, use their own wires that plug into the rio. They suck), and a large portion of the job of the electrical subteam is to connect these wires to neighboring components in the loop. At the end of the "loop", there is a CAN TERMINATOR. (its just a 120 ohm resistor between the green and yellow wires) CAN termination is necessary to get a reliably working CAN bus, for various confusing reasons. The reason that we refer to each bus as a loop is that there is built in termination in the PDH, which is often placed near the Rio.
All of our CAN wires are connected via molex. For how to crimp molex, visit this.
Last updated
Was this helpful?