Курсовая работа (т): Синтез систем автоматического управления

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

                                                                       (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)

что свидетельствует об апериодическом характере переходного процесса. Следует иметь в виду, что применение апериодического регулятора приводит к сокращению полюсов объекта управления.

.2 Расчет параметров дискретного регулятора


Будем рассчитывать регулятор, включенный последовательно с объектом, с помощью 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

4. Расчет компенсатора для дискретных систем


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

Если же путем изменения не удается получить желаемый результат, то необходимо использовать второй путь - изменить структуру системы через ввод дополнительных звеньев - корректирующих устройств.

Основная задача корректирующих устройств состоит в улучшении точности системы и качества переходных процессов. Благодаря введению корректирующих устройств можно решать и более общие задачи, такие как обеспечение устойчивости системы и желаемого качества процесса регулирования.

Содержание скрипт-файла для расчета компенсатора:

,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)

Коэффициенты оптимального регулятора:

Источник: https://www.bibliofond.ru/detail.aspx?id=785357