We burned up the motor controller. And it was AWESOME. If you read all the way to the end I promise you a video with some smoke (just a little smoke).
About a week ago, the weekend after Easter, Bill and I were driving the Kart around, using the new controller of course. We were really at the shop to meet the purchaser of the ICE (upcoming post) so he could pick up the engine. We didn't really mean for it to be a controller test. We just felt like driving it around.
Bill drove it first and went around a few times. Then I got in and started driving. We had both been driving it pretty hard, for maybe 20 minutes. Then when I was heading down the straightaway (in the driveway) apparently it burst into flames. Bill saw this but I wasn't aware of it. The first indication I had of trouble is when I came to the curve and let my foot off the throttle and it didn't slow down. Obviously this is worrisome but I immediately flipped the switch that powers the controller (supplies 12V). We had discussed this in advance as the procedure to follow if the controller shows any problem.
I was then able to bring it to a quick stop with the brakes before I ran off the end of the driveway. As this is happening I realize that the controller is smoking. I don't remember how I knew it, whether I smelled the burning or saw something. But anyway I got out of the driver's seat as fast as I could and when I looked back I could see flames coming out the side of the controller. There was one little flame coming out of each MOSFET, about an inch long. It was actually quite amazing. I yelled for Bill to bring a wrench so we could disconnect the batteries, but he was already running down the driveway toward me because he saw what happened before I knew it. When he got there he disconnected the battery and as soon as he did the fire stopped.
After that, what can I say. Wow. We were both in awe of what happened, and the damage that an electrical short can cause. The 500A battery fuse never blew though. We wheeled it back to shop and starting checking things out. The entire assembly, heat sink and copper bars were far too hot to touch. What was amazing is that it was 20 to 30 minutes before it cooled down enough that we could touch it with bare hands. That was a lot of heat. Really really hot.
The picture below shows just the electronics board. The gate driver (on the plug board) was obviously subject to severe stress as the package is actually cracked in the middle. There are also scorch marks on the plug board by some of the connections. Also, all the gate resistors are fried. So the gate driver outputs must have shorted to ground, or been exposed to 48V long enough to fry it. The controller logic board has some burn marks from the heat and proximity to the fire but is otherwise undamaged. The burned up jumper wires you see in the photo are burned from the exposure to the fire.
The microcontroller itself still runs the firmware, however I have since determined that the PWM outputs are not working. I will be spending more time checking that out.
The next few photos show the power assembly as we took it apart. The circuit board itself actually looks okay. Other than the soot and heat discoloration, we were able to clean it up and it looks fine. Obviously the copper bars are okay too. The MOSFETs will be easy to replace (easy mechanically, hard on the wallet). So we can rebuild this pretty quickly but will not use again until the cause is determined.
Here is a photo showing one of the MOSFETs after we scraped away part of the package. It is interesting to see the die and see how it is attached. Amazing to think that little piece of glass is capable of carrying so much current.
We have several theories about what went wrong. I am not going to post them here. For the most part we can test each of these and I think we have a good chance of finding the cause. Once we figure it out I will post the findings.
There are some additional things we are going to do in the future to improve safety. I now have a contactor so we are going to add that to the system. It may not prevent a short but will allow immediate disconnection of the battery if there is trouble. We are also going to add a current sensor and the micro will monitor that. The circuitry is already present and you can even see part of the current sensor in the photo at the top of this post. We were actually testing it out but didn't have the code in place to use it as a safety or the ability to log the data. We will have both of these in the next version of the controller. Also, we have the ability to monitor the 12V supply and use a voltage dropout as a fault condition.
Anyway, it was an expensive mistake, but it was also a little bit fun. And I keep telling myself this is a learning experience.
And now here is the video with smoke that I promised you (~1 minute):