2
$\begingroup$

Assume a system with dynamics:

$\dot{\omega}(t) = \alpha \omega^2(t) + \beta i(t)$,

where $\dot{\omega}(t), \omega(t)$ are system's states and $i(t)$ is the system's input. I'd like to approximate the system's transfer function $P(s) = \frac{\omega(s)}{I(s)}$ around some operating point $\xi_0 = \{\omega_0, i_0\}$.

I assumed I could achieve this by linearizing as follows:

$\alpha_0 = \ddot{\omega}(\omega_0) = 2 \alpha \omega_0$

giving:

$\dot{\omega}(t) \approx \alpha_0 \omega(t) + \beta i(t) = 2 \alpha \omega_0 \omega(t) + \beta i(t)$,

hence the transfer function would be:

$\omega(s)(s - 2 \alpha \omega_0) = \beta I(s)$

$P(s) = \frac{\omega(s)}{I(s)} = \frac{\beta}{s - 2 \alpha \omega_0}$.

I tried to simulate step response of the system, but the effects are not as I expected. So there are two solutions: either I made a mistake programming, or the whole thought-process is wrong. Now, which one is it? And why?

Any hints appreciated.

EDIT: The real coefficient and operating point values are given below.

$\alpha = -2182.5$

$\beta = 358.8825$

$\omega_0 = 517.8056$

$i_0 = 6.0814$

EDIT2: I already figured out, what I did is actually a Taylor expansion of the function $\dot{\omega}(t)$. A Taylor expansion also includes the constant term, ie:

$\dot{\omega}(t) = 2 \alpha \omega_0 \omega(t) + \beta i(t) - 2 \alpha \omega^2_0 - \beta i_0$

As @copper.hat commented below, $I(s)$ in the transfer function $P(s)$ reflects perturbations around $i_0$. I already tried testing the transfer function's behaviour in Matlab. I defined a system using:

motor = tf(beta, [1 -2*alpha*omega_0]) 

To obtain correct amplitude of the step response I had to issue a command

step(motor+i_0) 

Is there a way to include the constant term in the transfer function $P(s)$? What does adding $i_0$ really mean in terms of Laplace transform?

What $P(s)$ really is is a model of a BLDC motor with propeller and the non-linear term reflects aerodynamic drag ($\omega$ is shaft angular velocity and $i$ is applied current). I'd like to include the motor in a bigger, linear, model and apply PID control for the whole system. Is it possible?

  • 0
    $\dot{\omega}(t) \approx \alpha_0 \omega(t) + \beta_0 i(t)$ is a valid assumption for only $t \approx 0$ since $\dot{\omega}(t)$ is largely negative and very large and stays like that until $\omega\left(t\right)$ is very small. So, that is one source of error.2012-07-30

2 Answers 2

2

You did some mistake when linearizing. The equation is already linear in $i(t)$. Thus, you should obtain $\dot{\omega}(t) \approx 2 \alpha \omega_0 \omega(t) + \beta i(t).$ The transfer function reads $ P(s) = \frac{\beta}{s - 2 \alpha \omega_0}.$

  • 0
    Thanks Fabian. I edited my question to reflect the correction you mentioned.2012-07-31
0

Just solve the problem directly. This is a Riccati equation, so using the variable $v = \omega^{-1}$, one obtains $v'(t) + \alpha + \beta i(t)v(t) = 0$. This can be solved explicitly, using separation of variables.

  • 0
    @mmm: http://en.wikipedia.org/wiki/Riccati_equation#Reduction_to_a_second_order_linear_equation2012-07-30