the picture below shows my design about driving DC motor with H bridge. There is one problem, for example, I turn on the U1B and U1A(use PWM to turn on U1B and the U1A is always turn on when I make the motor run backward), the motor works. But when I measure the signal on pin 2 of U2A, it has noise. That is to say each time(PWM) U1B switches on->motor switches on->the VCC will go a little down->the transistor Q3 will on for a very little time. So it has risk that the MOSFET will be shorted. I have try to make the VCC a little larger(more than 20V), then the MOSFET burnt. If the Vcc not so high, the MOSFET won't burn.

Could you give me some advice?(Make the U2A not be disturbed, so as to protect the circuit) Thanks!

enter image description here

  • \$\begingroup\$ I don't think D1 & D2 are doing you any favors. What do intend for them to do? \$\endgroup\$
    – brhans
    Apr 1, 2015 at 13:20
  • \$\begingroup\$ ^ I was just about to type the same thing. They are only contributing to a lower power rail since you already have included the flyback diodes at each mosfet. \$\endgroup\$
    – sherrellbc
    Apr 1, 2015 at 13:21
  • \$\begingroup\$ And also, why the complicated configuration to drive the mosfets? The input resistance for a mosfet is infinity and the input capacitance is very small; you can drive them directly with your PWM signal. \$\endgroup\$
    – sherrellbc
    Apr 1, 2015 at 13:24
  • \$\begingroup\$ Well, use the complicated way to drive MOSFET so as to make the Vgs larger. The PWM signal is coming from MCU, so the voltage(3.3V) not high enough to drive the MOSFET with larger Id. \$\endgroup\$
    – Francisco
    Apr 1, 2015 at 13:33
  • \$\begingroup\$ I can't quite understand exactly what you're describing, but you may need to implement some dead time into your switching. \$\endgroup\$
    – Majenko
    Apr 1, 2015 at 13:38

1 Answer 1


Here's a reason to get rid of D1 and D2

With D1 and D2 in place you are going to eventually destroy the lower MOSFETs because the flyback diodes in the upper mosfets have nowhere to discharge the flyback currents - Normally flyback current from the motor will find a path to the positive rail and slightly charge the capacitor you have on that rail. D1 and D2 are not going to allow this without something going wrong.

What might happen when one of the lower transistors turn off (say U2A) is that you get the flyback voltage as mentioned above and this might cause Q3 to turn on and this will turn U2A back on again. This could be your problem.

  • \$\begingroup\$ Thank you! Now I understand D1 and D2 will disturb the flyback current. So according to your final analysis, if I remove D1 and D2, the Q3 may keep stable(switch off)? \$\endgroup\$
    – Francisco
    Apr 1, 2015 at 14:03
  • \$\begingroup\$ Well, if the (flyback voltage, larger than Vcc) +V on pin2 of Motor goes to Emitter(E) of transistor Q3 from D3, then the Q3 switch on. Let me have a test after removing the D1 and D2, thank you! \$\endgroup\$
    – Francisco
    Apr 1, 2015 at 14:09
  • \$\begingroup\$ Well, I remove D1 and D2, the problem still exists. The Q3 could be open for a little time. \$\endgroup\$
    – Francisco
    Apr 2, 2015 at 1:51
  • \$\begingroup\$ If Vcc is still lowering when U1B switches on then your power supply is unable to cope with demand. You say you removed D1 and D2 - did you replace them with anything such as a short circuit? \$\endgroup\$
    – Andy aka
    Apr 2, 2015 at 7:17
  • \$\begingroup\$ I use zero ohm resistor to replace the D1 and D2. The Q3 still open for a very short time. Now my solution is add one 100nF capacitor between G and S of U2A so as to keep it switch off. It seems works, the voltage(when Q3 is on for a short time) of Pin2 of U2A is lower than 1V which is lower than Vgs(th) of U2A. \$\endgroup\$
    – Francisco
    Apr 2, 2015 at 8:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.