MaxEdu.ru
» » » Відображення схеми електричного кола з активним опором та ємністю
Вернуться назад

Відображення схеми електричного кола з активним опором та ємністю

Міністерство освіти і науки України
Український Державній Університет Водного господарства і природо користування
Кафедра електротехніки і автоматики
Курсова робота
з дисципліни “Програмування і алгоритмічні мови”
на тему:
“Розробити програму для відображення схеми електричного кола з активним опором та ємністю, перехідного процесу зміни напруги на конденсаторі та аналізу впливу параметрів елементів кола на перехідний процес”.

Виконав:
студент 1-го курсу
ФПМ і КІС
АУТП 13

Перевірив:
Пастушенко
Рівне 2002


Завдання
Розробити програму для відображення схеми електричного кола з активним опором та індуктивністю, перехідного


Зміст
Вступ.....................................................................................................................................3
Задача і опис схеми...........................................................................................4
Текст програми.......................................................................................................7
Приклад............................................................................................................................13
Висновок......................................................................................................................... 14
Література......................................................................................................................15
Вступ
Для закріплення здобутих теоретичних знань, застосування їх при вирішенні питань виробничого характеру, а також з метою набуття навиків по створенню програмного забезпечення , виконується курсова робота з дисципліни “Програмування та алгоритмічні мови” . В курсовій роботі необхідно розробити програму на мові програмування C++, яка б графічно відображала схему електричного кола з активним опором та ємністю, перехідний процес зміни напруги на конденсаторі та аналіз впливу параметрів елементів кола на перехідний процес. Важливо також щоб програма мала системне меню, вводилися дані.
Задача і опис схеми
Перехідними процесами називаються явища , які мають місце в електричних колах при зміні їх режиму.
Для виявлення початкових умов при перехідних процесах використовують два закони комутації електричних кіл .
З першого закону комутації : сила струму , який проходить через індуктивність , не може змінюватись стрибкоподібно .Такого стрибка сила струму не допустить протидія безкінечно велика е.р.с. самоіндукції :
В якості прикладу використання першого закону комутації розглянемо зміну активного опору кола , яке містить індуктивність (Рис.1) .
Рис.1. Схема комутації опору в колі , яке містить індуктивність.
В цьому колі в момент t=0 ключем К замикаємо опір r2 . Сила струму в колі після комутації знаходиться спільною дією е.р.с. E джерела електроенергії і е.р.с. самоіндукції :
диференціальне рівняння кола :
або
де – сила струму , яка стане в колі після закінчення перехідного процесу . Про інтегрувавши це рівняння , отримаємо :
, де lnA – стала інтегрування . Останнє рівняння запишемо у вигляді : , про інтегруємо : , (1) де – постійна часу після комутації.
Щоб знайти А , звернемося до початкових умов процесу . В розглянутому колі мають місце не нулеві початкові умови , так як при t=0 сила струму .
Підставляючи це значення в рівняння (1) , знайдемо :
або . Рівняння перехідного струму буде мати вигляд :
. (2)
Згідно другому закону комутації напруга і заряд ємності не можуть змінюватися стрибкоподібно , так як це вимагало б нескінченно великого зарядного або розрядного струму ; зарядна сила струму :
,
але при кінцевій зміні напруги uc або пропорційному йому заряду q сила струму
, що неможливо .
В якості прикладу використання другого закону комутації розглянемо перехідний процес (Рис.2) . В момент t=0 замикається ключ К , яким паралельно ємності включається опір r2 , а це визве пониження напруги на ємності .
Рис.2.Схема комутації опору в колі , яке містить ємність.
Згідно другому закону Кірхгофа в розглянутому колі , а згідно першого закону Кірхгофа .
Струм ic визивається за рахунок зменшення заряду ємності , тому
, а струм в опорі r2 : .
Отже , і .Розділимо змінні в останньому рівнянні :
, позначимо ;
Про інтегрувавши рівняння , отримаємо :
де lnA – постійна інтегрування . Перепишемо останнє рівняння :
і потенціюємо : .
Щоб знайти A , звертаємось до початкових умов кола . До замикання ключа К ємність була заряджена до повного значення е.р.с. Е , а згідно другому закону комутації в перший момент після замикання ключа напруги на ємність повинно було зберігати своє початкове значення .
, постійна , а рівняння напруги на конденсаторі буде мати вигляд :
(3)
де – стала часу процесу .

Рис.3.Крива зміни напруги на ємності .
На Рис.3 показана крива uc=F(t) . В кінці перехідного процесу напруга на ємності знаходиться умовами кола постійного струму , утворене з’єднаними послідовно опорами r1 і r2 ,отже , напруга на окремих ділянках кола прямо пропорційна опорам цих ділянок .
Текст програми
#include
#include
#include
#include
#include
#include
#define CLIP_ON 1
#define FON_2 CYAN
#define FON_1 7
#define COL_1 60
#define COL_2 57
#define COL_3 58
void Titul (void);
void GRAF(float E, float C, float r1,float r2);
void SHEMA(void);
int main(void)
clrscr();
Titul (); clrscr();
int gdriver = DETECT, gmode, errorcode; initgraph(&gdriver, &gmode, "c:\\bcpp\\bgi");
errorcode = graphresult();
if (errorcode != grOk)
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
///------------------------------
float E;
float t;
float C;
float r1;
float r2;
E=100;
C=1e-03; r1=3000; r2=1000;
SHEMA(); GRAF(E, C, r1,r2); //....................................
char ch;
while(ch!=27)
restorecrtmode();
clrscr(); // //textbackground(YELLOW); textcolor(57); printf("\n\n\n\n\n\n\n\n");
cprintf(" ========================================================"); printf("\n");
cprintf(" |Для виходу з програми натиснiть: 'e' |");
cprintf(" | |");
cprintf(" |Для продовження програми з новими значеннями |");
cprintf(" | параметрiв схеми, натиснiть: 'n' |");
cprintf(" ========================================================"); printf("\n");
ch=getch();
switch(ch)
case 'e': exit(1); break;
case 'n':
clrscr(); textcolor(GREEN);
cprintf(" -------------------------------------------------------"); printf("\n");
cprintf(" | Для вдалого вiдображення процесiв необхiдно, щоб: |"); printf("\n");
cprintf(" -------------------------------------------------------"); printf("\n");
cprintf(" | E<=100 B |"); printf("\n");
cprintf(" | C=(0,5..3) мкФ |"); printf("\n");
cprintf(" | r1=(500..3000) Ом |"); printf("\n");
cprintf(" | r2=(500..3000) Ом |"); printf("\n");
cprintf(" -------------------------------------------------------"); printf("\n");
textcolor(WHITE);
cprintf("\n\nВведiть новi значення E (B) = ");
scanf("%f",&E);
cprintf("\nВведiть новi значення C (мкФ) = ");
scanf("%f",&C);
cprintf("\nВведiть новi значення r1 (Ом) = ");
scanf("%f",&r1);
cprintf("\nВведiть новi значення r2 (Ом) = ");
scanf("%f",&r2);
setgraphmode(getgraphmode());
SHEMA(); GRAF(E, C*pow10(-3), r1,r2); break;
default: clrscr(); //textbackground(7);
textcolor(RED+BLINK); printf("\n\n\n\n\n\n\n\n\n\n\t\t");
cprintf("A Ви, таки, мабуть, iдiот: дивiться що натискаэте"); delay(4000);textcolor(WHITE);restorecrtmode();clrscr();
restorecrtmode();
///------------------------------
getch();
closegraph();
clrscr();
return 0;
//////~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/////||||||||||||||||||||||||||||||
void SHEMA(void)
////------------------ пiдготовлюімо граф вiкно
cleardevice();
int y0_port1,y1_port1;
y0_port1=0; y1_port1=0.4*getmaxy();
setviewport(0,y0_port1,getmaxx(),y1_port1, CLIP_ON);
setfillstyle(SOLID_FILL, FON_1); //заповнення кольором
floodfill(5, 5, 13); // теж саме
rectangle(0,0,getmaxx(),y1_port1-y0_port1); /////////-------------------------------------------------
int x1=0.25*getmaxx(), x1a, y1=40, y1a=30;
int x3=0.75*getmaxx(), y3=y1_port1-30, x3a=20, r=3, x3b;
int x2=0.5*getmaxx(), y2=(y1+y3)/2;
int R=15, l=8; //радiус джерела е.р.с. i довжина стрiлки
int dC=4, lC=14; //товщина i ширина конденсатора
int hr=8,lr=56; // ширина та довжина резистора
x1a=(x2-x1-lr)/2;
circle(x2,y1,2); circle(x2,y3,2);
setfillstyle(SOLID_FILL,WHITE);
floodfill(x2,y1-1,WHITE); floodfill(x2,y3-1,WHITE);
line(x1,y1,x1+x1a,y1); setfillstyle(1, WHITE); bar(x1+x1a,y1-hr,x1+x1a+lr,y1+hr);
line(x1+x1a+lr,y1,x3,y1); line(x3,y1,x3,y1+y1a); bar(x3-hr,y1+y1a,x3+hr,y1+y1a+lr);
line(x3,y1+y1a,x3,y3);
line(x3,y3,(x3+x2)/2+x3a+r,y3); circle((x3+x2)/2+x3a,y3,r);
line(x1,y3,(x3+x2)/2-x3a-r,y3); circle((x3+x2)/2-x3a,y3,r);
int lk=37; //ключ
line((x3+x2)/2-x3a+r*0.87,y3-r*0.5,(x3+x2)/2-x3a+lk*0.87,y3-lk*0.5);//ключ
circle(x1,y2,R); line(x1,y1,x1,y2-R); line(x1,y3,x1,y2+R);
line(x1,y2+l,x1,y2-l); line(x1,y2-l,x1-2,y2-l+6); line(x1,y2-l,x1+2,y2-l+6);
line(x2-lC,y2-dC,x2+lC,y2-dC); line(x2-lC,y2+dC,x2+lC,y2+dC);
line(x2,y1,x2,y2-dC); line(x2,y3,x2,y2+dC);
//пiдписуэмо елементи
setcolor(GREEN);
settextstyle(3, HORIZ_DIR, 1);
outtextxy(x1+22,y2-14,"E");
outtextxy((x1+x2)/2-8,y1-32,"r1");
outtextxy(x2-32,y2-10,"C");
outtextxy(x3-30,y2-12,"r2");
outtextxy((x2+x3)/2,y3,"K");
//////--------------
void GRAF(float E, float C, float r1,float r2)
////------------------ пiдготовлюімо граф вiкно #2
//setbkcolor(7);
setcolor(WHITE);
settextstyle(0,0,1);
float y0_port2,y1_port2;
y0_port2=0.4*getmaxy(); y1_port2=getmaxy();
setviewport(0,y0_port2,getmaxx(),y1_port2, CLIP_ON);
setfillstyle(SOLID_FILL, FON_2); //заповнення кольором
floodfill(5, 5, 13); // теж саме
rectangle(0,0,getmaxx(),y1_port2-y0_port2);
////---------------------------
float y0_g,x0_g;
float kin=0.8*getmaxx(); //кiнець осi ординат
y0_g=96+(y1_port2-y0_port2)/2;
// printf(" y0_g=%i ",y0_g);
x0_g=150;
line(x0_g-120,y0_g,kin,y0_g); //вiсь ординат
line(x0_g,10,x0_g,y1_port2-y0_port2-20); //вiсь абсцис
line(x0_g,10,x0_g+2,10+5); //стрiлочка
line(x0_g,10,x0_g-2,10+5);
line(kin,y0_g,kin-5,y0_g-2);
line(kin,y0_g,kin-5,y0_g+2);
setcolor(CGA_CYAN); settextstyle(7,0,1);
outtextxy(x0_g+6,4,"Uc, V");
// setcolor(WHITE);
outtextxy(kin+6,y0_g-10,"t, ms");
///////////.............................
float Uck=E*r2/(r1+r2);
float t,tau,y;
float mU=2, mt=1.0e-2;; //масштаби по осях
setcolor(COL_3);
setlinestyle(8,1,1);
line(x0_g-110,y0_g-E*mU,x0_g,y0_g-E*mU);
moveto(x0_g,y0_g-mU*E);
tau=r1*r2/(r1+r2)*C; //printf("tau=%.12f",tau); printf(" mt=%.12f",mt);
for(int i=0; it=mt*i;
y=mU*(E*r2/(r1+r2)+E*r1/(r1+r2)*exp(-t/tau));
lineto(x0_g+i,y0_g-y);
setcolor(COL_1);
setlinestyle(2,1,1);
line(x0_g,y0_g-mU*Uck,kin-30,y0_g-mU*Uck);
////...........................................
setcolor(COL_2);
setlinestyle(0,1,1);
settextstyle(0,0,0);
int m=100; char *c;
for(int j=0;j<=3;j++)
line(x0_g+m*j,y0_g,x0_g+m*j,y0_g+3);
sprintf(c, "%d",j);
outtextxy(x0_g+4+m*j,y0_g+8,c);
int n=mU*100/5;
for(int k=0;k<=5;k++)
line(x0_g,y0_g-n*k,x0_g-3,y0_g-n*k);
sprintf(c, "%d",k*n/2);
if(k) outtextxy(x0_g-24,y0_g-10-n*k,c);
//printf(" t=%f",t);printf(" i=%d",i);printf(" t/tau=%f",t/tau);
//.виведення значень параметрiв
setcolor(5); settextstyle(0,0,1);
sprintf(c,"E = %.1f B",E);
outtextxy(getmaxx()-130,40,c);
sprintf(c,"C = %.1f мкФ",C*pow10(3));
outtextxy(getmaxx()-130,70,c);
sprintf(c,"r1= %.1f Ом",r1);
outtextxy(getmaxx()-130,100,c);
sprintf(c,"r2= %.1f Ом",r2);
outtextxy(getmaxx()-130,130,c);
getch();
/////======================================
void Titul (void)
clrscr();
textmode(BW80);
textcolor(59);
cprintf(" Мiнiстерство освiти i науки Украµни");
printf("\n");
cprintf(" Рiвненський державний технiчний унiверситет");
printf("\n");
cprintf(" Кафедра електротехнiки i автоматики");
printf("\n\n\n\n\n");
textcolor(4 + BLINK);
printf(" ");
cprintf("КУРСОВА РОБОТА"); printf("\n");
textcolor(57);
printf("\t\t"); cprintf("з курсу:\"Програмування i алгоритмiчнi мови\""); printf("\n");
textcolor(BLUE);
printf("\t\t"); cprintf("на тему:\"Графiчне вiдображення схеми електричного кола з"); printf("\n");
printf("\t\t\t "); cprintf("активним опором та эмнiстю, перехiдного процесу"); printf("\n");
printf("\t\t\t "); cprintf("змiни напруги на конденсаторi та аналiзу впливу"); printf("\n");
printf("\t\t\t "); cprintf("парамтрiв кола на перехiдний процес\""); printf("\n");
printf("\n\n\n\n\n"); textcolor(2);
printf("\t\t\t\t\t\t"); cprintf("Виконав студент першого курсу"); printf("\n");
printf("\t\t\t\t\t\t"); cprintf("ФПМiКIС групи АУТП-3"); printf("\n");
printf("\t\t\t\t\t\t"); cprintf("ПАНАСЮК");
printf("\n\n\n\n");
printf("\t\t\t\t "); textcolor(58);
cprintf("РIВНЕ-2002");
textcolor(WHITE + BLINK);
printf("\n\t\t\t");
cprintf(" натиснiть будь-яку клавiшу");
getch();
textcolor(WHITE);}
Приклад
Введемо:
E=50
C=2
R1=670
R2=700
Отримаємо графік :
Висновок
Завдяки цій курсовій роботі я закріпив здобуті теоретичні знання з курсу “Програмування та алгоритмічні мови”, навчився застосувати їх при вирішенні питань виробничого характеру. Склав програму, яка графічно відображає схему електричного кола з активним опором та ємністю, перехідний процес зміни напруги на конденсаторі та аналіз впливу параметрів елементів кола на перехідний процес , програма працює з різним даними.
Література
1. Касаткин. Электротехника, М., Энергия..
2.Крис Паппас, Уїльям Мюррей, Програмирование на С и С++,
“Ирина”, BHV,Киев,2000.
Ця курсова робота люб'язно надана

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать
Рефераты по информатике Міністерство освіти і науки України Український Державній Університет Водного господарства і природо користування Кафедра електротехніки і автоматики
Оценок: 443 (Средняя 5 из 5)

Специалисты RetsCorp работают в digital-сфере более 7 лет. За это время мы разработали более 500+ успешных проектов. Основываясь на своем опыте и знании рынка, мы с уверенностью можем сказать, что будет работать, а что — нет. Заказывая создание лендинга для бизнеса в нашей студии, вы получаете работающие решения, необходимые именно вашему бизнесу.

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

© 2014 - 2022 MaxEdu.ru