Last night we noticed that the Power LED on one of our RoboRIOs was red. This indicates a fault on one of the user power buses. We could not see any debris or other obvious causes of short circuits in any of the exposed pins.
Some careful probing with a multimeter revealed that the 3.3V bus was good and the 6V PWM bus was reading 5.8V. Anywhere we expected to see 5V, though, was reading 30 to 40 mV.
So it appears that the 5V bus is either faulty or shorted to ground. I couldn’t see any signs of damage on the board. Has anyone else run into this? Anyone have any troubleshooting or repair tips?
You say the power light on one of your roboRIOs. Is the LED green on all the other ones (if you have any extras, that is)?
Have you tried switching out your battery? That’s caused similar problems for us in the past.
From your wording it’s difficult for me to tell where you probed for 5 volts. Was it directly into the bus or somewhere else? That might indicate whether it’s a problem with the roboRIO or just bad wiring.
The battery voltage was good so we swapped in a different roboRIO and it worked fine. The original roboRIO continues to show a red power LED with nothing else connected other than main power.
The places we expected to see 5V were:
The 5V pin on the SPI connector
The 5V pins on the analog input connector
The 5V pins on the DIO connector
The 5V/3.3V jumper next to the RSL jumper (inside the case)
All of these places showed somewhere around 30 or 40 mV instead of 5V.
The red LED is in agreement with what you’re seeing (5V output is low). 5V goes to a lot of places, including the MXP. Have you checked each of these places to ensure you don’t have a short?
One more thing to try is removing the cover and moving the power selector jumper from 5V to 3.3V to see if the condition clears. If it does, then the 5V supply itself is probably the problem. If it does not clear, then you have a short somewhere among the 5V outputs.
Thanks, Chris. I’ve checked the board and all the connectors pretty thoroughly without finding anything. I then used a can of compressed air to try to blow away any debris that I might have missed. The LED stays stubbornly red.
I’ll try switching the jumper, thanks for the tip. Does the jumper switch 3.3V into all of the normally 5V header pins? I don’t see it mentioned in any of the documentation.
Are there any test points or anything on the board that would help me figure out if the 5V regulator has been damaged?
How is your robbery wired? Are you connected to the old Power Distribution Board? The old Power Distribution Board has a 24V output for the cRIO. The roboRIO is not designed for 24V.
The description of the problem and the steps already taken to diagnose it are very good. I regret not having any further suggestions for finding and fixing the underlying fault.
For anyone worried about the apparently low voltage, it is normal when the 6V bus is unloaded. There’s a diode in the supply output that prevents backfeeding; it is bypassed with a FET when enough current is drawn. The voltage then rises to nominal.
If I’m reading this response correctly, it appears something is wrong with the original roboRIO’s bus. First off, double check for debris. Then, see if you have continuity between the positive and negative terminals on the bus using your multimeter. The voltage you’re getting at each port is really low compared to what you should be getting, so if it is a problem with the RIO (which is what I suspect), it’s at the connector. Make absolutely sure there’s nothing wrong there before you go troubleshooting anything else.
I’ll also second kgzak’s statement about using the correct PDP. Using the old one can really mess up a RIO.
I’m interested if the RoboRIO is reporting any rail shorts. I know in LabView there are a few reporting VIs available (get RoboRIO Rail Faults vi). If you run labview, could you run this VI and report the results? If not labview, is there an equivalent C++/Java function available?
Test points will be coated with conformal coating, so that will be difficult to check, but you can check the jumper - you should see 5V on one pin, 3.3V on the other. That is an undocumented jumper so you can switch from 5V to 3.3V at some point in the future (world is moving away from 5V circuits) on DIO power. BUT the 5V on SPI, etc. wouldn’t change, so now that I’ve thought through this some more, if you’re not seeing 5V at any of the marked locations then the jumper debug won’t tell you anything new (unless you found a piece of wire there shorting it to ground or something)
Just an update, I still haven’t found any piece of metal or debris that could be causing the short. Whatever did it must be gone already, just leaving the damage behind. A continuity test confirms that the 5V bus is shorted to ground at the DIOs, the analog input, and the SPI connector.
As Chris predicted, switching the jumper did not clear the fault. The conformal coating makes probing difficult, but I was able to determine that the USB-A connectors are the only place where I can still see 5V. I’m guessing it must be running from its own VReg, and maybe even opto-isolated.
The only real source of heat seems to be U13, but I can’t tell what kind of IC it is. Again, the conformal coating makes this difficult.
I’m out of ideas at the moment, so please let me know if anybody else has an idea of where to go from here.
Just passing this along in case anyone else has problems with their roboRIO and comes across this thread:
The correct procedure is to call NI at 866-511-6285. If it’s determined that you need to return your roboRIO, NI will generate an RMA and notify AndyMark. AndyMark will then send you a replacement with a return shipping label for the damaged roboRIO.
I may have a solution to your problem. We had the same issue with the solid red power light. We went through and unplugged all the fuses except the ones to the vrm. That wasnt the problem. So we went one by one on the PWM’s and discovered that on one of them, some knucklehead switched the red and black wires on it so that the negative was in the middle instead of the positive. I unplugged it and swapped the wires back to normal and it worked.
I found a shorted 5V roboRIO today and knocked on it really hard and the short went away. When I opened the roboRIO a thin copper wire was peeking out from under DIO 9. This wire had apparently found its way under the 3 pin header and shorted 5V to GND. Once I pulled the wire out the problem went away and roboRIO was happy again.
The controller has conformal coating so things that can be permanently damaged are protected from swarf (or random wires), but IO pins are exposed and while no lasting damage occurs, there can be a short condition that requires a little cleaning to clear up… or a violent hit, especially if your robot’s name is “tippy”.
We’re not “tippy”, but it is possible that something lodged under one of the IO pins that we couldn’t find. If you come across one that’s set for team 4499, that’s the one we messed up.