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

Podpięcie silnika krokowego pod Atmega16

03 Lip 2011 21:55 3004 19
  • Poziom 11  
    Witam, narysowałem schemat podpięcia silnika krokowego unipolarnego pod AVR
    Podpięcie silnika krokowego pod Atmega16
    Silnik potrzebuje ok 1,5A więc wybrałem tranzystory TIP122
    Będzie to poprawnie działać? Tranzystory nie będą się grzały za bardzo przy takich rezystorach?
  • PCBway
  • Pomocny post
    Moderator Mikrokontrolery Projektowanie
    Napięcie saturacji tego Darlingtona to 2-4V w zależności od sterowania bazy, więc przy 1,5A będzie się na nim odkładać 3-6W! Na każdym. Jak dla mnie tragedia. Więc może prościej wziąć jakiś nowoczesny sterownik oparty na tranzystorach unipolarnych?
  • Pomocny post
    Poziom 38  
    Albo chociaż jakieś mosfet-y jak to ma być prosty sterownik?
    IRFL024ZPbF albo coś podobnego.
    A jak nie lubisz smd to IRF540ZL
  • Poziom 11  
    janbernat, a jakie rezystory dać pomiędzy tym IRF540ZL a AVR?
  • PCBway
  • Pomocny post
    Poziom 35  
    Lipa!...
    Zastosowanie mosfetów w miejsce BJT w tym układzie nie jest takie proste. Pierwsze i podstawowe wątpliwości budzą rezystory ściągające bazę/bramkę(w przypadku FET) do masy. Skoro w portach procka są bufory totem-pole, to nie ma sensu sciągać bramek aż takim rezystorem. Ja bym dał 47k, tylko po to, żeby tranzystory się samorzutnie nie włączały gdy procesor jest w resecie.

    tmf napisał:
    [...]daj koło 50-100 om.

    heh... może się zjarać pin.

    Uzi103 napisał:
    [...]a jakie rezystory dać pomiędzy tym IRF540ZL a AVR?

    Przecież to się oblicza, i trzeba obliczać!
    Ładunek potrzebny do przeładowania pojemności bramki to 42nC. Czyli dysponując prądem 42A bramka przeładuje się w 1ns. Przy 42mA bramka przeładuje się w 1us.
    Załóżmy że pin portu wytrzyma 20mA w impulsie, więc przy takim prądzie bramka przeładuje się w około 2us.
    Trzeba teraz policzyć rezystor, który ograniczy prąd do 20mA, więc
    R=U/I, R=5/0.02, R=250R...
  • Pomocny post
    Moderator Mikrokontrolery Projektowanie
    No oczywiście, że zmiana tranzystorów implikuje zmianę układu i te rezystory są niepotrzebne. Natomiast pin się nie zjara, AVR mają o wiele większą wydajność prądową niż przez ciebie zakładana, w impulsie też mogą dać więcej. Rezystor 100R ograniczy prąd bramki do max 50mA, co jest zupełnie bezpieczne dla mikrokontrolera. Pozostaje kwestia szybkości przełączania o którą pytałem. Jeśli to tylko ma być sterowanie kolejnymi krokami, to nie ma problemu, jeśli będą mikrokroki realizowane przez PWM to potrzebny jest driver.
  • Pomocny post
    Poziom 35  
    tmf napisał:
    [...]te rezystory są niepotrzebne.

    Nie zgodzę się. One są wręcz konieczne, tyle, że nie o wartości 1k... Bez nich, tranzystory zaczną szaleć nawet od zbliżenia palca do układu, gdy procesor będzie nieobecny, uszkodzony lub w resecie.

    tmf napisał:
    Rezystor 100R ograniczy prąd bramki do max 50mA, co jest zupełnie bezpieczne dla mikrokontrolera.

    Impressed...;]

    tmf napisał:
    Jeśli to tylko ma być sterowanie kolejnymi krokami, to nie ma problemu, jeśli będą mikrokroki realizowane przez PWM to potrzebny jest driver.

    Niekoniecznie. 50mA prądu bramki jest znacznie wystarczające do męczenia tranzystorów takich jak IRLL024Z. Ładunek 7nC gwarantuje otwarcie tranzystora w ok. 140ns przy prądzie 50mA - to wystarczy do kilkunasto-kHz PWMa z powodzeniem.
    Da się znaleźć tranzystory na kilka A i kilkadziesiąt V z ładunkiem bramki rzędu 4nC (gdzies je miałem, teraz nie mam czasu szukać oznaczenia)

    Wypada również usprawnić zamykanie tranzystora kładąc diodę schottkiego małej mocy równolegle z rezystorem bramkowym, anodą do tranzystora, katodą do pina procka. Hardcorowym zabezpieczeniem bramki jest też zastosowanie diody zenera małej mocy na 18V między samą bramkę a źródło tranzystora, katodą do bramki.

    BTW, tranzystory sterują cewkami w silniku. Gdzie jest chociażby podstawowy snubber między każdym drenem a źródłem tranzystora? Bez nich układ oczywiście też będzie pracował - aż w końcu, ot tak, przestanie...:]
  • Poziom 11  
    Dziękuję Wam za odpowiedź.
    Jeśli chodzi o częstotliwość przełączania tranzystorów to nie będzie ona duża. AVR będzie sterował kolejnymi krokami tak, aby silnik wykonał zamierzoną w programie liczbę obrotów. Pomiędzy każdym sygnałem będzie opóźnienie ok 20ms.
    Czyli pomiędzy mosfet-em a AVR dać rezystor 240ohm? (250ohm chyba nie ma) a pomiędzy bramką a GND dać rezystor 47K?
    I jeszcze jedno: czy ten mosfet IRF540Z będzie odpowiedni do tego?
  • Pomocny post
    Poziom 35  
    Dostales juz odpowiedzi na wszystkie pytania, ale podsumuję:
    - Tranzystor IRF540 nie nadaje się. Potrzebne są tranzystory "logic level"
    - Rezystor bramkowy daj 100R
    - Rezystor od bramki do ŹRUDŁA (niby to samo co GND, a jednak nie zawsze ;] ) 47kR

    ------------
    PS.
    Jak pomogliśmy, kliknij "pomógł". Motywuje to do dalszego pomagania ;]
  • Poziom 11  
    Tak, oczywiście IRF540Z/IRF540ZL a nie IRF540. Tyle, że jest on chyba trochę ciężko dostępny. Znacie jakieś zamienniki? Ewentualnie jakieś, któe by się nadawały do tego układu?
    Jeśli chodzi o ten rezystor bramkowy to wolę dać jednak większy dla bezpieczeństwa

    Oczywiście "Pomógł" dla każdego ;)
  • Pomocny post
    Poziom 35  
    Możesz spokojnie 220R użyć.
    Tranzystor już zaproponowałem: IRLL024Z. Raczej ciężko o tranzystor logic level w obudowie TO220, i są znikome szanse aby znaleźć takowy łatwo dostępny i w miarę tani (ma to swoje logiczne powody). Czuj się raczej zmuszony użyć tranzystorów SMD, chociażby przytoczony - w SOT223, wcale nie taki mały, i dosyć łatwo go polutować.
  • Poziom 11  
    nsvinc napisał:
    Wypada również usprawnić zamykanie tranzystora kładąc diodę schottkiego małej mocy równolegle z rezystorem bramkowym

    Dobra będzie BAT42 0.2A-30V?

    Wolałbym jednak TO220 jak SMD jednak... :/
  • Poziom 35  
    Mam wątpliwości co do tej diody... Znacznie lepsza SB360.

    Uzi103 napisał:
    Wolałbym jednak TO220 jak SMD jednak... :/

    Nie ma zmiłuj. Rynek unika elementów przewlekanych jak ognia, bo zamiast montażu maszynowego, musi siedzieć człowiek i wsadzać piny elementów w dziury na PCB, a potem to jeszcze równie ręcznie lutować. Koszty, koszty i jeszcze raz koszty...
    Dlatego rzadkie są elementy o jakie ci chodzi.

    Możesz użyć IRLZ24, ale wiedz, że to jest duży i ciężki tranzystor, i ładunek bramki 15nC pozwoli ci na przełączanie go nie szybciej niż kilkaset Hz z w miarę rozsądnymi stratami. Już przy ok. 1KHz będą się bezsensownie grzały.
  • Poziom 38  
    IRF540ZPBF przewlekany jest TME za 2zł.
    I 5V wysterowania mu wystarczy.
  • Poziom 11  
    Zastosuję jednak te IRLZ24 :)
    Ładunek do przeładowania bramki to 18nC. Czyli dla 20mA rezystor jakieś 500R. Ale skoro AVR wytrzymuje ok 50mA to może rezystor rzędu 330-360R wystarczy (tak żeby było bezpiecznie :D ) ?
    Rezystor od bramki do źródła ma pozostać 47k?
    nsvinc napisał:
    Gdzie jest chociażby podstawowy snubber między każdym drenem a źródłem tranzystora?

    Czy trzeba będzie przy tym IRLZ24 stosować ten snubber? Jeśli tak to wystarczy sam rezystor? Jaka rezystencja?

    BTW dziękuję za wielką pomoc ;)
  • Poziom 35  
    Najprostszy gasik:
    kondensator + rezystor. Polacz szeregowo kondensator z rezystorem, drugi koniec reza do źrudła tranzystora, drugi koniec kondensatora do drenu tranzystora ;]

    Uzi103 napisał:
    Ładunek do przeładowania bramki to 18nC. Czyli dla 20mA rezystor jakieś 500R. Ale skoro AVR wytrzymuje ok 50mA to może rezystor rzędu 330-360R wystarczy (tak żeby było bezpiecznie ) ?
    Rezystor od bramki do źródła ma pozostać 47k?

    Czemu pytasz się po raz któryśtam o to samo? Wszystko wyjasniono w poprzednich postach... litości! ;]
  • Pomocny post
    Poziom 38  
    To liczenie opornika w szereg z bazą jest proste jak konstrukcja cepa.
    (Oczywiście w pierwszym przybliżeniu- żeby nie było)
    Masz tranzystor mosfet i nie znasz pojemności bramki albo nie potrafisz odróżnić nC od nF- zdarza się- choć trochę wstyd.
    Ale wiesz że bramka ma się możliwie szybko naładować i rozładować- no bo to jest kondensator i w trakcie ładowania/rozładowania tranzystor pracuje nie jako przełącznik ale w zakresie aktywnym- czyli trochę jak opornik.
    No to zakładamy że bramka (kondensator) jest całkowicie rozładowana- ma potencjał 0V.
    No i mamy włączyć.
    To do niej musimy dostarczyć jak najszybciej pełny ładunek.
    Z jakiegoś sterownika- w tym wypadku procesora.
    Najszybciej to znaczy jak największy prąd z jak najwyższego napięcia.
    No ale napięcie mamy ograniczone- 5V.
    Prąd też- 20mA.
    To dzielimy 5V/20mA i wychodzi nam 250ohm.
    Jak chcesz szybciej przełączać- to musisz dać jakiś inny sterownik- zasilany z wyższego napięcia/dający więcej prądu.
    Ale zasada jest ta sama.
    To samo obowiązuje przy rozładowaniu pojemności bramki.
  • Moderator Mikrokontrolery Projektowanie
    Ja bym kupił gotowy driver do silnika unipolarnego, a nie bawił się w montaż z elementów dyskretnych. Gdyby to miało iść w tysiące sztuk to różnica w cenie być może uzasadniałaby takie obliczenia, ale dla jednorazowej zabawy warto tracić 3 dni? Już dawno miałbyś działający układ.
  • Poziom 38  
    Dla czystej satysfakcji- obliczyć, zlutować, sprawdzić, zmienić- dlaczego po zmianie działa lepiej/gorzej.
    Po za tym- driver dla unipolarnego?
    Takich to chyba już nie ma.