share
Electrical EngineeringBrushless motor dynamics (BLDC transfer function)?
[0] [2] Thomas Kirven
[2016-10-06 19:16:47]
[ brushless-dc-motor transfer-function quad-copter ]
[ https://electronics.stackexchange.com/questions/262057/brushless-motor-dynamics-bldc-transfer-function ]

I am building a quadrotor and want get a reasonable estimate of the dynamics (voltage to rpm transfer function) of the motors. I am wondering:

1) Is the transfer function for a typical BLDC 1st or 2nd order?

2) Does kv rating relate to any constants in the transfer function?

The motors I have are 3-phase 2300kv with 12 windings, but other than that I have had a hard time finding useful information about them.

[+5] [2016-10-06 20:19:30] Marko Buršič

The picture below rapresents a block transfer function of a motor. It can be any kind of it, let we suppose it's about brush DC motor with permenent magnet. Any other type shall be transformed in the d,q coordinate system. For PMSM or BLDC this is done with Park and Clarke transformation. The d-component is the excitation, a permanent magnet. The q-component is related to the torque, in DC brush motor is the armature component.

Thus, \$u_q\$ is the armature voltage, \$R_q, L_q\$ are resistance and inductivity of the armature, \$k_\Phi\$ is the flux constant (kv in your case, but with different units), \$M, M_L\$ is motor torque and load torque, \$J\$ is the moment of inertia, \$F\$ is the friction constant, \$\Omega\$ is the angular speed, \$\Theta\$ is the angle of the motor, \$U_i\$ is the back EMF voltage.

For better understanding you should look for Field oriented control, where you will find how a multi phase machine is transformed into a d,q model (brush DC motor with separate excitation), then all the copmutation is the same as DC motor.

enter image description here

EDIT:
The block diagram is reararanged in a equation using the property of closed loop rearangement. Let the open loop blocks rapresent \$G_1(s)\$ and the feedback path \$H(s)\$, which in our case is \$k_\Phi\$. The equivalent transfer function of the closed loop is: $$ G(s)=\dfrac{G1(s)}{1+G1(s)\cdot H(s)}$$

This yields the transfer function of speed vs. voltage:

$$ \dfrac{\Omega(s)}{u_q(s)} =\dfrac{\dfrac{k_\Phi}{L_qJ}}{s^2 + s\dfrac{R_qJ+L_qF}{L_qJ}+\dfrac{R_qF+k_\Phi^2}{L_qJ}} $$

$$ \dfrac{\Omega(s)}{u_q(s)} =\dfrac{{k_\Phi}}{s^2L_qJ + s{R_qJ+L_qF}+{R_qF+k_\Phi^2}} $$ You may see it is a second order system.

EDIT: from Anton Skuric's notes: Corrected formula with missing F. The formula is valid for DC motor. For BLDC and PMSM the \$k_v\$ and \$k_i\$ are not equal, thus \$k_{\Phi}\$ should be split to \$k_v\$ and \$k_i\$.

EDIT: Separate voltage constant \$k_v\$ and torque constant \$k_i\$ instead of the same \$k_{\Phi}\$

$$ \dfrac{\Omega(s)}{u_q(s)} =\dfrac{{k_i}}{s^2L_qJ + s{R_qJ+L_qF}+{R_qF+k_v\cdot k_i}} $$


This model does not account for the ratios for number of stator /rotor poles and number of phases per pole - Tony Stewart EE since 1975
Of course not, because it is the transfer function of the motor model in the d,q-coordinate system. As previously said, the arbitrary motor type has to be transformed in the d,q model. - Marko Buršič
(3) Good work with this answer. Just two things: You are missing F in denominator $$ \frac{R_q F + k_\Phi^2}{L_qJ} $$ at least I think so :) Torque and emf constants are not the same $$K_m = \frac{3}{2}p K_e$$ where p is pole pairs number and Ke is magnetic field magnitude of rotor's permanent magnet. $$K_e = \Psi_{PM}$$ - Antun Skuric
@AntunSkuric Thank you for the eagle's eye (sokolovo oko), I have corrected the formula, but for now I didn't introduced separate voltage and torque constants. - Marko Buršič
@AntunSkuric Should they be summed? How to seperate? - user165765
@AntunSkuric is the output of this transfer function has unit "(ang.vel.)/Voltage" ? - user165765
The upper is replaced with Km (ki,kt), meanwhile the lower is replaced with Ke (kv). - Marko Buršič
@AntunSkuric Does the constants also differ in brushed DC motor? - Unknown123
@Unknown123 No, they are the same. - Marko Buršič
Okay thanks, I also found detailed explanation in page 21 on this paper: PID control of brushless DC motor and robot trajectory planning simulation with MATLAB®/SIMULINK® Oguntoyinbo, Oludayo (2009). - Unknown123
@Unknown123 Thank you for the article, really good one. I shall check my equation if it has the same result (at first look, it has). - Marko Buršič
1
[+3] [2016-10-06 21:10:45] Tony Stewart EE since 1975
  • The simple answer is that a Dc motor has an RPM that is proportional to V until a non-linear aerodynamic load such as your prop, disturbs the transfer function with a non linear reduction in speed vs V,
  • then it becomes a more linear function of lift proportional to current (or torque transferred to lift vs current,
    • with some eddy current losses due to air coupling losses and choice of prop.
    • just as impedance matching is critical in transmission lines of RF, you want to choose the Prop to match the mechanical impedance of the prop to the mechanical impedance of the motor torque at the ideal RPM to obtain maximum HP or lift . Further details are beyond the scope of this question.

Then the differential average current between prop motors determines the tilting force. Motor current translates to torque while voltage translates to "no load" RPM. Actual transfer function requires monitoring V, I and RPM to know lift. which can be calibrated on the bench, then you can choose prop for high payload weight or high speed. Motor heat loss rises with both V and I and motor T accelerates wear, while bearing wear rises exponentially with RPM

  • RPM/V: 2480KV. means with no prop , 2480 RPM per Volt

Here is a clever guy who uses his wife's kitchen scale to measure thrust which correlates with motor current using throttle to control speed.

http://www.rcgroups.com/forums/showthread.php?t=2168392

Here are some specifications for a similar motor

enter image description here

Here are some Prop specs where Motor power and current are the key indicators for max thrust for 1st order approximations for this motor and various props

enter image description here


From what I understand brushless motors are synchronous meaning the period of rotation is always an integer multiple of the ESC commutation period, regardless of load. And since commutation rate is determined by a pulse width between 1-2ms then what does RPM/V really mean in regards to brushless motors driven by ESC's?? I know that pulsewidth corresponds to a voltage for a given period, but when you consider most ESC's accept a wide range of frequencies, then I fail to see the meaning of kv or RPM/V. - Thomas Kirven
Kv tells you what (no-load) rpm the motor will do when a particular voltage is applied to it. The commutation rate is determined by the motor, not the ESC. The ESC can apply PWM to lower the (average) motor voltage, which the motor then responds to. The relationship between ESC signal input and PWM ratio is usually linear, so 50% throttle (1.5ms) = 50% PWM = 50% supply voltage. At full throttle (2ms) you should get (close to) the rated Kv when dividing actual no-load rpm by supply voltage. Note: ESC throttle range may be less than 1~2ms (some require an initial calibration to set the range). - Bruce Abbott
I mean the ESC is the thing that's actually doing the commutating.. right? The motor is just magnets and coils of copper wire. And the ESC doesn't apply PWM to the motor, it outputs 3 phase sinusoidal AC current. The pwm is the input to the ESC. This is all off topic though, I am wondering if there is any common knowledge about how fast brushless motors can respond to step inputs. Or back to the first question whether their dynamics are better approximated as 1st or 2nd order systems - Thomas Kirven
Those who wish to learn more cache.freescale.com/files/product/doc/AN1913.pdf - Tony Stewart EE since 1975
It is important understand than BLDC motor is not the same as an induction VFM ! It is the fundamental design in any DC fan - Tony Stewart EE since 1975
@ThomasKirven: The ESC is generating rotating (alternating between the 3 coils) electrical pulses, yes. But it can't beat physics. Specifically, there is 1. inertia 2. aerodynamic drag 3. mechanical drag that slows down the motor. If the physical forces slows the motor down slower than the ESC pulses the motor will go out of sync and the pulses will merely rattle the motor (you will hear a "rrrr" sound but the motor does not move). Thus the ESC needs to 1. adjust the pulse speed/frequency to keep spinning 2. generate enough torque to overcome drag - slebetman
@ThomasKirven: To generate more torque it can 1. make pulse width longer (however, a pulse width that is too long will act as brake, pulling the coil back to the magnet) 2. use higher voltage. Generally ESCs don't control voltage output, it will just output the max voltage the mosfets can handle. Battery selection (2S, 3S, 4S etc.) determines the voltage (and motor selection, since too high a voltage can melt the insulator of the coils). - slebetman
@ThomasKirven: The motor's kv rating therefore represents the point where the drag forces of the motor balances the maximum wattage rating of the motor (with no load) - slebetman
@slebetman not quite, when the motor starts up , there is little drag and the Hz/V is linear, it is also a function of number of stator windings per rotor pole - Tony Stewart EE since 1975
2