Міністерство освіти і науки України
Національний університет “Львівська політехніка”
Кафедра автоматики і телемеханіки
Розрахункова робота
з курсу: “ДИНАМІЧНІ ЕЛЕМЕНТИ СИСТЕМ КЕРУВАННЯ”
Варіант: 61
Завдання:
1. Записати систему алгебро-диференціальних рівнянь стану наведеної корегуючої ланки.
Визначити передатну функцію ланки.
Вивести вирази для частотних характеристик ланки - АФХ, АЧХ та ФЧХ.
Скласти програму розрахунку частотних характеристик ланки АФХ, АЧХ, ФЧХ.
За результатами програми побудувати частотні характеристики ланки АФХ, АЧХ, ФЧХ.
Скласти програму розрахунку перехідного процесу неявним методом Ейлера, якщо вхідна напруга .
Побудувати 5 періодів перехідного процесу струму живлення та напруги на навантаженні .
За пунктами 5, 7 зробити висновки.
Вхідні дані:
1. Схема ланки кола
2. Характеристики елементів схеми:
3. Вхідна напруга:
Виведення алгебро-диференціальних рівнянь стану наведеної корегуючої ланки.
Записуємо рівняння струмів і напруг:
(1)
Записуємо рівняння елементів схеми:
Записуємо загальні рівняння стуму і напруги:
(2)
(3)
Підставляємо рівняння елементів у (3)
(4)
(5)
Вводимо заміну
(6)
Знаходимо UC1;
(7)
Знаходимо UC2:
(8)
Знаходимо UC3:
(9)
Підставляємо (7), (8), (9) у (6):
(10)
Групуємо рівняння (10):
(11)
Вводимо заміни:
Підставляємо заміни у (11):
(12)
Визначаємо передатну функцію ланки:
Виводимо вирази для частотних характеристик ланки - АФХ, АЧХ та ФЧХ:
де
- АФХ
- АЧХ
- ФХЧ
Програма розрахунку частотних характеристик ланки АФХ, АЧХ, ФЧХ.
//---------------------------------------------------------------------------
#include <fstream.h>
#include <vcl.h>
#pragma hdrstop
#include <math.h>
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int R1=100, R2=20, R3=50, R4=1000;
double C1=1e-4, C2=2e-7, C3=3e-4, L=3e-4;
double a4, a3, a2, a21, a1, a0, b2, A, B, C, D, P, H, Q, F, F1, F2;
int Wk, W;
a4=C1*R1*L*C2*(R3/R4+1);
a3=L*C2*(R3/R4+1)+C1*R1*((R2*C2*R3+L)/R4+C2*R2+L*C2/(C3*R4));
a2=C2*(R3/R4+R2*R3/R4+R2+L/(R4*C3)+1)+C1*R1*(C2*R2/(R4*C3)+R2/R4+R3/R4+1)+L/R4;
a1=C2/(R4*C3)+1/R4+C2*R2/(R4*C3)+R2/R4+R3/R4+C1*R1/(C3*R4)+1;
a0=1/(R4*C3);
b2=C1*R1;
Wk=1000000;
fstream file;
file.open("D:\File01.dat",ios_base::out|ios_base::trunc);
for(W=0; W<Wk;)
{
W=W+10;
A=a4*W*W*W*W-a2*W*W+a0;
B=a1*W-a3*W*W*W;
D=(-1)*b2*W*W;
P=A*D/(A*A+B*B);
Q=(-1)*B*D/(A*A+B*B);
H=sqrt(P*P+Q*Q);
F=atan(Q/P);
file<<W<<" \t"<<P<<" \t"<<Q<<" \t"<<H<<" \t"<<F<<"\n";
}
file.close();
}
//---------------------------------------------------------------------------
АФХ
АЧХ
ФХЧ
Програма розрахунку перехідного процесу неявним методом Ейлера
//---------------------------------------------------------------------------
#include<fstream.h>
#include <vcl.h>
#pragma hdrstop
#include <math.h>
#include "Proga.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int R1=100, R2=20, R3=50, R4=1000;
float C1=1e-4, C2=2e-7, C3=3e-4, L=3e-4;
double a4, a3, a2, a21, a1, a0, b2, U1, Y[4]={0,0,0,0}, k[4]={0,0,0,0}, t, h=0.00005, c0, f1;
int i, n=3;
a4=C1*R1*L*C2*(R3/R4+1);
a3=L*C2*(R3/R4+1)+C1*R1*((R2*C2*R3+L)/R4+C2*R2+L*C2/(C3*R4));
a2=C2*(R3/R4+R2*R3/R4+R2+L/(R4*C3)+1)+C1*R1*(C2*R2/(R4*C3)+R2/R4+R3/R4+1)+L/R4;
a1=C2/(R4*C3)+1/R4+C2*R2/(R4*C3)+R2/R4+R3/R4+C1*R1/(C3*R4)+1;
a0=1/(R4*C3);
b2=C1*R1;
c0=a2+(a1+a0*h)*h;
t=0;
fstream file;
file.open("D:\File0001.dat",ios_base::out|ios_base::trunc);
do {
U1=(-1)*314.1593*314.1593*311*sin(314.1593*t);
f1=U1*b2-(a1+a0*h)*k[1]-a0*k[0];
Y[3]=((k[3]+(f1-c0*k[2]))*(h/a4))/(1+(a3+c0*h)*(h/a4));
Y[2]=k[2]+Y[3]*h;
Y[1]=k[1]+Y[2]*h;
Y[0]=k[0]+Y[1]*h;
for(i=0;i<n;i++) {
k[i]=Y[i];
}
t=t+h;
file<<t<<" \t"<<Y[0]<<"\n";
} while(t<0.1);
file.close();
}
//---------------------------------------------------------------------------
Графік перехідного процесу за результатами програми:
Висновок: у даній розрахунковій роботі я досліджував задану ланку електричного кола із заданими параметрами, за допомогою відомих законів електричної фізики, математичного методу та комп’ютерної програми я побудував графіки залежностей АФХ, АЧХ, ФЧХ та перехідний процес ланки.