Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Sterownik 3F do silników bezszczotkowych (modele latające)

lukego 24 Jun 2010 16:57 9557 25
IGE-XAO
  • #1
    lukego
    Level 17  
    Witam,

    Chciałbym samodzielnie zbudować sterownik do silników bezszczotkowych, które napędzałyby helikopter. Mam kilka pytań :

    1. Czy wystarczy jak podam przebieg trójfazowy na silnik ? Czy muszę mieć sprzężenie zwrotne z silnika ? Co jeśli sprzężenia nie będzie ?

    2. Ile kosztują najtańsze sensowne sterowniki tego typu na 10-15A ?

    Pozdrawiam,

    Lukego
  • IGE-XAO
  • Helpful post
    #2
    Tomasz.W
    Level 35  
    lukego wrote:
    ...Czy wystarczy jak podam przebieg trójfazowy na silnik ?...
    Nie, nie wystarczy.
    lukego wrote:
    ...Czy muszę mieć sprzężenie zwrotne z silnika ?...
    Koniecznie.
    lukego wrote:
    ...Co jeśli sprzężenia nie będzie ?...
    Nic nie będzie, dosłownie. No, w zasadzie to może być trochę dymu :D
    lukego wrote:
    ...Ile kosztują najtańsze sensowne sterowniki tego typu na 10-15A ?...
    Co to są "sensowne sterowniki" :?: A ceny to możesz sprawdzić w każdym sklepie internetowym których jest pod dostatkiem.
  • IGE-XAO
  • #3
    lukego
    Level 17  
    A nie będzie tak, że jak nie ma sprzężenia to silnik wystarczy ręcznie rozkręcić i potem sam "chwyci" ?
  • #4
    Madrik
    moderator of Robotics
    Silniki modelarskie - bezszczotkowe, w przeciwieństwie do krokowych, nie potrzebują informacji zwrotnej o położeniu wału. Wytwarzają pole wirujące, które popycha magnesy.

    Regulatory do silników BL kosztują najtańsze od 60zł w górę. Niestety, jak wszędzie - biorąc najtańsze, ryzykujesz spore straty w przyszłości.

    Poza tym, co to za helikopter? Jeżeli to zabawka, to się zupełnie nie opłaca przeróbka.
    Jeżeli jakiś sensowny model, to nie baw się w drogi na skróty - inaczej bardzo szybko się z Helikopterkiem pożegnasz.

    Modelarstwo nie lubi kompromisów.
  • Helpful post
    #5
    e_techman
    Level 18  
    Witam,

    "Madrik" możesz wskazać jakiś regulator 3f, który nie posiada sprzężenia zwrotnego? bowiem na razie nie spotkałem takiej konstrukcji fabrycznej (modelarskiej), która ingorowałaby sygnał zwrotny, wymagany do zapewnienia poprawnej pracy silnika w zmiennych warunkach obciążenia. Gdyby rzeczywiście prawdą było to co napisałeś to konstrukcja regulatora byłaby trywialna, ale tak nie jest.
    Pozdr.
  • Helpful post
    #6
    victoriii
    Level 18  
    Silnik BLDC _wymaga_ informacji o tym gdzie znajduje się wał do sterowania. Kiedyś dla jaj zrobiłem test jak jest ze sterowaniem w otwartej pętli i silnik i mostek były prawie momentalnie gorące, moment był zerowy, tzn. silnik się kręcił ale wystarczyło prawie podmuchać żeby się zatrzymał. Dlatego sprzężenie zwrotne musi być albo na hallach jak w CD albo sensorless, czyli wytwarzane z faz silnika. Na e-bay'u najtańszy regulator 10A kupiłem za ok 25PLN, wysyłka do PL free. Niemniej high-tech to nie jest.
  • #7
    Tomasz.W
    Level 35  
    Madrik wrote:
    ....Silniki modelarskie - bezszczotkowe, w przeciwieństwie do krokowych, nie potrzebują informacji zwrotnej o położeniu wału....
    Gdybyś był tak miły to nie wypisuj takich bredni, nie wprowadzaj ludzi w błąd. Od kiedy to silnik krokowy do poprawnej pracy wymaga sygnałów zwrotnych.
  • #8
    lukego
    Level 17  
    Dzięki za odpowiedzi to trochę zmienia moje podejście, skoro takie coś można mieć za 25-60zł to nie zaoszczędzę robiąc to sam.

    Rozumiem, że jeden sterownik do jednego silnika ? Nie można podłączyć dwóch silników, bo wtedy informacje ze sprzężenia zwrotnego będą bezużyteczne ?

    Nie rozumiem tylko jak w takim razie działają takie zwykłe silniki podłączane do 3x230 ? Czemu one nie potrzebują sterownika ze sprzężeniem ?

    Pozdrawiam,

    lukego
  • Helpful post
    #9
    Tomasz.W
    Level 35  
    lukego wrote:
    ...Rozumiem, że jeden sterownik do jednego silnika ? Nie można podłączyć dwóch silników, bo wtedy informacje ze sprzężenia zwrotnego będą bezużyteczne ?....
    Rozumujesz całkiem poprawnie.
    lukego wrote:
    ...Nie rozumiem tylko jak w takim razie działają takie zwykłe silniki podłączane do 3x230 ? Czemu one nie potrzebują sterownika ze sprzężeniem ?....
    A to dlatego że te "zwykłe" otrzymują zasilanie w postaci sinusoidalnego napięcia trójfazowego gdzie poszczególne fazy są przesunięte względem siebie o 120°. Natomiast modelarski silnik 3F to bezszczotkowy silnik prądu stałego. Silniki tej konstrukcji (znane pod nazwą BLDC) są bardzo chętnie stosowane w rowerach elektrycznych, skuterach itp.
  • #10
    lukego
    Level 17  
    Jeszcze jedno pytanie, czy sprzężenie zwrotne mówi tylko o pozycji wirnika ? Tzn. czy mogę je zrobić w następujący sposób :

    Na wirnik nakleję pasek foli i jak pasek będzie przechodził między parą dioda, fotodioda, to będę wiedział, że on tam własnie jest. Na podstawie 2 obrotów będę znał prędkość i dzięki temu pozycję wirnika w danych momencie.

    Pozdrawiam,

    Lukego
  • #11
    baxter12
    Level 11  
    lukego wrote:
    Jeszcze jedno pytanie, czy sprzężenie zwrotne mówi tylko o pozycji wirnika ?

    Lukego

    Nie tylko. Służy również do określenia prędkości obrotowej, z której to z kolei określa się kąt "wyprzedzenia zapłonu". Bez procesora ani rusz.
    A te regulatory za 25 zł nie są takie badziewne, latam na nich z sukcesami :).
    Nie warto, IMHO, robić regulatora. Drogo, skomplikowanie, marny efekt..

    Baxter
  • Helpful post
    #12
    Tomasz.W
    Level 35  
    lukego wrote:
    ....czy sprzężenie zwrotne mówi tylko o pozycji wirnika ?....
    No niezupełnie. Jak popatrzysz na schemat takiego regulatora to zauważysz zapewne że są trzy sygnały zwrotne. A zatem nie chodzi jedynie o położenie wirnika. Gdyby tak było to w zupełności starczyło by to co napisałeś poniżej
    lukego wrote:
    ....Na wirnik nakleję pasek foli i jak pasek będzie przechodził między parą dioda, fotodioda, to będę wiedział, że on tam własnie jest. Na podstawie 2 obrotów będę znał prędkość i dzięki temu pozycję wirnika w danych momencie....
    Ale to było by zbyt piękne (czytaj zbyt proste :cry:) w rzeczywistości chodzi o rozkład pola pomiędzy uzwojeniami, to tak w uproszczeniu. Z tego to powodu w silnikach tego typu ale "troszkę" większych przeznaczonych do pracy długotrwałej stosuje się czujniki Halla umieszczone bezpośrednio w silniku, jest to metoda najprostsza i są dostępne wyspecjalizowane układy scalone. Zamiast elementów Hall'a stosuje się pomiar prądów (i napięć) w przewodach zasilających silnik. Robi się to np. na układach LTS25-NP, lecz metoda ta dość drastycznie komplikuje zarówno sam układ elektroniczny jak i program sterujący zapisany w µC. O znacznie wyższych kosztach to już nawet nie wspomnę. Trzecia metoda to zastosowanie encodera kwadraturowego. Układ elektroniczny się nie komplikuje natomiast program dość znacznie. Znacznie uproszczona metoda z pomiarem napięć w przewodach zasilających silnik jest właśnie stosowana w silnikach modelarskich. Tak więc bez µC się nie obejdzie, niestety.

    P.S.
    Ale się rozpisałem.
  • #13
    victoriii
    Level 18  
    Są też silniki BLAC mające podobną konstrukcję do modelarskich, ale pracujące z 3x220V i też mają one informację zwrotną o położeniu, w postaci enkodera i hallotronów. Mają sterownik i silnik + napęd = serwonapęd. Coś takiego produkuje np. firma Baldor.
  • #14
    Sebastian.R
    Level 20  
    Sam teraz robię model latający tyle że z trzema śmigłami

    Coś jak to na YT. Śmigła kupiłem potrójne , silniczki zrobiłem na bazie tych z CD-romów. Pozostaje mi jeszcze zrobić sterownik. Niby prościej jest z halotronami ale zauważyłem kilka fajnych schematów tu na elektrodzie sterowania takimi silnikami za pomocą kluczy mosfet i kontrolera AVR. Co do schematów z kluczami mosfet P-channel i N-channel to mam jedno pytanie : jeśli ma się tylko IRFZ44 czyli mosfety N-channel to można użyć przetwornicy podbijającej napięcie na NE555 by wysterować "górny" klucz fazy? https://www.elektroda.pl/rtvforum/topic799887.html#4152331
    Czy jednak jestem skazany na poszukanie i kupienie mosfetów P-channel ?
    https://www.elektroda.pl/rtvforum/topic1488939.html
    W schemacie http://www.jetcontrol.de/Bastelstube/BLMC/1n1p/schaltunghi.jpg
    widać Atmegę8L oraz te klucze. Jeśli zamiast górnych p-channel SI 4463 dam n-channel plus przetwornica na 555 to będzie to działać?
    Jeszcze link do podobnego tematu ale koleś ma problem z tymi "górnymi" mosfetami. Nie ma jednak przetwornicy na 555. Link
  • #15
    zdziwiony
    Level 24  
    Zastosuj jakiś scalony driver do mosfetów. Ale tak prawdę powiedziawszy to moim zdaniem nie opłaca się robić regulatorów do bldc. Do twojego tricoptera regulator razy 3 robi się duże i ciężkie. O stronie finansowej to nie ma co wspominać - całkowicie nieopłacalne. Moim zdaniem lepiej skupić się na sterowaniu, czyli mózgu drona. A nie jest to proste zagadnienie. Polecam forum fpv.
  • #16
    Sebastian.R
    Level 20  
    ok... nie działa mi ten myk z przetwornicą , coś tam "stuka" w silniku jak załączam obwód ale ani pół obrotu. Także , patent z górnymi mosfetami n-channel jest jak dla mnie nierzeczywisty. Na allegro zakupiłem kilka mosfetów p-channel (n-channel IRFZ44 mam kilka to będzie komplet ;) )
    Moderated By McRancor:

    Linki do allegro zostały usunięte

  • #17
    Sebastian.R
    Level 20  
    Nie musi być to ciężkie , z resztą elektronika aż tyle nie waży co ogniwa. Zamierzam użyć Litowo-Jonowych z laptopa - niezły prąd można z nich wyciągnąć. Dodatkowo na 3 silniki chcę zrobić układ z jednym AVRem. Myślę że się to uda , bo już raz podobną sytuację miałem .Napisałem program do sterowania dwoma silnikami krokowymi na jeden Attiny2313 (przeważnie widziałem jeden AVR - jeden silnik). Przydałoby się zrobić taki uniwersalny program na jednym układzie który wysterowywałby kilka silników BLDC. Jakby ktoś miał jakieś sugestie co do sekwencyjności tego programu pod [BASCOM]em (jak działa to w przypadku pojedynczego silnika) byłbym zainteresowany. Na jeden silnik potrzeba 7 linii (6 na mosfety + 1 na odczyt) z czego jedna na komparator/przetwornikADC.
  • #18
    McRancor
    VIP Meritorious for electroda.pl
    Widzę tutaj dość istotną przeszkodę. Liczysz 7 linii / silnik, przy czym trzy z nich muszą posiadać sterowanie szerokością wypełnienia (PWM), co jak łatwo obliczyć - wymaga 12 wyjść PWM.

    Programowy PWM nie da rady - procek się nie wyrobi.

    Możesz zrobić inny myk. Wykorzystać 4 kanały PWM (Attiny tutaj nie ma co szukać, co do tego chyba sprawa jest oczywista ;) ) i właściwość polegającą na tym że tak na prawdę tylko jeden tranzystor/silnik musi być kluczowany przez PWM. Za pomocą zewnętrznego układu kluczującego, przełączaj PWM na jeden z trzech tranzystorów, wtedy potrzebujesz tylko jednego PWM/silnik + sprytny program.

    To co robisz jest ciekawe, aczkolwiek na Twoim miejscu kupiłbym gotowe regulatory 25-30A, przy cenie poniżej 10$/szt. uważam że szkoda marnować czasu i pieniędzy na robienie ich samemu, lepiej skupić się na sterowniku lotu, bo tam jest rzeczywiście duże pole do popisu.

    Lipole z laptopa to bardzo zły pomysł - potrzebujesz prądu rozładowania rzędu prawie 50-100A, żaden laptopowy tyle nie wytrzyma! Do takich rzeczy są ogniwa modelarskie i tu nie ma miejsca na kombinowanie - siądzie napięcie, stracisz sterowanie i możesz nawet kogoś zabić...
  • #19
    zdziwiony
    Level 24  
    Same wymiary i ciężar procesora to mały procent wagi regulatora. W każdym musisz mieć 6 tranzystorowy mostek + drivery do sterowania tego + układy do bemf. Problem z silnikami bldc jest taki że sterownik potrzebuje znać kąt położenia wirnika. W praktyce wykorzystuje się zjawisko bemf. Program zaczyna wykorzystywać dużo mocy procesora i procek może nie wydolić przy 3 silnikach.
    Ale kto wie? Moim zdaniem lepiej skupić się tym co najsmaczniejsze czyli mózgu. :vamp: Tak czy siak powodzenia.
  • #20
    Sebastian.R
    Level 20  
    Czyli jasna sprawa = jeden silnik jeden attiny2313 plus jeden np.atmega32 do sterowania (a jak dodam MMA7660 - akcelerometr Freescale - to malina :) ). Czyli tak jak Napisałeś , jeden układ na silnik.
    Martwi mnie to że ogniwa mogą nie wydolić , według tego co piszesz. No i jestem w kropce. Myślałem że na silniki max przeznaczę 20A... Hmm.. Uzmysławia mi to jak "zielony" w tym jestem. Dzięki Wam mam jasną sytuację , DZIĘKUJĘ.
  • #21
    zdziwiony
    Level 24  
    No dokładnie tak jeżeli czujesz się na siłach zbudować regulatory do silników.
    Akcelerometr jest niekonieczny w prostszych projektach, a za to niezbędny jest żyroskop i to co najmniej 3 osiowy. Nie wiem czy zwróciłeś uwagę że do kompensacji momentu reakcyjnego oraz sterowania wokół osi pionowej potrzebny jest ruchomy silnik na jednej osi. W najprostszych konstrukcjach tri
    ludzie stosowali zwykłe żyroskopy od śmigłowców po jednym na każde ramię +
    jeden do osi pionowej bez żadnego komputera pokładowego. Zachowywało się toto jak dość wredny śmigłowiec, ale jak ktoś umiał latać to dawał sobie radę.
    Odnośnie zasilania - zdecydowanie modelarskie lipole. Według forum rc-fpv.pl pobór mocy około 1W na 10g wagi + zasilanie elektroniki. Może jednak w układzie X ?
    Sorry za OT.
  • #22
    Sebastian.R
    Level 20  
    Czyli że potrzebuję jakiś kompensator by mi ten 3-śmigłowiec nie kręcił się w kółko? A jak jeden z tych śmigieł "bujnę" w drugą stronę ? Mam 6 śmigieł potrójnych GWS 9050 (3 lewe a 3 prawe). Oczywiście zastosuje tylko 3 z nich.

    Do odczytu "zera" przez które przechodzi mi dana faza moge posłużyć się albo przetwornikiem albo komparatorem. Zważywszy że cena atmega8 i attiny2313 jest bardzo zbliżona to chyba korzystniej zainwestować w ten pierwszy.
    Odczytam instrukcją GETADC() w Bascomie Tu ładnie opisane
    Schemat w sumie znalazłem gotowy https://obrazki.elektroda.pl/35_1281535336.jpg ,wystarczy nieco zmodyfikować.
    Sprawa jasna by:
    -po detekcji "0" na którymś pinie ADC (jeden z 3) nastapiło przesunięcie fazy na cewkach , z tego co się oriętuję musi być 6 kroków na jeden pełny obrót silnika ( [url=]http://ww1.microchip.com/downloads/en/AppNotes/00885a.pdf [/url] na drugiej stronie przebiegi a jak się prądy mają na stronie 10)
    -sterowanie mocą odbywać się musi porzez 3 PWM-y sterujące "górnymi" mosfetami (dolne - powtarzająca się sekwencja 100 010 001).
    Czy tak ?
    Przerobiłem powyższy schemat i chyba jest nieco ładu :)
    Sterownik 3F do silników bezszczotkowych (modele latające)
    Niech ADC czyli w tym przypadku PCx będą tylko wejsciami (przetworniki ADC) a PDx tylko wyjściami (za wyjatkiem Rx - PD0). Chyba że otrzymywanie zmiennej prędkość_obrotowa dać za pomocą innego portu (np z PB0) ? Czy mógłby mi ktoś tu naświetlić po co podłączenie wspólne do PD7 z odczytu zera ? I celowo nie korzystam z ADC6 i ADC7 bo one tylko są w wersji L atmega8. "Zwykła" tych nóżek nie ma.
  • #23
    zdziwiony
    Level 24  
    Odnośnie pierwszego problemu- przy tri jeden silnik jest zamocowany obrotowo i poruszany serwem. Przy 4,6 itp. budowa jest prostsza - połowa śmigieł lewych, połowa prawych.
    Odnośnie drugiego - schemat wydaje się poprawny. trochę mnie niepokoi sterowanie dolnych tranzystorów przez rezystor 100om i bezpośredni z portu procka. Może przy odpowiednich tranzystorach zdążą się przeładować bramki.
    W moim chińczyku siedzą po 3xaf4835p - P kanał i 2xirf7811a N kanał i o ile moje starcze oczy i miernik nie kłamią P sterowane są poprzez tranzystory, a N
    bezpośrednio z AtMegi8.
    Jeżeli chodzi o sterowanie to nie siedzę w temacie i nie chciałbym pisać głupot
    nie sprawdzonych przez siebie.
  • #24
    Sebastian.R
    Level 20  
    Racja , wywalić trzeba te rezystory i bezpośrednio z atmegi.
    Doszedłem do wniosku że najtrafniej byłoby skorzystać w tym przypadku z atmegi168 . Ma 6xPWM co daje mozliwość sterowania równoczesnego dwoma silnikami. Przypadkiem wpadłem jeszcze na ciekawy pomysł jeśli mamy miejsca na płytce PCB a brakuje nam wolnych nóżek atmegi. Wystarczy użyć 74HC14 (w sumie dwóch jeśli mam sterować dwoma silnikami) i 74HC00.Sterownik 3F do silników bezszczotkowych (modele latające)
    Te układy mam w wersji SMD więc wagowo są lekkie :) .
    Oczywiście zamias 74HC14 (inwentery) można użyć zwykłych tranzystorów plus oporniki ale jak się już ma układ to można z niego zrobić użytek ;)
  • #25
    McRancor
    VIP Meritorious for electroda.pl
    Wpadłeś na świetny pomysł, może jeszcze przeczytasz to co napisałem wcześniej i wpadniesz na jeszcze lepszy...
  • #26
    Sebastian.R
    Level 20  
    Zamiast inwenterów można jeszcze wsadzić VHC4053 , da to możliwość kluczowania jednym kanałem PWM / na 1 silnik.
    Sterownik 3F do silników bezszczotkowych (modele latające).
    Wraz z ilością moich pomysłów schemat się rozrasta :( .

    Wracając do koncepcji dwusilnikowej , narysowałem schemat. Co o nim sądzicie ?
    Sterownik 3F do silników bezszczotkowych (modele latające)Wyprowadzenia są dla 74HC04 bo dla 74HC14 wyprowadzenia są nieco inne i to trzeba uwzględnić. Sterownik 3F do silników bezszczotkowych (modele latające) Sterownik 3F do silników bezszczotkowych (modele latające) Sterownik 3F do silników bezszczotkowych (modele latające) Sterownik 3F do silników bezszczotkowych (modele latające)
    Proponuję każdy rysunek zrobić na oddzielnej płytce. Wyjdzie taka kostka :) .