Electronic – Brushless motor controlled via current source math model

brushless-dc-motorcontrolcontrol systemMATLABmodeling

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.

Best Answer

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\$

and

\$T=J\ddot{\theta}+b\dot{\theta}\$

this can be expressed as

\$s(Js+b)\theta=Ki\$

(from your linked article), so

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

and

\$\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.