Failure. Phase A mosfets burnt instantly upon connecting the battery. No visible damage to the package, but a small orange flame and plenty of smoke, and solder obviously melted since some squeezed out from under one of them. 0 resistance on all their pins, so power to ground, outputs, and gates are all shorted together.
Thankfully my standard procedure is to plug and unplug quickly, and if nothing bad happened then plug it in and wait to see. So no further damage during the half a second or so of burning aside from the capacitor also losing a leg. It may have still been alive, but they’re cheap enough I just tossed it and soldered on a new one.
I removed the burnt mosfets, though they had apparently welded themselves to the PCB copper and wouldn’t come off without a bit of pulling, which peeled the copper up from the fiberglass.
The remaining mosfets seemed to be ok, so to verify that it was not just a solder short or other undetected anomaly, I plugged it in again (even more briefly this time) and got the same result on phase B. Smoke and solder squeezed out from under one of them. No flame though, and the capacitor was only slightly warm so I think it’s ok.
No idea what the problem is yet.
UPDATE: Removed all mosfets so I could probe the drivers without anything blowing up. Only low side B was welded to the PCB copper this time, but high side B is also internally shorted. Two good mosfets left for further testing.
The drivers are receiving proper PWM inputs and outputting inverted waveform on the low side, so that confirms it is properly configured for 3PWM. High side gates are all flat at 5.7V (running on 7.4V lipo). Unsure if that was just due to having the mosfets disconnected, I reinstalled the phase C high side mosfet, and it remains the same. So it seems the high sides are on enough to conduct (though not properly boosted by the bootstrap), and whenever the low sides switch on via PWM it short circuits and dies.
The M1 driver inputs and outputs are all the same, so it seems unlikely to be a bad driver or soldering problem. I’ve double checked that the wiring is identical to GooserCS (which is still working fine with mosfets transplanted from Lepton). Not sure what to try next.
UPDATE 2:
Confirmed on Gooser3 that DRV8300 should output boosted high side PWM even without mosfets. The only difference there is that it’s configured for 6PWM, but since the low side signals are the inverted ones, I doubt that would change the high side behavior.
Swapped out the M0 driver on Gooser4 with a different one since I couldn’t think of anything else to try, and no change.
This is maddening.
UPDATE 3: I installed the driver I removed from Gooser4 onto Gooser3 (still without mosfets) to verify it would behave the same as the other, and it does not. The inputs are all being driven properly by the CPU, but the low side outputs are chaotic, mostly 0V but frequent blips up to 6-7V with no regular period. Phase A high side is flat 6.2V. Phase B high side is about the same but slightly ripply. Phase C high side has blips like the low sides, but with the floor slightly above ground. The blips also show up on the BSTC pin, but in that case the floor is the 7.4V battery voltage.
I wish I had some new DRV8300’s to test with. The ones I’ve been using were pulled from GooserCS with the heat gun so they shouldn’t be heat damaged, but these unpredictable results indicate otherwise. I’ve been painstakingly checking for solder shorts between every pair of pins and every pin and ground, so I’m fairly certain that hasn’t been a problem. It’s possible the ceramic capacitors have been heat damaged after so many reflow cycles, but I don’t know any way to test that except for replacing them with new ones, and again I only have others pulled from GooserCS.
I’ll buy one complete set of components from Mouser and start fresh.
UPDATE 4:
Nope. Removed both drivers and their their capacitors, and the one mosfet I still had on the board. Installed the brand new driver and capacitors in the M1 slot, and the old mosfet to see if it would make any difference compared to the other phases. Same behavior as before. High side outputs always on but not boosted, and low side outputs giving proper inverted PWM.
I am 100% stumped. If anyone can help, I would be forever grateful. Otherwise it’s back to the drawing board again, and hope I don’t step on whatever landmine I stepped on this time.