I've built a discrete H-Bridge circuit to run a reasonably beefy 12V windscreen wiper motor. The circuit is below (EDIT: see here for a bigger PDF, StackExchange doesn't seem to let you expand the image):
RM: See larger imgur image here – these are saved by the system but only displayed at small size. Also accessible via "open image in new tab"
Bringing the board up, I started with 100% duty-cycle (non-PWM) mode, and found it functional, so I began PWMing one of the low-side N-channel MOSFETs. This also seemed fine, although caused noticeable heating in the high-side schottky on the PWM'ed side of the bridge from the inductive spike.
I then began PWMing the high- and low-side MOSFETs in an effort to dissipate the inductive spikes more efficiently. This, too (with what was probably an excessive amount of dead-time), appeared to be functioning fine, with the top-side diode staying cool.
However, after running it for a while using a switch to vary the duty cycle live, I dropped the speed from approx. 95% duty cycle to 25%, something I had done several times before. However on this occasion, there was a pop and sudden high current draw, and the TC4428A MOSFET drivers had blown.
These were the only components that blew—the MOSFETs themselves are fine, so I'm ruling out any shoot-through muppetry on my part. My best explanation so far is an excessive amount of either inductive kickback, or (more likely) too much regenerative power from the motor slowing for the power supply to deal with. The TC4428A has the lowest voltage rating within the bridge (18V, absolute max 22V), and I'm thinking the voltage has risen too high too quickly.
I was running the 12V side of this board off a old-fashioned linear bench-top power supply, with relatively long leads between it and the board. I imagine this wasn't really capable of dissipating the voltage rise.
I don't think the TC4428As were overloaded in terms of the MOSFETs' dynamic load; I was PWMing at a relatively low speed (around 2.2kHz), and the MOSFETs themselves don't have a particularly high total gate charge. They seemed to stay cool during operation, and besides, A and B drivers blew, despite only driver B being PWMed.
Does my hypothesis seem reasonable? Is there anywhere else I should be looking? If so, is the liberal sprinkling of a some beefy TVS diodes around the board (on power supply input and between the bridge output terminals) a reasonable way to deal with the over-voltage condition? I'm not sure I want to move to a switched braking-resistor type setup (it's only a “little” 2.5A-or-so 12V gear motor…).
I've placed a 1500W TVS across the 12V supply terminals (an SMCJ16A); this seems to be clamping the over-voltage during braking to just under 20V (this shows the supply voltage; an identical waveform is seen between the MOSFET gates and 0V):
It's not pretty, and it's probably still too high (clamping voltage of the SMCJ16A is 26V at max current—57A, whilst our TC4428A absolute max is 22V). I've ordered some SMCJ13CAs and will place one across the supply, and one across the motor terminals. I rather fear that even with a beefy 1.5kW TVS it's not going to last; you can see that it appears to be clamping for a good 80ms or so, which is a long period for a TVS. That said, it seems to be staying cool. Of course with actual load on the shaft… perhaps I may be implementing a switched braking resistor solution after all.
FDD6637 MOSFET datasheet here
TC4428A datasheet here
Regardless of the survival of the MOSFETs, so far :-), I'd add gate to source zeners to the FETs to clamp Millar coupled voltages from the inductive load.
This may also address your observed problem. Logical analysis suggests it won't :-( - but Murphy and Millar capacitance can work powerful magic. The TC4428 drivers sound nicely robust (if the datasheet is to be believed) with protection against most normal offences. They have an absolute maximum 22V Vdd rating and the ability to absorb up to 500 mA reverse current 'forced' into the output would be expected to clamp inductive feedback via the MOSFET gates. But, gate zeners cost little, definitely help protect the MOSFETs in situations like this, and are very unlikely to make things worse.
Some power supplies will take no reverse current at all and others do so badly.
Have you checked the supply to see how it behaves? A meter (better an oscilloscope) on the supply during braking may give clues. A very large capacitor may help, but this will help the supply if it is able to dissipate power but not rapidly enough, but only mask the problem if the supply is inherently unable to absorb power.
A resistor in series with a zener (or electrical equivalent) as a load will help braking dissipation (but the zener takes 12/Nths of the power for N volts rise.
An eg TLV431 switching in a large load as soon as V+ exceeds say 12.5V and dropping it off as soon as order is restored sounds like a simple and low cost solution to absorbing braking energy.
I have 2 x 300 Watt "wiper motors" (Indian, trucks, for the use of) which I intend to use in a prototype in the immediate future. Should be fun :-).