równania różniczkowe analiza stanów nieustalonych w obwodach elektrycznych cw8, aaa, studia 22.10.2014, całe sttudia, III semestr, metody numeryczne lab, metody numeryczne


Politechnika Lubelska

w Lublinie

Laboratorium Metod Numerycznych

Ćwiczenie nr 8

Imię i Nazwisko:

Jakub Machometa

Semestr: III

Grupa: 3.3

Rok akademicki:

2009/2010

Temat:

Równania różniczkowe - analiza stanów nieustalonych w obwodach elektrycznych

Data wyk.:

9.12.2009r.

Ocena:

Cel ćwiczenia:

Celem ćwiczenia jest zapoznanie się z metodami obliczania stanów nieustalonych w obwodach RC i RL.

Schemat:

0x01 graphic

Skrypt SciLab:

clear;

xdel;

clc;

E=10;

C=0.001;

R=2;

L=0.01;

wybgen=input("wybierz generator..

1 - prądu stłego 2 - sinusoidalnego 3 - prostokątnego 4 - piłokształtnego")

select wybgen

case 1 then

function pochodna=stany(t,x)

pochodna=(E-x)/(R*C)

endfunction

uc0=0;

t0=0;

t=[0:0.00001:0.01];

roz=ode(uc0,t0,t,stany);

ur=E-roz;

i=ur/R;

subplot(211)

plot2d(t,[ur'roz' i'],style=[6,4,5],leg="ur(t)@uc(t)@i(t)",axesflag=4)

function pochodna1=stany(t,x)

pochodna1=(E-R*x)/(L)

endfunction

ul0=0;

t0=0;

t=[0:0.0001:0.04];

roz=ode(ul0,t0,t,stany);

ur=R*roz;

ul=E-ur;

subplot(212)

plot2d(t,[ul'ur'roz'],style=[2,5,4],leg="ul(t)@ur(t)@i(t)",axesflag=5)

case 2 then

function pochodna01=stany0(t,x)

pochodna01=(E*sin(2*%pi*f*t)-x)/(R*C)

endfunction

function pochodna11=stany1(t,x)

pochodna11=(E*sin(2*%pi*f*t+%pi/6)-x)/(R*C)

endfunction

function pochodna21=stany2(t,x)

pochodna21=(E*sin(2*%pi*f*t+%pi/4)-x)/(R*C)

endfunction

function pochodna31=stany3(t,x)

pochodna31=(E*sin(2*%pi*f*t+%pi/3)-x)/(R*C)

endfunction

function pochodna41=stany4(t,x)

pochodna41=(E*sin(2*%pi*f*t+%pi/2)-x)/(R*C)

endfunction

function pochodna02=stany01(t,x)

pochodna02=(E*sin(2*%pi*f*t)-R*x)/(L)

endfunction

function pochodna12=stany11(t,x)

pochodna12=(E*sin(2*%pi*f*t+%pi/6)-R*x)/(L)

endfunction

function pochodna22=stany21(t,x)

pochodna22=(E*sin(2*%pi*f*t+%pi/4)-R*x)/(L)

endfunction

function pochodna32=stany31(t,x)

pochodna32=(E*sin(2*%pi*f*t+%pi/3)-R*x)/(L)

endfunction

function pochodna42=stany41(t,x)

pochodna42=(E*sin(2*%pi*f*t+%pi/2)-R*x)/(L)

endfunction

f=50;

t=[0:0.0001:0.02];

e0= E*sin(2*%pi*f*t);

e1= E*sin(2*%pi*f*t+%pi/6);

e2= E*sin(2*%pi*f*t+%pi/4);

e3= E*sin(2*%pi*f*t+%pi/3);

e4= E*sin(2*%pi*f*t+%pi/2);

uc0=0;

ul0=0;

t0=0;

roz0=ode(uc0,t0,t,stany0);

ur0=e0-roz0;

i0=ur0/R;

roz1=ode(uc0,t0,t,stany1);

ur1=e1-roz1;

i1=ur1/R;

roz2=ode(uc0,t0,t,stany2);

ur2=e2-roz2;

i2=ur2/R;

roz3=ode(uc0,t0,t,stany3);

ur3=e3-roz3;

i3=ur3/R;

roz4=ode(uc0,t0,t,stany4);

ur4=e4-roz4;

i4=ur4/R;

roz01=ode(ul0,t0,t,stany01);

ur01=R*roz01;

ul01=e0-ur01;

roz11=ode(ul0,t0,t,stany11);

ur11=R*roz11;

ul11=e0-ur11;

roz21=ode(ul0,t0,t,stany21);

ur21=R*roz21;

ul21=e0-ur21;

roz31=ode(ul0,t0,t,stany31);

ur31=R*roz31;

ul31=e0-ur31;

roz41=ode(ul0,t0,t,stany41);

ur41=R*roz41;

ul41=e0-ur41;

xset("window",1)

subplot(211)

plot2d(t,[ur0'roz0'i0'e0'],style=[4,6,7,9],leg="ur(t)@uc(t)@i(t)@e(t)",axesflag=5)

xtitle('Faza Napięcia 0 dla RC')

xset("window",2)

subplot(211)

plot2d(t,[ul01'ur01'roz01'e0'],style=[6,5,4,7],leg="ul(t)@ur(t)@i(t)@e(t)",axesflag=5)

xtitle('Faza Napięcia dla RL')

xset("window",3)

subplot(211)

plot2d(t,[ur1'roz1'i1'e1'],style=[4,6,7,9],leg="ur(t)@uc(t)@i(t)@e(t)",axesflag=5)

xtitle('Faza Napięcia 30 dla RC')

xset("window",4)

subplot(211)

plot2d(t,[ul11'ur11'roz11'e1'],style=[6,5,4,7],leg="ul(t)@ur(t)@i(t)@e(t)",axesflag=5)

xtitle('Faza Napięcia 30 dla RL')

xset("window",5)

subplot(211)

plot2d(t,[ur2'roz2'i2'e2'],style=[4,6,7,9],leg="ur(t)@uc(t)@i(t)@e(t)",axesflag=5)

xtitle('Faza Napięcia 45 dla RC')

xset("window",6)

subplot(211)

plot2d(t,[ul01'ur21'roz21'e2'],style=[6,5,4,7],leg="ul(t)@ur(t)@i(t)@e(t)",axesflag=5)

xtitle('Faza Napięcia 45 dla RL')

xset("window",7)

subplot(211)

plot2d(t,[ur3'roz3'i3'e3'],style=[4,6,7,9],leg="ur(t)@uc(t)@i(t)@e(t)",axesflag=5)

xtitle('Faza Napięcia 60 dla RC')

xset("window",8)

subplot(211)

plot2d(t,[ul31'ur31'roz31'e3'],style=[6,5,4,7],leg="ul(t)@ur(t)@i(t)@e(t)",axesflag=5)

xtitle('Faza Napięcia 60 dla RL')

xset("window",9)

subplot(211)

plot2d(t,[ur4'roz4'i4'e4'],style=[4,6,7,9],leg="ur(t)@uc(t)@i(t)@e(t)",axesflag=5)

xtitle('Faza Napięcia 90 dla RC')

xset("window",10)

subplot(211)

plot2d(t,[ul41'ur41'roz41'e4'],style=[6,5,4,7],leg="ul(t)@ur(t)@i(t)@e(t)",axesflag=5)

xtitle('Faza Napięcia 90 dla RL')

case 3 then

function pochodna=stany(t,x)

pochodna=(E*squarewave(2*%pi*f*t+k)-x)/(R*C)

endfunction

function pochodna2=stany1(t,x)

pochodna2=(E*squarewave(2*%pi*f*t+k)-R*x)/(L)

endfunction

f=50;

k=0;

ul0=0;

uc0=0;

t0=0;

t=[0:0.0001:0.04];

e= E*squarewave(2*%pi*f*t+k);

roz=ode(uc0,t0,t,stany);

ur=e-roz;

i=ur/R;

roz2=ode(ul0,t0,t,stany1);

ur2=R*roz2;

ul2=e-ur2;

xset("window",1)

plot2d(t,[ur'roz'i'e'],style=[4,6,7,9],leg="ur(t)@uc(t)@i(t)@e(t)",axesflag=5)

xtitle('Faza Napięcia dla RC')

xset("window",2)

plot2d(t,[ul2'ur2'roz2'e'],style=[2,5,4,6],leg="ul(t)@ur(t)@i(t)@e(t)",axesflag=5)

xtitle('Faza Napięcia dla RL')

case 4 then

function pochodna=stany(t,x)

pochodna=(E*2*%pi*f*t-R*x)/L;

endfunction

i0=0;

t0=0;

t=[0:0.0001:0.1];

f=50;

b=t;

e=E*2*%pi*f*t;

for i=2:11 do

t(i,:)=t((i-1),:)+0.1;

end

roz(1,:)=ode(i0,t0,(t(1,:)),stany);

ur(1,:)=R*roz(1,:);

ul(1,:) =e(1,:)- R*roz(1,:);

plot2d(t(1,:),[roz(1,:)' ul(1,:)' ur(1,:)'],style=[3,5,6],leg="i(t)@ul(t)@ur(t)",axesflag=5);

for j=2:11 do

roz(j,:)=ode(roz(j-1,$),t0,(t(1,:)),stany);

ur(j,:)=R*roz(j,:);

ul(j,:)=e(1,:)-R*roz(j,:);

plot2d(t(j,:),[roz(j,:)' ul(j,:)' ur(j,:)'],style=[3,5,6],leg="i(t)@ul(t)@ur(t)",axesflag=5);

end

Wyniki:

Dla prądu stałego

0x01 graphic

0x01 graphic

Dla prądu przemiennego

Przykładowe dla przesunięcia fazowego 45°

0x01 graphic

0x01 graphic

Dla sygnału prostokątnego

0x01 graphic

0x01 graphic

Dla sygnału piłokształtnego

0x01 graphic

Wnioski:

Dzięki pakietowi SCIPAD można obliczać i symulować stany nieustalone i pracę układów elektrycznych z elementami RL i RC. Stworzenie przez nas skrypty umożliwiają takie operacje. Tworzenie skryptów skraca czas rozwiązywania bardziej rozbudowanych obwodów, gdzie mogą występować równania różniczkowe II rzędu, co nastręczałoby wiele problemów podczas obliczania pisemnego. Po ułożeniu odpowiedniego skryptu pakiet SCIPAD wykreśla również przebiegi napięci i prądu w funkcji czasu.



Wyszukiwarka