Okay, can we stop this thread naming convention?
You aren’t using Ferrules, nuff’ said.
It’ll stop when someone makes “Your Forum Sucks at Titles: Here’s Why”.
Edit: For the record, I do not endorse the post that was actually made because of this comment.
On a more practical note - This thread is lacking in descriptions of proper crimping tools, ferrules, anderson powerpoles (or other quick disconnects), CAN bus layouts, CAN connectors, PWM retention techniques, sensor selection, sensor placement, and sensor mounting.
With the exception of the location of the battery (consider carefully for best weight distribution), main breaker, and PDP the proper positioning of the mechanics should take priority. The FRC robot is so small that the CANbus length is of no concern. PWM wires must be shorter that CANbus wires but can still be quite long. Motors must be where they are most efficient and how much of the supply wires (versus load wires) are close to the PDP does not matter all that much. Finally sensors must be located in proper relation to the mechanics.
Why not help the OP out and add them (if you know them)?
(i dont claim to have the best knowledge of electronics myself, so if you see something wrong do point it out.)
The name should look and sound familiar already, the same connector is used for the battery. 4513 switched to these for their wiring in 2018 and hasnt looked back. This screenshot from the Andymark product page helps show how the wire should be inserted, and this video guide from Robots Explained is a good step by step tutorial.
Control Systems Layout
3128 has created a great diagram based off the 2015 wiring diagram FIRST released when the RoboRio first came out. I may be misreading what you mean by “CAN bus layouts, CAN connectors” but either way this is a pretty great thing to have handy.
The rest is a bit outside my understanding (and easy google searching) so hopefully someone can come in and help explain them (or you!) to help everyone out.
This thread wasn’t meant to explain how to set up the electronics system, just some common problems I’ve seen and ways of mitigating them. I’d say most of the stuff you listed falls under “learning how to set up the control system” which I mentioned you should do in the pre-season, or (for the sensor stuff) “how to improve mechanism control of an already working robot” which is beyond the scope of this thread. You’re welcome to add any pertinent information you see fit, but my goal with this thread was more “pro tips” and less “this is how you wire a robot”.
You don’t do robot configuration management
Have the electrical subteam create and promulgate a living, shared document that contains all the information about the configuration of the robot’s electronics. This workbook will be the rosetta stone that links together the hardware environment and the software environment. Now this information will become accessible to non-programmers who don’t know how to navigate the code. The doc will be essential during troubleshooting efforts.
This document is created on Kickoff Day. As soon as the team decides “Yep, we’re gonna build a FRC robot”, we already know a great deal about the electrical configuration… We know there will be a power distribution system, probably a drivetrain, probably at least one game piece manipulator, and probably an endgame device of some sort. Each of these will probably have sensors for closed loop control. We’ll fill in the details later as our design matures.
Here’s an example of what might be contained in the document… the following table lists the robot mechanisms that are controlled from each slot of the PDP on our 2019 bot:
PDP Fuse Controller Type CAN ID Breakout Subsystem Subsystem detail Wire Gauge Motor Type Total reduction 0 40A Victor 10 Drivetrain Slave R Rear 12 Mini-CIM 8.0 1 40A Victor 11 Drivetrain Slave R Mid 12 Mini-CIM 8.0 2 40A Talon SRX 12 quad encoder Drivetrain Master R Front 12 Mini-CIM 8.0 3 40A Talon SRX 13 Hall Effect limit RobotLifter Slave 12 775Pro 10.0 4 30A Talon SRX 14 1-turn Hall Sens Wrist Wrist 12 BAG 210.0 5 30A Victor 15 Floor Intake (cargo) 12 775Pro 4.0 6 30A Talon SRX 16 8-turn mag position Arm Arm (shoulder) 12 775Pro 190.9 7 30A Victor 17 Arm Arm (shoulder) 12 775Pro 190.9 8 30A Talon SRX 18 CargoGrabber end effector 12 RS550 9.0 9 30A Talon SRX 19 CargoGrabber end effector 12 RS550 9.0 10 5A Custom Circ Volt Display 18 - 11 5A Custom Circ Camera Limelights, Switch 18 - 12 40A Victor 22 RobotLifter Master 12 775Pro 10.0 13 40A Talon SRX 23 quad encoder Drivetrain Master L Front 12 Mini-CIM 8.0 14 40A Victor 24 Drivetrain Slave L Mid 12 Mini-CIM 8.0 15 40A Victor 25 Drivetrain Slave L Rear 12 Mini-CIM 8.0
Extend this document to also include description of what is connected to DIO slots, PCM slots, solenoid manifold slots, and more.
Have a place for the mechanical designers to enter information regarding the gearing relationship between encoders and the final output of whatever mechanism they’re controlling. Example, for the shoulder joint on our arm:
|analog 8-turn sensor goes here|
You’ve made the programmers, not the electrical team, responsible for managing the CAN network
The electrical students should initialize the CAN devices, debug the CAN network, clear faults, etc. Having high-level responsibility for managing the CAN network, they’ll take even greater care with the basics: ensuring good wiring connections and adequate strain relief.
Setting CAN IDs and entering these into the robot configuration management document is something the electrical guys do. This information then flows down to the programmers, who consume this data when they develop their robot map.
The electrical guys will have to become proficient with the Rio web dash, Phonenix tuner, and other hardware config tools to do their jobs well.
Literally the wiring in our competition bot. At least our promo one looks good and is wired well
Be careful with this one. Compressed air, done right blows the shaving away. Vacuuming can generate some amazingly high static charges and kill delicate electronics. Especially if you are using a cheap vac with a brush on the end of the hose.
In a perfect world just don’t ever do activities over your robot. Its my happy place and we actually went there at one event (zero work required on the robot), but when we need to, we cover and secure, prior to drilling. In some cases we also tape over all the venting holes (in transmissions, motorcs, etc) to keep shavings out. It is also worth taking the time to position your robot, to minimize shavings landing on the robot. Tipping it on its side may allow this.
Good wiring does not just happen. It is as important to design and plan the wiring as the mechanical bits. Routing, tie downs, strain relief, labelling, connectorization. Nasty, point to point spagetti wiring, with no slack, is a disaster waiting to happen, and is impossible to debug and repair.
We have found some success with allocating a fairly large planar surface for an electronics board (hopefully only one) and freezing that early in the design. Controls team can then plan the layout and prewire much of it. We also get the controls team involved with the design team once mechanisms have been nailed down to start thinking about wire routing, required access, before final placement is done. Is much easier to design in space for wire bundles, than sort out how we are going to run stuff after the fact. Cable management for moving parts is also where it is important to design it in, rather than figure it out after. Especially for mechanisms that are going to be outside your frame perimeter and more exposed to contact with “stuff”.
Thanks @AriMB Ari for making such a comprehensive post
This may also damage the seals around the battery terminals and allow the acid to leak out.
When assigning space for your electronics panel, give preference to vertical orientations since metal shavings are less likely to stay on your components. Also, choose locations and arrangements that allow all the LED’s on the various components to be easily seen as well as easy access for repair and/or modification.
I had no idea you could do this. I will be doing this from now on. We had a bunch of connection issues in the off-season because the PoE cable was becoming worn out
While vacuuming out metal shavings isn’t risk free - it is far, far, far easier to blow metal shavings deep and permanently into your electrical components than it is to damage electronics with a vaccum. I would never recommend using compressed air over a vacuum.
I personally think it’s worth-wild to try to put your VRM next to the radio. Power it with POE and the barrel jack. When you put the barrel jack in, hot glue it around the seam.
I always use both and still hot glue down the barrel jack.
Our is right next to it. We only had the PoE for the season which worked fine but as soon as we started doing off-season stuff (and letting parents/sponsors/kids drive our robot) the connection started failing.
BTW, Parents, sponsors, and kids are harder on your robot than any match you could play.
Another option is right angled barrel connectors and printed mounts/tape/zip ties to hold it in.
I think the two topics are pretty intrinsically linked. You can do all the planning, labelling, and pull tests in the world, but if you’re not making proper crimps you’re going to end up failing those pull tests over and over again (and likely failing in matches). Many of the issues I’ve found with mine or other robots is traced back to bad crimps or other wiring techniques. High schoolers don’t tend to be the most thorough electricians, and giving them the right tools for the job (rather than one general electrical multi-tool) will generally help produce more sustainable results.
Also, I definitely think things like using ferrules, PWM securing, and pros/cons to CAN connectors are definitely in the “pro tip” realm, as its possible to wire a control system without them, but you’ll get a much more reliable one if you approach these areas in an informed manner.
In large part because it was midnight my time, but also because in some cases I was hoping some of the trained electricians and electrical engineers on this forum might chip in with better advice than I (a mechanical engineer often thrust into electrical engineering) could provide.
That being said, I talked about a couple of my favorite electrical tools in another thread.
If I may toss a question in here, why is it that ferrules done using this crimper fail pull testing most of the time but magically pass some of the time.