2021-02-15 09:03 AM
Hi,
I'm using STM32F303RB with ihm08m1 to drive a 36V BLDC motor. When I start motor, a high frequency sound (like a high pitch beep) is being made in the motor. The sound is a problem and very annoying, is there any way or solution to avoid this sound?
The PWM frequency was set to 10Khz. I have changed it to 12Khz but the high frequency sound is still audible.
Thanks.
2021-02-15 11:28 PM
An audible noise can always be heard when the PWM frequency is below an age-dependent value. Children and teenagers can easily detect frequencies of around 16...18kHz, while this limit decreases with increasing age. The volume of this noise also depends on the mechanical design of the motor coils.
If you want to shift the frequency into the (for humans) inaudible range, you should choose a frequency of at least 17...18kHz.
When your question is answered, please close this topic by choosing Select as Best. This will help other users find that answer faster.
Good luck!
/Peter
2021-02-16 08:07 AM
Hi Peter,
Thanks for the reply.
I have tried with frequency above 12Khz (13Khz ~ 16Khz ), but I got MC_FOC_DURATION error and the motor stops due to this error.
So if the frequency seems to be limited to 12Khz and below, is there any other method or solution to solve the noise problem?
Thank you.
2021-02-17 03:10 AM
Hi Peter,
If our PWM frequency is set to 12Khz, from some articles, use PWM center-aligned or flux weakening would help to reduce the noise problem?
Or are there other settings or methods that can reduce the noise?
Thank you.
2021-02-17 06:41 AM
There are a number of ways to minimize the noise. One possibility is to increase the PWM frequency, others are e.g. Edge Center Aligned Mode or slowing down the gate driver (affects efficiency). But it is also important to improve the mechanical conditions (vacuum impregnated coils, etc.) so that they contribute less to the noise level.
Regards
/Peter
2021-02-17 07:56 AM
Hi Peter,
Thanks! Could you please share how to config Edge Aligned Mode? I can config it with workbench, or modify directly in my source code?
Also how to slow down the gate driver? I know it's a trade-off between noise and efficiency, but I'd like to test it first.
Thank you.
2021-02-17 11:45 PM
I accidentally wrote Edge-Aligned, but I meant Center-Aligned.
You should change it in the source code if it hasn't already been set up that way, see RM0316. There is also the example TIM_BreakAndDeadtime for the STM32F334 in the repository.
Regards
/Peter
2021-03-02 07:33 PM
Hi Peter,
I saw the example code and is set as default to center-aligned in the source code already.
Because the motor is bought so I can't improve it, Is there other methods from SW to minimize the high frequency audible noise?
Thank you.
2021-03-03 01:08 AM
It looks like increasing the PWM frequency is the most promising approach.
The MC_FOC_DURATION error is typical for too little time to perform the calculation for the FOC up to the next PWM cycle. In order to accelerate this calculation, the compiler and its settings can be optimized. On the other hand, an STM32G431 or STM32G491 (max 170MHz) can be used instead of the STM32F303 (max 72MHz), for which NUCLEO boards are also available (NUCLEO-G431RB, NUCLEO-G491RE).
Regards
/Peter
2021-03-07 07:11 PM
Hi Peter,
Thanks. I 'll modify the compile settings and try it.
Also could you tell me how to slow down the gate driver? I'd like to have it a try to see how much the noise can be reduced.
Thank you.