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

[Jak] algorytm sterowania silnikiem BLDC

ky3orr 18 Lip 2011 23:35 6759 10
  • #1 18 Lip 2011 23:35
    ky3orr
    Poziom 10  

    Witam Forumowiczów,
    ostatnio zainteresowałem się modelarstwem i zapragnąłem skonstruować sterownik silnika BLDC.

    Do projektu zaprzęgnąłem Atmegę32 (10MHz), 3 drivery IR2101 i 6 mosfetów BUZ11.

    Dotarłem do momentu, gdy silnik się kręci, jednak obroty i moment obrotowy są niskie i pod obciążeniem silnik gubi kroki.

    Dotarłem do materiałów poświęconych sposobom sterowania takimi silnikami i widzę, że jest to troszkę wyższa szkoła jazdy.

    Stąd moje pytanie: czy ktoś uporał się z napisaniem kodu np. w C, umożliwiającego sterowanie prędkością obrotową silnika BLDC z utrzymaniem jego momentu obrotowego poprzez np. analizę sygnału elektrycznego mierzonego na wolnym, w danej chwili, końcu nie podłączonego uzwojenia?

    mam nadzieję, że ktoś jest w stanie przekierować mnie na jakieś ciekawe opracowanie.

    poniżej podaję trzy najbardziej wartościowe, które znalazłem.

    https://open-bldc.org/wiki/Open-BLDC

    http://www.komel.katowice.pl/ZRODLA/FULL/72/ref_29.pdf

    http://scholar.lib.vt.edu/theses/available/etd-09152003-171904/unrestricted/T.pdf

    0 10
  • #4 01 Sie 2011 00:16
    blue_17
    Poziom 32  

    Do nieskomplikowane sterowania avr jest ok ale jak chce się już bardziej złożone sterowane zrobić to dsPIC-a polecam bo są do tego stworzone

    Albo jak chce się już stosować algorytmy ewolucyjne (genetyczne) analizę kształtu napięcia zwrotnego i takie tam :) to polecam ARM

    W sterowaniu silnikiem BLDC sygnałami wejściowymi są sygnały z 3 halotronów rozmieszczonych co 120 stopni i enkodera o odpowiedniej rozdzielczości

    Sterowanie ze zmiennym obciążeniem silników BLDC to złożony problem

    A tu przykład na dsPIC-u

    http://ww1.microchip.com/downloads/en/appnotes/00901a.pdf

    Pozdrawiam

    0
  • #5 01 Sie 2011 11:15
    nibbit
    Poziom 19  

    W modelarstwie chyba najczęściej stosuje się bezczujnikową metodę pomiaru back EMF z silnika. Sterowania odbywa się w dwóch fazach: najpierw rozpędzanie w otwartej pętli a kiedy silnik jest rozpędzony (przez co sygnał BEMF jes większy) to zaczyna się sterować w zamkniętej pętli. Najlepiej jest to opisane w notach microchipa, kody też u nich znajdziesz.
    Noty to m.in.: AN885, AN1083 (do tej są źródła), AN1160

    0
  • #6 10 Paź 2012 17:53
    karol1010
    Poziom 21  

    A czy tego YAPSC 10V mozna gdziesz dostac gotowego?

    0
  • #7 26 Cze 2013 02:49
    mirkabis1
    Poziom 10  

    blue_17 napisał:
    Do nieskomplikowane sterowania avr jest ok ale jak chce się już bardziej złożone sterowane zrobić to dsPIC-a polecam bo są do tego stworzone

    Albo jak chce się już stosować algorytmy ewolucyjne (genetyczne) analizę kształtu napięcia zwrotnego i takie tam :) to polecam ARM

    W sterowaniu silnikiem BLDC sygnałami wejściowymi są sygnały z 3 halotronów rozmieszczonych co 120 stopni i enkodera o odpowiedniej rozdzielczości

    Sterowanie ze zmiennym obciążeniem silników BLDC to złożony problem

    A tu przykład na dsPIC-u

    http://ww1.microchip.com/downloads/en/appnotes/00901a.pdf

    Pozdrawiam


    A to dziwne, bo ja rozebrałem silnik, który kupiłem jako uszkodzony i halotorny są obok siebie - fotka poniżej obrazuje odstęp między nimi
    [Jak] algorytm sterowania silnikiem BLDC

    Oglądałem też sporo fotek na innych forach i z tego co widzę to wszystkie stojany mają halotorny w takiej samej odległości

    0
  • #8 26 Cze 2013 09:45
    94075
    Użytkownik usunął konto  
  • #9 26 Cze 2013 10:21
    mirkabis1
    Poziom 10  

    albertb napisał:
    Widać, że często 120 stpni(elektryczne) to nie to samo co 120 stopni (mechaniczne)
    Pomyśl co się dzieje, gdy silnik ma większą niż 1 liczbę par biegunów.

    Albert


    Pisząc mój post, miałem nadzieję, że jakiś fachowiec na forum wyjaśni tą zależność, a tutaj wygląd na to, że mam sobie poszukać na googlach i wszystkich uświadomić.
    Zaczynam się przekonywać, że pisanie tutaj to strata czasu, a szkoda, bo wspólnie można więcej ale to chyba nie w tym kraju :cry:

    0
  • #10 26 Cze 2013 11:09
    94075
    Użytkownik usunął konto  
  • #11 14 Sie 2013 16:05
    Dawcor
    Poziom 10  

    ky3orr
    Moment silnika BLDC jest proporcjonalny do prądu, więc jeżeli masz źródło o małej wydajności prądowej dużego momentu nie uzyskasz. Prędkość obrotowa jest proporcjonalna do napięcia podanego na zaciski wejściowe komutatora. Więc żeby się silnik szybko kręcił musi być odpowiednio duże napięcie.

    Nie wiem jak Ty sterujesz silnikiem, ale jeżeli w otwartej pętli (a tak to wygląda skoro nie możesz uzyskać dużego momentu i prędkości), to musisz jednocześnie zwiększać częstotliwość przełączeń tranzystorów i napięcie wejściowe. Ale to nie jest dobra metoda sterowania.

    Zaworami elektronicznymi sterujesz korzystając z sygnału z hallotronów jest to tzw. sterowanie czujnikowe lub porównując napięcia fazowe z zerem (jedna z wielu metod sterowania bezczujnikowego). Sterując bezczujnikowo musisz uważać na zjawiska komutacyjne lub analizować tylko SEM niezasilonej fazy.

    Odnośnie rozmieszczenia hallotronów, najczęściej co 120 stopni, ale są też konstrukcje co 60 stopni.
    --------------------------------
    Darmowe ogłoszenia
    Anonse matrymonialne
    Baza telebimów

    0