We are trying to speed control a BLDC 48V 500W hub motor using hall sensors. We are using IRF540N MOSFETs with IR2112 gate drivers and Arduino as MCU. We implemented the 3 phase inverter and in testing the following happens:

  1. As we start the motor at 12 volts with 5 volts applied to the gates the motor starts normally and as we increase the voltage the speed increases and so the current.
  2. The motor does not start normally as we start it from high voltage 30V for example.
  3. With any use of PWM signal on the gate the high side mosfets burns.
  4. When we use 48 volts 12Ah battery all the MOSFETs in the driver burns.

The below circuit is one phase from our inverter

enter image description here

Updated the below curve is the DC bus current at no load. At first we have a 6A spikes but it lasts for a very short time.

enter image description here

  • \$\begingroup\$ There is so much to talk about. But bottom line would be "just get a normal servo drive". \$\endgroup\$
    – user76844
    Jan 14, 2018 at 20:01
  • \$\begingroup\$ Sadly we have to design the driver circuit ,, and we only have a problem with the PWM only ,, \$\endgroup\$
    – Osama
    Jan 14, 2018 at 20:24
  • 1
    \$\begingroup\$ How do you know that? \$\endgroup\$
    – user76844
    Jan 14, 2018 at 20:25
  • 3
    \$\begingroup\$ @Osama That's a really horrendous schematic. Your computer might be okay with it since it has no feelings, but we who you are presenting the schematic to are actually humans (believe it or not). \$\endgroup\$ Jan 14, 2018 at 20:28
  • \$\begingroup\$ @Gregory Kornblum ,, we test the motor without using the PWM and it worked fine but problems start to appear as we try to use the PWM \$\endgroup\$
    – Osama
    Jan 14, 2018 at 20:35

1 Answer 1


When there is a delay shutting off the current from one switch after the other complementary switch was turned on then there is a "shoot-thru" condition where there is a momentary short circuit current surge across the power supply thru the pair of switches. This commutation of "make-before-break" is fixed by timing control of each switch gate drive to allow both to be off for some x microseconds period, usually dependent on the T=L/R ratio. This is also called dead-time control.

Normally the diode//R attempts to turn OFF the gate faster than turn ON to assist in increasing deadtime but depending on Vgs slew rate, gate capacitance, source impedance, load inductance, ESR, RdsOn and L/R ratio, there are many contributors to delayed turn off. A simple way is to increase the value of the parallel Gate R but this has its limits with PWM frequency and gate capacitance.

More basics.


  • \$\begingroup\$ Thank you for your answer ,, i tried the Dead time delay but i still have the problem that the high side burns when using PWM however every thing works fine when commutating with a constant 5V signal at the gates,, \$\endgroup\$
    – Osama
    Jan 17, 2018 at 16:49
  • \$\begingroup\$ Ensure high side Vgs is >2.5x to 3x Vgs(th) so low RdsOn is obtained. This is Vb. If it is not a shootthru power dissipation issue then it may be a static I^2RdsOn issue? \$\endgroup\$ Jan 17, 2018 at 16:57
  • \$\begingroup\$ compare DCR of phase coil to RdsOn of Q1. Consider adding a Rsense 0.077 Ohms and compare voltage drop with FET. I predict DCR of motor is 500 mΩ \$\endgroup\$ Jan 17, 2018 at 17:00
  • \$\begingroup\$ I predict DCR of motor is 500 mΩ so during full surge start, FET is dissipating 8W. Do you have soft start on PWM? \$\endgroup\$ Jan 17, 2018 at 17:06
  • \$\begingroup\$ using pwm on gate signal burn the mosfets so i can not try soft start untill i can run the motor with PWM \$\endgroup\$
    – Osama
    Jan 17, 2018 at 18:09

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.