Sprawozdanie_CW4_DamianNowak_generator.pdf

(295 KB) Pobierz
POLITECHNIKA LUBELSKA
Wydział Elektrotechniki i Informatyki
Laboratorium Metod Numerycznych
Imię i nazwisko:
Damian Nowak
Semestr:
I
Grupa:
EMNS 1.2
Data wykonania:
09.01.2016
Rok akademicki:
2015/2016
Ocena:
Temat:
Modelowanie z użyciem języka skryptowego LUA
Treść zadania
Wykorzystując możliwości języyka skryptowego LUA przeprowadzić analizę napięcia indukowanego w cewce
generatora w czasie obrotu wirnika, w zależnoście od zmiany kształtu wirnika wykonanego z magnesu trwałego.
Przykłady dla wirnika w kształcie walca oraz wirnika prostokątnego z wyokrągleniami
Przygotowanie modelu w FEMM
Utworzono planarny model w programie FEMM. Punkty geometryczne utworzono na podstawie poniższego
rysunku:
Odtworzono wybraną geometrię oraz przypisano odpowiednie właściwości materiałów.
Utworzono warunki graniczne i przypisano je do ramki otaczającej rysunek. Ramka ma wymiary 40x40 cm, a średnica
zewnętrzna stojana generatora to 30 cm.
Analogicznie postąpiono w przypadku modelu z wirnikiem prostokątnym z wyokrągleniami.
Skrypt LUA
Do ruchomych elementów w obu modelach przypisano wspólną grupę – oznaczoną numerem 5.
Linia biegnąca od środka do prawej strony wirnika oznacza kierunek magnesowania.
Po przygotowaniu dwóch plików z modelami, przystąpiono do napisania skryptu w języku LUA.
Inicjalizacja:
ruchoma_grupa=5;
ilosc_zwojow=150;
katalog="./";
open(katalog.."generator_"..wybrany_typ_wirnika.."_damian_nowak.fem");
mi_saveas(katalog.."tmp.fem");
mi_seteditmode("group");
wyniki=katalog.."wyniki_"..wybrany_typ_wirnika.."_"..czestotliwosc_obrotu.."Hz.csv";
plik=openfile(wyniki,"w");
Przeliczanie potrzebnych wartości:
okres_obrotu=1/czestotliwosc_obrotu;
delta_t=okres_obrotu/ilosc_krokow_na_obrot;
kat_obrotu_na_krok=360/ilosc_krokow_na_obrot;
Pętla główna skryptu:
for krok=0,ilosc_krokow_na_obrot do
mi_analyze();
mi_loadsolution();
mo_showdensityplot(1,0,2,0,"mag");
-- Linia prowadzenia charakterystyki
mo_addcontour(-9,0);
mo_addcontour(9,0);
wartosc_calkowita,wartosc_srednia=mo_lineintegral(0);
if krok==0 then
strumien_1=wartosc_calkowita;
strumien_2=0;
else
strumien_2=strumien_1;
strumien_1=wartosc_calkowita;
zmiana_strumienia=strumien_2-strumien_1;
aktualny_czas=delta_t*krok;
indukowane_napiecie=ilosc_zwojow*(zmiana_strumienia/delta_t);
print("["..krok.."]: "..aktualny_czas..indukowane_napiecie)
write(plik,aktualny_czas,separator,indukowane_napiecie,"\n");
end;
if (krok<ilosc_krokow_na_obrot) then
mi_selectgroup(ruchoma_grupa);
mi_moverotate(0, 0, kat_obrotu_na_krok, 4);
end
end
print("Zakonczono analize.");
closefile(plik);
mo_close();
mi_close();
Przetwarzanie wyników
Wynikiem działania skryptu jest plik tekstowy, z którego można odczytać wartości całki dla zdefiniowanego
konturu/linii prowadzenia charakterystyki.
Otrzymany plik tekstowy przetworzono w programie MATLAB za pomocą prostego skryptu:
wyniki = csvread('wyniki_prostokat_50Hz.csv');
plot(wyniki);
Uzyskano w ten sposób wykresy, które prezentują zmiany strumienia magnetycznego B.n w czasie [s] odpowiednio dla
wirnika w kształcie walca oraz wirnika w kształcie prostokąta z wyokrągleniami:
Przebiegi pochodzą z analizy przypadku obrotów wirnika z częstotliwością 50 Hz, przy zebraniu 120 próbek na obrót.
Podczas przeprowadzania analizy wykonano także zrzuty map bitowych, z których w programie VirtualDub utworzono
film, do którego link znajduje się poniżej:
https://www.youtube.com/watch?v=fgUNWqvcAaQ
Zarówno pełen skrypt LUA, jak i modele FEMM zostaną przesłane w formie załącznika wraz z niniejszym sprawozdaniem.
Wnioski
Program FEMM ponownie bardzo dobrze sprawdził się jako narzędzie analizy problemu – w tym przypadku
zagadnienia elektromagnetyzmu – z zastosowaniem metody elementów skończonych. Rozszerzenie funkcjonalności o
obsługę popularnego języka skryptowego LUA pozwala niemal nieograniczenie zwiększyć możliwości zastosowania
programu do rozwiązywania bardzo zróżnicowanych problemów.
Zgłoś jeśli naruszono regulamin