I am trying to build a controller for my 48 V BLDC motor using IR2110 gate driver and IRF1407 mosfets but the issue is if I increase the duty cycle of the PWM, the motor won't start running at all even at Max duty cycle. But as soon as I rotate the motor very slightly it will start rotating and will work forever fine with the speed increasing and decreasing as I change the duty cycle. Initially I thought I had a faulty motor but then the same thing happened with a brand new Maxon motor. Right now I am applying constant high to the high side mosfets and PWM to the low side mosfets to turn then on respectively. Here is a schematic attached of one of my gate driver:

enter image description here

  • \$\begingroup\$ Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking. \$\endgroup\$
    – Community Bot
    Dec 15, 2023 at 21:33
  • 2
    \$\begingroup\$ This schematic fragment misses a lot. You're testing a 48V motor @ 12V? Am guessing the top MOSfet gates are tied "high" @ +12V? If so, you may be losing 4V from a 12V supply - that alone might account for weak torque. \$\endgroup\$
    – glen_geek
    Dec 15, 2023 at 21:33
  • \$\begingroup\$ Yes that's right I just wanted to test my circuit initially so the half bridges had a battery of 12V connected across them, I thought this might give low torque hence I applied a full 48V across the half bridge, still the same thing happened. Low torque at 48V, I don't think it is the reason and also after I turn it why does it run perfectly fine even with some load? \$\endgroup\$ Dec 16, 2023 at 17:26
  • \$\begingroup\$ Tell me if I just add anything more in the question \$\endgroup\$ Dec 16, 2023 at 17:32
  • \$\begingroup\$ How much current does the stalled motor draw at max duty cycle? What are you using for commutation timing? What is the PWM ratio at max duty cycle and what is the PWM frequency? Which Maxon motor do you have? \$\endgroup\$ Dec 18, 2023 at 23:31

2 Answers 2


How this circuit works: in order to turn on the high-side N-channel MOSFET, the gate voltage must be higher than the source. You therefore need a floating power supply, that is referenced to your high-side source voltage. This device provides a technique to supply this voltage, even when the gate voltage must be higher than your motor positive rail, which occurs whenever the high-side switch is off.

When your motor phase is switched to ground, the bootstrap capacitor (C2 in your circuit) is charged to 12 volts from Vcc. This bootstrap capacitor acts like a small battery, providing a gate voltage higher than Vs, even if your motor is running from 100's of volts.

But, the capacitor needs time to charge up to 12 volts, and also when the high-side is left on, the capacitor voltage will start to droop. It must be refreshed periodically. When the motor is stopped or turning slowly, or when starting up with a large capacitor, there may not be enough voltage on the bootstrap capacitor. You never want to run a PWM MOSFET in the active region, so the IR2110 detects under-voltage on the bootstrap and keeps you shut down.

You'll have to charge the bootstrap capacitor by making sure that your phases are pulled down periodically (long enough to charge the capacitor), and that the "on" time is short enough so that the capacitor voltage doesn't droop. Once you are spinning, this is happening, but when starting from scratch with a discharged bootstrap, you have the problem. Try starting with a long PWM ramp.

Good luck!

  • \$\begingroup\$ can you please elaborate on "You never want to run a PWM MOSFET in the active region, so the IR2110 detects under-voltage on the bootstrap and keeps you shut down". Thanks \$\endgroup\$ Dec 19, 2023 at 13:16
  • \$\begingroup\$ When a MOSFET is "on" - VDS is near zero with high drain current, so voltage x current (power) in the part is near zero. When the MOSFET off, VDS is high with zero drain current, so once again no power in the part. If in the active region, there is both VDS voltage and drain current, so you are dissipating power in the part itself, which turns into heat. Voltage and current should both be present only during your very short switching time from "on" to "off". \$\endgroup\$ Dec 20, 2023 at 14:08
  • \$\begingroup\$ Hey thanks, I did a lot of testing on your answer and I have a new finding, what I did was (considering I am driving the motor using stm32 and an external throttle decides how much speed of the motor should be), in the motor code, for every state of the hall signals I gave voltage to 2 of the phases i.e. high side of one phase and PWM on low side of one phase, in this state section I also charged the bootstrapping capacitor of the next state. Now if I start the motor with duty cycle more than 50% then the motor starts running. \$\endgroup\$ Dec 25, 2023 at 17:04
  • \$\begingroup\$ The current peaks up to 8 Amps and then afterwards when the motor comes in continuous motion 1.76 Amps is the current. Is there a way to reduce this peak current or is it normal, secondly is this starting with 50% duty cycle was what you were talking about when you said "Try starting with a long PWM ramp", should I do something else? \$\endgroup\$ Dec 25, 2023 at 17:04
  • \$\begingroup\$ Try running with your processor's lowest duty cycle. You may need to increase the size of your link capacitor to handle the instantaneous current if your power source can't supply it. Motor torque is proportional to current, and your large current is due to the torque required to accelerate your load up to full speed too quickly. Bringing the speed up more slowly will decrease the required acceleration and the required current. \$\endgroup\$ Dec 26, 2023 at 14:20

the problem is solved now. After trying all the above solutions I came to a realisation that nothing was working in my case. The issue was that I was applying single pwm on the low sides and high sides were being completely high in a particular state i.e. 100% duty cycle, but unfortunately IR2110 does not support 100% duty cycle. Initially when the motor is not in motion and I give the throttle, it does not go the next stage but the bootstrapping capacitor discharges now because the high side is always on so the low side of that phase never gets on in that state and the bootstrapping capacitor never gets charged hence high side never turns on and the motor stays stuck at that position. But when the motor is in motion the low side keeps on getting ON hence bootstrapping capacitor keeps getting charged hence no issues. To tackle this I used complementary PWM like suppose you have to turn on low side of phase A and high side of phase B, then I give PWM to low side of phase A and this same PWM to high side of phase B but complementary PWM to low side of phase B this way the bootstrapping capacitors keep on charging. Be careful to introduce deadtime in the complementary PWM and also use PWMs from same timer(if using stm) so that there is no phase difference between the channels. Thank you everyone for your help.


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.