WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → Розробка програми для відображення динамічних характеристик перетворювачів інформації - Курсова робота

Розробка програми для відображення динамічних характеристик перетворювачів інформації - Курсова робота

(1.2)
де y(t) та x(t) означають, що величини у та х змінюються у часі t .Усі члени цього рівняння слід поділити на а0, і тоді, позначивши
дістанемо
(1.3)
(Т2 і Т1 - сталі часу ; К - коефіцієнт передачі).
Якщо для деякого перетворювача Т2=Т1=0, то вихідна величина змінюється згідно з законом
y(t)=Kx(t). (1.4)
Такий перетворювач становить просту безінерційну (ідеальну ) ланку: при стрибкоподібних змінах x(t) вихідна величина y(t) теж змінюється стрибкоподібно.
Стрибкоподібну зміну x(t) в момент від початкового значення хп до кінцевого хк показано на рис.1.6,а, статичну характеристику деякого перетворювача - на рис.1.6,б,; зміну величини y(t) на виході цього перетворювача, якщо він становить просту ідеальну ланку, - на нарис.1.6,в.
Рис.1.6
Якщо Т2=0, але Т1!=0, то розв'язок диференціального рівняння за умови стрибкоподібної зміни x(t) від хп до хк у момент часу буде такий:
(1.5)
де уп =Кхп - початкове значення y(t); ук=Кхк - кінцеве значення y(t); е - основа натуральних логарифмів; t - час.
Цей перетворювач є простою аперіодичною ланкою першого порядку (рис.1.7а).
Якщо в рівнянні (1.3) жоден коефіцієнт не дорівнює нулю, то такий перетворювач є ланкою другого порядку; проте розв'язок цього рівняння залежить від співвідношення між Т2 та Т1 .
При
де
Рис. 1.7
Такий перетворювач становить просту аперіодичну ланку другого порядку (рис.1.7,б).
Якщо ж Т1/Т2<2, то
(1.7)
де -- кутова частота коливань,
Т/ -- стала часу обвідної експоненти,
Цей перетворювач - проста коливальна ланка другого порядку із затухаючим перехідним процесом (рис.1.7,в).
Основна вимога до динамічних характеристик перетворювачів - досягнення якомога меншої тривалості перехідного процесу.
Текст програми до курсової роботи.
#include
#include
#include
#include
#include
#include
#define qq 113
#define ww 119
#define ee 101
#define rr 114
#define pp 112
#define oo 111
//Функцiя №1
float f1(float t,float T,float Yn,float Yk,float Q)
{return(Yn+(Yk-Yn)*(1-pow(2.71,(-(t-Q)/T))));}
//Функцiя №2
float f2(float t,float T_,float T__,float Yn,float Yk,float Q)
{return(Yn+(Yk-Yn)*(1-(1/(T_-T__))*(T_*pow(2.71,(-(t-Q)/T_))-T__*pow(2.71,(-(t-Q)/T__)))));}
//Функцiя №3
float f3(float t,float T_T,float Yn,float Yk,float Q,float a)
{return(Yn+(Yk-Yn)*(1-pow(2.71,(-(t-Q)/T_T))*(cos(a*(t-Q))+sin(a*(t-Q))/T_T*a)));}
void fon()
{ int i;
setbkcolor(10);
setcolor(14);
//пункти меню
setfillstyle(1,8);
fillellipse(300,115 ,75,20 );
outtextxy(275, 115, "Program");
fillellipse(300,205 ,75,20 );
outtextxy(270,205,"Titulka");
fillellipse(300,285 ,75,20 );
outtextxy(285,285,"Exit");
}
void menu(int t)
{
setfillstyle(1,10);
bar(200,280,220,290);bar(380,280,400,290);
bar(200,200,220,210);bar(380,200,400,210);
bar(200,110,220,120);bar(380,110,400,120);
setfillstyle(1,4);
//рyx меню
if(t==3){
bar(200,280,220,290);bar(380,280,400,290);}
if(t==2){
bar(200,200,220,210);bar(380,200,400,210);}
if(t==1){
bar(200,110,220,120);bar(380,110,400,120);}
}
//---------------Функцiя виведення титульноi сторiнки--------------
void Titul ()
{
restorecrtmode();
clrscr();
textmode(BW80);
textcolor(7);
cprintf(" Мiнiстерство освiти i науки України");
printf(" ");
cprintf(" Рiвненський державний технiчний унiверситет");
printf(" ");
cprintf(" Кафедра електротехнiки i автоматики");
printf(" ");
textcolor(WHITE + BLINK );
printf(" ");
cprintf("КУРСОВА РОБОТА");
printf(" ");
textcolor(7);
printf(" ");
cprintf(" з курсу:"Програмування та алгоритмiчнi мови"");
printf(" ");
textcolor(7);
printf(" ");
cprintf(" на тему:" Вiдображення динамiчних характеристик");
printf(" ");
printf(" ");
cprintf("перетворювачiв iнформацii "");
printf(" ");
textcolor(5);
printf(" ");
cprintf("Виконав студент першого курсу");
printf(" ");
printf(" ");
cprintf("ФПМiКIC");
printf(" ");
printf(" ");
cprintf("групи АУТП-2");
printf(" ");
printf(" ");
cprintf("Антонюк Т.В.");
printf(" ");
printf(" ");
textcolor(10);
cprintf("РIВНЕ 2002");
textcolor(WHITE + BLINK );
printf(" ");
cprintf(" натиснiть будь-яку клавiшу");
getch();
setgraphmode(getgraphmode());
fon();
menu(2);
}
void Dani(){
setcolor(15);
outtextxy(70,5,"Динамiчна характеристика перетворювачiв iнформацii");
setcolor(14);
outtextxy(70,20,"T1 i Т2 -- сталi часу; |якщо T1!=0 && T2=0- 1-го порядку");
outtextxy(70,30,"К -- коефiцiэнт передачi; |якщо T1/T2>=2 - 2-го порядку ");
outtextxy(70,40,"Xn -- початкове значення x(t); |якщо T1/T2 Q; W -> Xk;");
outtextxy(5,130,"E -> Xn; R -> K;");
outtextxy(5,140,"P -> T2; O -> T1;");
outtextxy(5,150,"Enter -> Select;");
outtextxy(5,160,"Esc -> Exit;");
}
int Vubir()
{ int A;
A=getch();
setcolor(14);
if(A==113){outtextxy(0,170,"Ви дослiджуєте ");
outtextxy(0,180," параметр Q");}
if(A==119){outtextxy(0,170,"Ви дослiджуєте ");
outtextxy(0,180," параметр Xk");}
if(A==101){outtextxy(0,170,"Ви дослiджуєте ");
outtextxy(0,180," параметр Xn"); }
if(A==114){outtextxy(0,170,"Ви дослiджуєте ");
outtextxy(0,180," параметр K"); }
if(A==112){outtextxy(0,170,"Ви дослiджуєте ");
outtextxy(0,180," параметр T2"); }
if(A==111){outtextxy(0,170,"Ви дослiджуєте ");
outtextxy(0,180," параметр T1");}
return A;}
void pokaz()
{
cleardevice();
setgraphmode(getgraphmode());
setbkcolor(14);
setfillstyle(1,15);
bar(30,15,getmaxx()-30, getmaxy()-15 );
setcolor(4);
outtextxy(35,40,"Динамiчна характеристика перетворювачiв iнформацii");
outtextxy(35,50,"В
Loading...

 
 

Цікаве