(3.7)
...
qm = u(m) - u(m - 1).
Следует учесть, что
p1 + p2 +…+ pm = 1, (3.8)
q0 + q1 + …+ qm = u(m). (3.9)
Передаточная функция замкнутой системы будет равна:
(3.10)
Следовательно, передаточная функция
компенсационного регулятора имеет вид:
(3.11)
Wω (z) = P(z). (3.12)
Более того, из уравнений (3.7) и (3.8)
следует, что
(3.13)
и с учетом (3.12) передаточная функция
регулятора принимает вид:
(3.14)
Параметры этого регулятора можно получить,
используя уравнения (3.13), (3.8) и (3.9):
(3.15)
... ...
Таким образом, параметры регулятора могут быть вычислены достаточно просто. Начальное значение управляющей переменной u(0) зависит только от значения суммы коэффициентов b1 объекта. Поскольку значение этой суммы убывает с уменьшением такта квантования, начальное значение управляющей переменной u(0) будет тем больше, чем меньше такт квантования.
Такой апериодический регулятор можно считать компенсационным регулятором
(3.11), однако передаточную функцию замкнутой системы (3.8) и (3.6) в данном
случае определяют в процессе проектирования, а не задают заранее.
Результирующая передаточная функция замкнутой системы с учетом уравнений (3.12)
и (3.6) принимает вид:
Ее характеристическое уравнение равно
1 +Wр(z)Wоб(z) = zm = 0. (3.16)
Таким образом, контур управления с апериодическим регулятором имеет m полюсов в начале координат плоскости z.
Если d ≠ 0, необходимо использовать
следующую модель объекта:
(3.17)
Коэффициенты этой модели удовлетворяют
соотношениям:
(3.18)
На процесс управления наложены теперь следующие ограничения:
y(k) = ω(k) = 1 для k ≥ v = m + d;
u(k) = u(m) для k ≥ m. (3.19)
Далее можно применить уравнения (3.3) - (3.15), учитывая (3.17). Из
уравнений (3.17) и (3.13) следует, что
q1 = a1q0,2 = a2q0,
… … (3.20)
qm = amq0,
m+1 = am+1q0,
… …v = avq0,
Следовательно, передаточная функция регулятора имеет вид:
(3.21)
Из уравнений (3.20) и (3.21) получим передаточную функцию апериодического
регулятора AP(v):
(3.22)
Отсюда следует, что передаточная функция по задающему сигналу при
использовании точной модели объекта будет равна:
(3.23)
а ее характеристическое уравнение
z(m+d) = 0, (3.24)
что свидетельствует об апериодическом характере переходного процесса. Следует иметь в виду, что применение апериодического регулятора приводит к сокращению полюсов объекта управления.
Будем рассчитывать регулятор, включенный последовательно с объектом, с помощью Matlab’а.
Содержание файла-скрипта:
=tf([0.8],[10 1],'ioDelay', 1) % задаем передаточную функцию=tf([0.95],[100 1 0],'ioDelay', 10) % задаем передаточную функцию=W1*W2 % общая передаточная двух последовательных частей системы=1 % время квантования=c2d(Wob,T,'zoh') % передаточная в дискретной области
[Numer Denom]=tfdata(Wdiskr, 'v') % коэффициенты числителя и знаменателя
m=length (Numer)=Denom(2:m)=Numer(2:m)=1/sum(Numer1)i=1:(m-1)(i)=q0*Denom1(i);(i)=q0*Numer1(i)
Q=[q0 q] % матрица коэффициентов числителя =[1 -p] % матрица
коэффициентов знаменателя =tf(Q, P, T) % передаточная функция регулятора
Передаточная функция регулятора в командном окне имеет вид:
Transfer function:
z^3 - 4023 z^2 + 3878 z - 1245
------------------------------------^3 - 0.1713 z^2 - 0.6666 z - 0.1621
Для того чтобы добиться желаемого качества процесса управления или регулирования, т.е. требуемой точности системы и качества переходного процесса, есть два пути. Первый состоит в изменении параметров данной системы, так как с изменением параметров меняются соответственно коэффициенты уравнения и частотные характеристики, а значит, и качество процесса.
Если же путем изменения не удается получить желаемый результат, то необходимо использовать второй путь - изменить структуру системы через ввод дополнительных звеньев - корректирующих устройств.
Основная задача корректирующих устройств состоит в улучшении точности системы и качества переходных процессов. Благодаря введению корректирующих устройств можно решать и более общие задачи, такие как обеспечение устойчивости системы и желаемого качества процесса регулирования.
Содержание скрипт-файла для расчета компенсатора:
,clear=tf([0.8],[10 1]) % задаем передаточную функцию=tf([0.95],[100 1 0]) % задаем передаточную функцию=tf([0.6],[7 1]) % задаем передаточную функцию возмущения=W1*W2 % общая передаточная двух последовательных частей системы=1 % время квантования=c2d(Wob,T,'zoh') % передаточная в дискретной области d=c2d(W1,T,'zoh') % передаточная в дискретной областиd=c2d(W2,T,'zoh') % передаточная в дискретной области=c2d(Wf,T,'zoh') % передаточная в дискретной области
[Numer Denom]=tfdata(Wdiskr, 'v') % коэффициенты числителя и знаменателя
m=length (Numer)=Denom(2:m)=Numer(2:m)=1/sum(Numer1)i=1:(m-1)(i)=q0*Denom1(i);(i)=q0*Numer1(i)
Q=[q0 q] % матрица коэффициентов числителя =[1 -p] % матрица коэффициентов знаменателя =tf(Q, P, T) % передаточная функция регулятора =Wfd/(Wr*W1d) % передаточная функция компенсатора
[Nk Dk]=tfdata(Wkomp, 'v') % коэффициенты числителя и знаменателя
[Nf Df]=tfdata(Wfd, 'v') % коэффициенты числителя и знаменателя
[N1 D1]=tfdata(W1d, 'v') % коэффициенты числителя и знаменателя
[N2 D2]=tfdata(W2d, 'v') % коэффициенты числителя и знаменателя
Передаточная функция дискретного компенсатора в командном окне имеет вид:
Transfer function:
.07987 z^4 - 0.08595 z^3 - 0.04087 z^2 + 0.03523 z + 0.01172
-------------------------------------------------------------
.8 z^4 - 398 z^3 + 560.7 z^2 - 350.7 z + 82.15
5. Расчет наблюдателя переменных состояния
.1 Теоретические сведения
Рассмотрим объект управления, возмущенное движение которого описывается
уравнением
, (5.1)
. (5.2)
Традиционно существует проблема измерения переменных состояния, что
умоляет результат синтеза оптимального закона управления в функции переменных
состояния. Доступными измерению являются выходные переменные системы, связанные
с переменными состояния соотношением
. (5.3)
В связи с этим возникает задача наблюдения (восстановления, оценки) вектора x(t) по результатам измерения y(t) на интервале [t0, t].
Обозначим вектор переменных состояния, полученных с помощью какого-либо
алгоритма наблюдения, через
. Рассмотрим некоторые алгоритмы наблюдателей переменных
состояния.
Наблюдатель полного порядка
Пусть простейший наблюдатель имеет модель
. (5.4)
Если бы удалось задать значение
равным Х(0), то решение уравнения
(5.4) точно совпадало бы с решением (5.1).
Если
, то возникает ошибка наблюдения
, которая удовлетворяет уравнению
(5.5)
Если объект управления асимптотически устойчив, то ошибка наблюдения
будет с течением времени уменьшаться
.
Если дополнить уравнение (5.4) составляющей, содержащей измеряемый вектор
Y, то такой алгоритм наблюдателя можно
записать в общем, виде:
. (5.6)
Уравнения для определения матриц F, H, G могут быть получены разными способами.
В простейшем случае пусть система имеет один вход и один выход. Для
данного случая можно воспользоваться методом передаточной функции
. (5.7)
Преобразование Лапласа уравнений (5.1) при нулевых начальных условиях,
имеет вид
,
где (рЕ - А)-1В есть матричная передаточная функция.
Уравнение наблюдателя (5.6), преобразованное по Лапласу при нулевых
начальных условиях, имеет вид
или
. (5.8)
Подставляя в уравнение (5.8) уравнение (7.7), получим
. (5.9)
Из условия (5.7) можно записать, что
. (5.10)
Уравнение (5.10) можно трансформировать к виду
или
.
Если выбрать
и
, (5.11)
то равенство будет выполняться.
На основании (5.6) и (5.11) представим уравнения наблюдателя состояния в
виде
. (5.12)
Матрицу G выбирают таким образом, чтобы переходный процесс в наблюдателе
заканчивался быстрее, чем переходный процесс системы, то есть матрица G
характеризует расположение полюсов наблюдателя на основании полюсов системы.
Для решения поставленной задачи необходимо найти эту матрицу.
.2 Расчет наблюдателя
Рассчитаем наблюдатель для нашего объекта.
Запишем программу в Matlab:
clc, clear
global b1 a Q R
% задание передаточной функции первой части объекта:=tf([0.8],[10 1],'ioDelay',1);
% задание передаточной функции второй части объекта:
W2=tf([0.95],[100 1 0],'ioDelay',10);=W1*W2
% переход к модели в переменных состояния:=ss(W);
% матрицы системы:
[a b c d]=ssdata(Ws);
% размерность матрицы А:
[m,n]=size(a); % m-размерность матрицы а, соответствующий порядку объекта
% матрица критерия оптимальности:=0.5*eye(n);% весовая матрица критерия качества, определяющая
% соотношение между затратами на управление и качеством регулирования=0.5*eye(n);% весовая матрица критерия качества, определяющая
%соотношение между затратами на управление и качеством управление
% Обычно квадратная матрица = от 0 до 1
% расширяем матрицу, для соответствия порядку системы:=b*ones(1,n);
% коэффициенты оптимального регулятора:
[K,S,e]=lqr(a, b1, Q, R) % матрица к-тов ОС рег-ра, S - решение ур-я Риккати
% решение ур-я Риккати численными методами=zeros(n); % вектор НУ=(R^(-1))*(b1'*S)% коэффициентами рег-ра явля-ся 1-ая строка и(1)=0;% начальное значение времени(1,1)=1; % начальное значение х1(2,1)=2; % начальное значение х2(3,1)=3; % начальное значение х3=0.01; % шаг по времени=30000; % число точек моделирования% (1,1)=X(1,1); % начальное значение хe1 наблюдателя(2,1)=X(2,1); % начальное значение хе2 наблюдателя(3,1)=X(3,1); % начальное значение хе3 наблюдателя
%Находим полюса наблюдателя:=2.*e % желаемые полюса наблюдателя, которые выбираются левее полюсов СУ, для обеспечения большего быстродействия
% Находим матрицу G:=acker(a',c',Pe); % матрица коэффициентов ОС наблюдателя G=G'
% моделирование
% начальные условия и оценки:
for i=1:n
% управление(i)=-K(1,:)*Xe(:,i);
% переменные состояния СУ
X(:,i+1)=(a*X(:,i)+b*U(i))*dt+X(:,i);
% выход системы(i)=c*X(:,i);
% переменные состояния наблюдателя
% выход системы наблюдателя (i)=c*Xe(:,i);
% отсчёт времени(i+1)=t(i)+dt;(1)(t(1:n),Y(1:n),t(1:n),Ye(1,n))% динамическая хар-ка для Y и Yeon('t')('Y, Ye')
figure(2)(t(1:n),X(:,1:n),t(1:n),Xe(:,1:n))% динамическая хар-ка для Х и Xe
grid on('t')('X')
figure(3)(t(1:n),U(1:n))% динамическая хар-ка для U
grid on('t')('U')=estim(Ws, G)
[Ae Be Ce De]=ssdata(est)
% добавим в уравнение для наблюдателя управляющее воздействие
BBe=[Be b]=zeros(4, 2)
Коэффициенты оптимального регулятора: