Electronic – H Bridge runs for few minutes and MOSFETS start smoking

h-bridgemosfet-driverpowermosfetpwm

I have created an H bridge as shown in the schematic below.
PWM signal to the MOSFET driver is given by a microcontroller running on 5V.
The MOSFETS are screwed to heat sinks.

To control the motor direction I set either one of the driver inputs to 0 and another driver input to PWM.

I am using a 10kHz frequency for PWM.

For clockwise rotation, I use a 40% duty cycle PWM signal on IN1 and 0V input on IN2.
For anticlockwise rotation, I use a 20% duty cycle PWM signal on IN2 and 0V input on IN1.

Now, In the code, I turn the motor clockwise for 1 second, Set both IN1 and IN2 0 for 50ms for braking, and turn the motor anticlockwise for 1 second.

The circuit worked fine for 3 minutes, but later Q3 MOSFET was smoking first, and the rest other MOSFETS also followed the same, the motor was stuck at the braking condition.

Mosfets don't get warm during normal operation.

I don't understand what I am missing here.
Even the frequency is not that High.
The rise and fall times of Mosfet are at worst 150ns according to the datasheet.

Am I missing a snubber circuit? I yes how to properly design one.

Motor nominal current is 1.5A and the stall current is 8A.

enter image description here

Best Answer

  1. When you drive in brake mode, you motor just regenerate current back to power source there for you need big capacitor whit proper frequency response to PWM frequency to absorb voltage spike.
  2. Add R_gs to all fet for safety
  3. I’m not sure about fet diode if it can handle regenerate current. The regenerate current peak is about you load peak. If not you need external diode.
  4. Try to check V_gs to see if shoot through occur or any overlap many be you need to set mor dead time.
  5. Ramp input is great idea to reduce current spike.