XLITE V3 - MOSFET Overheating Issue
Please Read: Regarding XLITE V3. Read all of it please. It's a lot, but I try to answer all the possible questions I can here.
To Kevin's credit (at ENNOID), he's been quick to respond to my concerns, and shares those concerns. He's also been very forthwright with replacement of defective units as well as repairs, and I have had no issues with his support
There have been some instances in the ENNOID XLITE V3 BMS where an issue presents regarding the charge MOSFETs and overheating. I'll do my best to explain what the issue looks like, how to spot it, why I think it happens, and what one can do about it as well as to prevent against major failure.
Most importantly, regardless of parts or component issues, one should always supervise charging. This is important with any device, always, but especially important for DIY built devices with new, specialty, or adapted components. Since this hobby is based largely around building boards from scratch, it's WAY more important to be cognizant and present when charging.
Specifically to the issue I'm talking about, I've observed it twice in person in the shop, once on a bench test unit, and another in a local build. That build came back to the shop last night and I'll be replacing the unit in it with a spare. I have also seen this presented in one of the FB chats, as well as an instance in the Vescify Discord. That's all the information I have on frequency with regard to the V3.
If you have been using the V3 or other XLITE without issue, then there's no issue. However it's important to always observe charging, to make sure any issues do not present themselves at a later time that could turn into problematic situations inside the battery box.
What happens? What to look for?
Essentially, when charging, the MOSFETs that control current through the BMS begin heating up rapidly, and the temperature of the BMS itself rises rapidly. It happens in a fairly uncontrollable way, since the BMS is tiny, and enclosed in a tight space without much (if any) of a space buffer between it and surrounding surfaces. I will include photos (the first and second) to show temperatures. First is the bench test unit with thermal camera. Second is a screenshot that was sent to me while charging.
In the current firmware, the BMS will not stop charging based on BMS temperature, only cell temperature. This is problematic, because the BMS can ultimately overheat to the point where the MOSFETs either melt the surrounding plastics, or desolder themselves from the PCB. Should that happen, the BMS will likely fail entirely and shut off, and charging would stop then, however that's not ideal and so it should be addressed.
ENNOID released a beta firmware that corrects this, which I will link. This beta firmware adds separate BMS temperature limits, that themselves trigger the overtemperature protection and stop charging. I have tested it on a recently received V3 unit, and the temperature limit there does appear to work properly, immediately stopping the charge current when a temperature of either the pack, or the BMS itself, reaches the set number.
https://drive.google.com/drive/folders/1Nb00GlU99I9Ib64_q8TvyIJZKiJU7bvF
Updating the firmware on the XLITE V3 is similar to updating the firmware on a VESC, however it needs to be done via the "Custom File" tab, while ONLY connected to the XLITE V3. The V3 has its own Bluetooth module onboard, and so it is fairly easy to connect directly to it, connect via VESC Tool, and upload the above linked firmware BIN file.
If your V3 is connected with CAN Wake, then turning it on is done via turning the board on. However, if it is not, then the V3 needs to be connected with a charger to wake it up. If that's the case, after the firmware upload is complete, wait about 10 seconds, and then unplug the charger to let it reboot. Or, if using CAN Wake, turn the board off 10 seconds after firmware upload is complete, to let it reboot.
Afterwards, the XLITE likely has to be configured for the battery again, and the appropriate values set back up, including new temperatures.
For the BMS temperature limit setting, I specifically set it to 60C. That's slightly above the upper limit I've seen normally when charging through the XLITE at about 5-6 amps. I always recommend 3-4 amps for charging, but people will do what they do, so that's a figure I have seen, above which I wouldn't personally want the BMS to go. Given my thermal camera readings and the corresponding readings on the onboard temp sensor, the numbers match up pretty accurately, so it may not be necessary to assume the same kind of thermal lag one would have with a thermistor inside a battery pack. (Battery pack sensors are slow, and so I set those to 55C to try to account for the large difference between internal cell temps and what the thermistor ends up reading on the surface of a cell wrap)
IF YOURS HAS NO ISSUES, great. It would still be an excellent idea to update the firmware to add the temperature protections for the BMS itself, as the issue may present itself in the future, and an extra temperature protection is always a decent idea.
If you find your unit quickly overheating, please contact ENNOID to try to resolve the issue. Obviously, don't keep charging with it.
As for what I THINK is happening, is simply a defect in the MOSFET chips. Could be from a batch with a higher fault rate. Given what I've seen, and shown in the images, it could be that the MOSFETs fail internally, maybe the gate isn't responding properly, leading in some cases to a current leak, but in others (since that unit eventually allowed charging) the gate does activate enough for current to flow, but the resistance remains high enough to quickly generate a problematic amount of heat.
I think that covers most of it. Please forgive me if I left anything out, but it seemed prudent to put this on the radar, if anything, as a reminder to always observe charging regardless of the BMS unit that goes into a build. They're all DIY parts, and need to be treated as such.