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.

Sterowanie MOSFET''em za pomocą PWM

11 Wrz 2019 21:07 114 6
  • Poziom 4  
    Witam, zamierzam sterować MOSFET'em IRLB3034PbF grzałkę. Sygnał PWM wchodzący na bramkę tranzystora będzie pochodził z mikrokontrolera. Częstotliwość PWM, myślę że wystarczy na poziomie 1kHz, jak nie mniej. Czy poza rezystorem na bramce pownienem dodać jeszcze jakieś elementy do układu? Na co powinienem zwrócić uwagę przy tworzeniu takiego projektu?
  • Poziom 37  
    Najlepszy byłby dedykowany driver do bramki.
    Np.TC4422

    Jeśli mikrokontroler pracuje na logice TTL to w zasadzie można by się pokusić o brak drivera(niska częstotliwość) ale jeśli jest to logika 3.3V to będzie problem z załączeniem.

    TC4422 rozwiązuje problem bo akceptuje logikę 3.3V.
  • Poziom 4  
    Będzie to Atmega328 w Arduino nano
  • Pomocny post
    Poziom 37  
    Atmega328 operuje na poziomach TTL.
    Wybrany przez kolegę mosfet jest typu logic-level czyli przy tych 5V ma już bardzo dobre parametry.

    Jeżeli prąd grzałki będzie bardzo duży to warto użyć nieco większe napięcie bramki (trochę niższe RDSon). Do tego należy już użyć driver.

    Rezystor między bramką a źródłem służy do rozładowania bramki po wyłączeniu urządzenia.
    Zwykle stosuje się także rezystor(kilkanaście/kilkadziesiąt Ω) między bramką a driverem aby zapobiec oscylacjom w układzie bramki. Przy takiej niskiej częstotliwości nie będzie to problem. Do tego ogranicza on maksymalny prąd pobierany z pinu Arduino aby go nie uszkodzić.

    Użyty przez kolegę tranzystor ma wysoką pojemność bramki. Kilka razy wyższą niż taki popularny IRF540.
    Aby ją naładować w krótkim czasie trzeba będzie dać większy prąd a to jest problematyczne dla takiego mikrokontrolera.

    Driver można zbudować na trzech tranzystorach. Dwóch NPN i jednym PNP.
    Ze względu na niskie napięcie zadziałania(driver na bipolarnych nie zejdzie wystarczająco nisko) trzeba by tu jednak użyć tranzystorów polowych do sterowania. Dwa typu N i jeden typu P.
    Albo użyć gotowej kości.
  • Poziom 4  
    Prąd grzałki może dochodzić do 30-40A, myślisz, że w takim przypadku wyjście Ardiuno może mieć niewystarczającą wydajność prądową? (ok. 50mA)

    pawelr98 napisał:
    Atmega328 operuje na poziomach TTL.
    Wybrany przez kolegę mosfet jest typu logic-level czyli przy tych 5V ma już bardzo dobre parametry.

    Jeżeli prąd grzałki będzie bardzo duży to warto użyć nieco większe napięcie bramki (trochę niższe RDSon). Do tego należy już użyć driver.

    Rezystor między bramką a źródłem służy do rozładowania bramki po wyłączeniu urządzenia.
    Zwykle stosuje się także rezystor(kilkanaście/kilkadziesiąt Ω) między bramką a driverem aby zapobiec oscylacjom w układzie bramki. Przy takiej niskiej częstotliwości nie będzie to problem. Do tego ogranicza on maksymalny prąd pobierany z pinu Arduino aby go nie uszkodzić.

    Użyty przez kolegę tranzystor ma wysoką pojemność bramki. Kilka razy wyższą niż taki popularny IRF540.
    Aby ją naładować w krótkim czasie trzeba będzie dać większy prąd a to jest problematyczne dla takiego mikrokontrolera.

    Driver można zbudować na trzech tranzystorach. Dwóch NPN i jednym PNP.
    Ze względu na niskie napięcie zadziałania(driver na bipolarnych nie zejdzie wystarczająco nisko) trzeba by tu jednak użyć tranzystorów polowych do sterowania. Dwa typu N i jeden typu P.
    Albo użyć gotowej kości.
  • Pomocny post
    Poziom 37  
    Chodzi o pojemność bramki.
    Bramka tranzystora zawiera pasożytniczy kondensator.
    Jak ładujemy lub rozładowujemy kondensator to potrzebujemy dostarczyć albo odebrać prąd.

    Ten tranzystor ma dużą pojemność bramki.
    Aby ją szybko naładować czy rozładować trzeba dać większy prąd.

    Arduino może mieć problem z dostarczeniem takiego prądu.
    Jeżeli obniżymy prąd (rezystor szeregowy) to będą dodatkowe straty komutacyjne.

    Przy 4.5V(poziom TTL) podaje się maksymalnie 2mΩ.
    Moc strat wynosi wtedy 3.2W dla 40A oraz 1.8W dla 30A.

    Jeżeli zasilimy bramkę wyższym napięciem to rezystancja spadnie nam do 1.7mΩ (dla 10V) a moc strat będzie wynosić odpowiednio 2.72W dla 40A oraz 1.53W dla 30A.

    Dlatego oprócz niższych strat komutacyjnych użycie drivera trochę obniży ilość wydzielanego ciepełka.
  • Specjalista elektronik
    Prąd potrzebny do sterowania bramki zależy od napięcia (również drenu, zwłaszcza gdy jest duże) i szybkości przełączania, natomiast nie powinien zależeć od prądu, jaki jest przełączany. Dla IRBL3034 podają ładunek bramki 108nC - jako typowy dla napięcia 20V (maksymalny 162nC) - dla maksymalnego Arduino będzie potrzebować ponad 4us na włączenie, bądź wyłączenie takiego tranzystora. Napięcie progowe jest co najmniej 1V, to znacznie więcej od napięcia nasycenia tranzystora bipolarnego, więc nie jest konieczne używanie MOSFET-ów, gdyby się chciało użyć drivera zrobionego z tranzystorów.

    Przy sterowaniu bezpośrednio z Arduino (zakładając, że uC w Arduino ma napięcie zasilania 5V) trzeba liczyć, że w tranzystorze przy przełączaniu z częstotliwością 1kHz będzie się wydzielać z powodu spowolnienia przełączania dodatkowo 0.6% tej mocy, co w grzałce. I to pewnie będzie więcej, niż się w nim wydzieli z powodu oporności włączenia.