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

Motor i AVR, połączenie ich razem?

lumpus 25 Lip 2013 14:51 7251 66
  • #1 25 Lip 2013 14:51
    lumpus
    Poziom 14  

    Witam

    Zakładam, że to dość banalna sprawa ale chciałbym mieć pewność, że dobrze myślę.
    Napisałem banalny program na AVR, który uruchamia i wyłącza port PB0.
    Chciałbym teraz do tego portu podłączyć zwykły silnik na 3V, gdy to uczyniłem nie ruszył.
    Zakładam, że potrzebne jest coś jeszcze - tranzystor lub coś podobnego.
    Nie chce tego robić przez uln czy tym podobne, avr+x+motor. Proste i tanie.
    Moje pytanie, jeśli tranzystor to jaki i czy jeszcze coś potrzeba do tego by się kręcił i nic więcej?
    Mile widziany schemat, rysunek w jaki sposób podłączyć do tego portu i przez co.
    Za odpowiedź z góry dziękuje.

    0 29
  • Arrow Multisolution Day
  • #2 25 Lip 2013 15:26
    paavo91
    Poziom 19  

    Port nie da rady o ile go już nie spaliłeś. Jak chcesz go tylko załączać w jednym kierunku to właśnie tranzystor spełni swoją rolę. Więcej szczegółów dostaniesz jak powiesz co to za silnik bo to też ma znaczenie.

    0
  • Arrow Multisolution Day
  • #3 25 Lip 2013 15:51
    lumpus
    Poziom 14  

    Jest to zwykły silnik na 3V taki od grilla. Chodziło by mi tylko oto by go załączać i wyłączać z avr.
    Więcej danych nie mam na jego temat.

    0
  • #4 25 Lip 2013 16:20
    czarny8322
    Poziom 10  

    Na wyjściu z procka powinno być do 5V (nie wiem jakie natezenie). Jeżeli Twoj silniczek ma małe zapotrzebowanie na prąd to powinien ruszyć, ale watpie wiec zastosuj albo tranzystor lub mostek H.

    0
  • #5 25 Lip 2013 16:29
    SylwekK
    Poziom 29  

    Wszystko zależy jeszcze od poboru prądu przez ten silnik, ale w uniwersalnej wersji zakładam, że nie więcej niż 1A. Weź tranzystor logic level np. mój ulubiony RFD3055 (bez radiatora spokojnie nawet więcej niż 1A uciągnie) jego bramkę podłącz przez rezystor 100om do portu uC, źródło do masy, a dren do silnika. Druga końcówka silnika do plusa zasilania. Wskazane jest dodać na głównym zasilaniu jak i na końcówkach uC kondensatory 100nF., bo silnik może nieźle zakłócać pracę samego procesora.

    0
  • #7 25 Lip 2013 19:43
    lumpus
    Poziom 14  

    W zasadzie myślałem o BC547 na przykład lub podobnym...


    Do Czarny8322

    Tak na procku jest ok 4,8V.
    Ale silnik ani nie drgnie.

    0
  • #8 25 Lip 2013 20:17
    tmf
    Moderator Mikrokontrolery Projektowanie

    Niewykluczone, że upaliłeś port. Jego zwarcie poprzez silnik do masy lub Vcc port może przeżył, ale problemem jest napięcie samoindukcji. Silnik to potężna cewka, w chwili zaniku prądu gwałtownie narasta napięcie, co jest w stanie uwalić wszystko. Stąd niezbędna jest dioda tak jak na powyższym schemacie. Sterowanie przez tranzystor jest ok.
    Wydajność portu na poziomie 20-40mA może być niewystarczająca aby zaobserwować jakikolwiek efekt na silniku podłączonym bezpośrednio. Dla pewności pokaż program sterujący.
    No i jest też możliwe, że posiadany silnik wcale nie jest silnikiem DC.

    0
  • #9 26 Lip 2013 07:54
    lumpus
    Poziom 14  

    Witam

    Tytułem odpowiedzi na przemyślenia TMF.
    Wszystkie porty działają wgrałem inny soft (zapalający led i gaszący je) wszystkie zapalają i gasną na każdym porcie. Silnik jest prądu stałego gdyż był zasilany z 2 baterii 1.5V AA. W tym układzie musi być DC.


    Ach

    I co by nie było, silnik podłączony do baterii działa.

    0
  • #10 26 Lip 2013 08:42
    atom1477
    Poziom 43  

    Powinno zadziałać. Ale pewności nie ma.
    Zmierz najpierw jaki prąd pobiera silnik podłączony do dwóch baterii AA.

    0
  • #11 26 Lip 2013 08:59
    SylwekK
    Poziom 29  

    Obawiam się, że dla silnika od grila, BC547 będzie jednak za słaby i obstawiał bym coś mocniejszego czyli najbezpieczniej taniego mosfeta logic level, o którym wspominałem.

    0
  • #12 26 Lip 2013 09:16
    lumpus
    Poziom 14  

    A czy kolega SylwekK mógłby wkleić jakiś schemat podłączenia tego mosfeta do avr?
    Z góry dziękuje.

    0
  • #13 26 Lip 2013 09:33
    BlueDraco
    Specjalista - Mikrokontrolery

    Schemat jest taki sam, jak dla npn - zmienia się tylko tranzystor. Rezystor w bramce od biedy można pominąć, za to pożyteczny będzie rezystor 20..100k pomiędzy bramką i masą.

    0
  • #14 26 Lip 2013 11:58
    markoz7874
    Poziom 31  

    Pomierz napięcia, łatwiej będzie zlokalizować przyczynę niedziałania układu.

    0
  • #16 26 Lip 2013 13:03
    SylwekK
    Poziom 29  

    Jeszcze jeden kondensator 0,1u umieść jak najbliżej końcówek zasilania procka. Dioda równolegle z silnikiem nie jest potrzebna bo tranzystor ma już taką w swojej strukturze i w praktyce w większości wypadków wystarcza. Rezystor może być dla bezpieczeństwa, ale jak ktoś wspominał nie jest obowiązkowy i bez niego też będzie działać.
    Motor i AVR, połączenie ich razem?

    0
  • #17 26 Lip 2013 13:29
    BlueDraco
    Specjalista - Mikrokontrolery

    Sylwekk: tranzystor nie ma diody równoległej do silnika, która zabezpiecza przed przepięciami, więc jest ona potrzebna. Potrzebny jest rezystor od bramki do masy, adokładniej od wyjścia mikrokontrolera do masy, żeby silnik nie ruszał przed zaprogramowaniem uC lub przed startem programu..

    0
  • #18 26 Lip 2013 16:03
    SylwekK
    Poziom 29  

    Tzn. wewnętrzna dioda zabezpiecza tranzystor, który zazwyczaj leci jeśli takowej nie ma przy indukcyjnym obciążeniu - sam się kiedyś przekonałem przy przekaźnikach, natomiast póki co przy takim podłączeniu jeszcze mi nigdy nie strzelił... w każdym razie nie ma co dyskutować, dioda grosze kosztuje (tu chyba nawet wystarczy 1n4148) i można wstawić :) Rezystor faktycznie przed zaprogramowaniem może się przydać, ale jeśli soft już jest w procku to nie widzę potrzeby, bo port stanem niskim ściągnie go skuteczniej niż rezystor 100k - tu w sumie też nie ma co dyskutować i wstawić można, ale absolutnie nie jest niezbędny. Sam czasem wstawiam tam rezystor, ale są to układy gdzie nie ma bezpośredniego sterowania z procka tylko pośrednio przez dodatkowy tranzystor czy kondensator.

    0
  • #19 26 Lip 2013 19:10
    tank_driver
    Poziom 16  

    Nie jest prawdą że RFD3055 (podobnie jak każdy MOSFET) nie ma diody w swojej strukturze - ma ją gdyż jest to nieodłączny, pasożytniczy "dodatek" to tej struktury tranzystora. Dioda ta może przenieść spore natężenie prądu, problemem jest prędkość jej zadziałania - w podanym tranzystorze zareaguje ona po 100ns, 1N4148 po 4ns!. Przy 100ns i sporym napięciu wstecznym (co przy silnikach indukcyjnych jest normą) może dojść do upalenia tranzystora.

    Co do rezystora w szereg między uP a bramką - zabezpiecza on bramkę i jej sterownik przed udarami prądowymi, chociaż stosuje się je w przypadku sterowania bramki z mocniejszych źródeł niż AVR. Drugi między bramką a masą jest jak najbardziej wzkazany, tym bardziej że AVR ma wyjścia trójstanowe - VSS - "float" - VCC i przy starcie mogą pojawić się stany nieustalone, króre z kolei albo niechąco ruszą silnik albo upalą MOSFET-a przy niepełnym wysterowaniu bramką. Dobra praktyka nigdy nie zaszkodzi.

    Pozdrawiam!

    0
  • #20 26 Lip 2013 19:58
    atom1477
    Poziom 43  

    tank_driver napisał:
    Nie jest prawdą że RFD3055 (podobnie jak każdy MOSFET) nie ma diody w swojej strukturze - ma ją gdyż jest to nieodłączny, pasożytniczy "dodatek" to tej struktury tranzystora. Dioda ta może przenieść spore natężenie prądu, problemem jest prędkość jej zadziałania - w podanym tranzystorze zareaguje ona po 100ns, 1N4148 po 4ns!. Przy 100ns i sporym napięciu wstecznym (co przy silnikach indukcyjnych jest normą) może dojść do upalenia tranzystora.

    Nie chodzi o to że jej nie ma ale o to że to jest inna dioda i nie włączona tam gdzie być powinna.
    Bo powinna być równolegle do silnika a jest równolegle do tranzystora.
    A co do jej inności to chodzi o to że to jest dioda Zenera.
    Zabezpieczyć zabezpieczy ale:
    1. Napięcie wzrośnie do napięcia tej diody. Czyli powiedzmy do 60V przy RFD3055.
    2. Prąd w cewce silnika będzie podtrzymywany przez tą diodę.
    Przy zwykłej diodzie równoległej do silnika mieli byśmy np. przy 100mA spadek niech by nawet 1V. I daje to stratę tylko 0,1W.
    Przy mostku H odpowiednio włączone diody dodatkowo dają zwrot prądu do szyn zasilania.
    3. Przy diodzie Zenera włączonej tak jak tutaj czyli źle jednak dalej płynie te 100mA. Ale silnik aby wymusić ten prąd musi zwiększyć napięcie aż do napięcia diody Zenera czyli do 60V. Przez diodę płynie więc te 100mA i to przy napięciu 60V. Czyli strata mocy 6W. I jeszcze jak płynie ten prąd. Z szyny VCC, przez silnik, diodę Zenera i do GND. Czyli nie dość że nie ma zwrotu energii do zasilania (tutaj akurat nie można go mieć ale można chociaż wyjść na 0), to jeszcze jest dalszy pobór mocy z zasilania.
    Teraz rozumiesz?

    PS. Podany przez Ciebie czas trr = 100ns dotyczy pracy tej diody w kierunku przewodzenia. A tutaj dioda pracuje w kierunku zaporowym i ten czas może być znacznie mniejszy.

    0
  • #21 26 Lip 2013 20:23
    tank_driver
    Poziom 16  

    A nie ma ta dioda zabezpieczać tranzystor przed napięciem odwrotnym indukcji powstającym przy gwałtownym odłączeniu źródła zasilania? Wtedy umieszczenie jej równolegle do tranzystora daje prawie taki sam efekt - prawie gdyż udar prądowy odłoży się przez diodę na układzie zasilania (jeśli jest prawidłowo zbudowany to nie ma z tym problemu). W przypadku podłączenia diody równolegle do cewek silnika odciążamy układ zasilania jednocześnie uniemożliwiając sobie zmianę kierunku obrotów przy późniejszym zastosowaniu mostka H. W opisywanym przypadku obie wersje będą poprawnę, a najlepszą będzie:

    Motor i AVR, połączenie ich razem?

    Dodano po 4 [minuty]:

    atom1477 napisał:
    tank_driver napisał:
    Nie jest prawdą że RFD3055 (podobnie jak każdy MOSFET) nie ma diody w swojej strukturze - ma ją gdyż jest to nieodłączny, pasożytniczy "dodatek" to tej struktury tranzystora. Dioda ta może przenieść spore natężenie prądu, problemem jest prędkość jej zadziałania - w podanym tranzystorze zareaguje ona po 100ns, 1N4148 po 4ns!. Przy 100ns i sporym napięciu wstecznym (co przy silnikach indukcyjnych jest normą) może dojść do upalenia tranzystora.

    Nie chodzi o to że jej nie ma ale o to że to jest inna dioda i nie włączona tam gdzie być powinna.
    Bo powinna być równolegle do silnika a jest równolegle do tranzystora.
    A co do jej inności to chodzi o to że to jest dioda Zenera.
    Zabezpieczyć zabezpieczy ale:
    1. Napięcie wzrośnie do napięcia tej diody. Czyli powiedzmy do 60V przy RFD3055.
    2. Prąd w cewce silnika będzie podtrzymywany przez tą diodę.
    Przy zwykłej diodzie równoległej do silnika mieli byśmy np. przy 100mA spadek niech by nawet 1V. I daje to stratę tylko 0,1W.
    Przy mostku H odpowiednio włączone diody dodatkowo dają zwrot prądu do szyn zasilania.
    3. Przy diodzie Zenera włączonej tak jak tutaj czyli źle jednak dalej płynie te 100mA. Ale silnik aby wymusić ten prąd musi zwiększyć napięcie aż do napięcia diody Zenera czyli do 60V. Przez diodę płynie więc te 100mA i to przy napięciu 60V. Czyli strata mocy 6W. I jeszcze jak płynie ten prąd. Z szyny VCC, przez silnik, diodę Zenera i do GND. Czyli nie dość że nie ma zwrotu energii do zasilania (tutaj akurat nie można go mieć ale można chociaż wyjść na 0), to jeszcze jest dalszy pobór mocy z zasilania.
    Teraz rozumiesz?

    PS. Podany przez Ciebie czas trr = 100ns dotyczy pracy tej diody w kierunku przewodzenia. A tutaj dioda pracuje w kierunku zaporowym i ten czas może być znacznie mniejszy.


    1. VSD tej diody to 1,5V a nie 60V.
    2. Prąd silnika NIE BĘDZIE podtrzymywany przez tą diodę gdyż w normalnym stanie jest ona połączona zaporowo.
    3. Dioda ma za zadanie zamykać odwrotne napięcie indukowane na cewce silnika po gwałtownym odłączeniu zasilania do tegoż zasilania, ta zawarta w strukturze RFD3055 zrobi to po maksymalnie 100ns, 1N4148 po 4ns.

    Wydaje mi się jednak że dobrze to rozumiałem jeszcze przed Twoim postem :)

    0
  • #22 26 Lip 2013 22:35
    atom1477
    Poziom 43  

    Pozwoliłem sobie zedytować Twój rysunek:
    Motor i AVR, połączenie ich razem?
    U góry normalnie czyli z diodą równolegle do silnika.
    Jak tranzystor otwarty prąd płynie normalnie. Nie trudno sobie wyobrazić jak. Dla pewności zaznaczyłem na rysunku.
    Jak zamykasz tranzystor, silnik dalej chce żeby prąd przez niego płynął w dół. Ma diodę, więc podnosi napięcie o 0,7V i może przepuścić ten prąd przez tą właśnie równoległą diodę.
    Na dole Twoja wersja bez diody.
    Jak tranzystor przewodzi to tak samo jak wcześniej.
    Jak zamykasz tranzystor to silnik też chce dalej puszczać prąd w dół.
    Zwiększa napięcie do 5,7V i nic. Bo nie ma równoległej diody.
    Zwiększa i zwiększa aż dojdzie do 60V. I w końcu prąd ma ujście przez diodę Zenera do masy. Silnik zadowolony (puszcza prąd). Dioda w tranzystorze nie (grzeje się).

    tank_driver napisał:
    A nie ma ta dioda zabezpieczać tranzystor przed napięciem odwrotnym indukcji powstającym przy gwałtownym odłączeniu źródła zasilania?

    Raczej nie.

    I jeszcze:
    tank_driver napisał:
    1. VSD tej diody to 1,5V a nie 60V.:)

    Nigdzie nie napisałem że to jest jakieś "VSD". Zapewne chodzi Ci o napięcie przewodzenia.
    Ale zobacz jak ona przewodzi. Nie w kierunku przewodzenia a w kierunku zaporowym.

    tank_driver napisał:
    2. Prąd silnika NIE BĘDZIE podtrzymywany przez tą diodę gdyż w normalnym stanie jest ona połączona zaporowo.

    To jest dioda Zenera --> przewodzi również w kierunku zaporowym.

    tank_driver napisał:
    3. Dioda ma za zadanie zamykać odwrotne napięcie indukowane na cewce silnika po gwałtownym odłączeniu zasilania do tegoż zasilania, ta zawarta w strukturze RFD3055 zrobi to po maksymalnie 100ns, 1N4148 po 4ns.

    No właśnie nie bardzo. Ona ma za zadanie zamykać odwrotne napięcie indukowane na cewce silnika po gwałtownym zamknięciu tranzystora. Gdy to będzie zamykane przez diodę Zenera to czas trr nie obowiązuje bo czas trr to jest czas dla kierunku przewodzenia.
    Gdyby jednak miała za zadanie zabezpieczać przed przepięciami z silnika podczas odłączania zasilania, to prąd popłynie tak samo jak wcześniej narysowałem. Jedyna różnica będzie taka że szyna VCC będzie miała 0V a nie 5V. Na diodzie Zenera w MOSFECie jednak dalej będzie 60V i duże straty mocy.

    0
  • #23 26 Lip 2013 23:38
    tank_driver
    Poziom 16  

    Zgadza się, schemat który przedstawiłem nie jest poprawny - bez górnych diód zabezpieczających prędzej czy później MOSFET się usmaży. Sugerowałem się 1/4 układu mostka H zapominając że w poprawnym układzie rolę diód zabezpieczających spełniają diody przeciwstopnia.

    Dobry rysunek wart jest więcej niż 1000 słów :)

    Dziękuję i przepraszam za wprowadzenie w błąd, morał z tej dyskusji niech będzie taki:

    "Pamiętaj Elektroniku Młody, nie nadążysz wymieniać MOSFET-ów gdy nie użyjesz tej diody!"

    Pozdrawiam!

    0
  • #24 27 Lip 2013 10:36
    lumpus
    Poziom 14  

    Witam

    Miło mi, że temat się rowija :-)
    Ale chciałbym by ktoś mi podał konkretny schemat z wykazem elementów oraz podłączeniem tranzystora B,E,C. Najlepiej z jak najmniejszą liczbą elementów oraz nie drogimi, ponieważ RFD3055 będzie mnie kosztował ok 11 zł/2szt. A chciałbym się zmieścić w ok. 15zł.
    Z góry dziękuje.

    0
  • #25 27 Lip 2013 10:49
    atom1477
    Poziom 43  

    Wciąż nie mamy informacji o poborze prądu przez silnik. bez tego nie można Ci pomóc.

    0
  • #26 27 Lip 2013 11:40
    lumpus
    Poziom 14  

    A jak mam go zmierzyć?

    0
  • #27 27 Lip 2013 11:45
    atom1477
    Poziom 43  

    Ale co Ty chcesz ustalać?
    Musisz ustalić pobór prądu silnika który chcesz użyć, a nie jakiegoś dowolnego silnika w którym to (niby) łatwiej jest coś ustalić.

    No ale po tym pytaniu:

    lumpus napisał:
    A jak mam go zmierzyć?

    To ja nie wiem czy to jeszcze nie za wcześnie nawet na podłączanie silnika do baterii bez żadnego procesora :/

    0
  • #28 27 Lip 2013 12:19
    lumpus
    Poziom 14  

    Do atom1477

    A dziękuje za sarkazm, ale szukam pomocy.
    To tak jak by ktoś nie wiedział - tytułem przypomnienia.

    Dodano po 29 [minuty]:

    Ok więc jest tak : Silniczek ma takie parametry 3V / 0,3A (300mA)
    Bardzo proszę :-) Czy teraz coś da rade zrobić?

    0
  • Pomocny post
    #29 27 Lip 2013 12:20
    SylwekK
    Poziom 29  

    lumpus napisał:
    ...ponieważ RFD3055 będzie mnie kosztował ok 11 zł/2szt. A chciałbym się zmieścić w ok. 15zł....


    Zastrzeliłeś mnie 8-O Nie wiem gdzie kupujesz, ale ja ich swego czasu na allegro znalazłem za 1,5zł dlatego zawsze kupuję więcej. Są bardzo uniwersalne - małe i stosunkowo duży prąd. Wpycham ich gdzie się da - idzie mi ich naprawdę sporo...

    0
  • #30 27 Lip 2013 12:29
    lumpus
    Poziom 14  

    Też na allegro z przesyłką tyle kosztują :-(

    0