Fried SparkMax

When using a NEO to lift our robot, the SparkMax controller we were using seems to have fried. We were using a 40amp breaker on the Max, and given our look at the specs of both the breaker and the Max, that should have been impossible. The breaker should have tripped before any harm befell the Max. We have a rough estimate that we were drawing around 60 amps for a couple of seconds during the climb, but that still should be within the specs. Our only thoughts are that we had either a defective breaker or a defective Max. Has anyone had a similar experience, or have any theories about how this may have happened?

Update: With no load on a second SparkMax, this time with a 30 amp breaker. Again it fried. When it was plugged into a laptop, the laptop shut down the port because the controller was attempting to draw too much power. Also neither the motor, nor the controller were warm to the touch directly after the incident. The driver station log also says that the draw was never more than 30 amps. (Ran for ~0.5 sec at 30 amps, and fried the controller)
Update (again): There was mark on the casing and the encoder board, so our working hypothesis is that somehow power got sent to through the encoder board

I’d bet there’s overtemp protection, as well as current limits. But, it’s possible the motor or controller was killed. Try a different motor with the suspect controller, and a different controller with the suspect motor…

We tried a second controller on the same motor, but not a new motor on a new controller. (Can’t try it on the old controllers as they are fried)

Did the polarity somehow get flipped? That’s how we fried a sparkmax the other day

What PDP were you using, the REV or the CTRE?

MOSFETs go boom.

1 Like

The CTRE

1 Like

We are pretty sure that it didn’t, it was working fine until it wasn’t

I would contact REV support, I’m sure they’d be very interested to see this.

That looks more like a manufacturing defect, though it’s tough to be at all confident from the photo…

1 Like

“Fried” is a pretty broad term and really covers any potential failure mode that doesn’t end up running the motor - having a failure on two controllers WITH visible damage to the encoder board and the casing is your big clue. Sinking 30-40 amps into one of those things in a failure mode is going to almost certainly toast something in an obvious way (assuming you didn’t look inside and see obvious damage).

The encoder connections are out of the high current path so the circuit breaker probably won’t help you there but the fact that you see damage there is telling you, screaming at you, to look at the wiring connected to the encoder board.

It sure seems like the source of the issue is there…

Keep in mind that the breaker doesn’t trip instantly at 40A (or 30A or 20A), there is a time factor here as well, but in general, the high current paths in these controllers are good for many times the typical breaker current when used to operate the motors.

My suspicion is that you’re damaging something in the motor control controlling circuits which is killing it. I’d take a really, really, really careful look, with multiple people looking at it, before I’d toss another controller at the problem. Look at every connection, look at the wiring diagram for the encoder board, look at the wiring diagram for the encoder you are using, check for mis-wiring or stray strands between connections, check polarities, everything - assume that anything not extensively checked out is unverified, and potentially wrong.

You’ll find it, it’s out there, but you may need to wipe out your assumptions and make sure you’re not seeing what you thought you did but what you actually did. It’s incredibly useful to bring in someone skilled in this area but who did not wire this so that they bring fresh eyes to the problem.

This is like proof reading your own papers; it’s really hard to do. You don’t read what you wrote, you read what you thought you wrote. Someone new actually reads the words and then asks “What is this supposed to mean?” You get embarrassed because you never thought you’d write that but in reality you did - the other person found it and now you can fix it and make it better.

Those kinds of things happen to all of us - it’s not because we’re not smart enough, I think it’s because we get too smart, too confident, and lose some of that attention to detail - we’re not scared anymore like we were when we first did something and super double, triple, mega checked things out as we were doing it. That’s when you make a silly mistake - silly mistakes can definitely fry things and if we don’t stop to think about what just happened, we plug another one in an the same things happens - “Hey, both of these must have been defective! Gimme another one!”

Suspect everything connected to that controller and step through it all - the problem is likely there in front of you.

4 Likes

Words uttered by every engineer ever :slight_smile:

You are now officially in the club!

You’ll find the problem but you’re gonna have to dig.

3 Likes

Seeing as they’re using a NEO, I’d also check to see if there’s any bridged connections between any of the encoder pins and the power wires. If something’s messed up there, I could see it being a non-obvious issue that caused both failures.

2 Likes

Absolutely!

Trust nothing!

Don’t just check the SparkMax side but check the encoder side. I suspect @bobbysq is right - the encoder board, or rather what’s connected to it and how it’s connected is involved almost for sure.

More photos (wiring, damage, etc.) might be helpful.

1 Like

Use a DVM to check for shorts between the three-phase inputs of the motor and the encoder pins on the motor.

It appears that the encoder interface includes a 5V power line so it is likely that the encoder interface connects directly to the microcontroller in the SPARKMAX It is also likely that the USB interface is in the microcontroller. Usually the microcontroller runs off something other than 12V i.e. 5V or 3.3V. If there is a short between one of the three-phase inputs of the motor and an encoder line, 12V would be applied to the microcontroller and severely damage the die inside. This could cause the problem where it pulls down the USB port on the laptop.

The MOSFET in the bottom right corner of the picture you posted is not aligned properly with it’s pads on the PCB. Assuming it worked properly before, this would indicate it got hot enough to melt the solder holding it on the PCB. When polarity of the input power wires is reversed, it is possible for a large current to flow through the body diodes of the upper and lower MOSFETS. This current would be limited only by the wire resistance, the output impedance of the voltage source and any other current limiting devices.

This resembles a failure we had occur when the motor controller was wired up with reversed polarity, though you mentioned it was working and then suddenly did this. is it possible it was plugged in backwards at all?

through the encoder board

The CTRE and Rev encoder board pinouts are different, even though they take the same connector.

(I’m fully expecting my team to fry a controller this way at some point. Just because it’s documented and I know to watch for it doesn’t mean every team-member will… )

We have a SparkMax that just died during practice. We’ve run this robot for several hours and had no issue with it, but it outright died during practice.

We will be contacting Rev, and will post an update here. Our experience with their customer service has been fabulous.