- •6. Системы с цифровыми управляющими устройствами
- •6.1. Модели систем цифрового управления непрерывными объектами
- •6.2. Однородные модели систем цифрового управления непрерывными объектами
- •7. Синтез систем цифрового управления
- •7.1. Способы синтеза систем цифрового управления
- •7.2. Дискретизация аналоговых регуляторов
- •7.3. Пример дискретизации динамического регулятора, полученного методом пространства состояний
- •7.4. Дискретизация аналоговых регуляторов, синтезированных частотным методом
- •7.4. Модель ′pendulum_freq_discr′
- •7.5. Синтез регулятора по дискретной модели объекта
- •Заключение
- •Литература
7.4. Дискретизация аналоговых регуляторов, синтезированных частотным методом
Ранее синтезирована двухконтурная (двухуровневая) система автоматической стабилизации маятника на каретке частотным методом.
Реализуем дискретные варианты регуляторов. Для быстрого контура регулирования положения маятника примем период дискретизации времени 0.001 с.
reg1=tf([200 * 1/20 200],[1/1000 1]);
Dreg1=c2d(reg1,0.001)
10000 z - 9874
--------------
z - 0.3679
Sampling time: 0.001
Для контура стабилизации каретки выбран регулятор с несколько отличающимися от непрерывного прототипа параметрами:
reg3=tf([10 1],[0.1 1])
10 s + 1
---------
0.1 s + 1
Для медленного контура стабилизации каретки период дискретизации может быть выбран равным 0.1 с
Dreg3=c2d(reg3,0.1)
100 z - 99.37
-------------
z - 0.3679
Sampling time: 0.1
Таким образом, получим систему цифрового управления непрерывным объектом, где контроллеры работают с периодами дискретизации, различающимися в 100 раз.
Модель системы ′pendulum_freq_discr′ приводится на рис. 7.4.
7.4. Модель ′pendulum_freq_discr′
На рис. 7.5.1-7.5.2. показаны результаты компьютерной имитации при начальных отклонениях маятника на 1.096 рад.
Рис. 7.5.1. Процессы в системе с дискретным регулятором при отклонении маятника на 1.096 рад. (stop time = 5)
Рис. 7.5.2. Процессы в системе с дискретным регулятором при отклонении маятника на 1.096 рад. (stop time = 20)
На рис. 7.5.3. показан результат компьютерной имитации при начальных отклонениях каретки на 3.295 м.
Рис. 7.5.3. Процессы в системе с дискретным регулятором при отклонении каретки на 3.295 м.
7.5. Синтез регулятора по дискретной модели объекта
Подвергнем линейную непрерывную модель объекта дискретизации времени с периодом с
Ts=0.01;
dplant=c2d(plant,Ts);
Напомним, что в случае дискретизации аналогового регулятора, синтезированного методом пространства состояний, такой период оказался недопустимо большим.
Собственные значения дискретного объекта:
eig(dplant)
1.0000
1.0000
1.0677
0.9366
Как видно, дискретный объект неустойчив — двукратное собственное значение на единичной окружности и одно — вне единичного круга.
Дискретизация не приводит к потере управляемости объекта:
[Ad,Bd,Cd,Dd]=ssdata(dplant);
rank(ctrb(Ad,Bd))
4
Процедура синтеза регулятора состояния для дискретного случая отличается только выбором желаемых собственных значений. Их необходимо назначать в единичном круге — в области устойчивости дискретных систем.
Собственные значения непрерывной и дискретной систем связаны соотношением
. (6.3)
uде: si и zi — собственные значения непрерывной и дискретной систем.
Дискретный регулятор будем синтезировать методом пространства состояний по заданным собственным значениям системы. Желаемые собственные значения выберем так, чтобы процессы в дискретной системе не слишком отличались от соответствующих процессов в непрерывных системах.
При синтезе непрерывной системы были назначены следующие собственные значения:
p =
-1
-2
-4
-6
Вычислим желаемые собственные значения дискретной системы по формуле (6.3), т. е. по команде
q=exp(p*Ts)
0.9900
0.9802
0.9608
0.9418
Матрица коэффициентов регулятора состояний дискретной системы вычисляется так:
Kd=place(Ad,Bd,q)
Kd =
-0.4401 -9.3316 -1.4690 -0.8458
Аналогично назначим собственные значения дискретного наблюдателя. Для непрерывного наблюдателя они были следующими:
po =
-3
-6
-12
-18
Вычислим их для дискретного наблюдателя по команде
qo=exp(po*Ts)
0.9704
0.9418
0.8869
0.8353
Они принадлежат единичному кругу, но дальше от границы устойчивости (имеют меньшие модули), что должно обеспечивать более быстрое затухание процессов в наблюдателе.
Матрицу дискретного наблюдателя вычислим так:
Ld=place(Ad',Cd',qo)'
0.3699
-11.9655
-78.6960
4.8744
Дискретный динамический регулятор объединяет регулятор состояния и наблюдатель; его матрицы вычисляются по команде
[Ard,Brd,Crd,Drd]=dreg(Ad,Bd,Cd,Dd,Kd,Ld);
ddregulator=ss(Ard,Brd,Crd,Drd,0.01);
Последний аргумент команды декларирует период дискретизации.
Анализ линейных дискретных моделей предполагает проверку собственных значений замкнутой системы:
dsysc=feedback(dplant,ddregulator);
abs(eig(dsysc))
0.7403
0.9900
0.9802
0.9267
0.9653
0.9608
0.9514
0.9418
Можно заметить, что замкнутая система имеет в точности назначенные при синтезе регулятора собственные значения, но собственные значения наблюдателя несколько иные.
Проведем компьютерную имитацию системы «нелинейный непрерывный объект + дискретный линейный регулятор» с целью оценки максимальных отклонений (рис. 7.6.1. и 7.6.2.).
Рис. 7.6.1. Процессы в системе «нелинейный непрерывный объект + дискретный
линейный регулятор» 0.01 с при начальном отклонении маятника на 0.252 рад
Рис. 7.6.2. Процессы в системе «нелинейный непрерывный объект + дискретный
линейный регулятор» 0.01 с при начальном отклонении каретки на 0.01 м.
Получен положительный результат, заключающийся в том, что по сравнению с дискретизацией аналогового регулятора синтез по дискретной модели объекта дает желаемый результат для периода дискретизации времени, который в 10 раз больше.
Попытаемся увеличить период дискретизации до 0.1 с и повторим процедуры анализа и синтеза:
Ts=0.1;
dplant=c2d(plant,Ts);
abs(eig(dplant))
1.0000
1.0000
1.9254
0.5194
Расположение собственных значений относительно единичного круга сохраняется. Проверим, является ли дискретный объект управляемым:
[ad,bd,cd,dd]=ssdata(dplant);
rank(ctrb(ad,bd))
4
Дискретизация также сохранила свойство полной управляемости объекта.
Выберем желаемые собственные значения опираясь на аналоговый прототип — отобразим их по известной формуле:
p =[-1 -2 -4 -6]’;
q=exp(p*Ts)
0.9048
0.8187
0.6703
0.5488
Коэффициенты регулятора состояния:
Kd=place(ad,bd,q)
-0.2423 -7.2465 -1.1336 -0.4792
Синтез наблюдателя:
po =[-3 -6 -12 -18]’;
qo=exp(po*Ts)
0.7408
0.5488
0.3012
0.1653
Матрицу дискретного наблюдателя вычислим по команде
Ld=place(ad',cd',qo)';
Динамический дискретный регулятор:
[Ard,Brd,Crd,Drd]=dreg(ad,bd,cd,dd,Kd,Ld);
Ddregulator=ss(Ard,Brd,Crd,Drd,0.1);
Анализ по линейным дискретным моделям предполагает проверку собственных значений системы:
dsysc=feedback(dplant,ddregulator);
abs(eig(dsysc))
11.2635
0.5793
0.2486
1.7765
0.5634
0.9365
1.0006
0.9995
Система неустойчива — одно собственное значение находится вне единичного круга.
Таким
образом, период дискретизации
с
оказывается недопустимо большим.
