Electronic – BLDC controller MOSFET heating problem

brushless-dc-motormosfetmosfet-driver

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 ?

Best Answer

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.