So this is my H-bridge:
Every time I start using it in one direction the P-channel MOSFET and the NPN BJT which belong to the used direction die in seconds. The killed MOSFET and the BJT developing a short circuit so I can use the other direction no more. They die without noticeable heat or smoke!
The controller is an arduino uno, and only the N-channel MOSFETs are driven with PWM signal, the P-channels are connected to simple digital output pins. PWM frequency is the default 490Hz for digital pins 9 and 10 (each PWM output is individual). I've already killed 4-5 P-channel MOSFET + BJT pair, it could happen on both side. (It depends which direction I use first.) The motor is a 12V car windshield wiper DC motor, the power supply is 12V 5A. 12V and 5V power supply grounds are connected.
There are two things which may be true, but I am not 100% sure as I did not test it thoroughly:
- in the former version I was using 1k resistors for R7 and R8, and I did not have any problems. I will try it again but I am running low on P-channel MOSFETs now..
- when I cut out the fried MOSFET + BJT pair, I can use the other direction without killing the remaining MOSFET + BJT pair.
Please help me, what is happening here :)
- Should I use a resistor between the NPN BJT and the P-channel MOSFET?
- Should I use a 2n7000 MOSFET instead of the 2N2222 BJT?
UPDATE: I've just tested the H-bridge with a 12V 55W light bulb instead of the wiper motor. The P-FET and NPN were killed during the test. The N-channel side was driven with a 40% PWM signal. Without a load it did not have any problem.
UPDATE2: I changed back R7 and R8 to 1k from 150R. Now the bridge is working again without any components failing. (I didn't run it for days, but with the 150R resistors the reproducing of the fault only took a few seconds.) I will add some decoupling capacitors on the bridge between the GND and +12V anyway as Brian suggested. Thanks for the answers to everyone!