Today, I was working on our robot, which has a talon SRX powering a rotated arm. However, after running the robot for a while, the talon started smoking (it was holding the arm at a specified angle.) Obviously this wasn’t good and signaled a burned out talon. The team said they had a similar problem last year that was caused by the program constantly outputting to the talon in order to keep it in place, rather than using a brake to hold the talon. This didn’t make a whole lot of sense to me, as I was using the closed loop position setting on the talon, and I assumed that the talon would not change any settings if the target position was set to the same value as before. I added some safety code anyway to only set the target if it was different from the previous output, and went back to working after electrical team replaced the talon. However, that talon too started smoking, and I have now burned through two hundred dollars worth of talons. Not very fun.
Anyway, here is the configuration code:
Here is the command code which sets the arm angle and checks the last input:
Here is the arm subsystem code:
So final question: Is it actually possible to burn out a Talon SRX through programming and if so, what can I do to fix it? We currently believe that the program is causing the motor burnout, but I have no idea what to do about it.