Нелинейные системы автоматического управления
Нелинейные системы автоматического управления
Московский Государственный Технический Университет им. Н.Э. Баумана
Курсовая работа по курсу “Нелинейные САУ”
на
тему:
Применение метода частотных круговых диаграмм к исследованию
устойчивости систем с логическими алгоритмами управления.
Выполнил: ст-т гр. АК4-81
Смык В.Л.
Руководитель: профессор
Хабаров В.С.
Реутов 1997 г.
Применение метода частотных круговых диаграмм к исследованию устойчивости
систем с логическими алгоритмами управления.
На ранней стадии развития теории автоматического регулирования требование
устойчивости работы системы было первым и обычно единственным и содержание
большинства теоретических исследований сводилось к иследованию
устойчивости.
“Термин “устойчивость” настолько выразителен, что он сам за себя
говорит”,-отмечают в начале изложения теории устойчивости Ж. Ла Салль и С.
Лефшец [1]. Это вполне справедливо, но, несмотря на это, неточности и
нелогичности можно встретить как раз не в математических, а в смысловых
понятиях и терминах.
Устойчивостью любого явления в обиходе называю его способность достаточно
длительно и с достаточной точностью сохронять те формы своего
существования, при утрате которых явление перестает быть самим сабой.
Однако не только в обиходе, но и в научной терминалогии устойчивым называют
не явление, а систему, в корой оно наблюдается, хотя это не оправдывает
логически. Устойчивы ли физические тела - шар или куб? Такой вопрос будет
иметь смысл, если речь идет о материале, из которого они сделаны.
(Металлический шар
устойчив, шар из дыма нет.) Теорию управления интересует, однако, не эта
прочнасная устойчивость. Подразумевается, что система управления как
инженерная конструкция заведома устойчива, и в теории изучается
устойчивость не самой системы, а ее состояний и функционирования. В одной и
той же системе одни состояния или движения могут быть устойчивыми, а другие
не устойчивыми. Более того, одно и то же жвижение может быть устойчивым
относительно одной переменной и неустойцивым относительно другой - это
отмечал еще А.М. Ляпунов [2]. Вращение ротора турбины устойчиво по
отношению к угловой скорости и неустойчиво относительно угла поворота вала.
Движение ракеты устойчиво относительно траектории и неустойчиво по
отношению к неподвижной системе координат. Поэтому нужно оговаривать,
устойчивость какого состояния или движения в системе и относительно каких
переменных изучается. Так же есть много методов для оценки самой
устойчивости. Мы рассмотрим как можно оценить устойчивость системы с
логическим алгоритмом управления методом круговых диаграмм.
Рассмотрим теоретическую часть и посмотрим что из себя представляет
круговой критерий. Пусть дана система
.
x=Ax+b(, (=c’x, (1)
где ( и ( - в общем случае векторы (и, следовательно, b и с -
прямоугольные матрицы), а матрица А не имеет собственных значений на
линейной оси. Предположим , что для некоторого (, [pic]( ( ([pic]
система (1), дополненая соотношением (((((, асимптотически усойчива.
Для абсолютной экпоненциальной устойчивости системы (1) в классе
М([pic]) нелинейностей (((((,t), удовлетворяющих условию
[pic]( ((((t)/( ([pic] (2)
достаточно, чтобы при всех (( (((((((( выполнялось соотношение
Re{[1+[pic](((((([pic]W(j()]}>0. (3)
Круговой критерий вытекает из квадратичного критерия для формы
F((((((([pic]((((((([pic]((( Действительно, как было показано выше, форма
F(j((() имеет вид
F(j((((((Re{[1+[pic]W(j(((((([pic]W(j()]}|(|[pic]
Из этой формулы после сокращения на |(|[pic] следует (3).
В (3) [pic]((( ( [pic](((( Случай, когда либо [pic] (((, либо [pic] (((
рассматривается аналогично.
Круговой критерий представляет собой распространение линейных частотных
критериев устойчивости Найквиста, Михайлова и других на линейные системы с
одним линейным или нелинейным, стационарным или нестационарным блоком. Он
получается из (3), если вместо передаточной матрицы использовать частотную
характеристику линейной части W(j().
Обозначая комплексную переменную W(j()=z, рассмотрим систему с одной
нелинейностью, удовлетворяющей одному из следующих условий:
Re[(1+[pic]z(((([pic]z[pic])](0, если [pic]((( ( [pic](((( (4)
Re[(1+[pic]z)z[pic]](0, если [pic]((( ( [pic](((( (5)
Re[z(1+[pic]z[pic])](0, если [pic]((( ( [pic](((( (6)
Пусть С([pic]) - облость комплексной плоскости z, определяемая этими
условиями. Граница В([pic]) области определяемая уравнениями получаемыми из
(4)-(6) заменой знаков неравенств равенствами. Для (4) получаем окружность,
проходящую через точки -1/[pic], -1/[pic] с центром на оси абсцисс, причем
область С будет внутренностью этой окружности, если [pic]>0, т.е. если
нелинейные характеристики лежат в 1 и 3 квадрантах, и ее внешностью, если
сектор ([pic]) захватывает два смежных квадранта. Если одна из границ
сектора совпадает с осью абсцисс, т.е. если [pic]=0 или [pic]=0 , то
область С будет полуплоскостью, а ее граница - вертикальной прямой,
проходящей соответственно через -1/[pic] или -1/[pic]. На рисунке 1
показаны границы в плоскости z для различного расположения секторов ([pic])
в плоскости (( (. Там же изображены кривые W(j(), (>0 для неособого случая,
расположенные так, что возможна абсолютная устойчивость. Однако только
приемлимого расположения хаоактеристик W(j() еще недостаточно для суждения
об абсолютной устойчивости : кроме этого, нужно еще потребовать, чтобы
линейная замкнутоя система была асимптотически устойчивой.
Круговой критерий обеспечивает также абсолютную устойчивость для системы
с любым блоком, вход ( и выход ( которого удовлетворяют для всех t
неравенству
([pic](-()((-[pic]()(0 (7)
[pic]
Рисунок 1, а.
Рассмотрим систему, приведенную на рис. 2.
А Х ([pic] У [pic](P) Z
(-)
G(p) g
Рисунок 2.
Здесь W[pic](p) - оператор линейной части системы, которая может иметь в
общем случае следущий вид:
W[pic](p)=[pic];
(8)
W(p)=[pic];
Алгоритм регулятора имеет вид:
y=([pic]x,
[pic] при gx>0
([pic]= (9)
-[pic] при gx<0,
g=([pic]
В форме уравнений Коши рассматриваемая система имеет вид:
[pic]=[pic], [pic]
[pic]=-[pic], (10)
k[pic] при g[pic]>0
где [pic]=
- k[pic] при g[pic]<0,
g=c[pic]+[pic]; [pic]=[pic].
Соответствие записей системы на рис. 2 достигается, когда при
W[pic](p)=[pic] в уравнениях (10) имеем:
[pic] [pic] (11)
а при W(p)=[pic] имеем:
[pic] (12)
Причем для обоих случаев (11) и (12) имеет место соотношение
[pic] (13)
В соответствии с изложенным одинаково справедливо рассматривать в виде
структурной схемы на рис. 2 с известным линейными операторами - [pic] и
G(p) или в виде формы Коши (10).
Дополнительно отметим, что структурная интерпритация рассматриваемой
системы на рис. 2 имеет еще одну структурную схему описания, приведенную на
рис. 3.
[pic]|x|=c
( g y z
(-) x G(p) W(p)
Рисунок 3.
Это означает, что аналитической записи (10) соответствуют два структурных
представления исследуемой СПС, причем второе позволяет рассматривать
систему (10) как релейную систему с изменяемым ограничение, когда [pic]|x|
- var.
Далее перейдем к анализу нашего метода.
Согласно частотной теоремы (10), для абсолютной устойчивости системы на
рис. 3 лостаточно, чтобы при всех (, изменяющихся от ( ( до + (,
выполнялось соотношение:
Re{[1+[pic](((((([pic]W(j()]}>0,
а гадограф (W(j()+1 при [pic][pic] соответствовал критерию Найквиста.
Для исследуемой системы условие (3) удобнее записать в виде
(4) и (5).
На рис. 4 приведенны возможные нелинейные характеристики из класса
М([pic]) и годографы W(j(), расположенные таким образом, что согласно (4) и
(5) возможна абсолютная устойчивость.
y ^
y=[pic]g ([pic])
[pic]|x| y=[pic]g (при [pic]=0)
[pic] [pic]
>
[pic] 0
“а” “б”
“в” “г”
Рисунок 4.
В рассматриваемом случае (10) при
W[pic](p)=[pic], когда
W(p)= W[pic](p)G(p), G(p)=[pic]p+1,
годограф W(j() системы на рис. 5.
j
W(j()
(((
[pic]>[pic] [pic]<[pic]
[pic]=[pic]
(=0
Рисунок 5.
В случае (10) справедливы графические формы на рис. 4 в,г, т.е.
исследуемая система абсолютно устойчива в смысле кругового критерия (3) или
(5) при
[pic]>[pic] (14)
Интересно заметить, что достаточные условия абсолютной устойчивости
по Ляпунову
а > 0 , ((t) > 0
и
a > c
для рассматриваемого случая совпадают с достаточными условиями абсолютной
устойчивости, полученными для кругового критерия (14), если выполняется
требование
((t) > 0 (15)
поскольку, согласно (11) и (13) a=a[pic]=[pic].
Докажем это, используя условия существования скользящего режима
-[pic]k(((t)=c[pic][pic]k
т.е. подставим сюда вместо коэфициентов а,с, и k их выражения через
[pic], [pic], [pic], тогда получим
-[pic][pic]([pic]((t)=[pic] ([pic][pic] (16)
Согласно рис. 5 и условия (16) получаем:
1) при [pic] = [pic], ((t)=0
2) при [pic] > [pic], ((t)>0
3) при [pic] < [pic], ((t)<0,
что и требовалось доказать.
Теперь рассмотрим нашу систему с логическим алгоритмом управления, ее
логическая схема приведена на рис. 6.
[pic]|x|=c
( g ( z
(-) x G(p) [pic](p) [pic]
[pic]
Рисунок 6.
В данном случае считаем что:
[pic] - варьируемая величина,
[pic]=0.5,
[pic]=0.1 (анализ поведения системы при изменении данного параметра
исследуется в работе ст-та Новикова, мы берем оптимальное значение),
[pic]=0.1,1 (коэффициент обратной связи),
[pic]=10,100.
Рассмотрим теперь саму функцию:
W(p)=G(p)W[pic](p),
где G(p) - функция корректора, W[pic](p)= [pic](p)W[pic](p), где
[pic](p)=[pic], а W[pic](p) в свою очередь будет:
W[pic](p)=[pic],
где [pic], соответственно вся функция имеет вид:
W(p)=[pic];
Теперь заменяем p на j( и имеем вид:
[pic];
Для построения гадогрофа выведем формулы для P((), jQ(() которые имеют вид:
P(()=[pic];
jQ([pic];
Графики можно посмотреть в приложении N 2.
Учитывая , что добротность ( должна быть ( 0.5(0.7 мы можем определить
добротность нашей системы, она примерно равна 0.5. Отсюдо видно, что из-за
увеличения [pic] и [pic], ( уменьшается, можно сделать вывод, что
колебательность звена увеличиться. Это можно наблюдать на графиках 1.13 -
1.16 в приложении N 2.
Но это не подходит по требованию нашей задачи. Так как
[pic][pic][pic]>[pic] , то можно сделать вывод, что коректор будет влиять
только на высоких частотах, а на низких будет преобладать [pic], что можно
наблюдать на графиках 1.1 - 1.4. На графиках 1.5 - 1.8 можно наблюдать
минемальные значения [pic], это значит что, при этих значениях будет
максимальные значения полки нечувствительности релейного элемента.
Минемальные значения полки нечуствительности можно наблюдать на графиках
1.9 - 1.12, особенно при минемальном значении [pic].
Приложение N 1.
Программа для построения годографов на языке программирования
СИ ++.
#include <graphics.h>
#include <iostream.h>
#include <conio.h>
#include <dos.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <string.h>
void Godograf(float Tpr, float Ko, float Kos, int Color,
int Xc, int Yc, int x, int y, int z, int err);
void Osi(int Xc, int Yc, int kol);
int xmax, ymax;
float Kos[]={0.1,1.0},
Ko[] ={10.0,100.0},
Tpr[]={0.01,0.09,0.2,0.5};
void main(void)
{
float P_w, Q_w, w;
int driver, mode, err;
driver = DETECT;
initgraph(&driver,&mode,"");
err = graphresult();
if (err!=grOk) {cout<<"\n\t"<<grapherrormsg(err);
getch();}
else {
xmax = getmaxx();
ymax = getmaxy();
int Xc=(int)(xmax/2), Yc=(int)(ymax/2);
for(int i=0;i<=1;i++) for(int j=0;j<=1;j++) for(int k=0;k<=3;k++){
cleardevice();
setviewport(0,0,xmax,ymax,0);
Osi((int)(xmax/2),(int)(ymax/2),i+j+k);
Godograf(Tpr[k],Ko[j],Kos[i],15,(int)(xmax/2),(int)(ymax/2),k,j,i,1);
setcolor(7);
setlinestyle(1,0,1);
rectangle(Xc-18,Yc-15,Xc+18,Yc+15);
setlinestyle(0,0,1);
rectangle(10,Yc+5,250,Yc+205);
setcolor(15);
setviewport(10,(int)(ymax/2)+5,250,(int)(ymax/2)+205,1);
setfillstyle(1,0);
floodfill(5,5,7);
line(10,100,230,100);
line(125,10,125,190);
Godograf(Tpr[k],Ko[j],Kos[i],15,125,100,k,j,i,0);};
closegraph();
}
}
void Godograf(float Tpr, float Ko, float Kos, int Color,
int Xc, int Yc, int x, int y, int z, int err)
{
float P_w1=0.0, Q_w1=0.0,
P_w, Q_w,
To=0.5, Tg=0.1, P_w_min=0.0;
for(float w=0;w<=100;w=w+0.05){
if(((Kos*Ko-(To+Tpr)*w*w)*(Kos*Ko-(To+Tpr)*w*w)+
(w+Tpr*Kos*Ko*w-To*Tpr*w*w*w)*(w+Tpr*Kos*Ko*w-
To*Tpr*w*w*w))!=0){
P_w = (Ko*w*Tg*(w+Tpr*Kos*Ko*w-To*Tpr*w*w*w)+
(Kos*Ko*Ko-(To+Tpr)*Ko*w*w))/
((Kos*Ko-(To+Tpr)*w*w)*(Kos*Ko-(To+Tpr)*w*w)+
(w+Tpr*Kos*Ko*w-To*Tpr*w*w*w)*(w+Tpr*Kos*Ko*w-To*Tpr*w*w*w));
Q_w = (Tg*(Kos*Ko*Ko*w-(To+Tpr)*Ko*w*w)-
Ko*(w+Tpr*Kos*Ko*Ko*w-Ko*To*Tpr*w*w*w))/
((Kos*Ko-(To+Tpr)*w*w)*(Kos*Ko-(To+Tpr)*w*w)+
(w+Tpr*Kos*Ko*w-To*Tpr*w*w*w)*(w+Tpr*Kos*Ko*w-To*Tpr*w*w*w));
if (abs(P_w)>abs(P_w1)) P_w1=P_w;
if (abs(Q_w)>abs(Q_w1)) Q_w1=Q_w;
if (P_w<P_w_min) P_w_min = P_w;
if (P_w1==0) P_w1=P_w1+0.01;
if (Q_w1==0) Q_w1=Q_w1+0.01;
};
};
float KmasX =(float)(xmax-Xc-100)/P_w1,
KmasY =(float)(ymax-Yc-100)/Q_w1;
if (KmasX<0) KmasX=-KmasX; if (KmasY<0) KmasY=-KmasY;
if (KmasX>=220) KmasX=150;
if (KmasY>=140) KmasY=100;
if (err==0) {KmasX=KmasX*4; KmasY=KmasY*4;};
w = 0;
if(((Kos*Ko-(To+Tpr)*w*w)*(Kos*Ko-(To+Tpr)*w*w)+
(w+Tpr*Kos*Ko*w-To*Tpr*w*w*w)*(w+Tpr*Kos*Ko*w-
To*Tpr*w*w*w))!=0){
P_w = KmasX*(Ko*w*Tg*(w+Tpr*Kos*Ko*w-To*Tpr*w*w*w)+
(Kos*Ko*Ko-(To+Tpr)*Ko*w*w))/
((Kos*Ko-(To+Tpr)*w*w)*(Kos*Ko-(To+Tpr)*w*w)+
(w+Tpr*Kos*Ko*w-To*Tpr*w*w*w)*(w+Tpr*Kos*Ko*w-To*Tpr*w*w*w));
Q_w = KmasY*(Tg*(Kos*Ko*Ko*w-(To+Tpr)*Ko*w*w)-
Ko*(w+Tpr*Kos*Ko*Ko*w-Ko*To*Tpr*w*w*w))/
((Kos*Ko-(To+Tpr)*w*w)*(Kos*Ko-(To+Tpr)*w*w)+
(w+Tpr*Kos*Ko*w-To*Tpr*w*w*w)*(w+Tpr*Kos*Ko*w-To*Tpr*w*w*w));
moveto(Xc+P_w,Yc-Q_w); };
setcolor(Color);
setcolor(9);
line(Xc+P_w_min*KmasX,10,Xc+P_w_min*KmasX,ymax-10);
gotoxy(2,5);
printf("K2=");
printf("%f",(-1/P_w_min));
setcolor(15);
for(w=0;w<=700;w=w+0.05){
if(((Kos*Ko-(To+Tpr)*w*w)*(Kos*Ko-(To+Tpr)*w*w)+
(w+Tpr*Kos*Ko*w-To*Tpr*w*w*w)*(w+Tpr*Kos*Ko*w-
To*Tpr*w*w*w))!=0){
P_w = KmasX*(Ko*w*Tg*(w+Tpr*Kos*Ko*w-To*Tpr*w*w*w)+
(Kos*Ko*Ko-(To+Tpr)*Ko*w*w))/
((Kos*Ko-(To+Tpr)*w*w)*(Kos*Ko-(To+Tpr)*w*w)+
(w+Tpr*Kos*Ko*w-To*Tpr*w*w*w)*(w+Tpr*Kos*Ko*w-To*Tpr*w*w*w));
Q_w = KmasY*(Tg*(Kos*Ko*Ko*w-(To+Tpr)*Ko*w*w)-
Ko*(w+Tpr*Kos*Ko*Ko*w-Ko*To*Tpr*w*w*w))/
((Kos*Ko-(To+Tpr)*w*w)*(Kos*Ko-(To+Tpr)*w*w)+
(w+Tpr*Kos*Ko*w-To*Tpr*w*w*w)*(w+Tpr*Kos*Ko*w-To*Tpr*w*w*w));
lineto(Xc+P_w,Yc-Q_w);
};
};
setcolor(13);
circle(Xc-KmasX,Yc,2);
circle(Xc-KmasX,Yc,1);
putpixel(Xc-KmasX,Yc,13);
outtextxy(Xc-KmasX-7,Yc-12,"-1");
setcolor(15);
if (err==1){
if (x==0) outtextxy(10,10,"Tpr = 0.01");
if (x==1) outtextxy(10,10,"Tpr = 0.09");
if (x==2) outtextxy(10,10,"Tpr = 0.2");
if (x==3) outtextxy(10,10,"Tpr = 0.5");
if (y==0) outtextxy(10,30,"Ko = 10");
if (y==1) outtextxy(10,30,"Ko = 100");
if (z==0) outtextxy(10,50,"Koc = 0.1");
if (z==1) outtextxy(10,50,"Koc = 1.0");}
else {
char ch=' ';
while(ch!=27&&ch!=13)
if (kbhit()!=0) ch=getch();};
};
void Osi(int Xc, int Yc, int kol)
{
setcolor(15);
rectangle(0,0,xmax,ymax);
line(Xc,10,Xc,ymax-10);
line(10,Yc,xmax-10,Yc);
line((int)(xmax/2)-3,15,(int)(xmax/2),10);
line((int)(xmax/2),10,(int)(xmax/2)+3,15);
line(xmax-15,(int)(ymax/2)-3,xmax-10,(int)(ymax/2));
line(xmax-15,(int)(ymax/2)+3,xmax-10,(int)(ymax/2));
settextstyle(2,0,5);
outtextxy((int)(xmax/2)+7,10,"jQ(w)");
outtextxy(xmax-35,(int)(ymax/2)+7,"P(w)");
settextstyle(2,0,4);
outtextxy((int)(xmax/2)-8,(int)(ymax/2)+1,"0");
settextstyle(0,0,0);
if (kol==5) outtextxy(5,ymax-15,"'Esc' - exit");
else outtextxy(5,ymax-15,"'Enter' - next ");
setcolor(15);
};
Приложение N 2.
[pic]
Рисунок N 1.1 [pic]
Рисунок N 1.2
[pic]
Рисунок 1.3
[pic]
Рисунок 1.4
[pic]
Рисунок 1.5
[pic]
Рисунок 1.6
[pic]
Рисунок 1.7
[pic]
Рисунок 1.8
[pic]
Рисунок 1.9
[pic]
Рисунок 1.10
[pic]
Рисунок 1.11
[pic]
Рисунок 1.12
[pic]
Рисунок 1.13
[pic]
Рисунок 1.14
[pic]
Вставка 1.15
[pic]
Рисунок 1.16
Литература:
1. Емильянов С.В., Системы автоматического управления с переменной
структурой. - М.: Наука, 1967.
2. Воронов А.А.,Устойчивость управляемость наблюдаемость, Москва
“Наука”, 1979.
3. Хабаров В.С. Сранительная оценка методов исследования абсолютной
устойчивости СПС: Научн.-исслед. работа.
4. Хабаров В.С. Нелинейные САУ: Курс лекций/ Записал В.Л.Смык,-1997.
Список постраничных ссылок:
1. Ла Салль Ж., Лефшец С. Исследование устойчивости прямым методом
Ляпунова.-М.: Мир, 1964.-168 с.
2. Ляпунов А.М. Общая задача об устойчивости движения. - Собр. соч.-
М.: Изд-во АН СССР, 1956, т. 2, с. 7-271.
|