- •Синтез сау в пространстве состояний
- •Дифференциальные уравнения для неизменяемой части системы
- •Определение устойчивости системы
- •Определение управляемости и наблюдаемости
- •Определение собственной частоты системы
- •Определение корней полинома ху
- •Определение коэффициентов k ос
- •Расширение выхода системы sys
- •Определение коэффициентов обратных связей наблюдателя
- •Определение наблюдателя как динамическую систему регулирования с обратной связью.
- •Формирование регулятора из наблюдателя
- •Определение единой динамической системы
- •Определение матриц a,b,c,d новой системы rsysz.
- •Определение полюсов и нулей замкнутой системы rsysz
- •Определение показатели качества замкнутой системы rsysz
- •Построение моделей в Simulink
Определение управляемости и наблюдаемости
3.1 Определение управляемости
Определим матрицу управляемости (ct) для sys, используя оператор ctrb:
ct=ctrb(sys) определение матрицы управляемости системы для sys
>> ct=ctrb(sys)
ct =
6.2857e+003 -897.9592e+003 128.2799e+006 -18.3257e+009
0.0000e+000 27.3292e+003 -5.3027e+006 807.9473e+006
0.0000e+000 0.0000e+000 1.2656e+006 -245.5746e+006
0.0000e+000 0.0000e+000 0.0000e+000 1.2656e+006
>> rank(ct) определение ранга матрицы управляемости
ans = 4
Полученный результат показывает, что система является полностью управляемой, так как ранг матрицы равен 4, что соответствует размерности системы sys.
3.2 Определение матрицы наблюдаемости системы для sys
>> ob=obsv(sys)
ob =
0.0000e+000 0.0000e+000 0.0000e+000 1.0000e+000
0.0000e+000 0.0000e+000 1.0000e+000 0.0000e+000
0.0000e+000 46.3111e+000 0.0000e+000 0.0000e+000
201.3528e+000 -2.3699e+003 -773.9646e+000 0.0000e+000
>> rank(ob) определение ранга матрицы наблюдаемости
ans = 4
Полученный результат показывает, что система является полностью наблюдаемой, так как ранг матрицы равен 4, что соответствует размерности системы sys.
Определение собственной частоты системы
Определим собственную частоту эталонной (желаемой) системы 4 порядка по формуле w0=7.9/tр, где tп - желаемое время переходного процесса по 5% зоне (для фильтра Баттерворта 4порядка).
tp = 4*0.007 c tp - желаемое время переходного процесса
>> tp = 4*0.007 c
tp = 0.0280 с
>> w0=7.9/tp
w0 = 282.1429 рад/с
Занесем в Матлаб полином ХУ фильтра Баттерворта 4 степени (для использования его полюсов в синтезе системы) с собственной частотой w0, используя выражение для образования полинома с возрастающей степенью, but=[1 2.6 3.4 2.6 1].*[1 cumprod([1 1 1 1]*w0)]
but=[1 2.6 3.4 2.6 1].*[1 cumprod([1 1 1 1]*w0)] определение полинома фильтра Баттерворта 4 порядка с собственной частотой w0.
Определение корней полинома ху
>> p=roots(but) определение корней полинома (для использования его полюсов в синтезе системы)
p =
-107.4236e+000 +260.8923e+000i
-107.4236e+000 -260.8923e+000i
-259.3621e+000 +111.0670e+000i
-259.3621e+000 -111.0670e+000i
Определение коэффициентов k ос
>> k = place (a,b,p)
k = 85.8360e-003 8.5974e+000 45.7217e+000 5.0068e+003
Расширение выхода системы sys
Для дальнейшего синтеза необходимо, чтобы были известны переменные состояния. Для этого воспользуемся функцией augstate, которая формирует модель системы на выходе которой присутствуют переменные состояния.
>> sysr=augstate(sys) расширение выхода системы sys (вывод координат x на выход)
sysr =
a =
x1 x2 x3 x4
x1 -142.9 0 0 0
x2 4.348 -51.17 -16.71 0
x3 0 46.31 0 0
x4 0 0 1 0
b =
u1
x1 6286
x2 0
x3 0
x4 0
c =
x1 x2 x3 x4
y1 0 0 0 1
y2 1 0 0 0
y3 0 1 0 0
y4 0 0 1 0
y5 0 0 0 1
d =
u1
y1 0
y2 0
y3 0
y4 0
y5 0
Output groups:
Name Channels
states 2,3,4,5
Continuous-time state-space model.
sysz =
a =
x1 x2 x3 x4
x1 -716.5 -1.782e+05 -1.251e+06 -1.36e+08
x2 1.449 -17.06 -3.868 0
x3 0 32.16 0 0
x4 0 0 1 0
b =
u1
x1 0.0001591
x2 0
x3 0
x4 0
c =
x1 x2 x3 x4
y1 0 0 0 1
y2 1 0 0 0
y3 0 1 0 0
y4 0 0 1 0
y5 0 0 0 1
d =
u1
y1 0
y2 0
y3 0
y4 0
y5 0
Output groups:
Name Channels
states 2,3,4,5
Continuous-time state-space model.
Замкнём систему обратной связью при помощи оператора sysz=feedback(sysr,[0 k],-1)
>>sysz=feedback(sysr,[0 k],-1)
sysz =
a =
x1 x2 x3 x4
x1 -682.4 -5.404e+04 -2.874e+05 -3.147e+07
x2 4.348 -51.17 -16.71 0
x3 0 46.31 0 0
x4 0 0 1 0
b =
u1
x1 6286
x2 0
x3 0
x4 0
c =
x1 x2 x3 x4
y1 0 0 0 1
y2 1 0 0 0
y3 0 1 0 0
y4 0 0 1 0
y5 0 0 0 1
d =
u1
y1 0
y2 0
y3 0
y4 0
y5 0
Output groups:
Name Channels
states 2,3,4,5
Continuous-time state-space model.
Определим полюса замкнутой системы
>> pz=pole(sysz)
pz =
pz =
-107.4236e+000 +260.8923e+000i
-107.4236e+000 -260.8923e+000i
-107.4236e+000 +260.8922e+000i
-107.4236e+000 -260.8922e+000i
-259.3622e+000 +111.0670e+000i
-259.3622e+000 -111.0670e+000i
-259.3621e+000 +111.0670e+000i
-259.3621e+000 -111.0670e+000i
В результате вышеприведённого синтеза получена структура системы, представленная на рисунке 2.
Рисунок 2 – Система управления ДПТ в пространстве состояний по положению угла поворота ротора
Как видно из рисунка 2 необходимо установить входной компенсатор ОС по x4=ϕ для компенсации K4, с коэффициентом равным K4.
Система управления двигателем с входным усилителем представлена на рисунке 3.
Рисунок 3 – Система
управления (sysz) ДПТ в
пространстве состояний по положению
угла поворота ротора с входным усилителем
[y,t]=step(sysz);
plot(t,y(:,1)),grid
построение переходной
функции замкнутой системы
Рисунок 4 – Переходная функция системы sysz
Определим показатели качества ПФ системы sysz:
=11.1% - перерегулирование
tp=0.025c - время переходного процесса
Естат=0% - статическая ошибка
