|
Katedra Mechatroniki Wydział Elektryczny POLITECHNIKA ŚLĄSKA |
||
INSTRUKCJA DO ĆWICZEŃ LABORATORYJNYCH |
|||
Przedmiot: Metody polowe w mechatronice |
Kierunek: Komputerowe Systemy Sterowania |
||
Ćwiczenie: Analiza wyników FEMM w programie MATLAB. |
Nr ćwiczenia: 3 |
Przebieg ćwiczenia
W trakcie ćwiczenia zostaną zrealizowane następujące punkty:
„Upgrade” pliku obliczeniowego dla określenia wpływu prądu na wyniki dotyczące indukcyjności cewki.
Prezentacja wyników w programie Matlab i ich analiza graficzna.
Wykonanie modelu elektromagnesu w programie SIMULINK (przy założeniu liniowości obwodu magnetycznego).
Określenie dopuszczalności zastosowania takiego modelu na podstawie wyników obliczeń polowych.
Obliczenia z udziałem LUA
Plik skryptowy z ćwiczenia 2 należy rozszerzyć do postaci przedstawionej poniżej. Pozwoli to na uzyskanie wyników w funkcji prądu i położenia, co umożliwi w późniejszym czasie wykonanie modelu elektromagnesu w programie SIMULINK (nakładka MATLAB'a) w formie schematu blokowego.
-- Obliczenia dla modelu elektromagnesu
open("EM.fem")
mi_saveas("temp.fem")
handle = openfile("wyniki_n.dat","w") -- otwarcie pliku
dz=0.05 -- przesunięcie o 0.05 cala w każdym kroku
n_loc=21 -- liczba położeń
for krok=0, n_loc-1, 1 do
mi_seteditmode("group")
-- wybieramy zworę
mi_selectgroup(1)
if (krok>0) then
mi_movetranslate(0,dz)
end
I_max=2 -- prad maksymalny
n_prad=10 -- liczba prądów
di=I_max/n_prad -- przyrost prądu
for tok=1 , n_prad , 1 do
curr=tok*di -- wartość prądu
mi_modifycircprop("Cewka",1,curr) -- zmiana prądu cewki
mi_analyze()
mi_loadsolution()
-- Wyznaczenie sily dzialajacej na zworę
mo_groupselectblock(1)
sila_p=mo_blockintegral(19)
mo_clearblock()
-- Wyznaczenie sily dzialajacej na cewke - met.sily Lorenza
mo_groupselectblock(2)
sila_l=mo_blockintegral(12)
mo_clearblock()
-- Wyznaczenie parametrów cewki
prad,napiecie,strumien=mo_getcircuitproperties("Cewka")
-- Wpisanie wynikow do pliku
przes=krok*dz
write(handle,przes," ",prad," ",strumien," ",sila_p," ",sila_l," ","\n")
mo_close()
end
end
closefile(handle)
-- koniec skrypu LUA
Skopiowanie go do katalogu w którym znajduje się model „EM.fem” pod nazwą „obliczenia.lua”
Sprawdzenie pliku „EM.fem” który powinien posiadać warunek ABC (ćw.1) zadany na brzegu.
Zredukować szczelinę między rdzeniem a zworą do 0,05 cala.
Wczytanie pliku „obliczenia.lua” do programu przy użyciu opcji „Open Lua Script” z menu „File”
W wyniku wykonania powyższego skryptu w katalogu aktualnym powstanie plik tekstowy „wyniki_n.dat” zawierający wszystkie dane niezbędne do opisu elektromagnesu.
Skrypty MATLAB'A
Wybierz z Programów w menu Start program MATLAB. Otwiera to okno programu z pustym oknem komend (Command Window), wykazem zmiennych w przestrzeni roboczej (Workspace) oraz historą (Command History). Pozwala ono na wprowadzanie komend, wyświetlanie wyników etc.
W rzeczywistości okno komend służy głównie do wyświetlania wartości zmiennych etc. W celu realizacji obliczeń wykorzystujemy skrypty, Są one plikami tekstowymi w których wpisujemy komendy i instrukcje MATLAB'a. Służy do tego specjalny Edytor skryptów który można uruchomić w menu rozwijalnym funkcją New/M-file lub ikoną
w pasku narzędzi
W celu wykorzystania programu MATLAB do obróbki danych otrzymanych uprzednio z programu FEMM należy utworzyć następujący plik w edytorze. Należy podkreślić iż w każdej chwili w trakcie wpisywania można wykonać już utworzoną część pliku korzystając z komendy Debug / Run z menu rozwijalnego. Przed wykonaniem jej po raz pierwszy należy upewnić się czy znajdujemy się we właściwym katalogu w którym jest plik „wyniki_n.dat”. Plik najlepiej od razu zapisać pod nazwą „FEMM.m” gdzie rozszerzenie *.m jest standardowym.
% Wczytanie i prezentacja wyników z FEMM
load -ascii 'wyniki_n.dat' % Wczytanie wyników z FEMM'a do macierzy "wyniki_n"
wyn_femm=wyniki_n; % Przepisanie wyników do innej macierzy
% Definicja pomocniczych parametrów
n_prad=10;
n_loc=21;
prad=linspace(0.2,2,n_prad); % linespace(i_min,i_max,n_i) - tworzy wektor % prądów jak w FEMM
loc=linspace(0.05,1,n_loc); % linespace(x_min,x_max,n_p) - tworzy wektor położeń % jak w FEMM
loc=loc*0.0254; % w [m]
[XX,II]=meshgrid(loc,prad); % Utworzenie macierzy opisującej punkty dla których
% wyznaczono siłe i strumień
Sila=zeros(size(II)); % Utworzenie macierzy dla wartości siły i strumienia
Strumien=Sila; % (na razie wypełnione 0-rami)
% Teraz trzeba to przepisać ...
wiersz=0;
for x=1:n_loc, % po położeniu
for i=1:n_prad, % po prądzie
wiersz=wiersz+1; % numer wiersza w macierzy "wyn_femm"
Strumien(i,x)=wyn_femm(wiersz,3); % Wartość strumienia w 3-ciej kolumnie
Sila(i,x)=wyn_femm(wiersz,4); % Wartość siły w 4-ciej kolumnie
end
end
% Wydruk wyników
figure;
mesh(II,XX,Sila)
xlabel('PRAD i [A]');
ylabel('POLOZENIE x [m]');
zlabel('SILA [N]');
title(['SILA']);
figure;
mesh(II,XX,Strumien)
figure;
% Wyznaczenie wartości indukcyjności
Ind=Strumien./II;
mesh(II,XX,Ind)
Korzystając z przykładu proszę uzupełnić rysunki przedstawiające strumień i indukcyjność o opis.
Określiś zakres pracy w którym można przyjąć założenie o liniowości obwodu magnetycznego.
Praca własna
Przygotować układ równań opisujących elektromagnes przy założeniu że zwora jest zamocowana na sprężynie o stałej sprężystości K i położeniu martwym x0 z tłumikiem o tłumieniu B (Rys.1) oraz że pomijamy zjawisko nasycenia obwodu magnetycznego.
Rys.1 Elektromagnes
Obliczyć parametry różniczkowe
,
elektromagnesu korzystając z funkcji „gradient” i określić na tej podstawie zakres „liniowości” modelu matematycznego.
Wykonać implementację modelu matematycznego elektromagnesu wykorzystując model blokowy w programie MATLAB/SIMULINK dobierając „racjonalnie” wartości parametrów K i D.
Przeprowadzić przykładową symulację.
Uwagi do sprawozdania
W sprawozdaniu powinny się znaleźć bitmaty przedstawiające charakterystyki elektromagnesu (siła, strumień, indukcyjność) oraz wygląd modelu elektromagnesu uzupełnione o wykresy pokazujące przebiegi położenia, prądu i prędkości w wykonanym modelu.
LITERATURA PODSTAWOWA:
Instrukcja programu FEMM
Opracował: dr inż. W.Burlikowski
|
Sprawdził: mgr inż. R.Kroczek
|
Zweryfikował: dr inż. P.Kowol
|
Zatwierdził: prof. dr hab. inż. Krzysztof KLUSZCZYŃSKI |
Uwagi:
|
-2-