Рефераты. Курсовая: Нелинейные САУ

Курсовая: Нелинейные САУ

Московский Государственный Технический Университет им. Н.Э. Баумана

Курсовая работа по курсу “Нелинейные САУ”

на

тему:

Применение метода частотных круговых диаграмм к исследованию устойчивости систем с логическими алгоритмами управления.

Выполнил: ст-т гр. АК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(j
w)]}>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=Y
x,





                               



            
 при gx>0          


      Y
=                                     (9)


             -
при gx<0,

        g=(

   В форме уравнений Коши рассматриваемая система имеет вид:



                               

        
=
,        
    



        
=-
,                  (10)





                                

  

                    k
при g
>0

       где   
=

                   - 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(j
w)]}>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)=c

k

т.е. подставим сюда вместо коэфициентов а,с, и k их выражения через


,
,
, тогда получим

       -

£
y(t)=
£

             (16)

Согласно рис. 5 и условия (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);

      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.


                    Рисунок 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.



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.