lab_6a
Transkrypt
lab_6a
Laboratorium metod numerycznych Laboratorium 8 Równania różniczkowe – analiza stanów nieustalonych w obwodach elektrycznych 1. Wprowadzenie W określonej strukturze obwodu elektrycznego napięcia i prądy na poszczególnych elementach obwodu nie uzyskują natychmiast wartości ustalonych, odpowiadającym danym warunkom pracy. Uzyskanie wartości ustalonych poprzedzone jest stanem nieustalonym (przejściowym) w którym znajduje się obwód, w czasie pomiędzy dwoma stanami ustalonymi. Dynamikę zmian parametrów obwodu w stanie nieustalonym, opisuje się równaniami różniczkowymi. Określenie funkcji opisujących przebiegi prądów i napięć w obwodzie, sprowadza się do rozwiązania układu równań różniczkowych. Analiza prostych układów elektrycznych RL lub RC nie jest zagadnieniem skomplikowanym, stosując proste przekształcenia, można szybko uzyskać rozwiązanie zadania. Rozwiązanie złożonych układów RL, RC i RLC może nastręczać trochę kłopotów, oraz wymaga umiejętności rozwiązywania równań różniczkowych drugiego rzędu. Pomocne w tego typu zadaniach będzie zastosowanie SCILAB'a do rozwiązania równań różniczkowych. 2. Stany nieustalone Rozwiązanie każdego zadania ze stanami nieustalonymi w pierwszej kolejności wymaga określenia warunków początkowych. Określić należy wartości początkowe, szukanych prądów i napięć. i(t) t=t0 E R L uR(t) uL(t) i(t) t=t0 E R C uR(t) uC(t) i(0)=0 A uC(0)=0 V Drugim etapem jest zapisanie równania różniczkowego dla danego obwodu zgodnie z drugim prawem Kirchhoffa. d it d u C t E=R⋅C u C t dt dt Następnie zapisujemy równanie różniczkowe w postaci jednorodnej i rozwiązujemy je. E=R⋅i tL R⋅i tL d i t =0 dt R⋅C d u C t uC t=0 dt 1 d it dt d i t R =− i t⋅d t L d u C t =−u C t dt d uC t 1 =− u C t ⋅d t R⋅C R⋅i t=−L R⋅C Całkujemy obie strony równania i przekształcamy równanie, do pożądanej postaci. d i t d u C t 1 =−∫ t⋅d t R⋅C C t ln u C =− K R⋅C ∫ i t⋅d t =−∫ RL ∫u R ln i=− ⋅tK L R − ⋅t K L i=e − uC =e R − ⋅t L i=eK⋅e t K R⋅C − u C =e k⋅e R − ⋅t L i=K1⋅e t R⋅C − u C =K 1⋅e t R⋅C Ostatnim etapem obliczeń jest wyznaczenie stałej K1, na podstawie warunków granicznych. W zadaniach jako stany ustalone przyjmuje się wartości prądów i napięć wyznaczone dla t=0 i t=∞. i0 =0 i∞= u C 0=0 u C ∞=E E R − 0=K 1⋅e R − ⋅0 L E E 0=K 1⋅e =K 1⋅1 R R E K 1=− R 0 R⋅C E=K 1⋅1E K1 =−E − t u C t =E−E⋅e R⋅C t d u C t E − R⋅C it =C⋅ = ⋅e dt R R E E − ⋅t i t= − ⋅e L R R u R t=R∗i t R − ⋅t d i t u L t=L⋅ =E⋅e L dt − u R t=R⋅i t=E⋅e t R⋅C 100 80 u_C(t) u_R(t) i(t) 60 100 40 80 i(t) u_L(t) u_R(t) 60 40 20 20 0 0,0 0,5 1,0 0 0,0 0,5 1,0 1,5 2,0 1,5 2,0 2,5 Definicja ukadu równań różniczkowych 2,5 3. Równania różniczkowe w SCILAB Rozwiązanie równania różniczkowego w SCILAB'ie realizuje funkcja ode. Definicja warunków brzegowych i wartości elementów Wynikiem działania funkcji ode jest macierz zawierająca punkty stanowiące rozwiązanie równania różniczkowego. Skrypt obliczający zadanie ze stanów nieustalonych (równania Rozwiązanie równania różniczkowego różniczkowe) składa się z czterech członów, jak pokazano na rysunku obok. Układ równań różniczkowych definiowany jest jako funkcja Scilab'a w postaci: Prezentacja wyników 2 function [pochodna]=nazwa(t,x) pochodna(1)=f1(x); pochodna(2)=f2(x); … pochodna(n)=fn(x); endfunction W drugim bloku definiuje się stałe (R, L, C i E), funkcje niezależne (e(t)) występujące w równaniach różniczkowych oraz parametry symulacji (warunki początkowe i wektor czasu obliczeń). W trzecim bloku zdefiniowana jest funkcja rozwiązująca zdefiniowany wcześniej układ równań różniczkowych: roz=ode([warunki początkowe dla liczonych sygnałów], warunek początkowy dla t, t, równanie różniczkowe) gdzie roz jest macierzą zawierającą wyniki rozwiązania układu równań różniczkowych. Ostatni blok to wizualizacja rozwiązania zadania, realizowana przy użyciu funkcji plot2d. 4. Przykład Dany jest układ elektryczny pokazany na rysunku. Wyznaczyć przebiegi prądów i napięć w chwili załączenia układu. i(t) t=t0 E R C uR(t) uC(t) E=10 V R=2 Ω C=0,01 F W pierwszym etapie trzeba zapisać równanie różniczkowe odpowiadające badanemu układowi. E=R⋅C d u C t uC t dt Następnie należy przekształcić równanie do postaci, w której po lewej stronie będzie różniczka szukanej funkcji, a po prawej pozostałe elementy równania. d u C t E−u C t = dt R⋅C Na podstawie powyższego równania, można zdefiniować funkcje różniczkową w Scilab'ie. function pochodna=stany(t,x) pochodna=(E-x)/(R*C); endfunction gdzie x to szukany sygnał uC(t). Następnie, definiujemy wartości elementów obliczanego obwodu: E=10; R=2; C=0.01; 3 oraz parametry obliczeń: uC0=0; //wartość początkowa napięcia na kondensatorze t0=0; //wartość początkowa czasu t=[0:0.0001:0.04]; //wektor czasu obliczeń Następnym etapem jest zapisanie funkcji obliczającej funkcję różniczkująca: roz=ode(uC0,t0,t,stany); oraz obliczenia pozostałych napięć i prądów i(t) i uR(t): ur=E-roz; i=ur/R; Następnie, generujemy wykresy wyliczonych funkcji: plot2d(t,[roz' i' ur'],style=[3,5,6],leg="uC(t)@i(t)@uR(t)",axesflag=5); 10 9 8 7 6 5 4 3 2 1 0 0 .0 00 0 .0 05 0 .0 1 0 0 .0 1 5 0 .0 2 0 0 .0 25 0 .0 3 0 0 .0 3 5 0 .0 4 0 u C(t) i (t) u R(t) 5. Zadania I. Zmodyfikować przykładowy skrypt, aby możliwy był wybór generatora zasilającego układ (sygnał prostokątny, sygnał piłokształtny i sinusoidalny). II. Dla wymuszenia sinusoidalnego sprawdzić zależność fazy napięcia zasilającego na proces załączenia badanego obwodu RC (0o, 30o, 45o, 60o, 90o). Wyniki porównania przedstawić w postaci wykresu. III. Zaprogramować w Scilab'ie obliczanie stanów nieustalonych dla obwodu RL, przy załączeniu napięcia stałego. Dane dobrać dowolnie. Wykreślić przebiegi prądu i napięć w modelowanym układzie. IV. Zmodyfikować przykładowy skrypt, aby możliwy był wybór generatora zasilającego układ (sygnał prostokątny, sygnał piłokształtny i sinusoidalny). V. Dla wymuszenia sinusoidalnego sprawdzić zależność fazy napięcia zasilającego na proces załączenia badanego obwodu RL (0o, 30o, 45o, 60o, 90o), Wyniki porównania przedstawić w postaci wykresu. 4