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

Sterownik silnika 3F BLMC wytłumaczenie zasady dzialania

21 Paź 2007 01:20 3564 20
  • Poziom 22  
    Witam !

    Posiadam czesc schematu ktorej zadaniem jest sterowanie silnikiem 3F BLMC, uzywanych w modelach RC. Wiem ze jest duzo gotowych wsadów w formie plików HEX, ale chcial bym napisac swoj wlasny, ciekawi mnie zasada dzialania takiego sterownika. Bylbym wdzieczny gdyby mi ktos wytlumaczyl jak sterowac takim ukladem jak w zalączniku, jak bedzie wygladal sygnal na liniach idacych do ADC uC, kiedy zalaczac kolejne cewki silnika i do czego moze sluzyc pin PD6 (podpisany na schemacie).
    Bede wdzieczny za wszelke wskazówki.

    Pozdrawiam
  • HELUPOWER
  • Poziom 13  
    PD6 pewnie jest użyty na wejściu komparatora co daje sygnał przerwania przy przejściu sygnału back EMF przez zero. Zależy do czego jest podłączone PD7.

    Jak chcesz poczytać o sterowaniu, to szukaj: sensorless BLDC motor control.
    Atmel i Microchip mają noty o tym, w których masz również teorię.
  • Poziom 22  
    Przesylam oryginalny schemat tego sterownika, PD7 wisi w powietrzu :). Czyli PD6 uruchamia przerwanie gdy napiecie którejs z cewek silnika przechodzi przez zero. A na wyjsciach do ADC sprawdzam ktora dokladnie to cewka ??

    Pozdrawiam !
  • HELUPOWER
  • Poziom 13  
    Darrrek, w poprzednim wątku dostałeś w sumie wszystkie potrzebne informacje na temat sterowania BLDC, w tym i wyjaśnienie, że nie trzeba szukać cewki, bo sterownik doskonale wie na której fazie musi mierzyć napięcie.
    Z datasheeta do mega8 wynika, że druga noga komparatora może być brana również z wejść ADC. Zauważ, że do AD6 jest podłączony dzielnik robiący za napięcie referencyjne (i pewnie też mierzenie napięcia zasilania do cut-offa). Dlaczego użyty jest jednocześnie komparator i ADC, to już pewnie tajemnica projektanta, bo do działania wystaczy jedno z nich.
  • Poziom 22  
    jeszcze mam pytanko bo juz w zasadzie wszystko rozumiem procz jednego...na czym polega zmiana predkosci takiego silniczka ?? jezeli chce zwiększyc obroty to zwiększam wyprzedzenie przełączania cewek czy w jakis inny sposób sie to robi ?? i to samo lecz ze zmniejszaniem obrotów mnie interesuje.
  • Poziom 27  
    Predkosc reguluje sie napieciem podawanym na cewki, a dokladnie poprzez PWMa.
  • Poziom 30  
    No nie bardzo...
    Prędkość reguluje się poprzez zmianę częstotliwości przełączania...
  • Poziom 13  
    pubus napisał:
    No nie bardzo...
    Prędkość reguluje się poprzez zmianę częstotliwości przełączania...

    nie w silnikach prądu stałego, a takim jest BLDC.
  • Poziom 33  
    A tą stronę znalazłeś?:
    http://forumrc.alexba.eu/ipw-web/bulletin/bb/index.php
    Jest też nowa nota Atmela, sprawdź.
    Sterowanie prędkością polega na zmianie wypełnienia impulsu podanego na kolejne cewki czyli zmianie średniego prądu pobieranego przez silnik. Wypełnienie impulsu realizowane jest układem PWM, softwarowym lub hardwarowym.
    Sterownik zastępuje tu komutator i zasilacz ze zmiennym wypełnieniem impulsu o zmiennej częstotliwosci, która ustala się samoczynnie przy zmianie obrotów silnika wynikającej ze zmiany obciązenia.
    Nowy ATtiny261 ma juz 3 PWM w środku, jak chcesz coś zrobić samemu to bym polecał.
    Pzdr. N.
  • Poziom 30  
    Kłócił się nie będę bo ekspertem nie jestem...
    Niemniej jednak można również sterować częstotliwością...
    Wiem bo tak to do tej pory robiłem...
    3 przebiegi przesunięte o 120st...
  • Specjalista - Mikrokontrolery
    Też jestem raczej lajkonikiem :wink: w tym temacie, ale to nie jest czasem tak, że silniki BLDC i trójfazowy synchroniczny różnią się w praktyce tylko sposobem sterowania?
  • Poziom 30  
    Wygląda na to, że tak...
    Uzwojenia nawijane są tak samo...
    Nawet układ tranzystorów kluczujących jest taki sam...
    Ja próbowałem niejako podawać napięcie trójfazowe...
    W tym przypadku to co pisałem jest prawdą...
    Tzn prędkość zależy od częstotliwości...
    Jednak w przypadku silników modelarskich które nazywa się popularnie 3f prąd płynie w danym momencie tylko przez dwa uzwojenia a na trzecim mierzy się napięcie EMF...
    Można pobawić się na początek z łatwiej dostępnym atmega128 który też ma 6 kanałów PWM...
  • Poziom 22  
    Mam jeszcze pytanko odnośnie tego jakie dac stany na piny aby dana cewka "nie pracowala", dobrze rozumiem ze na tranzystor BC847 trzeba podac 0, oraz 0 na IRF7445 ?? biorac pod uwage schemat jaki przedstawilem.

    Dodano po 42 [minuty]:

    oraz jak obliczyc ile razy musze przełączyc cewki aby silnik zrobil pelny obrót ??
    w silniku ktory posiadam da sie wyczuc 36 kroków na pełny obrót. Jest to silniczek modelarski BLDC
  • Poziom 33  
    >pyt. do pubusa:
    A jak wygląda start twojego silnika od zera?
    Jak jest sterowany częstotliwością to też od zera czyli prądu stałego? I co potem ten prąd przełącza?
    Pzdr. N.
  • Poziom 30  
    Nie bardzo rozumiem pytanie...
    Jest jakaś minimalna częstotliwość przy której silnik rusza...
    Sposób sterowania był prymitywny aż do bólu...
    Chodziło głównie o sprawdzenie przewiniętych silników...
    Była też oczywiści pewna max częstotliwość przy której silnik z danym obciążeniem już nie wyrabiał...
    Jest to swego rodzaju "falownik"....
    Oczywiście nie bawiłem się w generowanie sinusoidy bo i po co...
  • Poziom 33  
    No konkretów to się widzę od Ciebie nie dowiemy żadnych, ani jaki silnik, ani jaki falownik, ani jednej cyfry, ani nic, bez odbioru...
    Pzdr. N.
  • Poziom 30  
    No to teraz przynajmniej wiem o co ci chodzi...
    Pytanie było niezbyt precyzyjne...
    No więc silników było parę...
    http://www.pubus.neostrada.pl/3f-1-2.JPG
    Od lewej silnik z CD-ROM'u, wariacja na temat wentylatora z pc'ta i silnik z FDD...
    Do tego jeszcze dochodzi składak z dwóch cd -zlutowane rotory i poskładane stojany...
    Jeszcze parę innych w mniejszym lub większym stopniu zakończonych...
    Nawijałem drutem 0,5-0,8mm...
    Konfiguracje różne... i gwiazda i trójkąt...
    Sterownik to aż wstyd powiedzieć... :)
    Zaznaczam, że było to dawno i dopiero teraz na poważnie mam zamiar się nim zająć...
    Kiedyś już o tym pisałem nawet chyba był rysunek poglądowy... :)
    Generalnie było to 6x IRL2203...
    Dolne sterowane bezpośrednio z uC górne były sterowane dodatkowo przez tranzystory z napięcia zasilania...
    "Sterował" tym atmega ileś...
    W tablicy miałem wartości (6 konkretnie) odpowiadające załączeniu odpowiednich tranzystorów...
    Na starcie pomiędzy kolejnymi przełączeniami przerwa to ~7,5ms...
    Od startu czas ten skracał się do ~2,5ms...
    To był w zasadzie rozbieg...
    Potem można już było ręcznie zmieniać częstotliwość...
    W zależności od konfiguracji silnika prąd wahał się między 15-22A...
    Nawet jeżeli mógł być większy to nie wiem bo powyżej 22A zasilacz wyłączał się... ATX...

    Więcej nie pamiętam, za wszystko serdecznie żałuję... ;)

    No nawet znalazłem program który kiedyś zamieściłem...
    https://www.elektroda.pl/rtvforum/viewtopic.php?t=355889&highlight=&sid=30e5e5bed6285bbc3457c47a7ed91a05
  • Poziom 13  
    Panowie, po pierwsze polecam zapoznać się z całkiem świeżym wątkiem dotyczącym sterowania silnikami BLDC: https://www.elektroda.pl/rtvforum/viewtopic.php?p=4361046 , bo dyskusja tutaj schodzi na 'powiedział co wiedział' a mi się już nie chcę tłumaczyć tego kolejny raz...

    darrrrek: co do obrotów, to informacje na temat przekładni (ile razy wolniej kręci się silnik niż Ty 'kręcisz' nim elektronicznie) znajdziesz na http://fast-results.com/lnl/nutpol_pl.htm - wystarczy, że policzysz magnesy i liczbę zębów statora.
  • Poziom 33  
    Dziękuję pubus za wyjaśnienia. Z tego wynika że Twój sterownik to synchroniczny zasilacz trójfazowy i silniki były zasilane pełnym prądem każde uzwojenie po kolei. Jeżeli taki silnik mechanicznie zatrzymasz to on już nie ruszy ponownie.
    Prawdziwy sterownik ma sprzężenie zwrotne do ustalania położenia wirnika względem statora i zastępuje komutator mechaniczny, dlatego silnik ruszy zawsze pod obciążeniem.
    Prąd pobierany przez silnik ustala się samoczynnie bo wynika z różnicy napięć podanych jako zasilanie a indukowanych w wirniku. Regulacja obrotów dlatego może polegać na zmianie napięcia zasilającego silnik lub na proporcjonalnym zasilaniu o częściowym wypełnieniu impulsów, scałkowanym (wygładzonym) przez indukcyjność cewek.
    No taki wykładzik...
    Pzdr. N.
    PS. zdjęcie otwiera się częściowo, ale i tak podobają mi się takie eksperymenty:
    http://www.pubus.neostrada.pl/milib2.jpg , gratuluję.
  • Poziom 27  
    pubus napisał:
    No nie bardzo...
    Prędkość reguluje się poprzez zmianę częstotliwości przełączania...




    I tu sie mylisz kolego. Predkosci w silnikach BLDC nie reguluje sie poprzez zmiane czestotliwosci (to nie silnik krokowy!!!! ) przelaczania bo przelaczanie nastepuje automatycznie w zaleznosci od pozycji rotora wzgledem czujnikow halla lub poprzez detekcje back EFM z odlaczonych uzwojen. Predkosc zmienia sie przez zwiekszenie napiecia podawanego na uzwojenia silnika (najprosciej za pomoca PWM ). Na upratego moze i dalo by sie sterowac takim silnikiem bez odczytywania aktualnego polozenia rotora, tylko przez zmiane czestotliwosci podawania sygnalow na cewki, ale mysle ze wtedy bardzo latwo taki silnik glubil by synchronizm.

    Co nie co wiem o BLDC, niedawno bylem na szkoleniu prowowadzonym przez jednego z najwiekszych producentow silnkow BLDC i sterownikow - firme Alcatel Dunkre Motoren .

    Pozdrawiam
  • Poziom 30  
    Jak byś kolego przeczytał wszystko z tego tematu plus tego do którego link podał majekw to byś wiedział, że sprawa się wyjaśniła...
    Jeżeli potraktujemy taki silnik jako synchroniczny to prędkość zależy od częstotliwości...
    Więc nie tylko w silniku krokowym występuje taka zależność...
    W przypadku BLDC przy takiej samej konfiguracji uzwojeń sterowanie odbywa się tak jak napisałeś...