1
\$\begingroup\$

I built a controller with FOC for BLDC motors and it works well for most motors I tested so far, but as it comes to motors with low resistance and inductance, I hear a noise, that sounds like water in a pipe. For motors with higher resistance (>1Ohm) and Inductance (>1mH) I cannot hear anything. The PWM frequency is 32kHz and clearly out of the audible frequencies. I uploaded a video of the noise on youtube:

BLDC Noise

By using a spectrum analyser, I found the following picture. I measure between phase A and GND.

P1

I further used an acoustic spectrum analyzer app, which gave me a different image with two peaks at 2400Hz and 4800Hz:

P2

What I already tried/analyzed:

  • I used different PWM frequencies, also in the audible spectrum, but this did not change the noise frequency.
  • The PWM signals itself look very clean, and it also works on different motors without any noise at all.
  • The gate drive is a DRV8304H (Datasheet), such that dead time handling works just fine.
  • The ADC current measurement triggering works also fine and triggers when the low side is open. I also adjusted there different parameters to test if something changes, but nothing did.
  • I also tried to apply a constant PWM timing to the motor, also here the noise is the same.

I just found nothing, which influences the frequency itself. If it is somehow the motors resonance frequency, I don't know why this only occurs at low resistance and inductance motors. Has anyone an Idea what could be the cause of this noise?

Edit When I only apply a constant timing for PWM and then wait in a loop, I get exactly the same noise, so this is definitely hardware/motor related, but I'm not sure how I really can find the noise source. It will be probably the DRV8304H, since at a constant PWM input, the output is fully determined by this driver and the MOSFETs.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.