Before Granite State, we checked for compliance with Rule 611 – the one that causes your Friendly Robot Inspector to ask for your voltmeter. To prove your frame is isolated from your electrical system, you turn the main breaker on and then measure the resistance from each of the power input terminals to the frame (at several points). Normally it’s very high and all is well. So we did our test, and we passed… barely. We were measuring approximately 3.5K Ω to both the 12V and ground connections. This is much lower than we’d expect to see, and just barely clears the specified minimum of 3K Ω.
A cursory inspection didn’t uncover any obvious faults and all subsystems were fully operational. Since we were passing, and time was short, we let it go. We did pass inspection, although the inspector commented on the low reading (but as our mechanical folks like to say – “clearance is clearance”). However, we were determined to track down the fault before the next event, as something was not right.
This fault can require some time-consuming effort to locate, so it’s best to check for it well before your events. I thought it might be instructive to go through the process and what we ultimately found, for those teams who might not have had to deal with this before.
FRC-legal electrical components are isolated – controllers, motors, etc. are not supposed to have any connection from their electrical terminals to their cases, mounting points, etc. But there are a number of ways that we can end up with a connection to the frame:
- Damaged or loose wires. Even with a well structured and secured electrical system, wires snake across frames, out onto moving intakes and elevators, in close proximity to moving gears/belts/chains, around pivot points… there are plenty of places where insulation can be cut or abraded. Or perhaps a stray wire strand escaped a terminal and is making contact with a piece of metal. As robots are modified, old wiring that wasn’t removed or insulated/tied off might also pose a problem.
- Custom circuits. Lots of electrical components can be used in custom circuits. Occasionally one of these has, for example, a metal case that is tied to its ground. Mount that to your frame, and you’ve got a connection. Items like this can be used only if you have a way of electrically isolating the mount.
- Faulty/damaged components. Your FRC-legal motor controller might have suffered mechanical damage, a chip of aluminum could have wedged itself into a bad place on a motor, a student might have grabbed a too-long bolt when mounting a motor and made contact with its internals. There are lots of ways that legal components can nonetheless exhibit problems, even while still working.
Let’s first envision a few different kinds of faults with the help of this extremely simplified schematic:
The input terminals are on the left, with the robot’s electrical system represented as a resistor R1. If we imagine the frame to the right, there are three possible points where we could have a connection:
- A is a direct short to the 12V input. This would read as a near-zero resistance from frame to the RED input, and a significantly higher resistance to the BLACK input.
- B is a short to “somewhere in the middle” of the electrical system. For example, some part of a motor winding might be coming into frame contact. This will result in a significant resistance reading to both RED and BLACK. Exactly what those readings are depends on where the short occurs. This is the situation we were debugging.
- C is a direct short to ground (common), the reverse of A – there’s a direct connection to BLACK and a much higher resistance to RED.
Before we get too deep, it’s worth checking the obvious. Run a systems check – is everything working? Do a visual inspection, using a light to peer into dark areas. Look for loose wires, signs of abrasion, wires catching on mechanisms. Focus especially where wires attach to moving elements – intakes, pivots, etc. – or pass near moving parts.
Next, rule out custom circuits. Completely disconnect anything like vision cameras, LEDs, proximity sensors, etc. If that makes the problem go away, add them back one by one until you find the culprit, then figure out how it’s making contact.
Finally, we have to start isolating motor and pneumatics circuits. If you’ve got a short to the 12V input – A in the diagram above – you may be able to just pull breakers until you find the circuit with the issue, since disconnecting a breaker isolates the positive side. More likely, though, you’re going to need to disconnect both + and – on each circuit in turn, in order to fully isolate it and rule it out as the culprit. This might mean pulling wires from your PDP/PDH. Our motor controllers have PowerPoles on them (for ease of swapping in the event of a failure) so for most circuits it was a bit simpler – we could disconnect those pairs one by one. Of course, this approach left the “pigtail” with the PowerPole on it still connected to the power distribution, so we were assuming the fault wasn’t in that part. If there’s no significant change in reading when you disconnect a circuit, you can put it back and move on to the next.
In most cases there’s likely a single fault, but in the worst case you might have to consider the possibility of multiple faults.
After painstakingly working our way through each motor circuit without luck, we reached the very last one – our “hopper” motor controller… and instantly when it was disconnected, the reading jumped 1000x to over 3M Ω. So the fault was clearly on that circuit. Next we reconnected the controller and disconnected the motor… still good. So that isolated the fault to a Neo 550 motor mounted to an UltraPlanetary gear set. We replaced that assembly and all was now well.
We disassembled the faulty UltraPlanetary and discovered that if we loosened the M3x8mm bolts that held the plate onto the motor just slightly, the fault disappeared. These are the standard, recommended bolts, but somehow one was contacting an internal component (or coil) and causing our frame short. That motor also still works just fine, but is flagged and will never again go on a competition robot, as we don’t know what might be damaged.
If you’ve been through this and have other tips and tricks, please share in the comments!