Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Sterowanie wentylatorem komputerowym przy użyciu PWM na IRL540N

Swordancer 24 Aug 2016 17:34 1995 15
  • #1
    Swordancer
    Level 8  
    Witam,

    chciałbym uzyskać pomoc w zbudowaniu układu, ewentualnie dowiedzieć się, czy to w ogóle ma sens. Chciałem zbudować układ, z wykorzystaniem tranzystora MOSFET typu N, a konkretniej IRL540N. Teoretycznie dałoby się nim sterować z poziomu logicznego, ale coś mi to nie idzie. Mikrokontroler ma sterować przez MOSFET jednokierunkowo, silnikiem wentylatora komputerowego, jest bezszczotkowy oczywiście. Konkretnie AAB Black Jet Fan 12.

    Wstępnie

    Sterowanie wentylatorem komputerowym przy użyciu PWM na IRL540N



    Edit

    Na razie wstępnie jak powyżej. Z MOSFET'ami mi nigdy nie szło. Na wyjściu PWM mikrokontrolera, można uzyskać maksymalnie 3.6V, Mosfet otwiera się na 100% PWM'u na pełne 12V, jednak przy 50% mam jakieś 8.6V, a chciałbym uzyskać oczywiście 6V, uzyskuję je przy 27%. Czy da się to jakoś rozbudować, by sterować nim w zakresie 0-12V? Obecnie częstotliwość PWM, to jakieś 8kHz z hakiem. MOSFET się nie grzeje w ogóle, na wyjściu napięcie oscyluje w zakresie kilkudziesięciu mV.

    Wentylator pobiera przy napięciu 12V do 300 mA, źródło zasilania 12V ma wydolność do 2A.

    Datasheet: infineon.com/dgdl/irl540n.pdf?fileId=5546d462533600a40153565fbd752565

    Z góry dziękuję za pomoc w rozbudowaniu tego układu, ewentualnie wytłumaczeniu mi co i jak.
  • #3
    Swordancer
    Level 8  
    Rozumiem, że ten układ jest przeznaczony własnie do tego typu zastosowań, nigdy z niego nie korzystałem. Na mikroprocesorze, który ma być częścią większego urządzenia mogę generować PWM w podobnym zakresie, z wybraną częstotliwością.

    Czy w ogóle jest sens korzystania z tego scalaka w takim wypadku, bo nie bardzo rozumiem?
  • #4
    DJ-P
    Level 13  
    Zależy do czego ma być zastosowany wentylator , czy ma zwiększać obroty przy wyższych temp. , Czy po prostu potencjometrem regulować obroty?

    Układ (tu: NE555) generuje impulsy, wystarczy do tego kilka elementów biernych (dwa rezystory i kondensatorek).
  • #5
    Swordancer
    Level 8  
    Wentylator ma być sterowany programowo, nie potencjometrem, akurat ten MOSFET spokojnie otwiera się do tych 12V przy użyciu napięcia z procesora, pytanie tylko czy da się to zrobić w miarę precyzyjnie, w sensie PWM = 50% = 6V. Przy dość niskiej częstotliwości rzędu kilkudziesięciu Hz zszedłem z tych wspomnianych 8.6V do 6.4V na PWM 50%, ale jako, że nie jestem ekspertem, nie wiem czy to jest możliwe w tak prostym układzie, czy nie będę zmuszony użyć jakiegoś drivera. Sam MOSFET wydaje się działać ok, nie grzeje się, na wyjściu jest ta sama częstotliwość sygnału co na wejściu.
  • #6
    WRadek
    Level 23  
    Czesc. Czegos nie rozumiem. Powiedz jak mierzysz napiecia? Przy podlaczonym wentylatorze? Miedzy masa a drenem tranzystora?
    Rozumiem, ze przy zadanym wypelnieniu chcialbys uzyskac na drenie prporcjonalne napiecie?
    Wedlug mnie: dla testow zamien wentylator na rezystor. I sprawdz jak sie uklad zachowuje dla roznych rezystorow masa - bramka. Gdzies tu musi byc jakis blad logiczny. Ale pewny nie jestem.
  • #7
    Jawi_P
    Level 35  
    Swordancer wrote:
    Rozumiem, że ten układ jest przeznaczony własnie do tego typu zastosowań, nigdy z niego nie korzystałem.

    Ten układ jest do wszystkiego ;)
    To jak mikrokontroler, programowany w języku migowym, dokładasz funkcję, rozkaz o nazwie: rezystor, kondensator, czasami termistor, fotodiodę itd. :) I robi to co chciałeś.
    Dwadzieścia lat temu, elektronicy wieszali psy na im wtedy współczesnej elektronice, że mikrokontrolery ich ogłupiają i wprowadzają harmider. Ze już trzeba być informatykiem, a nie elektronikiem.
    Kto by pomyślał, że po tych dwudziestu latach świat będzie stał "do góry nogami" i jednym ledem, wentylatorkiem będziemy sterować procesorkiem ;)
    Timer 555 ma 46 lat. Czas go poznać :)
  • #8
    Swordancer
    Level 8  
    Napięcie mierzę na zaciskach silnika i tak, chce uzyskać proporcjonalne napięcie.

    No dobra podłączyłem rezystor 1k,10k i 47k jako obciążenie i ustawiłem PWM w częstotliwości 1kHz z wypełnieniem 50%, uzyskałem dokładnie 6.09V(niemal idealne dla zasilania 12.2V),6.25V i 6.76V, w kolejności jak podałem rezystory.

    Podłączyłem zwykły silniczek RC i uzyskałem 10V, równiutko.

    Podłączyłem wentylator docelowy i napięcie było 7.53V, może to coś podpowie.

    @Jawi_P, czaję, stary sprzęt zawsze nie do za****ia. :)
  • Helpful post
    #9
    WRadek
    Level 23  
    OK. Czyli tak jak myślałem, przy obciążeniach rezystancyjnych jest w miarę ok a przy indukcyjnych - czary.
    Zatem dołóż jeszcze diodę od drenu do plusa zasilania. Tak jakby miała przewodzić od drenu do 12V, jakby odwrotnie - nie wiem jak to powiedzieć, żeby nie musieć rysować, ale rozumiesz mnie?
    Chodzi o to, żeby dioda zwarła induktor przy wyłączaniu tranzystora. Bo cewka indukuje zawsze napięcie tak, żeby przeciwdziałać kontynuować płynący wcześniej prąd.
    W tym przypadku: zamykasz tranzystor, czyli wyłączasz prąd płynący przez cewkę (silnik, wentylatorek) ale cewka tego nie chce i na swojej końcówce generuje napięcie, które pewnie zakłóca Twój pomiar. Jak zewrzemy cewkę diodą, to powinno być lepiej.
    Nie wiem, czy tak jest. Nie mam jak tego zbadać. Więc jak już dłubiesz, to pomierz, to się wszyscy czegoś nauczymy.
  • #10
    Swordancer
    Level 8  
    Rozumiem, że mam wstawić diodę na zaciski wentylatora, w kierunku zaporowym do zasilania +12V. Podłączałem już tak diodę (1N4007), ale to niczego nie zmienia.
  • #12
    Swordancer
    Level 8  
    No, to tak podłączyłem, tyle, że nie bezpośrednio anodą do masy, tylko do drenu tranzystora. Żadnej różnicy.
  • Helpful post
    #13
    Jawi_P
    Level 35  
    Do włączania i wyłączania tranzystora mosfet Logic-Level z kontrolera bezpośrednio wystarcza dwa rezystory, szeregowy (u Ciebie brak) z bramką i do masy, który wyłączy mosfeta.
    Jeśli chcesz używać PWMa to niestety jakiś nawet najprostszy driver, jest zalecany,a nawet konieczny. Bo przy tranzystorach mocy i małym Rdson i jeszcze LL musisz przeładować pojemność bramki, która może mieć nawet kilka nF. W momencie ładowania prądy z portu mogą uwalić każdy mikrokontroler.
    Są drivery sterujące Mosfet, które dają przecież nawet kilka Amper, mimo, że przełączanie jest napięciowe. Dioda przy silniku/cewce obowiązkowa zawsze.
    Możliwe, że co trzy dni będziesz mosfeta wymieniał.
    Jak zapomnisz i częstotliwość zwiększysz, to nawet się tranzystor do końca nie otworzy, bo pojemność będzie się ładować a już musi się zamknąć, efekt - grzałka a nie tranzystor, mimo małego prądu.

    http://mikrokontrolery.blogspot.com/2011/04/mosfet-w-trybie-pwm.html
    http://mikrokontrolery.blogspot.com/2011/03/silnik-bldc-sterownik-dobieranie.html
  • #14
    Swordancer
    Level 8  
    Hmm, dziękuję za odpowiedzi, czyli mówisz, że driver będzie najlepszym i najbezpieczniejszym rozwiązaniem? Dodałem sobie szeregowo rezystor 1k, oczywiście dioda została na miejscu.

    Czy maleńki układ TC4420CPA będzie odpowiedni?
  • Helpful post
    #15
    Jawi_P
    Level 35  
    Swordancer wrote:
    Hmm, dziękuję za odpowiedzi, czyli mówisz, że driver będzie najlepszym i najbezpieczniejszym rozwiązaniem? Dodałem sobie szeregowo rezystor 1k, oczywiście dioda została na miejscu.

    Nie wiem jaki to uC, ale dla Atmegi np, której porty można obciążyć nawet do 40mA jak pamiętam to rezystor tu jest za duży.
    Jeśli masz na porcie 3,6V i chcesz by prąd nie przekroczył np. 20mA to mi wyszło dużo mniej.
    Ale jeśli tranzystor pracowałby z wolnym przełączaniem, to i taki rezystor będzie dobry, wartość tego rezystora jest ważna przy szybkim przełączaniu.

    http://mikrokontrolery.blogspot.com/2011/03/silnik-bldc-projekt-sterownika.html - tu masz dokładny sposób wyliczenia tego rezystora szeregowego.

    Dioda tak naprawdę w tym tranzystorze już jest, pasożytnicza. Ale małe mosfety już tak odporne nie są, warto stosować diodę blisko źródła indukowanych zakłóceń.
    Tu przykładowy link o samych mosfetach, poczytaj, bo to bardzo wdzięczne elementy do przełączania. Opis bardzo czytelny.
    http://elportal.pl/pdf/k01/55_08.pdf

    Jeśli masz pod ręką driver to można zastosować, ale jak masz pod ręką jakieś tranzystorki to zrób sterowanie na nich, znajdziesz w necie wiele przykładów, zapoznaj się z linkami podesłanymi wcześniej przeze mnie.
    A tu konkretnie o sterowaniu silnikiem i przykład drivera.
    http://www.forbot.pl/forum/topics43/sterowanie-silnika-przy-uzyciu-pwm-vt6828.htm


    Tobie chodzi o to, że jak przewodzi tranzystor całkowicie czyli wypełnienie 100% z PWMa to wszystko ok, ale jak zmieniasz wypełnienie do 50% to napięcie zmienia się nie liniowo?
    Dużo zależy od silnika, indukcyjności uzwojeń, może się okazać że przy wypełnieniu np 10% silnik nie ruszy.
    Częstotliwość trzeba sobie dobrać do silnika.
  • #16
    Swordancer
    Level 8  
    Hmm, bardzo dziękuję za pomoc, akurat pod ręką mam same tranzystory npn, a w tym driverze z tranzystorków widzę pnp, więc jak już coś mam kupić, to przy okazji i ten driver, o którym wspomniałem. Spróbuję zbudować solidny układ kierując się tymi wskazówkami.

    Zainstalowałem sobie też ten symulator, zbudowałem ten układ w symulatorze i widzę jak fajnie działa. Będę musiał jeszcze nieco dowiedzieć się o tym swoim wentylatorze i jego silniku, by wszystko ładnie dobrać. Jakbym sobie nie radził, to dam znać jeszcze w tym wątku.

    Jeszcze raz dziękuję za te informacje.