I'd like to model a brushless motor's (BLDC) dynamic response using Matlab. I'm controlling the motor by an Elesctonic Speed Controller (ESC). I'd like to derive a transfer function of such a circuit with shaft's angular speed being its output (as here) and with current being its input. I'm powering the whole plant using a constant 11.1V battery source.

BLDC electromechanical model

In the picture above, one could write equations for the electrical part of the model as:

\$ L \frac{di}{dt} + Ri = V - K \dot{\theta} \$ (1)

with K being the back-emf constant and the mechanical part can be modeled as (Newton's second law):

\$ J \ddot{\theta} + b \dot{\theta} = Ki \$. (2)

It's easy to connect those two equations and derive a transfer function \$ \frac{\dot{\theta}}{V} \$. I'm also expecting it must be possible to derive a transfer function of the form \$ \frac{\dot{\theta}}{i} \$. I imagine I could solve my problem by substituting \$ V \$ for \$ i \$ in equation (2) - I just don't know how.

  • \$\begingroup\$ Are you using constant current or constant voltage? In the title soy say CC and then in the body of the question CV. \$\endgroup\$
    – AndrejaKo
    Commented Jul 11, 2012 at 10:10
  • \$\begingroup\$ The title says "current source". I'm using a 11.1V battery and control motor's speed by differentiating current. \$\endgroup\$
    – mmm
    Commented Jul 11, 2012 at 10:29
  • 1
    \$\begingroup\$ You can either model the angular velocity as a function of the applied voltage (CV) or as a function of applied current (CC). You can't have both at the same time since the voltage and current are interdependent. \$\endgroup\$
    – MikeJ-UK
    Commented Jul 11, 2012 at 10:33
  • \$\begingroup\$ Yes, I expect it to be possible and the solution to be pretty easy. I'm just stuck on it and don't see how. I rephrased the question and added some details, to be more specific. \$\endgroup\$
    – mmm
    Commented Jul 11, 2012 at 10:58

1 Answer 1


If you are driving the motor with a known voltage, the page you linked to gives you the answer so I assume you want to drive the motor with a controlled current.

Since the motor's torque is proportional to current, you can forget the resistance, inductance and back-emf constants.

\$T = K.i\$



this can be expressed as


(from your linked article), so

\$\theta = \dfrac{Ki}{s(Js+b)}\$


\$\dfrac{\dot{\theta}}{i} = \dfrac{K}{Js+b}\$

Of course any current source has a finite voltage compliance, so you will also need to compute the voltage as a function of current to ensure that the current source stays under control.

  • \$\begingroup\$ Thanks. I knew the answer must be ready and waiting on the referenced page, just couldn't link it :). \$\endgroup\$
    – mmm
    Commented Jul 11, 2012 at 12:41
  • \$\begingroup\$ somebody please fix this [math processing error]. \$\endgroup\$ Commented Nov 1, 2012 at 19:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.