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

[Atmega8][Mosfet][Driver] - Sterownik silnika krokowego bipolarnego.

cris_b 03 Lis 2014 15:30 4911 30
  • #1 03 Lis 2014 15:30
    cris_b
    Poziom 6  

    Witam !
    Chciałbym skonsultować schemat sterownika silnika krokowego bipolarnego.
    Ze względu na to, że jest to silnik który pobiera 6A prądu na cewkę zdecydowałem się go zrobić na tranzystorach MOSFET (irfz48n) czy przy skrajnej sytuacji kiedy przez tranzystor popłynie prąd 6A jego temperatura wzrośnie znacznie ? Konieczne będzie zastosowanie radiatora ?

    Chciałbym zapytać czy można taki sterownik zrobić na samych tranzystorach z kanałem n ( tak jak na załączonym schemacie ) czy konieczne jest użycie z kanałem p. ( Jeżeli tak to prosiłbym o polecenie odpowiedniego tranzystora który mógłby współpracować z Atmega8 )

    Ponadto chciałem zapytać czy konieczne jest dodanie rezystorów pomiędzy bramkami tranzystorów i masą ( widziałem to na niektórych schematach ) jak obliczyć wartość takiego rezystora i dlaczego należy lub nie należy ich stosować.

    Z góry dziękuję za odpowiedź.
    Pozdrawiam
    Krzysiek.
    [Atmega8][Mosfet][Driver] - Sterownik silnika krokowego bipolarnego.

    0 29
  • #2 03 Lis 2014 16:06
    BlueDraco
    Specjalista - Mikrokontrolery

    Jesteś pewny, że ten silnik działa na 5V?

    Jeśli tak, i chcesz sterować tranzystory bezpośrednio z uC - to w górnych gałęziach musisz użyć tranzystorów pMOS, a w dolnych - nMOS, ale wszystkie muszą być tzw "logic level". IRFZ48Z tu zupełnie nie pasuje. Poszukaj jakichś współczesnych w obudowie SO-8, np. IRF7455 (NMOS).

    Rezystory od wyjść uC do masy (dla NMOS) i do plusa (dla PMOS) są potrzebne dla zabezpieczenia mostka przed wyparowaniem po włączeniu zasilania.

    0
  • #3 03 Lis 2014 16:33
    cris_b
    Poziom 6  

    Tak na pewno ma 5V.

    Dlaczego mostek miałby wyparować, mógłbyś to jakoś dokładniej wytłumaczyć i jakie wartości powinny mieć te rezystory. Mają być podłączone tak jak na schemacie ?

    W przypadku tych tranzystorów z obudową SO-8 trzeba połączyć ze sobą wszystkie piny źródła i drenu ze sobą czy tylko jeden a reszta może wisieć w powietrzu ?

    Czy ten tranzystor PMos będzie odpowiedni ? irf9321pbf (http://www.tme.eu/pl/Document/467ee520917c38280e66b568c12ab0df/irf9321pbf.pdf)

    [Atmega8][Mosfet][Driver] - Sterownik silnika krokowego bipolarnego.

    0
  • #4 03 Lis 2014 16:51
    BlueDraco
    Specjalista - Mikrokontrolery

    Podejrzewam, że wszystko, co musisz wiedzieć nt. MOS i mostków, znajdziesz na mikrokontrolery.blogspot.com.

    Zasadniczo tranzystory nie lubią być włączane na zwarcie, dlatego potrzebne są rezystory, które przed tym zabezpieczą, a jak te rezystory należy wpiąć, napisałem powyżej - Ty wymyśliłeś coś innego, co na ogół też zadziała, ale nie zawsze. Wartość - 20..47k

    IRF9321 od biedy ujdzie, ale lepiej znaleźć taki, który jest specyfikowany na napięcie bramki 2.8 V lub niższe.

    0
  • #5 03 Lis 2014 17:18
    cris_b
    Poziom 6  

    Mógłbyś spojrzeć teraz na schemat czy o takie podpięcie rezystorów chodziło ?

    [Atmega8][Mosfet][Driver] - Sterownik silnika krokowego bipolarnego.

    0
  • #6 03 Lis 2014 17:50
    BlueDraco
    Specjalista - Mikrokontrolery

    Na obu schematach jest to samo, tylko inaczej narysowane. Rezystor 47k powinien wisieć pomiędzy wyjściem uC i masą/zasilaniem.

    0
  • #7 03 Lis 2014 19:11
    cris_b
    Poziom 6  

    Czyli tak ?

    [Atmega8][Mosfet][Driver] - Sterownik silnika krokowego bipolarnego.

    A czym to się różni z tą poprzednią wersją ? W jakich przypadkach tamto mogłoby nie zadziałać ?

    0
  • #8 03 Lis 2014 23:05
    BlueDraco
    Specjalista - Mikrokontrolery

    Różni się napięciem na bramkach i chwilowym natężeniem prądu bramek podczas przełączania.

    0
  • #9 04 Lis 2014 23:10
    paladyn
    Poziom 15  

    cris_b Rezystory ustalają warunki początkowe mostka, dla PMOS podciągniecie do VCC zamyka tranzystor dla NMOS podciągasz do masy oraz mają rozładować bramkę tranzystora z ładunku, który pozostał po zmasowaniu nóżki w uC. Poza tym tranzystor MUSI być szybko włączany i wyłączany inaczej zachowuje się jako rezystor. Przy dużych prądach zdąży odparować nim się całkowicie wyłączy więc w tym celu wymyślono drivery, które dostarczają duży prąd do bramki i potrafią go potem odebrać .

    Jeśli chcesz użyć 4 tranzystorów NMOS musisz mieć bootstraping czy drivery z pompą ładunkową bo na źródle górnego tranzystora masz połowę zasilania, a żeby otworzyć ten tranzystor potrzebujesz podać na bramkę połowę zasilania + 12V(tyle wystarczy aby w pełni otworzyć tranzystor)
    Na twoim miejscu użył bym tranzystorów logicznych np IRF7455 + drivery obsługujące tranzystory HO, LO + 2 inwertery sygnału, które zabezpieczą Ci mostek przed zwarciem VCC do masy

    A najtaniej było by kupić taki mostek gotowy, budowa swoich mostków małej mocy jest nieopłacalna. Przynajmniej ja mam takie zdanie na ten temat.

    0
  • #10 05 Lis 2014 11:02
    cris_b
    Poziom 6  

    Mógłbyś polecić jakiś mostek ?

    0
  • #11 05 Lis 2014 16:28
    paladyn
    Poziom 15  

    W cenie około 30zł masz gotowy mostek H na BTS7960B, który oferuje 43A i VCC do 27V.

    1
  • #13 25 Lis 2014 16:26
    emarcus
    Poziom 35  

    cris_b napisał:
    Mam jeszcze jedno pytanie, znalazłem taki schemat
    [Atmega8][Mosfet][Driver] - Sterownik silnika krokowego bipolarnego.


    Czy układ w takiej postaci będzie funkcjonował poprawnie, skoro sterownik MOSFET jest zasilany napięciem 5V a źródło tranzystorów MOSFET-P podłączone jest do napięcia 12V ?


    Nie, Problem ten jest dostatecznie wyjaśniony tu:
    https://www.youtube.com/watch?v=qSMkR7Enit8

    e marcus

    1
  • #14 25 Lis 2014 21:50
    cris_b
    Poziom 6  

    Nie znam zbyt dobrze angielskiego, mógłbyś mi to jakoś w skrócie wytłumaczyć. Wystarczy zmienić zasilanie sterownika MOSFET z 5V na 12V ?

    -1
  • #15 26 Lis 2014 08:17
    emarcus
    Poziom 35  

    cris_b napisał:
    Nie znam zbyt dobrze angielskiego, mógłbyś mi to jakoś w skrócie wytłumaczyć. Wystarczy zmienić zasilanie sterownika MOSFET z 5V na 12V ?

    1. VCC = 5V
    Mając do dyspopzycji sygnał sterujący z processora w zakresie 5V lub 0V nie masz większego problemu wysterować N typ Mosfet aby go załączyć lub wyłączyć szczególnie jezeli jest to logic Level o progu bramki często poniżej 3V.

    Podobnie jest też z P type Mosfet- podciągniesz bramkę do Vcc (5V) i go wyłączysz.

    2. Problem zaczyna się gdy Vs jest wyższe od Vcc (np.:12V) . Podając na bramkę 5V z pinu processora nie wyłączy tranzystora (brakuje -7V). W efekcie układ mostkowy z cytowanego źródla będzie robił zwarcie do GND górnego i dolnego tranzystora; (dolny załączy obwód gdy tymczasem górnu nie wyłączył; a przecież spodziewane jest aby tylko jeden z nich przewodził .
    Rozwiązaniem jest dołozenie w obwód bramki tranzystora górnego (P) dodatkowego tranzystora sterującego. Może to być dowolny malej mocy N-Mosfet albo NPN tranzystor, często określany jako driver.
    Mniej więcej jak na rysunku popnizej:

    [Atmega8][Mosfet][Driver] - Sterownik silnika krokowego bipolarnego.

    e marcus

    0
  • #16 07 Sty 2015 13:35
    cris_b
    Poziom 6  

    Zbudowałem ostatecznie mostek H w oparciu o ten schemat:

    [Atmega8][Mosfet][Driver] - Sterownik silnika krokowego bipolarnego.

    Użyłem następujących elementów:

    MOSFET-P - AP2309GN-HF-3
    MOSFET-N - IRFML8244TRPBF
    Tranzystor NPN -BC817-25.215

    Na początku wszystko działa poprawnie, ale gdy podaję sygnał PWM na wejścia z częstotliwością większą od 1kHz mosfety P przepalają się za każdym razem.

    Proszę o pomoc.

    0
  • #17 07 Sty 2015 16:13
    BlueDraco
    Specjalista - Mikrokontrolery

    Pomyśl, co się dzieje w czasie przełączania, gdy napięcie na bramkach obu MOSFETów w jednej gałęzi jest równe np. połowie napięcia zasilania.

    Z jednego wyjścia PWM możesz sterować tranzystory "na krzyż", czyli prawy dolny i lewy górny (przez dodatkowy np. npn).

    0
  • #18 07 Sty 2015 16:20
    cris_b
    Poziom 6  

    A czy w takim wypadku jak to opisujesz też nie ma ryzyka że przy większych częstotliwościach będzie dochodzić do zwarcia ?

    Mógłbyś wrzucić jakiś schemat bo nie wiem czy do końca rozumiem o co Ci chodzi ?

    0
  • #19 07 Sty 2015 17:24
    BlueDraco
    Specjalista - Mikrokontrolery

    Jeden przebieg PWM wpuszczasz na bramkę lewego dolnego NMOS i bazę tranzystora npn, którego kolektor steruje bramką prawego górnego PMOS. Drugi odwrotnie. żadnego zwarcia nie będzie, o ile nas obu wyjściach PWM nie pojawi się równocześnie stan wysoki. nie ma wówczas również groźby równoczesnego otwarcia obu tranzystorów w jednej gałęzi - trzeba tylko zadbać o to, żeby pomiędzy zmianą jednego PWM z 1 na 0 i zmianą drugiego z 0 na 1 był odstęp czasowy, co przy całkowicie sprzętowej generacji przebiegów zapewnia sprzętowo każdy lepszy timer w każdym współczesnym uC.
    W praktyce jednak przebiegów sterujących silnikami krokowymi nie robi się całkowicie sprzętowo, a raczej zmienia się sterowania faz programowo w przerwaniu timera, więc też bez problemu możesz najpierw wyłączyć jedną fazę , a potem załączyć drugą.

    0
  • #20 07 Sty 2015 17:31
    cris_b
    Poziom 6  

    A czy dobrym pomysłem w takim przypadku jak to opisujesz, byłoby użycie na przykład bramki NAND żeby wykluczyć możliwość pojawienia się stanów wysokich na wszystkich wejściach ?

    0
  • #22 08 Sty 2015 13:04
    cris_b
    Poziom 6  

    Nie, nie jest kompletny, to tylko taki ideowy schemat.
    Są jakieś sprzętowe zabezpieczenia przed zwarciem przy wystąpieniu stanów wysokich na obydwu wejściach. Znalazłem coś takiego na forbot.pl ale nie do końca wiem o co chodzi z tymi dwoma diodami BAT46 i w jaki sposób one zabezpieczają układ przed zwarciem ?

    http://www.forbot.pl/forum/upload_img/obrazki/IMG_4d218df26ae257377.png

    0
  • #23 08 Sty 2015 20:26
    BlueDraco
    Specjalista - Mikrokontrolery

    W mikrokontrolerze masz kilkanaście tysięcy bramek i kilkadziesiąt diod. Po co dokładać kolejne, zbędne elementy? Chyba nie jest dużą sztuką napisanie programu, który nie włączy równocześnie dwóch wyjść?

    0
  • #24 08 Sty 2015 20:56
    cris_b
    Poziom 6  

    Zabezpieczeń chyba nigdy za wiele, chciałem tylko zapytać czy układ z takimi diodami będzie działać poprawnie i czy te diody będą spełniać swoje zadanie ?

    0
  • #25 08 Sty 2015 21:22
    BlueDraco
    Specjalista - Mikrokontrolery

    Moim zdaniem ten układ w ogóle nie działa poprawnie - jest niestabilny w stanach przejściowych. Nie steruje się jednej gałęzi mostka z wyjścia drugiej gałęzi, bo grozi to usmażeniem tranzystorów na podobnej zasadzie, jak to już praktycznie przećwiczyłeś.
    Daj sobie spokój z tymi zabezpieczeniami. Jeśli uważasz, że nie jesteś w stanie napisać poprawnie dwóch linijek kodu (max. tyle wystarczy do programowego sterowania mostkiem) i koniecznie musisz czepiać choinkę diod, których działania nie rozumiesz, to słabo to rokuje.

    0
  • #26 08 Sty 2015 21:22
    dondu
    Moderator Mikrokontrolery Projektowanie

    Bardzo często w newralgicznych projektach robi się podwójne, a nawet potrójne zabezpieczenia.
    Należy jednak pamiętać, że każdy dodatkowy element może zawieść.

    Program (funkcja bezpiecznika) natomiast ma tę zaletę, że prosta logika rozpisana na linie kodu jest niezawodna. Można oczywiście dopuszczać przypadek, że pin mikrokontrolera może zawieść, ale przy sterowaniu MOSFET-ami prawdopodobieństwo jest praktycznie zerowe.

    Aktualnie naprawdę nie ma sensu stosować tego typu rozwiązań jakie proponujesz. Co najwyżej dodaj rezystory wymuszające zamykanie MOSFETów w przypadku, gdyby na pinach był stan wysokiej impedancji: http://mikrokontrolery.blogspot.com/2011/03/tranzystor-mosfet-wiedza-tajemna.html

    0
  • #27 09 Sty 2015 21:06
    cris_b
    Poziom 6  

    Mam jeszcze jedno pytanie. Czy używając sterownika Mosfet na przykład takiego układu TC4427COA, też należy używać rezystorów podciągających do rozładowywania bramki czy ten sterownik załatwia sprawę. I czy podany prąd wyjściowy 1.5A to jest prąd którym bramka jest ładowana i rozładowywana czy tylko ładowana ?

    0
  • #28 10 Sty 2015 09:31
    dondu
    Moderator Mikrokontrolery Projektowanie

    Odpowiedzi na oba pytania wywnioskujesz z analizy wyjścia na schemacie: Functional Block Diagram
    już na drugiej stronie dokumentacji tego drivera.

    Należy także zauważyć, że sama wartość 1,5A to wartość szczytowa dla określonych warunków pokazanych w tabeli: DC Characteristic

    0
  • #29 14 Sty 2015 18:55
    cris_b
    Poziom 6  

    A czy kondensator filtrujący napięcie w takim mostku H musi mieć maksymalny prąd pracy taki jakiego można się spodziewać w układzie, bo z tego co zauważyłem to na przykład kondensatory z maksymalnym prądem pracy 10A kosztują ok. 200zł (najtańsze).

    0
  • #30 15 Sty 2015 00:10
    emarcus
    Poziom 35  

    cris_b napisał:
    A czy kondensator filtrujący napięcie w takim mostku H musi mieć maksymalny prąd pracy taki jakiego można się spodziewać w układzie, bo z tego co zauważyłem to na przykład kondensatory z maksymalnym prądem pracy 10A kosztują ok. 200zł (najtańsze).


    W układach DC (prądu stałego) kondensatory określa się tylko ich pojemnością oraz napięciem przebicia, które zazwyczaj jest wyższe o kilkanaście do kilkudziesiąt % od napięcia pracy. Przyjmuje się ze praktycznie prąd przez nich nie płynie, służą do odfiltrowania krótkotrwałych przepięc podczas zmian zasilania obwodów o charakterze indukcyjnym. Wystarczy np: ceramiczny 100nF/35V; (napewno tani).
    Z tego co zauważyłem, to masz poważny problem z uruchomieniem tego silnika.
    Rozważ możliwośc zastosowania gotowego kontrollera/drivera (A4989 - Allegro Microsystems) zasilającego najzwyczajniejszy/tani układ H-mostków zbudowany wyłącznie z N-Mosfetów; dla którego programowanie ograniczy się do kontrolowania kierunku obrotów i wysłania impulsów na każdy step (krok) w dowolnej formie. Pozostałą "komutacją" jak też wprowadzeniem 'dead time', wysterowanie bramek N-Mosfetów po stronie wysokiej mostka, ograniczenie prądowe, jak też i timingi zrobi ci ten układ.

    Tu masz przykład gotowego i wytestowanego układu:
    https://github.com/fluidfred/powerlolu/archive/master.zip
    A tu masz opis źródłlwy/+ videoclip Powerlolu:
    http://www.thingiverse.com/thing:40540

    Allegro Microsystems już ich nie produkuje, ale możesz je jeszcze dostac w większych centrach elementów elektronicznych.

    Datasheet:
    http://www.allegromicro.com/~/media/Files/Datasheets/A4989-Datasheet.ashx

    Innym wzgłędnie prostym rozwiązaniem mógłby byc układ dwóch gotowych mostków (po jednym na cewkę) TLE5205 albo TLE5206, które dostarczą ok 5A prądu, lecz dla których musisz bardziej skomplikowam program.

    e marcus

    0