Применение метода частотных диаграмм к исследованиям устойчивости систем с логическими алгоритмами управления
Московский Государственный
Технический Университет им. Н.Э. Баумана
Курсовая работа по курсу “Нелинейные
САУ”
на
тему:
Применение метода частотных круговых
диаграмм к исследованию устойчивости систем с логическими алгоритмами
управления.
Выполнил: ст-т гр. АК4-81
Смык В.Л.
Руководитель: профессор
Хабаров В.С.
Реутов 1997 г.
Применение метода частотных круговых
диаграмм к исследованию устойчивости систем с логическими алгоритмами
управления.
На ранней стадии развития теории
автоматического регулирования требование устойчивости работы системы было
первым и обычно единственным и содержание большинства теоретических
исследований сводилось к иследованию устойчивости.
“Термин “устойчивость” настолько
выразителен, что он сам за себя говорит”,-отмечают в начале изложения теории
устойчивости Ж. Ла Салль и С. Лефшец [1]. Это вполне справедливо, но, несмотря
на это, неточности и нелогичности можно встретить как раз не в математических,
а в смысловых понятиях и терминах.
Устойчивостью любого
явления в обиходе называю его способность достаточно длительно и с достаточной
точностью сохронять те формы своего существования, при утрате которых явление
перестает быть самим сабой. Однако не только в обиходе, но и в научной
терминалогии устойчивым называют не явление, а систему, в корой оно
наблюдается, хотя это не оправдывает логически. Устойчивы ли физические тела -
шар или куб? Такой вопрос будет иметь смысл, если речь идет о материале, из
которого они сделаны. (Металлический шар
устойчив, шар из дыма нет.) Теорию
управления интересует, однако, не эта прочнасная устойчивость. Подразумевается,
что система управления как инженерная конструкция заведома устойчива, и в
теории изучается устойчивость не самой системы, а ее состояний и
функционирования. В одной и той же системе одни состояния или движения могут
быть устойчивыми, а другие не устойчивыми. Более того, одно и то же жвижение
может быть устойчивым относительно одной переменной и неустойцивым относительно
другой - это отмечал еще А.М. Ляпунов [2]. Вращение ротора турбины устойчиво по
отношению к угловой скорости и неустойчиво относительно угла поворота вала.
Движение ракеты устойчиво относительно траектории и неустойчиво по отношению к
неподвижной системе координат. Поэтому нужно оговаривать, устойчивость какого
состояния или движения в системе и относительно каких переменных изучается. Так
же есть много методов для оценки самой устойчивости. Мы рассмотрим как можно
оценить устойчивость системы с логическим алгоритмом управления методом
круговых диаграмм.
Рассмотрим теоретическую часть и
посмотрим что из себя представляет круговой критерий. Пусть дана система
.
x=Ax+bx, s=c’x,
(1)
где x и s - в общем
случае векторы (и, следовательно, b и с - прямоугольные матрицы), а матрица А
не имеет собственных значений на линейной оси. Предположим , что для некоторого
m, £ m £
система (1), дополненая
соотношением x=-ms, асимптотически усойчива.
Для абсолютной экпоненциальной
устойчивости системы (1) в классе М() нелинейностей x=j(s,t),
удовлетворяющих условию
£ j(s,t)/s £ (2)
достаточно, чтобы при всех w, -¥<w<+¥,
выполнялось соотношение
Re{[1+w)][1+W(jw)]}>0.
(3)
Круговой
критерий вытекает из квадратичного критерия для формы F(x,s)=(s-x)(x-s).
Действительно, как было показано выше, форма F(jw,x) имеет вид
F(jw,x)=-Re{[1+W(jw)][1+W(jw)]}|x|
Из этой
формулы после сокращения на |x| следует (3).
В (3) ¹-¥ , ¹+¥. Случай, когда либо =-¥, либо =+¥
рассматривается аналогично.
Круговой критерий представляет
собой распространение линейных частотных критериев устойчивости Найквиста,
Михайлова и других на линейные системы с одним линейным или нелинейным,
стационарным или нестационарным блоком. Он получается из (3), если вместо передаточной
матрицы использовать частотную характеристику линейной части W(jw).
Обозначая комплексную переменную
W(jw)=z,
рассмотрим систему с одной нелинейностью, удовлетворяющей одному из следующих
условий:
Re[(1+z)(1+z)]£0, если ¹-¥ , ¹+¥. (4)
Re[(1+z)z]£0, если ¹-¥ , ¹+¥. (5)
Re[z(1+z)]£0, если ¹-¥ , ¹+¥. (6)
Пусть С() - облость комплексной плоскости z,
определяемая этими условиями. Граница В()
области определяемая уравнениями получаемыми из (4)-(6) заменой знаков
неравенств равенствами. Для (4) получаем окружность, проходящую через точки -1/, -1/ с
центром на оси абсцисс, причем область С будет внутренностью этой
окружности, если >0, т.е. если нелинейные
характеристики лежат в 1 и 3 квадрантах, и ее внешностью, если сектор () захватывает два смежных квадранта. Если
одна из границ сектора совпадает с осью абсцисс, т.е. если =0 или =0
, то область С будет полуплоскостью, а ее граница - вертикальной прямой,
проходящей соответственно через -1/ или -1/. На рисунке 1 показаны границы в
плоскости z для различного расположения секторов () в
плоскости s, x. Там же изображены кривые W(jw), w>0 для
неособого случая, расположенные так, что возможна абсолютная устойчивость.
Однако только приемлимого расположения хаоактеристик W(jw) еще
недостаточно для суждения об абсолютной устойчивости : кроме этого, нужно еще
потребовать, чтобы линейная замкнутоя система была асимптотически устойчивой.
Круговой критерий обеспечивает
также абсолютную устойчивость для системы с любым блоком, вход s и выход x которого
удовлетворяют для всех t неравенству
(s-x)(x-s)³0
(7)
Рисунок 1, а.
Рассмотрим
систему, приведенную на рис. 2.
А Х Y У (P) Z
(-)
G(p) g
Рисунок 2.
Здесь W(p)
- оператор линейной части системы, которая может иметь в общем случае следущий
вид:
W(p)=;
(8)
W(p)=;
Алгоритм
регулятора имеет вид:
y=Yx,
при gx>0
Y= (9)
- при gx<0,
g=(
В форме
уравнений Коши рассматриваемая система имеет вид:
=,
=-,
(10)
где
=
- k при g<0,
g=c+; =.
Соответствие записей системы на
рис. 2 достигается, когда при
W(p)= в
уравнениях (10) имеем:
(11)
а при W(p)= имеем:
(12)
Причем для обоих случаев (11) и
(12) имеет место соотношение
(13)
В соответствии с изложенным
одинаково справедливо рассматривать в виде структурной схемы на рис. 2 с
известным линейными операторами - и G(p) или в виде
формы Коши (10).
Дополнительно отметим, что
структурная интерпритация рассматриваемой системы на рис. 2 имеет еще одну
структурную схему описания, приведенную на рис. 3.
|x|=c
l
g y z
(-)
x G(p) W(p)
Рисунок 3.
Это означает, что аналитической
записи (10) соответствуют два структурных представления исследуемой СПС, причем
второе позволяет рассматривать систему (10) как релейную систему с изменяемым
ограничение, когда |x| - var.
Далее
перейдем к анализу нашего метода.
Согласно частотной теоремы (10),
для абсолютной устойчивости системы на рис. 3 лостаточно, чтобы при всех w,
изменяющихся от - ¥ до + ¥, выполнялось соотношение:
Re{[1+w)][1+W(jw)]}>0,
а гадограф
mW(jw)+1 при соответствовал
критерию Найквиста.
Для
исследуемой системы условие (3) удобнее записать в виде
(4) и (5).
На рис. 4 приведенны возможные
нелинейные характеристики из класса М() и
годографы W(jw), расположенные таким образом, что
согласно (4) и (5) возможна абсолютная устойчивость.
y ^
y=g ()
|x| y=g (при
=0)
>
0
“а” “б”
“в” “г”
Рисунок 4.
В
рассматриваемом случае (10) при
W(p)=,
когда
W(p)= W(p)G(p), G(p)=p+1,
годограф W(jw) системы на
рис. 5.
j
W(jw)
w=¥
>
<
=
w=0
Рисунок
5.
В случае (10) справедливы
графические формы на рис. 4 в,г, т.е. исследуемая система абсолютно устойчива в
смысле кругового критерия (3) или (5) при
>
(14)
Интересно
заметить, что достаточные условия абсолютной устойчивости по Ляпунову
а
> 0 , y(t) > 0
и
a > c
для рассматриваемого случая
совпадают с достаточными условиями абсолютной устойчивости, полученными для
кругового критерия (14), если выполняется требование
y(t) >
0 (15)
поскольку,
согласно (11) и (13) a=a=.
Докажем это, используя условия
существования скользящего режима
-k£y(t)=ck
т.е. подставим сюда вместо
коэфициентов а,с, и k их выражения через
, , , тогда получим
-£y(t)= £
(16)
1) при = , y(t)=0
2) при > , y(t)>0
3) при < , y(t)<0,
что и
требовалось доказать.
Теперь рассмотрим нашу систему с
логическим алгоритмом управления, ее логическая схема приведена на рис. 6.
|x|=c
l
g s z
(-)
x G(p) (p)
Рисунок 6.
В данном
случае считаем что:
- варьируемая величина,
=0.5,
=0.1
(анализ поведения системы при изменении данного параметра исследуется в работе
ст-та Новикова, мы берем оптимальное значение),
=0.1,1 (коэффициент обратной связи),
=10,100.
Рассмотрим
теперь саму функцию:
W(p)=G(p)W(p),
где G(p) -
функция корректора, W(p)= (p)W(p), где
(p)=, а W(p) в свою очередь будет:
W(p)=,
где , соответственно вся функция имеет вид:
W(p)=;
Теперь
заменяем p на jw и имеем вид:
;
Для построения гадогрофа выведем
формулы для P(w), jQ(w) которые имеют вид:
P(w)=;
jQ(;
Графики можно
посмотреть в приложении N 2.
Учитывая , что добротность x должна
быть ³ 0.5¸0.7 мы
можем определить добротность нашей системы, она примерно равна 0.5. Отсюдо
видно, что из-за увеличения и , x уменьшается, можно сделать вывод,
что колебательность звена увеличиться. Это можно наблюдать на графиках 1.13 -
1.16 в приложении N 2.
Но это не подходит по требованию
нашей задачи. Так как > , то
можно сделать вывод, что коректор будет влиять только на высоких частотах, а на
низких будет преобладать , что можно наблюдать
на графиках 1.1 - 1.4. На графиках 1.5 - 1.8 можно наблюдать минемальные
значения , это значит что, при этих значениях
будет максимальные значения полки нечувствительности релейного элемента.
Минемальные значения полки
нечуствительности можно наблюдать на графиках 1.9 - 1.12, особенно при
минемальном значении .
Приложение 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);
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))/
(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.
Рисунок N 1.1
Рисунок N 1.2
Рисунок
1.3
Рисунок 1.4
Рисунок 1.5
Рисунок 1.6
Рисунок 1.7
Рисунок 1.8
Рисунок 1.9
Рисунок 1.10
Рисунок 1.11
Рисунок 1.12
Рисунок 1.13
Рисунок 1.14
Вставка 1.15
Рисунок 1.16
Литература:
1.
Емильянов С.В., Системы автоматического управления с переменной структурой. -
М.: Наука, 1967.
2. Воронов
А.А.,Устойчивость управляемость наблюдаемость, Москва “Наука”, 1979.
3. Хабаров
В.С. Сранительная оценка методов исследования абсолютной устойчивости СПС:
Научн.-исслед. работа.
4. Хабаров
В.С. Нелинейные САУ: Курс лекций/ Записал В.Л.Смык,-1997.
Список постраничных ссылок:
1. Ла Салль
Ж., Лефшец С. Исследование устойчивости прямым методом Ляпунова.-М.: Мир,
1964.-168 с.
2. Ляпунов
А.М. Общая задача об устойчивости движения. - Собр. соч.- М.: Изд-во АН СССР,
1956, т. 2, с. 7-271.