Лабораторная работа №3. Устойчивость автоматических систем.

Звено обратной связи отсутствует, поэтому работаем с единичной обратной связью.

С помощью критерия Гурвица нам нужно найти kкр при котором система будет: устойчива, неустойчива и на границе устойчивости.

Если звенья соединены последовательно, то передаточные функции перемножаются, если параллельно, то складываются.
$$ W_{зам}(p) = {{k \over (T_1p+1)(T_2p+1)(T_3p+1)} \over 1+{k \over (T_1p +1)(T_2p +1)(T_3p +1)}} = $$

Раскрываем скобки и получаем:

$$ = {k \over (T_1p+1)(T_2p+1)(T_3p+1) + 1 + k }$$ $$ {k \over T_1T_2T_3p^3 + (T_1T_2+T_2T_3+T_1T_3)p^2 +(T_1+T_2+T_3)p + 1 + k} $$

По критерию Гурвица мы должны взять знаменатель передаточной функции

$$ \binom{T_1T_2T_3p^3}{a3} + \binom{(T_1T_2+T_2T_3+T_1T_3)p^2}{a2} + \binom{(T_1+T_2+T_3)p}{a1} + \binom{1 + k}{a0} = D(p)$$
$$ \left[ \begin{matrix} a_1 & a_3 & a_5 & 0\\ a_0 & a_2 & a_4 & 0\\ 0 & 0 & a_3 & 0 \\ 0 & \ & \ & a_n \end{matrix} \right] \Rightarrow \left[ \begin{matrix} a_1 & a_3 & 0 \\ a_0 & a_2 & 0 \\ 0 & a_1 & a_3 \end{matrix} \right] = \left[ \begin{matrix} T_1T_2+T_2T_3+T_1T_3 & 1+k & 0 \\ T_1T_2T_3 & T_1+T_2+T_3 & 0 \\ 0 & T_1T_2+T_2T_3+T_1T_3 & 1+k \end{matrix} \right] $$
Формулировка критерия Гурвица.

Если все определители матрицы > 0, то система устойчива.

Если хотя бы один определитель = 0, то система на границе устойчивости.

Если хотя бы один определитель матрицы < 0, то система не устойчива.

$$ \Delta_1 = T_1T_2+T_2T_3+T_1T_3 \gt 0 $$ $$ \Delta_3 = \Delta_2 * a_3 $$ $$ \Delta_2 = a_1a_2 - a_0a_3 = T_1T_2+T_2T_3(1+k) - (T_1T_2 + T_2T_3 + T_1T_3)(T_1+T_2+T_3) = 0$$ $$ T_1^2T_2 + T_2T_1T_3 + T_1^2T_3+T_1T_2^2 + T_2^2T_3 +T_1T_2T_3 + T_1T_2T_3 + T_2T_3^2 + T_1T_3^2 = (1+k)T_1T_2T_3$$ $$ {T_1 \over T_2} + {T_1 \over T_3} + 3 + {T_2 \over T_3 } + {T_3 \over T_2} + {T_3 \over T_1} + {T_2 \over T_1} = 1+k $$

Вводим C

$$ C_2 = {T_2 \over T_1}; C_3 = {T_3 \over T_1} $$ $$ 1+k = (C_1 + C_2+1)({1 \over C_2} + {1 \over C_3} + 1) $$

Мы нашли kкр при котором график будет на грани устойчивости

$$ k_{кр} = (C_3 + C_2 +1)({1 \over C_2} + {1 \over C_3} + 1) - 1 $$
Если возьмем любое значение ниже кривой, это будет устойчивая система.

Нужно исследовать функцию на экстремум

Решаем аналитическим путем.

Что такое C2 и C3

C3 - константа. (как мы помним , производная константы это 0)

C2 - Это функция по которой мы дифференцируем. Ищем частную производную.

$$ {\delta k_{кр} \over \delta C_2} = (0 + 1 + 0)({1 \over C_2} + {1 \over C_3} + 1)+(С_3 + С_2 + 1)(-{1 \over C_2^2} + 0 +0) = $$ $$ = 1 + {1 \over C_2} + {1 \over C_3} - {1 \over C_2} - {1 \over C^2_2} - {C_3 \over C^2_2} = {1 \over C_3} + 1 - {1 \over C_2^2} - {C_3 \over C_2^2} $$ $$ { C^2_2 + C_3 C^2_2 - C_3 - C^2_2 \over C_3 C^2_3} = 0 $$ $$ C_2^2 + C_3C_2^2-C_3-C_3^2 = 0$$ $$ (C_3 + 1)(C_2^2 - C_3) = 0 $$

Разбиваем выражения на множители:

$$ (C_3 + 1) \neq 0 $$ $$ C_2^2 - C_3 = 0 \Rightarrow C_2 = \sqrt{C_3} $$

Подставляем в формулу для kкр, находим экстремум

$$ k_{кр_{min}} = f(C_3, C_2 = \sqrt{C_3}) $$

Далее нам нужно проверить правильно ли мы посчитали для kкр. Проверять мы будем с помощью критериев устойчивости: Рауса, Найквиста и Михайлова

Критерий Рауса

Вспомогательный № строки 1 2 3
$$-$$ $$1$$ $$ C_{11} = a_0 = T_1T_2T_3 $$ $$ C_{12} = a_2 = T_1+T_2+T_3$$ $$ C_{13} = a_4 = 0 $$
$$-$$ $$2$$ $$ C_{21} = a_1 = T_1T_2 + T_2T3 + T_1T_3 $$ $$ C_{22} = a_3 = 1+k $$ $$ C_{23} = a_5 = 0 $$
$$ r_3 = {C_{11} \over C_{21}} = {a_0 \over a_1} $$ $$3$$ $$ C_{31} = a_2-r_3a_3 $$ $$ C_{32} = C_{13} - r_3 C_{23} = 0 $$ $$ C_{33} = C_{14} - r_3 C_{24} = 0 $$
$$ r_4 = {C_{21} \over C_{31}} $$ $$4$$ $$ C_{41} = C_{22} - r_4C_{32} $$ $$ C_{42} = C_{23} - r_4C_{33} = 0 $$ $$ C_{43} = C_{24} - r_4C_{34} = 0 $$
Наша матрица получается из n+1 строк и n столбцов, не считая Вспомогательного.
Критерий устойчивости Рауса

Если все элементы первого столбца > 0, то система устойчива

Если хотя бы один элемент первого столбца = 0, то система на границе устойчивости

Если хотя бы один элемент первого столбца < 0, то система не устойчива

Нужно будет посчитать 3 разных таблицы Рауса

Частотные критерии устойчивости(Критерий устойчивости Михайлова)

  1. Берем знаменатель той системы, которую мы исследуем, все что в числителе нас не интересует.
  2. Этот критерий частотный, мы переходим заменой p на jw в частотную область.
  3. Этот критерий - графоаналитический.
$$ D(p) = a_0p^3 + a_1p^2 + a_2p + a_3$$ $$ p \rightarrow j\omega; j = \sqrt{-1}; j^2 = -1; j^3 = -j $$ $$ D(j\omega) = a_0(j\omega)^3 + a_1(j\omega)^2 + a_2j\omega + a_3 = Re(\omega) + Im(\omega)j$$
Выделяем мнимую и действительную часть. В действительную часть собираются все четные степени, в мнимую все нечётные степени.
$$ Re(\omega) = a_3 - a_1 \omega^2 $$ $$ Im(\omega) = a_2 \omega - a_0 \omega^3 $$
3 случая

1) k > kкр Система не устойчива. Если последовательность квадрантов нарушена, то система не устойчива.

2) k = kкр Система на границе устойчивости. Если система проходит через точку с координатами 0, то система на границе устойчивости.

3) k < kкр Система устойчива. Система устойчива, в том случае, если кривая Михайлова проходит последовательно n квадратов. У нас система третьего порядка, поэтому кривая должна пройти 3 квадранта.

Если порядок системы нечетный, то хвост идет вдоль мнимой оси, если четный то вдоль действительной.

Частотные критерии устойчивости(Критерий устойчивости Найквиста )

Критерий устойчивости Найквиста , это единственный критерий, который подходит для исследований систем с запаздыванием

Об устойчивости замкнутой системы, мы судим по АФЧХ(Амплитудно-фазовая частотная характеристика) разомкнутой системы. При этом саму разомкнутую систему нельзя проверить этим критерием.

$$ W_р(p) = {k \over (T_1p+1)(T_2p+1)(T_3p+1)} = W_1(p)W_2(p)W_3(p) $$

$$ \text{Переходим к частотной передаточной функции заменяя: } p \rightarrow j\omega $$

$$ \text{Во всей передаточной функции, не только в знаменателе.}$$

$$ W_h(j\omega) = {k \over (T_1j\omega + 1)(T_2j\omega + 1)(T_3j\omega + 1)} = Re(\omega) + Im(\omega)j $$

Выделяем действительную и мнимую части.

Каноническая форма комплексного числа:

$$ W_1(j \omega) = {k \over T_1j \omega + 1} = Re(\omega) \pm Im(\omega)j = A(\omega)e^{\phi(\omega)j}$$

Показательная форма комплексного числа:

$$ A(\omega) = \sqrt{Re^2(\omega) + Im^2(\omega)} $$ $$ \phi(W) = arctg{Im(\omega) \over Re(\omega)} $$ $$ W(p) = {k \over Tp+1} \rightarrow A(\omega) = {k \over \sqrt{1+\omega^2T^2}}; \phi(\omega) = -arctgT_1\omega $$
$$ W_i(j\omega) = {k_i \over T_1\omega j+1 } $$ $$ A_i(\omega) = { k_i \over \sqrt{1 + T_i^2\omega^2} } $$ $$ \phi(\omega) = -arctg T_i\omega $$ $$ i = 1 \text{с шагом в 1 и до 3(i = 1,2,3)} $$
$$ W_p(j \omega) = A_1(\omega)e^{\phi_1(\omega)j} * A_2(\omega)e^{\phi_2(\omega)j} * A_3(\omega)e^{\phi_3(\omega)j} =$$ $$ A_1(\omega) A_2(\omega) A_3(\omega)e^{(\phi_1(\omega) + \phi_2(\omega) + \phi_3(\omega))j} = A(\omega)e^{\phi(\omega)j} $$ $$ A(\omega) = { k \over \sqrt{(1+T_1^2 \omega^2)(1+T_2^2 \omega^2)(1+T_3^2 \omega^2)} }$$ $$ \phi(\omega) = -arctgT_1\omega -arctgT_2\omega -arctgT_3\omega $$
АФЧХ

Вектор длины А поворачивается на угол фи и то и другое зависит от частоты.

По 4 формулам строим графики для 3 случаев.

$$ A(\omega) = { k \over \sqrt{(1+T_1^2 \omega^2)(1+T_2^2 \omega^2)(1+T_3^2 \omega^2)} }$$ $$ \phi(\omega) = -arctgT_1\omega -arctgT_2\omega -arctgT_3\omega $$ \begin{cases} Re(\omega) = A(\omega)cos \phi(\omega) \\ Im(\omega) = A(\omega)sin \phi(\omega) \end{cases}
  1. k > kкр Система неустойчива
  2. k = kкр Система на границе устойчивости
  3. k < kкр Система устойчива
Критерий Найквиста случая, когда разомкнутая система устойчива

1) Если АФЧХ разомкнутой системы не охватывает точку с координатами -1,0j, то замкнутая система будет устойчива.

2) Если АФЧХ разомкнутой системы проходит через точку с координатами -1,0j, то система будет на границе устойчивости

3) Если АФЧХ разомкнутой системы охватывает точку с координатами -1,0j, то замкнутая система будет неустойчива


Пример выполнения

$$ W_1(p) = { k \over T_1p+1}, W_2(p) = {1 \over T_2p + 1}, W_3(p) = {1 \over T_3p + 1}, T_1 = 0.1, C_3 = 5 $$

Передаточная функция трех последовательно соединенных звеньев имеет вид:

$$ W(p) = W_1(p) * W_2(p) * W_3(p) = { k \over T_1p+1} * {1 \over T_2p + 1} * {1 \over T_3p + 1} = {k \over (T_1p+1) * (T_2p+1) * (T_3p+1)}$$ $$ {k \over T_1T_2T_3p^3+(T_1T_2 + T_1T_3+T_2T_3)p^2 + (T_1 + T_2 + T_3)p + 1} $$

Передаточная функция замкнутой системы имеет вид:

$$ W_{зам}(p) = {W(p) \over 1 + W(p)} = {{k \over T_1T_2T_3p^3+(T_1T_2 + T_1T_3+T_2T_3)p^2 + (T_1 + T_2 + T_3)p + 1} \over 1+{k \over T_1T_2T_3p^3+(T_1T_2 + T_1T_3+T_2T_3)p^2 + (T_1 + T_2 + T_3)p + 1 }} =$$
$$ = {k \over T_1T_2T_3p^3 + (T_1T_2 + T_1T_3 + T_2T_3)p^2 + (T_1+T_2+T_3)p+1+k} $$

Запишем характеристическое уравнение:

$$ T_1T_2T_3p^3 + (T_1T_2 + T_1T_3 + T_2T_3)p^2 + (T_1+T_2+T_3)p+1+k = 0 $$

Введем замену

$$ a_3 = 1+k $$ $$ a_2 = T_1 + T_2 + T_3 $$ $$ a_1 = T_1T_2 + T_1T_3+T_2T_3 $$ $$ a_0 = T_1T_2T_3 $$

Используя критерий Гурвица найдем коэффициент усиления kкр при котором система находится на границе устойчивости. Для этого составим квадратную матрицу коэффициентов, содержащую 3 строки и 3 столбца

$$ \left[ \begin{matrix} a_1 & a_3 & a_5 & 0\\ a_0 & a_2 & a_4 & 0\\ a_{-1} & a_1 & a_3 & 0 \\ \end{matrix} \right] \Rightarrow \left[ \begin{matrix} a_1 & a_3 & 0 \\ a_3 & a_2 & 0 \\ 0 & a_1 & a_3 \end{matrix} \right] $$

Критерий устойчивости сводится к тому, что при a0 > 0 должны быть больше нуля все 3 определителя, получаемых из квадратной матрицы коэффициентов. Определители составляются по следующему правилу

$$\Delta_1 = a_1 > 0 $$ $$\Delta_2 = \left[ \begin{matrix} a_1 & a_3 \\ a_0 & a_2 \\ \end{matrix} \right] = a_1a_2 - a_3a_0 > 0 $$ $$\Delta_3 = a_3\Delta_2 = (a_1a_2 - a_3a_0)a_3 = a_1a_2a_3 - a_0a_3^2 > 0 $$

В устойчивой системе предпоследний определитель должен быть положителен. Поэтому условие положительности последнего определителя сводится к условию a3 > 0 , т.е. к положительности свободного члена характеристического уравнения. Условие нахождения системы на границе устойчивости можно получить, приравнивая нулю последний определитель: $$ \Delta_3 = a_3 * \Delta_2 \text{т.е.} a_3 = 0 \text{ или } \Delta_2 = 0 \text{ по условию } a_3 \neq 0 \Rightarrow \Delta_2 = 0. \text{ Найдем значение } k_{кр} \text{ используя } \Delta_2 = 0$$

$$ a_1a_2 - a_0a_3 = 0 $$ $$ (T_1T_2 + T_1T_3 + T_2T_3)(T_1+T_2+T_3) - (T_1T_2T_3)(1+k) = 0 $$

Разделим на T1T2T3

$$ {T_1 \over T_3} + {T_1 \over T_2} + 1 + {T_2 \over T_3} + 1 + {T_2 \over T_1} + 1 + {T_3 \over T_2} + {T_3 \over T_1} = 0$$ $$ \text{Сделаем замену:} C_2 = {T_2 \over T_1}; C_3 = {T_3 \over T_1} \text{ тогда коэффициент устойчивости равен}$$ $$ k_{кр} + 1 = {1\over C_3} + 1+ {1\over C_2} + {C_2\over C_3} + C_2 + 1 + 1 + C_3 + {C_3 \over C_2} \text{, тогда}$$ $$ k_{кр} = {1 \over C_3} + {1 \over C_2} + C_2 + C_3 + {C_2 \over C_3} + {C_3 \over C_2} + 2 $$

Построим кривую kкр = f(C2) при C3 = 5


<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">google.charts.load('current', {'packages':['corechart']});
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart(){
var dt=0.1;
var c2=2.24;
var c3=5;
g=1;
var y, c2;
var A=new Array(['X', 'Переходная функция']);
c2=0;
y=0;
var i=1;
while(c2 < 10){
c2=c2+dt;
y=1/c3+1/c2+c2+c3+c2/c3+c3/c2+2;
A[i]=[c2,y];
i++;
}
var data = google.visualization.arrayToDataTable(A);
var options = {
curveType: 'function',
legend: { position: 'bottom' }
};
var chart = new google.visualization.LineChart(document.getElementById('KkpC3_5Expample'));
chart.draw(data, options);
}
</script>
<div id="KkpC3_5Expample" style="width: 575px; height: 400px"></div>

Определение с помощью kкр = kкр(C2, C3) численное значение kкр min Численное значение kкр min найдем из условия, что функция kкр = f(C2) имеет минимум в одной точке. Для нахождения координаты C2 используем условие f '(C2) = 0

Находим частную производную

$$ {\delta k_{кр} \over \delta C_2} = {1 \over C_2^2 } + 1 + {1 \over C_3} - {C_3 \over C_2} $$ $$ {C_3C_2^2 + C_2^2 - C_3^2 - C_3 \over C_2^2C_3} $$ $$ {\delta k_{кр} \over \delta C_2} = 0 $$ $$ C_3C_2^2 + C_2^2 - C_3^2 - C_3 = 0 $$ $$ C_2 = \sqrt{{C_3+C_3^2 \over C_3 + 1}} = \sqrt{C_3} $$

Для нахождения kкр min подставим значения C2 = 2.24 и C3 = 5 в выражение kкр = kкр(C2, C3) и получим kкр min = 12.56657

Таблица Рауса.

Вспомогательный № строки 1 2 3
$$-$$ $$1$$ $$ C_{11} = a_0 = T_1T_2T_3 $$ $$ C_{12} = a_2 = T_1+T_2+T_3$$ $$ C_{13} = a_4 = 0 $$
$$-$$ $$2$$ $$ C_{21} = a_1 = T_1T_2 + T_2T3 + T_1T_3 $$ $$ C_{22} = a_3 = 1+k $$ $$ C_{23} = a_5 = 0 $$
$$ r_3 = {C_{11} \over C_{21}} = {a_0 \over a_1} $$ $$3$$ $$ C_{31} = a_2-r_3a_3 $$ $$ C_{32} = C_{13} - r_3 C_{23} = 0 $$ $$ C_{33} = C_{14} - r_3 C_{24} = 0 $$
$$ r_4 = {C_{21} \over C_{31}} $$ $$4$$ $$ C_{41} = C_{22} - r_4C_{32} $$ $$ C_{42} = C_{23} - r_4C_{33} = 0 $$ $$ C_{43} = C_{24} - r_4C_{34} = 0 $$

Для устойчивой системы необходимо, чтобы все элементы первого столбца имели одинаковый знак; при наличии отрицательных элементов система неустойчива; если хотя бы один элемент первого столбца равен нулю – система на грани устойчивости.

$$ \text{Запишем: } T_1, T_2, T_3 \text{ и } C_2, C_3 $$ $$ T_1 = 0.1 $$ $$ T_2 = 0.224 $$ $$ T_3 = 0.5 $$ $$ C_2 = 2.24 $$ $$ C_3 = 5 $$

Таблица Рауса для k = kкр min

Вспомогательный № строки 1 2 3
$$-$$ $$1$$ $$ 0.0112 $$ $$ 0.824 $$ $$ 0 $$
$$-$$ $$2$$ $$ 0.1844 $$ $$ 13.56657 $$ $$ 0 $$
$$ 0.060738 $$ $$3$$ $$ 0 $$ $$ 0 $$ $$ 0 $$
$$ 0 $$ $$4$$ $$ 13.56657 $$ $$ 0 $$ $$ 0 $$

Поскольку C31 = 0 , система на грани устойчивости.

Таблица Рауса для k > kкр min(k=14)

Вспомогательный № строки 1 2 3
$$-$$ $$1$$ $$ 0.0112 $$ $$ 0.824 $$ $$ 0 $$
$$-$$ $$2$$ $$ 0.1844 $$ $$ 15 $$ $$ 0 $$
$$ 0.060738 $$ $$3$$ $$ -0.02633 $$ $$ 0 $$ $$ 0 $$
$$ -7.00465 $$ $$4$$ $$ 15 $$ $$ 0 $$ $$ 0 $$

Поскольку C31 = -7.00465 < 0, то система неустойчива.

Таблица Рауса для k = kкр min

Вспомогательный № строки 1 2 3
$$-$$ $$1$$ $$ 0.0112 $$ $$ 0.824 $$ $$ 0 $$
$$-$$ $$2$$ $$ 0.1844 $$ $$ 9 $$ $$ 0 $$
$$ 0.060738 $$ $$3$$ $$ 0.277362 $$ $$ 0 $$ $$ 0 $$
$$ 0.664835 $$ $$4$$ $$ 9 $$ $$ 0 $$ $$ 0 $$

Поскольку C31 = 0.664835 > 0, то система устойчива.

Критерий устойчивости Михайлова.

Передаточная функция замкнутой системы имеет вид

$$ W_{зам}(p) = {k \over T_1T_2T_3p^3 + (T_1T_2 + T_1T_3 + T_2T_3)p^2 + (T_1+T_2+T_3)p+1+k } $$ $$ W_{зам}(p) = {k(p) \over D(p)} $$ $$ D(p) = T_1T_2T_3p^3 + (T_1T_2 + T_1T_3 + T_2T_3)p^2 + (T_1+T_2+T_3)p+1+k $$ $$ \text{Подставим в этот полином чисто мнимое значение, где оно представляет собой угловую частоту колебаний. } p = j \omega, $$ $$ \text{где } \omega \text{ представляет собой угловую частоту колебаний.} $$ $$ D(j \omega) = X(\omega) + jY(\omega) = T_1T_2T_3(j \omega)^3 + (T_1T_2+T_1T_3 + T_2T_3)(j \omega)^2 + (T_1 + T_2 + T_3)j \omega + 1 + k = $$ $$ = -jT_1T_2T_3 \omega^3 -(T_1T_2+T_1T_3 + T_2T_3)\omega^2 + j(T_1 + T_2 + T_3) \omega + 1 + k = $$ $$ = \left[ -(T_1T_2 + T_1T_3 + T_2T_3)\omega^2 + 1 + k \right] +j \left[ -T_1T_2T_3 \omega^3 + (T_1 + T_2 + T_3)\omega \right] $$ $$ Re(\omega) = 1 + k - (T_1T_2+T_1T_3 + T_2T_3)\omega^2 $$ $$ Im(\omega) = (T_1 + T_2 + T_3) \omega - T_1T_2T_3 \omega^3 $$


<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart(){
var dt=0.001;
var c2=2.24;
var c3=5;
var km=8;
var kkp=12.56657;
var kb=14;
var L=8;
var t1=0.1;
var t2=0.224;
var t3=0.5;
g=1;
var x, x1, x2,y, c2;
var A=new Array(['X', 'Устойчивая']);
var B=new Array(['X', 'Граница устойчивости']);
var C=new Array(['X', 'Не устойчивая']);
c2=0;
y=0;
var w = 0;
var i=1;
while(w < 10){
x=-(t1*t2+t2*t3+t1*t3)*w*w+km+1;
y=-(t1*t2*t3)*w*w*w+(t1+t2+t3)*w;
A[i]=[x,y];
x1=-(t1*t2+t2*t3+t1*t3)*w*w+kkp+1;
B[i]=[x1,y];
x2=-(t1*t2+t2*t3+t1*t3)*w*w+kb+1;
C[i]=[x2,y];
w=w+dt;
i++;
}
var data2 = new google.visualization.DataTable();
data2.addColumn('number', 'Chart 1');
data2.addColumn('number', 'Chart 2');
data2.addColumn('number', 'Chart 3');
var dt1 = google.visualization.arrayToDataTable(A);
var dt2 = google.visualization.arrayToDataTable(B);
var dt3 = google.visualization.arrayToDataTable(C);
var joinedData = google.visualization.data.join(dt1, data2, 'full', [[0, 0]], [1], [1]);
var joinedData1 = google.visualization.data.join(joinedData, dt2, 'full', [[0, 0]], [1,2], [1]);
var joinedData2 = google.visualization.data.join(joinedData1, dt3, 'full', [[0, 0]], [1,3], [1]);
var options = {
curveType: 'function',
legend: { position: 'bottom' }
};
var chart = new google.visualization.LineChart(document.getElementById('mihaylovExample'));
chart.draw(joinedData2, {
height: 400,
width: 700,
interpolateNulls: true
});
}
</script>
<div id="mihaylovExpample" style="width: 575px; height: 400px"></div>

Из графика видно, что при k < kкр min(k=8) система устойчива т.к. график (синяя линия) последовательно проходит три квадранта, при k > kкр min(k=14) система неустойчива т.к. график (оранжевая) последовательно не проходит три квадранта и при k = kкр min система на границе устойчивости и график (красная линия) проходит через начало координат.

Амплитудно-фазовые частотные характеристики разомкнутой автоматической системы.

Передаточная функция без обратной связи имеет вид

$$ W(p) = W_1(p) * W_2(p) * W_3(p) = { k \over T_1p+1} * {1 \over T_2p + 1} * {1 \over T_3p + 1}$$

Подставим в эту функцию чисто мнимое значение

$$ p = j \omega $$
$$ Wр(p) = { k \over T_1j \omega + 1} * { k \over T_2j \omega + 1} * { k \over T_3j \omega + 1} = A_1(\omega)e^{j \phi_1(\omega)} * A_2(\omega)e^{j \phi_2(\omega)} * A_3(\omega)e^{j \phi_3(\omega)} = $$ $$ = A_1( \omega) A_2( \omega) A_3( \omega)e^{j(\phi_1(\omega)\phi_2(\omega)\phi_3(\omega))} = A(\omega)^{j \phi(\omega)} $$
$$ A(\omega) = \sqrt(Re^2(\omega) + Im(\omega)) $$ $$ \phi(\omega) = -arctg{Im(\omega) \over Re(\omega)} $$ $$ A(\omega) = {k \over \sqrt{1 + T_1^2 \omega^2}}$$

Результирующая амплитуда:

$$ A(\omega) = {k \over \sqrt{(1 + T_1^2 \omega^2)(1 + T_2^2 \omega^2)(1 + T_3^2 \omega^2) }} $$

Результирующая фаза:

$$ \phi(\omega) = -arctg(T_1\omega) -arctg(T_2\omega) -arctg(T_3\omega) $$

Найти:

$$ Re(\omega) = A(\omega)cos \phi(\omega) $$ $$ Im(\omega) = A(\omega)sin \phi(\omega) $$

Графики амплитудно-фазовой частотной характеристики разомкнутой автоматической системы.

Из графика видно, что при k < kкр min(k=8) система устойчива т.к. график (красная линия) пересекает вещественную ось при координате >-1; при k > kкр min(k=14) система неустойчива т.к. график (синяя линия) пересекает вещественную ось при координате <-1;и при k = kкр min система на границе устойчивости и график (зеленая линия) проходит через точку (-1,0).

Графики моделируемой системы.

Графики моделируемых функций доказывают аналитические выводы относительно устойчивости автоматической системы в зависимости от коэффициента усиления. При k < kкр min(k=8) система устойчива, в случае k = kкр min(k=12.56657) система находится на границе устойчивости, при k > kкр min(k=14) система неустойчива.

Cистема неустойчива(k > kкр min(k=14))


<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"> </script> <script type="text/javascript">google.charts.load('current', {'packages':['corechart']}); google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart(){
var k,y,y1,y2,z,z1,z2,std,x;
const dt=0.001; c2=2.24; c3=5; Km=8;
Kkp=12.56657; Kb=14; L=8;
t1=0.1;t2=0.224; t3=0.5; g=1;
k=Kb;
y=0; y1=0; y2=0;
z=0; z1=0; z2=0; std=0;
var A=new Array(['X', 'Переходная функция']);
var i=1;
while(std < 15){
x=g-y;
y1=z1;
z1=z1+(k/t1*x-y1/t1)*dt;
y2=z2;
z2=z2+(y1/t2-y2/t2)*dt;
y=z;
z=z+(y2/t3-y/t3)*dt;
A[i]=[std,y];
std=std+dt;
i++;
}
var data = google.visualization.arrayToDataTable(A);
var options = {
title: 'Моделирование заданного типового звена',
curveType: 'function',
legend: { position: 'bottom' }
};
var chart = new google.visualization.LineChart(document.getElementById('NotSustSystemExample'));
chart.draw(data, options);
}
</script>
<div id="NotSustSystemExample"></div>

Система на границе устойчивости(k = kкр min(k=12.56657))


<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"> </script> <script type="text/javascript">google.charts.load('current', {'packages':['corechart']}); google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart(){
var k,y,y1,y2,z,z1,z2,std,x;
const dt=0.0001; c2=2.24; c3=5; Km=8;
Kkp=12.56657; Kb=14; L=8;
t1=0.1;t2=0.224; t3=0.5; g=1;
k=Kkp;
y=0; y1=0; y2=0;
z=0; z1=0; z2=0; std=0;
var A=new Array(['X', 'Переходная функция']);
var i=1;
while(std < 5){
x=g-y;
y1=z1;
z1=z1+(k/t1*x-y1/t1)*dt;
y2=z2;
z2=z2+(y1/t2-y2/t2)*dt;
y=z;
z=z+(y2/t3-y/t3)*dt;
A[i]=[std,y];
std=std+dt;
i++;
}
var data = google.visualization.arrayToDataTable(A);
var options = {
title: 'Моделирование заданного типового звена',
curveType: 'function',
legend: { position: 'bottom' }
};
var chart = new google.visualization.LineChart(document.getElementById('BorderOfStabilExample'));
chart.draw(data, options);
}
</script > <div id="BorderOfStabilExample"></div>

Система устойчива(k < kкр min(k=8))


<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"> </script> <script type="text/javascript">google.charts.load('current', {'packages':['corechart']}); google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart(){
var k,y,y1,y2,z,z1,z2,std,x;
const dt=0.001; c2=2.24; c3=5; Km=8;
Kkp=12.56657; Kb=14; L=8;
t1=0.1;t2=0.224; t3=0.5; g=1;
k=Km;
y=0; y1=0; y2=0;
z=0; z1=0; z2=0; std=0;
var A=new Array(['X', 'Переходная функция']);
var i=1;
while(std < 6){
x=g-y;
y1=z1;
z1=z1+(k/t1*x-y1/t1)*dt;
y2=z2;
z2=z2+(y1/t2-y2/t2)*dt;
y=z;
z=z+(y2/t3-y/t3)*dt;
A[i]=[std,y];
std=std+dt;
i++;
}
var data = google.visualization.arrayToDataTable(A);
var options = {
title: 'Моделирование заданного типового звена',
curveType: 'function',
legend: { position: 'bottom' }
};
var chart = new google.visualization.LineChart(document.getElementById('SustSystemExample'));
chart.draw(data, options);
}
</script>
<div id="SustSystemExample"></div>