I have a simple 6S battery monitor/controller that cuts off the battery if there is undervoltage (cells drained too much) or overcurrent (some short or error condition). It is not perfect because it does not monitor individual cells however it is there to protect against gross faults. It cuts out at a relatively high voltage (22V) to save any weak cells.
There are two batteries protected by their individual monitor that power a device. The device may cause issues because: (a) it has two large capacitors 2,200uF for each of the supplies. (b) it puts the independent supplies in series.
The problem is that randomly, the pass MOSFETs blow (and always in the on state, which means the batteries now can be left to drain too much).
I have used a few different MOSFETs and they all blow at one time or another. I have 6 such battery packs, with two batteries each, and all monitors (12) have blown their FETs.
I have tried:
PSMN4R3-30PL : VDSS 30V, Id 100A, RDSon 4.3mOhm, VGS(th) 1.7V
PSMN017-80PS
I suspect that the Arduino pin D2 does something stupid and blows the FET gate, maybe. Or maybe the device's 2.2mF caps could be charged and then discharge badly into the battery monitor somehow. I have tried to simulate this condition but did not get anywhere.
So first things first, how do I go about protecting the gate ? Do I add a cap to the source to smooth out possible spikes? Add a zener to prevent voltage spikes?
I attach the schematic which shows an individual battery monitor. Pin 1 is battery V+ which also feeds the device, Pin 3 is battery V- and Pin 2 is device return.
I also attach another schematic simulating how the two batteries power the device together. R1/C1 and R2/C2 are the "device" being powered by two independent 6S batteries.