RSS    

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

          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.


Страницы: 1, 2, 3, 4


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

Обратная связь

Поиск
Обратная связь
Реклама и размещение статей на сайте
© 2010.