Yesterday, and today we have been attempting to troubleshoot a problem with the CAN Talon SRXs. Basically, what is happening is we are able to enable and drive our robot for somewhat random periods of time before the Talons stop working. When the talons stop working they show that they are receiving a neutral signal, and we have no control over them, although we can still control our intake system which is using PWM Sparks. Also, last night when we were troubleshooting the robot would have 3 motor controllers go neutral, while one would go forward til the motor it controlled overheated, and turned off, so we switched that Talon and now they all go neutral. The timing seems to be consistent in the form of they malfunction at intervals of a minute (ie. 1 minute, 5 minutes, 6 minutes).
If anyone can let us know how to fix this, and whether it is a programming or electronics problem that would be greatly appreciated.
How is the wiring on the CAN bus? Is it serial from the RoboRio to the PDP, with the PDP termination set? In other words, no Star formation and proper termination?
Did you check the firmware version of all your CAN devices?
Find the first motor controller in the series (from the RoboRio) that is causing you problems. Temporarily rewire so that one is farther along the chain. Does that make any difference? If so, you might have a bad controller or flaky wire.
> and whether it is a programming or electronics problem
Q: How many Programmers does it take to change a light bulb?
A: None. It is a hardware problem.
Q: How many Mechanical people does it take to change a light bulb?
A: None. They think it is a software problem.
I am guessing this one is a hardware problem. Software tends to fail in predicable ways. It either works, or it doesn’t. Flaky hardware is more likely the cause of random problems.
Try this test:
Put the robot on blocks (so it doesn’t move)
Write some code to feed the drive motors at 50% for the entire teleop period.
Wait 2 minutes.
Repeat 3 times the run/wait cycle 3 times.
Do the motors quit? If so, it is a hardware problem.
Wow. This is concerning as we want to use SRX’s on CAN this year. Did you give all your controllers UNIQUE ID’s? Sorry if that is a dumb question, but the docs indicated that the roboRIO could deal with multiple controllers without them. But I would NEVER do that myself. Jus sayin.