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.