Реферат: Теория Попова

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

Курсовая работа по курсу:

“Нелинейные системы автоматического управления”

“Метод Попова”

Студент:   Серебряков И. В.

Факультет:Аэрокосмический

Группа:     АК 4-81

Преподаватель:

профессорХабаров В. С.

Москва

1997

Список литературы:

1.Боднер В. А. “ Системы управления летательными аппаратами”,

М.:“Машиностроение”, 1973.

2.Воронов А. А. “Устойчивость, управляемосчть, наблюдаемость”

Главнаяредакция физико-математической литературы

издательства“ Наука”, М., 1979, 336 стр.

3.Цыпкин Я. З. “ Релейные автоматические системы “

Издательство“ Наука ”, главная редакция

физико-математическойлитературы, М., 1974, 576 стр.

Дополнительно использованные средства.

1.Для построения АЧХ и ФЧХ системы был использован программный пакет по системамуправления “ Classic Control ”.

2.Оформление курсовой работы производилось в текстово-графическом редакторе “Microsoft Word ” ver. 6.0, под оболочкой Windows 95.

3.Приложенная программа была написана на языке С++, под оболочкой Borland C++ver. 3.0 .


Устойчивость “в малом” и “ в большом”. Связь критерия Попова с методами Ляпунова.

Пусть линейная система устойчива всекторе (0, К)-см рис. 5.9; начальная часть нелинейной характеристики,соответствующая­ />, лежит внутриэтого сектора, а при выходе х за указанные пределы выходит за пределы сектора.Очевидно, что в данном случае нельзя утверждать, что равновесие системы будетабсолютно устойчиво, т.е. устойчиво в целом при любых f(l), но мы можемутверждать, что при таких />, которыевызывают отклонение х, не выходящее за пределы (-х2, х1),будет имеет место устойчивость положения равновесия в большом и, конечно,устойчивость в малом.

/>/>/>/>/>/>/>/>/>С помощью критерия Поповалегко можно пояснить, когда применим первый метод Ляпунова. Заменим нелинейнуюхарактеристику в точке равновесия касательной (рис. 5-10). Если линейнаясистема устойчива (а не находится на границе устойчивости), то небольшой подъемлуча 0К в положение 0К1 не нарушит устойчивости, то при этомначальная часть нелинейной характеристики попадает внутрь сектора (0, К1),и равновесие нелинейной системы будет устойчивым в малом.

рис.5-9.                                                              рис. 5-10.

Если же мы имеем критический случай, то касательная являетсяграницей сектора, внутри которого линейная система устойчива, и мы не можемсудить об устойчивости равновесия нелинейной системы.

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

Р. Калман показал, что областьустойчивости, даваемая критерием Попова, будет огибающей для всех областейустойчивости, определяемых функциями Ляпунова вида “квадратичная форма плюснелинейность”, т.е. будет шире и ближе к истинной области устойчивости, чемлюбая из областей устойчивости, определяемая по функции Ляпунова заданнойформы.

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

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

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

                                                                                                 


#include<graphics.h>

#include<stdio.h>

#include<iostream.h>

#include<conio.h>

#include<dos.h>

#include<math.h>

typedeffloat (*Otv)(float w);

unsignedchar GraphMode(void);

voidBackGround(void);

floatFormula1(float w);

floatFormula2(float w);

voidShowGrafic(void);

voidLinePopov(void);

 floatXmas=30;                                                              // Масштаб

 floatYmas=30;

main()

{

 clrscr();

 if(GraphMode()==0){                                                   // Инициализация графики

 BackGround();                                                               //Построение СКО

 ShowGrafic();      }                                                        // Построение графиков

 return 0;

}

unsignedchar GraphMode(void)

{

  int  driver, mode;

  unsigned char err;

             driver= DETECT;

             initgraph(&driver,&mode,"");

             err= graphresult();

  if (err!=grOk) {cout<<"\n\t"<<grapherrormsg(err);

                          getch();

                          return 1;}

  return 0;

}

voidBackGround(void)

{

  int xmax = getmaxx();

  int ymax = getmaxy();

      setcolor(15);

      rectangle(0,0,xmax,ymax);

      line((int)(xmax/2),10,(int)(xmax/2),ymax-10);

      line(10,(int)(ymax/2),xmax-10,(int)(ymax/2));

      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,«jwQ(w)»);

      outtextxy(xmax-35,(int)(ymax/2)+7,«P(w)»);

      settextstyle(2,0,4);

      outtextxy((int)(xmax/2)-8,(int)(ymax/2)+1,«0»);

      setcolor(15);

}

voidShowGrafic(void)

{

 OtvRe=Formula1;

 OtvIm=Formula2;

 int xmax = getmaxx();

 int ymax = getmaxy();

     for(float Step=0; Step<=40; Step=Step+0.0001){      //procedure Grafic

             putpixel(xmax/2+Xmas*(*Re)(Step),ymax/2+Ymas*(*Im)(Step),15);

                                                                          }

   setcolor(11);

   line((int)xmax/2+Xmas,(int)(ymax/2)+4,(int)(xmax/2)+Xmas,(int)(ymax/2)-4);

   line((int)xmax/2-Xmas,(int)(ymax/2)+4,(int)(xmax/2)-Xmas,(int)(ymax/2)-4);

   LinePopov();

   while(!kbhit());                                     // Ожидание нажатия

   closegraph();

}

floatFormula1(float w)

{

 return(0.0044*w*w*w*w-0.223*w*w-1)/

 (-(0.63*w-0.009*w*w*w)*(0.63*w-0.009*w*w*w)-(1-0.087*w*w)*(1-0.087*w*w));

}

floatFormula2(float w)

{

 return -w*w*(0.034*w*w+0.14)/

 (-(0.63*w-0.009*w*w*w)*(0.63*w-0.009*w*w*w)-(1-0.087*w*w)*(1-0.087*w*w));

}

voidLinePopov(void)

{

floatPrXo, PXo, QXo, Xo, Yo, h;

floatY;

floatpr2= 15;

floatkol, time, otv;

OtvFx1=Formula1;

OtvFx2=Formula2;

intxmax = getmaxx();

intymax = getmaxy();

   signedchar done=0;

   h=0.00001;                                  // Погрешность производной

   Xo=-0.92;                                         // Задание точки Попова

   Yo=0;                                           // на реальной оси (-1/k)

   time=7;

 while(!done){                                 // Нахождение точки касания прямой Попова

                                                             // и модифицированного годографа

            time=time+0.0001;

            PXo=(*Fx1)(time);                  // Проекция w на Р

            QXo=(*Fx2)(time);                // Проекция w на wQ

            PrXo=((*Fx2)(time)-(*Fx2)(time-h))/((*Fx1)(time)-(*Fx1)(time-h));

            otv=PrXo*(Xo-PXo)+QXo-Yo;

            if((otv>=-0.001)&&(otv<=0.001)) done=1;

            if(time==pr2) done=1;

            putpixel(xmax/2+Xmas*(*Fx1)(time),ymax/2+Ymas*(*Fx2)(time),13);

            gotoxy(2,2);

            printf(«PXo%3.4f»,PXo);

            gotoxy(2,3);

            printf(«QYo%3.4f»,-QXo);

            printf("\nOtvet%f",otv);

            gotoxy(2,5);

            printf(«w   %2.3f»,time);

                                                }

            gotoxy(2,6);

            printf(" Уголравен %2.2f", -atan(QXo/PXo)*180/3.14);// Угол касательной

            rectangle(0,0,150,90);                                                   // к Р

for(kol=-1.5; kol<=1.5; kol=kol+0.001){

Y=PrXo*(kol-Xo)+Yo;

putpixel(xmax/2+Xmas*(kol),ymax/2+Ymas*Y,10);                 // Прямая Попова

                                                   }

 }

...

еще рефераты
Еще работы по радиоэлектронике