I am using schematic to controll a bldc motor without sensors. enter image description here

As gate drivers I am using IR2101 and also I added some diodes in anti-parallel with gate resistors (not shown in the schematic)

I am trying to drive the motor in the start sequence like a stepper motor. At this moment I am testing this with an arduino uno. The motor control works fine but the MOSFETS get too hot. For a phase (B) I have the gate signals like in this picture, but the motor is not powered. (Yellow - high side, green - low side) enter image description here When I connect the motor it spins well, but the MOSFETS get too hot. And the signal present at the gates for phase B is like this. (Yellow - high side, green - low side) enter image description here The motor is a 36V,250W bldc motor. Does anyone know what could be wrong ?

  • \$\begingroup\$ How are you limiting current in this configuration? What current is it drawing? What is the supply voltage and the motor's winding resistance? Add the datasheets for your motor, MOSFETs and drivers to the question. \$\endgroup\$
    – user16324
    Feb 24, 2019 at 14:55
  • \$\begingroup\$ For now I didn't implemented the current limit circuit. I am powering the motor from a 36V/4.4AH battery, the motor is from a hoverboard and I don't know anything about it because I can not find any datasheet. The mosfet is a FQP85N06 and gate drivers IR2102. mouser.com/ds/2/149/FQP85N06-107939.pdf infineon.com/dgdl/… \$\endgroup\$
    – pantarhei
    Feb 24, 2019 at 14:59
  • 1
    \$\begingroup\$ Measure the current. Then you will be ever so slightly less in the dark. \$\endgroup\$
    – user16324
    Feb 24, 2019 at 15:00

1 Answer 1


The bootstrap circuits in the mosfet driver expect the control signal frequencies to be at least many tens of kHz. Looking at your waveforms gives me the impression that your control signals are more likely tens of Hz and that is your problem.

Bootstrapping requires a fast changing voltage on the mosfet outputs else it fails to work correctly. An alternative is to use p channel mosfets in the upper position or, add a supply that is about 10 volts higher than Vbat.

It’s a bad design if you are expecting this to work without continuous signal changes in the mid kHz region and thinking that the circuit can be used as a stepper controller at low speed is your mistake.

  • \$\begingroup\$ Thank you for your answer. I just put one heatsink for only one high-side transistor and I noticed that the low side one is not getting so hot, but others yes. I will put some heatsinks to every MOS and I want to see what is happening. But first I have to buy it because I have only one :(. \$\endgroup\$
    – pantarhei
    Feb 24, 2019 at 15:20
  • \$\begingroup\$ Well that sounds like a bandage rather than a proper fix. \$\endgroup\$
    – Andy aka
    Feb 24, 2019 at 15:51
  • \$\begingroup\$ I will implement PWM controll later and feedback control (BEMF) but for now I wanted to see if my circuit works well. \$\endgroup\$
    – pantarhei
    Feb 24, 2019 at 15:55
  • \$\begingroup\$ Even if you were running at the proper kHz frequencies, your bootstrap capacitor seems very small to me if there's just a 100nF cap there. If the 10uF is there then it's fine but it's kinda blotted out so I'm not sure if it's supposed to be there or not. At those frequencies, your bootstrap diodes may be too slow. You may want a higher speed diode like a 1N4448. Also, add flyback diodes anti-parallel to each power MOSFET unless you chose to use the MOSFET body diode. FYI, the bootstrap will not allow you to run at 100% duty cycle because the bootstrap capacitors need to recharge. \$\endgroup\$
    – DKNguyen
    Feb 24, 2019 at 17:28

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.