Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Model silnika BLDC w programie Matlab/Simulink

13 Sty 2013 12:55 5583 14
  • Poziom 10  
    Chcialem zamodelowac silnik BLDC w Simulinku, ale niestety nie moge sobie poradzic
    z funkcją kąta Θ i utknalem z projektem w martwym punkcie. Zalaczylem zdjecie na ktorym widac kawalek schematu z ktorego korzystam. Interesuje mnie jak zostala zapisana ta funkcja w poszczegolnych bloczkach fa(theta), fb(theta) oraz fc(theta).
    Z góry dziękuje za wszelkie wskazówki. Model silnika BLDC w programie Matlab/Simulink
  • Poziom 12  
    Rozwiązałeś ten problem?

    Możesz podać, z jakiego artykułu masz ten fragment na zdjęciu? Link mile widziany :)

    Generalnie, fa, fb , fc są przesunięte względem siebie o 120 stopni elektrycznych przeważnie.

    Jak to mogło zostać policzone w simulinku? Np. blok z kawałkiem kodu matlaba albo jeśli tylko z bloczków. Pytasz, z których bloków to poskładać?
  • Poziom 10  
    Ciezko mi powiedzic z jakiej to strony... no ale tu zalaczam link, z ktorego korzystalem:
    http://www.ijetae.com/files/Volume2Issue8/IJETAE_0812_25.pdf
    Uzylem blokow funkcyjnych gdzie wklepalem kod do matlaba.. Niestety żąda instalacji jakiegos C-compilera.. Czy ktokolwiek mial taki problem?? Znalazłem też gotowe bloczki o nazwie 'trapezoidal', których chciałem użyć w tym projekcie, tylko że cos mi nie smiga. Jesli ktos wie jak powinien wygladac ten schemat bazujacy na bloczkach przebiegów trapezoidalnych to z góry dziękuję za jakieś wskazówki.
  • Poziom 31  
    To jest przekształcenie odwrotne do Parka. Przechodzisz z układu dwu do trójfazowego. Do czego to Ci jest potrzebne w modelu? Chcesz zrobić jakiś algorytm sterowania bezczujnikowego?
  • Poziom 10  
    Niekoniecznie, gdyż chodziło mi o to, że na podstawie kąta theta generuje odpowiednie przebiegi z bloczków trapezoidalnych, jako back EMF. Ale rozumiem, że na nic się zdadzą te bloczki??

    Dodano po 6 [minuty]:

    Jeśli ktoś byłby zainteresowany mogę podesłać mój schemat na maila, aby przybliżyć problem. Spotkałem się z tym, że wersja Matlaba miała znaczenie w kompilacji. Ja osobiście używam MATLAB R2009b.
  • Poziom 31  
    Nie do końca jestem pewien, czy ten schemat blokowy jest dobrze narysowany. Bo wg mnie to do multipleksera powinien dochodzić ke*w i theta a jest inaczej (czego nie rozumiem). Jeżeli w bloczkach "f" byłaby odwrotna transformata Parka to wyjdzie SEM sinusoidalna. Jaki rozkład SEM chcesz mieć to już inna sprawa. Tylko pewnie od sinusoidalnej SEM będzie najłatwiej zacząć. Model masz we współrzędnych dq czy coś innego? Możesz to podrzucić na PW.
  • Poziom 10  
    Ten kawałek schematu posłużył mi do zagadnienia kąta theta, gdyż nie wiedziałem jak to zdefiniować. Osobiście wykonałem to w troszkę inny sposób. Na poniższych obrazkach pokazałem jak to wygląda u mnie.. Jeśli widać jakiś błąd to proszę o podpowiedź, ponieważ nie jestem pewien czy to nie jest bzdurą... pozdro

    Model silnika BLDC w programie Matlab/Simulink Model silnika BLDC w programie Matlab/Simulink Model silnika BLDC w programie Matlab/Simulink
  • Poziom 12  
    Witam.

    Jakieś postępy? Coś się wyjaśniło ?

    Rozumiem, że symulacje prowadzisz przy stałym kroku ? Ja wybieram metodę "ode1", jak coś.

    W końcu możesz używać tych bloków do wpisywania kodu? Doinstalować ten C-compiler?

    Potrzebujesz jeszcze, jak to zrobić na samych bloczkach? Zrobiłem wczoraj, nie wysłałem, bo mi net szwankował (jakieś wirusy , etc.).

    ---------

    Może mi ktoś przy okazji wyjaśnić, co się dzieje z tymi współczynnikami, jak silnik zacznie kręcić się w drugą stronę, tak że kąty obrotu staną się ujemne?
  • Poziom 10  
    Tak, przy stałym kroku. Próbowałem doinstalować ten C-compiler ale wywala mi jakiś błąd podczas instalacji i juz nie wiem jak z tym dalej ruszyć... Rozumiem, że śmiga Ci z wykorzystaniem funkcji 'ode' ?? Jak byś mógł to podrzuć swój schemat.
  • Pomocny post
    Poziom 12  
    Pobawiłem się, nieco matlaba odświeżyłem. Masz dwie wersje. Jedna na samych bloczkach w simulinku, druga - z użyciem funkcji. Tę drugą można by było zrobić bardziej kompaktową.

    Te sin, cos, atan2 (i dodawanie 2*pi dla ujemnych wartości)- potrzebne po to, żeby dowolny kąt przeliczyć do zakresu 0-2*pi.

    Dalej nie wiem, czy to jest dobrze, w przypadku, gdy kąt zaczyna maleć / zmienia znak. Nie wiem, gdzie to sprawdzić, z czym porównać
  • Poziom 10  
    W pierwszym przypadku czepia się czegoś ale druga na bloczkach idealna. Dzieki za pomoc. Mam tylko nadzieje ze bedzie kompatybilne z moim schematem. Ide sie troche pobawic teraz i zobaczymy co z tego wyjdzie.
  • Poziom 12  
    Generalnie oba modele działają u mnie, ba, dają te same wyniki. O kompatybilne musi być, podajesz przecież jeden sygnał (kąt), a dostajesz trzy (wsp względne k_a, k_b, k_c).
  • Poziom 12  
    kabajynka, udało Ci się? Działa Tobie model z tym rozwiązaniem moim? Działa prawidłowo?
  • Poziom 10  
    Metodą prób i błędów staram się wyidealizować mój schemat no ale czeka mnie jeszcze trochę pracy. Back EMF ,z którego korzystam od Ciebie generuje sygnały. Z tym, że logiczna rzecz, że następuje to po zadaniu mu wcześniej jakiegoś kąta. U mnie po zasymulowaniu wszystko fajnie kompiluje bez błedów no ale sygnał kąta theta jest zerowy. Czy powinienem na start zadać mu jakiś kąt żeby silnik ruszył?? Może to być związane z unieruchomieniem wirnika bo nie wie jakie jest jego położenie??
  • Poziom 10  
    Witam. Sorki że tak późno ale sesja mnie troszkę ogarnęła... Projekt zakończył się sukcesem. Zamodelowany silnik BLDC w simulinku "kręci" się i nawet ładne przebiegi pokazuje :). Dziękuję za pomoc w rozwiązaniu problemu.