Author Topic: frequency for a normal BLDC motor  (Read 8303 times)

0 Members and 1 Guest are viewing this topic.

Offline amirkargar110Topic starter

  • Contributor
  • Posts: 14
  • Country: us
frequency for a normal BLDC motor
« on: November 27, 2017, 03:25:21 pm »
hi
I designed a board to drive a brushless dc 3phase motor
how much i put the frequency of my pwm and its duty cycle for first test and start?
and what range do you suggest for it?
and how much is the range of commutation frequency?
 

Offline samofab

  • Regular Contributor
  • *
  • Posts: 148
  • Country: si
Re: frequency for a normal BLDC motor
« Reply #1 on: November 27, 2017, 06:12:51 pm »
It depends on your motor. Small motors (especially RC motors) have small inductance which means that current increases very fast. In that case you need a higher PWM frequency. Let's say from 10 to 30kHz.
Larger motors can live with smaller frequency.. Let's say 5 to 15kHz
Commutation frequency is directly correlated to speed of the motor and number of poles on the motor. e.g.: 1000 rpm = 16.6 Hz mechanical speed. multiply by number of pole pairs to get electrical frequency.. and multiply again by number of commutation steps to get commutation frequency.
 
The following users thanked this post: amirkargar110

Offline ocset

  • Super Contributor
  • ***
  • Posts: 1516
  • Country: 00
Re: frequency for a normal BLDC motor
« Reply #2 on: November 27, 2017, 08:11:15 pm »
if you dont know, go high instead of low......if you go too low, then your current can rise up too high.
..unless you have overcurrent cut off in which case you can experiment as you please.
But yes, your powm frequency is usually a good deal faster than your commutation frequency.
Its basically Lenz's law, V=Ldi/dt that tells how your current will rise.
 
The following users thanked this post: amirkargar110

Offline Siwastaja

  • Super Contributor
  • ***
  • Posts: 8168
  • Country: fi
Re: frequency for a normal BLDC motor
« Reply #3 on: November 28, 2017, 10:34:48 am »
You are asking the wrong question, and everybody is giving the wrong answer without realizing they are answering the wrong question.

You need to be asking: How quick does the current measurement and the overcurrent reaction circuit/software need to be? The answer is not the switching frequency, but a certain time in nano or microseconds -- time from the current level rising near to causing issues (blown parts, or even just functional issues such as control loop stability going out of designed bounds) to when the FETs actually turn off, and will tell you the bandwidth needed for the current sense amplifier, the comparator speed required, synchronization delays to any digital part, worst case interrupt latency in the MCU if the protection goes through software (usually not), etc.

All of this happens completely separate from any switching.

Switching frequency is mostly irrelevant in the context of "current rising too fast", causing saturation and blown FETs.

Current rise depends on the DC bus voltage and the motor inductance.

Increasing the switching freq doesn't magically make the "fast rising current" issue go away, it's still rising fast (during the active cycles; the duty cycle of which is hard to guarantee in corner cases) and you still need to measure it quickly enough and react in time.

Similarly, low switching freq doesn't magically make the "fast rising current" problem worse; you should have an overcurrent trip circuit that can terminate any single PWM cycle midway, which is almost always the case, because:

The current control is separate from the PWM generation!

Quick current sensing and "pulse by pulse limiting" is basics 101 in any inverter / motor drive, and the only way to go. Practically all relevant drive ICs, including MCU timers, include support for this (for example: most motor control MCUs offer an analog comparator directly routable to a "timer break input", which instantly resets the timer output, regardless of whats going on in the PWM value).

Although, it doesn't always need to actually be "pulse by pulse"; it just needs to be fast enough. Sometimes, the required time is less than one PWM period, sometimes it's more. It is extremely easy to calculate from di/dt = V/L, and the switching frequency is not a part of the equation.
« Last Edit: November 28, 2017, 11:20:37 am by Siwastaja »
 
The following users thanked this post: amirkargar110, balestrino

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: frequency for a normal BLDC motor
« Reply #4 on: November 30, 2017, 12:10:14 am »
There are at least two common open source firmwares used in RC speed controllers common in multirotors and model helicopters. Have a look at the source and you'll have a complete example.
 
The following users thanked this post: amirkargar110


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf