DRV8302 not working on High Power BLDC Motor

Hello Everyone,

I need advice for solving a problem that I am currently facing with the DRV8302 board and high-power BLDC motor. The setup I am using is an ESP 32 microcontroller, DRV8302 board, and a 36 V, 10 pp electric bike/scooter motor with a built-in hall sensor.

I am able to run the motor in close loop torque control (voltage control) but when I put a load on the motor/ trying to stop by hand, the motor starts to make a strange noise, also in the meantime I see that the fault pin of the Driver is high.

In a low-powered motor with a similar setup, I have not seen this issue.

Can anyone advise me why with a high-power motor, I am getting this strange noise? Here is the video of the motor making stage noise when trying to resist it.


Motors make noise :slight_smile: even if you hold it, there are electromagnets inside it being switched on and off rapidly, and this can be heard.

If the driver is going into fault mode when you stall the motor, the most likely reason is over-current condition as the current quickly rises as the algorithm tries to move the motor.
The driver will switch off until current drops below a certain threshold and a timeout happens. Then it will switch back on, and the current will start to rise again - this will repeat, and this will generate a some frequency corresponding to the rate the driver is being switched on/off and the magnets are being energised, and this will generate noise.

You should set voltage limits so that even in stall condition the driver does not go into fault mode? Or you should monitor the fault pin, and switch off the motor if there is a fault?

It’s good to add some protection appropriate to the use case, because relying on the overcurrent protection in this way will stress the system and shorten its lifespan, I think.

Best of all for higher powered motors would be to get current control working, then you can directly control the current to keep it within limit.

All of this based on the assumption that over-current is what’s causing this.

Thanks for your reply,

I have lowered the voltage limit to 3V. At this limit, I hear no noise, and also the NFAult pin is low but it is very low voltage soI can’t run it at a higher speed. for higher speed, I need to increase the voltage which causes this noise.

Can this noise be due to the hall sensor? As there are not commutating properly. Because when I stall the motor, sometimes at the specific position the noise goes away and the fault pin does too low. I have an encoder but difficultly is how to attach it to such type of outrunner motors.

Also, the V2.2.2 has low side current sensing but I am unable to move the motor even at voltage mode. So the setup works at FOC lib 2.2.0 and esp board 1.0.6.

I made another video using different motor and experiencing the same behaviour, Link to the video below:

Also, when I connect low power in runner motor just changing the pp and supply voltage value it works perfectly fine, having high torque and no noise.

Please if anyone can advise, what I am missing to solve this issue.