I have a dual motor driver board I designed for driving 2 linear actuators with 48V and each one has as rated full load current of 3.5 amps. I can expect up to 10 amp short duration on startup, but they are heavily geared worm drive actuators and can lift many hundreds of kilograms.
The issue: My issue is that one channel seems fine and is able to power up, be idle, drive the motor as intended on ONE out of two nearly identical channels (in fact can drive TWO motors on the one output just fine) but one channel in particular is blowing up very quickly on all the boards we have tried. 4 boards out of 12 tested so far have shown the failure mode.
General details I designed the board with a H-bridge driver IC and external high voltage, high current MOSFETS so they should have been able to comfortably handle the load.
The linear actuators are used intermittently. They are basically forklift up/down arm motors and are expected to be used for a few seconds to lift or lower a load and then the user drives around a bit before needing to use them again.
The system is powered by a 48V nominal LiFE-PO battery, with charged voltage sitting around 56V, and near end of charge around 40V.
NOTE: Sorry for the confusion here, but my silkscreen has M1 and M2 incorrectly labelled (swapped around) and is planned to be fixed on the revision of this board, so the "M1" on silkscreen and how it was referred to originally in this question is actually the M2A and M2B signals shown in the schematics, half of the confusion came from U1 and U2 and the signal labelling in my schematic versus what I intended for the connectors themselves in the application. I didn't realize my mistake until after the boards were made. The ACTUAL issue is from the H-bridge formed by Q3,4 Q7,8 and U1, whose output signals go to connector J4 which on the schematic show M2A and M2B but on the silkscreen on the board show as M1A and M1B.
Components of interest
N-Channel MOSFET used in the H-bridges - Nexperia BUK7275, 100V 21 amp rated. Device datasheet: https://assets.nexperia.com/documents/data-sheet/BUK7275-100A.pdf
H-bridge driver IC: Microchip MIC4606-2 (PWM input variant). 85V rated external N-channel MOSFET H-bridge driver IC. https://ww1.microchip.com/downloads/en/DeviceDoc/MIC4606-Data-Sheet-DS20005604D.pdf
Circuit Layout - 48V distribution to each channel highlighted
Circuit layout - showing H-bridge current paths on both channels.
Circuit layout - bottom layer - ground plane also acting as heat sinking surface area
Reference design for comparison - MIC4606-2 eval board schematic
Failure Modes: 4-5 boards have failed so far, all in M1 channel.
In most situations the M1 channel doesn't fail until the load (motor) is driven by input signals from my control board, which even if they were 100% duty signals should still drive the H-bridge safely and correctly and the motors even have built-in limit switches to shut off when they reach end of travel.
At least 2 have been from power-up and not even actually trying to run the motors, even just powering up is enough to trigger the fault.
Early failures looked like they were gate voltage issues, but I confirmed with the datasheets that the 12V drive voltage and the MOSFET ratings (+-20V VGS on the gate) should all be fine.
Attempts to fix:
Resistors (10k) added from gate to source to help with discharge or reducing spurious gate voltages. Did not help. Note the failed result, with pin 11 of the MIC4606-2 showing signs of case rupture.
I thought maybe the gate->source voltages were peaking above 20V and killing the gates, so I also tried 15V zener diodes across the Gate->Source pins, but then for some reason we got no functional movement of the motors (but no failures either..). Not sure what went wrong with the zeners, it may have been a red-herring and my collaborator (remote from me) made a mistake somewhere. I thought the zeners were going to be a home run.
What more should I look at for diagnosing/fixing this? What could be killing my FETs only on 1 channel, and the other is totally fine? How can I make this thing more robust?
Extra Info from questions:
Scope traces showing application driving the a 12V motor at "full speed" (joystick full tilt in that direction) for Q3 gate (yellow trace) and Q8 gate (blue trace). Note Q8 is "on" to conduct to 0V for the motor, and Q3 is delivering the source power (12V for these traces) at the required duty % (around 90% duty )
Scope showing the 'start up' pulses where on the system controller start up I prime the motor drive circuit on all channels. Again this is Q3 and Q8 traces in yellow and blue respectively.
I don't see anything obviously bad going on here. Also quickly (low quality .. ) checked Q3 and Q4 for signs of cross-conduction but I couldn't see any evidence of both gates turning on at once.
Edit - proposed new schematic design with improvements and better gate protection Here's my adjusted schematics showing additional components to protect the input sides of things (for parasitic/inductive spikes on connection or power-up), including handling floating inputs to the MIC4606-2 chip, and a blocking diode on the 12V line so that 48V doesn't somehow find its way through the chip and into my control board.
The main H-bridge schematic improvements bring additional bypass and local power supply decoupling capacitors, gate pull-down resistors to keep them off if the MIC4606-2 chip releases control of the gates, gate capacitors and gate charge/discharge circuit with diode to give a 'fast' turn off.
main schematic showing input improvements to fix noload failures and startup
new H-bridge circuit with gate drive improvements and bypass caps and resistors and added freewheeling diodes