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

Attiny2313 - silnik krokowy, bipolarny, sterowanie przez BC548

zymen 28 Maj 2012 23:07 10878 32
  • #1 28 Maj 2012 23:07
    zymen
    Poziom 9  

    Witam,

    mam silnik krokowy wymontowany z napędu DVD. Po krótkich próbach udało się nim sterować przy pomocy Attiny2313 bezpośrednio z portów tego mikroprocesora (bez żadnych oporników po drodze, bez tranzystorów). Działało to ładnie do momentu, kiedy postanowiłem przesuwać tackę - okazało się, że silnik jest zbyt słaby (pewnie zbyt słaba wydajność prądowa portu mikroprocesora). Postanowiłem więc dodać tranzystory.

    No i niestety nie działa:

    Z mikroprocesora przez opornik 100Ohm steruję bazą tranzystora. Do kolektora podpięte napięcie 5V. Tranzystor to BC548. Emiter do minusa.

    Nie ma znaczenia, czy silnik próbuję sterować kolektorem czy emiterem, widać, że "drga", ale robi coś w postaci 2 kroków w jedną stronę i 1 w drugą. Usunięcie tranzystora na rzecz bezpośredniego spięcia z mikroprocesorem inicjuje poprawny ruch.

    Podpiąłem diodę pod tranzystor i miga, czyli teoretycznie jest ok.

    Dla testów próbowałem tak sterować tylko jednym (z 4) przewodów silnika, czyli na 3 jest bezpośrednie połączenie z attiny2313, na jednym jest tranzystor.

    Co może być nie tak?

    pozdrawiam,

    0 29
  • Renex
  • #2 28 Maj 2012 23:10
    sulfur
    Poziom 24  

    Brakuje Ci podstaw teoretycznych na jakiej zasadzie steruje się bipolarnymi silnikami krokowymi. Zacznij od tego.

    0
  • #3 28 Maj 2012 23:13
    dondu
    Moderator Mikrokontrolery Projektowanie

    zymen napisał:
    mam silnik krokowy wymontowany z napędu DVD. Po krótkich próbach udało się nim sterować przy pomocy Attiny2313 bezpośrednio z portów tego mikroprocesora (bez żadnych oporników po drodze, bez tranzystorów).

    Działało to ładnie do momentu, kiedy postanowiłem przesuwać tackę - okazało się, że silnik jest zbyt słaby (pewnie zbyt słaba wydajność prądowa portu mikroprocesora). Postanowiłem więc dodać tranzystory.

    No i niestety nie działa:

    Z mikroprocesora przez opornik 100Ohm steruję bazą tranzystora. Do kolektora podpięte napięcie 5V. Tranzystor to BC548. Emiter do minusa.

    Nie ma znaczenia, czy silnik próbuję sterować kolektorem czy emiterem, widać, że "drga", ale robi coś w postaci 2 kroków w jedną stronę i 1 w drugą. Usunięcie tranzystora na rzecz bezpośredniego spięcia z mikroprocesorem inicjuje poprawny ruch.

    Podpiąłem diodę pod tranzystor i miga, czyli teoretycznie jest ok.

    Dla testów próbowałem tak sterować tylko jednym (z 4) przewodów silnika, czyli na 3 jest bezpośrednie połączenie z attiny2313, na jednym jest tranzystor.

    O Boże!
    Zacznij od uważnej i powolnej lektury większości artykułów z działu: Zasilanie i zakłócenia

    Gdy już to zrobisz, opracuj schemat i wrzuć na forum do sprawdzenia jeszcze zanim podłączysz i zaczniesz testować no chyba, że nie ma dla Ciebie znaczenia ile mikrokontrolerów puścisz z dymem :)

    0
  • #4 29 Maj 2012 00:26
    zymen
    Poziom 9  

    Eh ;-)

    Informatyka jest moją techniczną miłością, a elektronika miała być tylko kochanką. Widać, że ta druga coraz więcej czasu absorbuje :)

    Materiały oczywiście poczytam (już dodane do ulubionych). Szukam jednak podpowiedzi w formie np. schematu.

    Próbowałem bazować na https://obrazki.elektroda.pl/12_1262686007.png (z popularnej "frezarki za 250 pln"), ale jednak coś istotnie robię nie tak. Zastanawia mnie do czego są diody łączące emiter z kolektorem - zabezpieczenie?

    Gdyby brakowało mi podstaw sterowania silnikami bilpolarnymi, to pewnie nie udałoby mi się napisać aplikacji, która wielokrotnie, powtarzalnie, w dwie strony porusza silnikiem? :) Aczkolwiek fakt, że staram się podchodzić do tematu pragmatycznie (minimum wiedzy ponad to, co potrzebuję) jest niezaprzeczalny.


    pozdrawiam,

    0
  • Renex
  • #5 29 Maj 2012 00:38
    mirekk36
    Poziom 42  

    zymen napisał:

    Próbowałem bazować na https://obrazki.elektroda.pl/12_1262686007.png (z popularnej "frezarki za 250 pln"), ale jednak coś istotnie robię nie tak. Zastanawia mnie do czego są diody łączące emiter z kolektorem - zabezpieczenie?


    Zobacz tutaj:

    http://mirekk36.blogspot.com/2012/04/przekaznik-procesor-i-zakocenia.html

    bo cewki silnika to w zasadzie to samo co cewka przekaźnika - więc co się może dziać bez tej diody. Tyle że na tym rysunku(schemacie) ktoś chyba źle te diody niestety wstawił ;) .... powinny być równolegle z cewkami do ich zasilania.

    a poza tym spróbuj poczytać też to:

    http://mirekk36.blogspot.com/2012/04/mikrokontroler-prawidowe-zasilanie.html

    no a jeśli chodzi o rysowanie schematów to rzuć okiem tutaj:

    http://mirekk36.blogspot.com/2012/04/kurs-eagle-part-01.html

    wtedy szybciej się ze swoją "kochanką" dogadasz ;) (tzn z tą kochanką o której pisałeś wyżej hyhyhy fajne określenie)

    0
  • Pomocny post
    #6 29 Maj 2012 00:41
    dondu
    Moderator Mikrokontrolery Projektowanie

    zymen napisał:
    Informatyka jest moją techniczną miłością, a elektronika miała być tylko kochanką. Widać, że ta druga coraz więcej czasu absorbuje :)

    No to musi awansować, by dorównać tej pierwszej :D

    zymen napisał:
    Zastanawia mnie do czego są diody łączące emiter z kolektorem - zabezpieczenie?

    Tak, a wyjaśnienie znajdziesz tutaj (to jeden z artykułów z linka który podałem Ci wcześniej): Przekaźnik i zakłócenia


    zymen napisał:
    Gdyby brakowało mi podstaw sterowania silnikami bilpolarnymi, to pewnie nie udałoby mi się napisać aplikacji, która wielokrotnie, powtarzalnie, w dwie strony porusza silnikiem? :)

    Nie wiem co odpowiedzieć - może tak: dałbyś radę, ale sprzęt najprawdopodobniej poszedłby z dymem, a Ty nie wiedziałbyś dlaczego.


    zymen napisał:
    Aczkolwiek fakt, że staram się podchodzić do tematu pragmatycznie (minimum wiedzy ponad to, co potrzebuję) jest niezaprzeczalny.

    problem w tym, że duperelka może położyć najlepszy projekt :)

    0
  • #7 29 Maj 2012 00:59
    zymen
    Poziom 9  

    Czyli tak w skrócie reasumując: obstawiasz, że po raz n-ty przyczyną jest duża doza przypadkowości, a to, że na bezpośrednim wykorzystaniu portów udało się sterować silnikiem to kwestia specyficznego układu dużej dozy przypadkowości? :-)

    Co do Eagle - oprócz kilku małych makamentów opanowany, nawet 3D udało się raz wygenerować.

    Pozostałe przeglądnięte/przeczytane. Filmik o tym, po co dioda prostownicza przy elemencie wykonawczym bardzo fajny. Dzięki!

    Muszę sobie doczytać kilka kwestii i pewnie się wkrótce odezwę.

    Dzięki!

    0
  • Pomocny post
    #8 29 Maj 2012 01:03
    dondu
    Moderator Mikrokontrolery Projektowanie

    zymen napisał:
    Czyli tak w skrócie reasumując: obstawiasz, że po raz n-ty przyczyną jest duża doza przypadkowości, a to, że na bezpośrednim wykorzystaniu portów udało się sterować silnikiem to kwestia specyficznego układu dużej dozy przypadkowości? :-)

    Raczej szczęścia :)

    0
  • #9 29 Maj 2012 09:50
    mirekk36
    Poziom 42  

    zymen napisał:
    Czyli tak w skrócie reasumując: obstawiasz, że po raz n-ty przyczyną jest duża doza przypadkowości, a to, że na bezpośrednim wykorzystaniu portów udało się sterować silnikiem to kwestia specyficznego układu dużej dozy przypadkowości? :-)


    No takie podłączanie silników wprost do pinów procka to po prostu jest niedopuszczalne ;) .... zatem sam widzisz, że to że coś ci tam działało - to tylko zbieg okoliczności i czasem spora wytrzymałość niektórych elementów elektronicznych. Jednak jak widziałeś mój artykuł o prawidłowym zasilaniu, który wyżej podałem i poczytałeś o zakłóceniach jakie dodatkowo mogą wpływać na działanie programu to chyba już rozumiesz - że nie tędy droga ;)

    0
  • #10 29 Maj 2012 10:58
    zymen
    Poziom 9  

    Taak...

    Widzę, że niestety "w tej bajce" (elektronika) "na krzyż" to można co najwyżej upaść, a projekty muszą być konkretnie przemyślane :-)

    Dzięki Panowie za pomoc, wydaje mi się, że temat można zamknąć.
    pozdrawiam,

    0
  • #11 29 Maj 2012 18:52
    zymen
    Poziom 9  

    Nie wiem czy zakładać nowy temat, czy mogę się odnieść tutaj:

    mam dwa silniki o oznaczeniach:

    42SIM-24D8YB1
    7,5Deg - 24Ohm (japan)

    i data produkcji.

    Mają 5 wyjść. Na wtyku (tym nakładanym na piny, nie wiem jak to się profesjonalnie nazywa) 4-ry są "odseparowane" od 5-ego. Pomiędzy czterema a piątym jedna pozycja na wtyku jest wyłamana(separacja). Sprawdziłem oporności i wychodzi, że pomiędzy dowolną parą 2 różnych przewodów ze zgrupowanej sekcji występuje opór 48 Ohm, a pomiędzy dowolnym przewodem ze zgrupowanej sekcji i z oddzielnego przewodu jest 24 Ohm.

    Obstawiam, że to schemat połączenia taki jak na http://www.edw.com.pl/pdf/k01/79_22.pdf rysunek 3, silnik unipolarny. Tak?

    Jak mogę sprawdzić, jakie parametry posiada ten silnik? Niestety noty katalogowej nie mogę znaleźć na podstawie jego identyfikatora.

    pozdrawiam,

    0
  • #12 29 Maj 2012 19:28
    mirekk36
    Poziom 42  

    zymen napisał:
    Nie wiem czy zakładać nowy temat, czy mogę się odnieść tutaj:

    mam dwa silniki o oznaczeniach:

    42SIM-24D8YB1
    7,5Deg - 24Ohm (japan)

    i data produkcji.

    Mają 5 wyjść. .... silnik unipolarny. Tak?


    Tak - 5 wyjść to unipolarny.

    0
  • #13 29 Maj 2012 22:20
    janbernat
    Poziom 38  

    Obstawiam 12V i 0.5A.
    ULN może nie pociągnąć.
    Pokaż schemat i program.
    Można zrobić pracę pełnokrokową, półkrokową albo falową.

    0
  • #14 29 Maj 2012 22:35
    zymen
    Poziom 9  

    janbernat: spróbuję w taki sposób to ogarnąć: https://obrazki.elektroda.pl/12_1262686007.png .

    Co się stanie, jeśli spróbuję zasilić ten silnik ze źródła z mniejszą wydajnością prądową? Akurat mam tranzystory BC548, one mają prąd do 500 mA. Spalą się tranzystory czy po prostu silnik nie osiągnie pełnej mocy?

    pozdrawiam,

    0
  • #15 29 Maj 2012 22:40
    janbernat
    Poziom 38  

    DIODY między kolektor a zasilanie.
    Jak będzie mniejsza wydajność prądowa to silnik będzie miał mniejszy moment.
    Takie stare silniki to można mocno przewoltować- dopóki mozna dotknąć to działają.
    W szereg z uzwojeniami można dać jakieś oporniki- zwykle większej mocy niż te zwykłe.
    Daj program.

    0
  • #16 29 Maj 2012 22:45
    zymen
    Poziom 9  

    janbernat napisał:
    DIODY między kolektor a zasilanie.


    Tzn? Dodatkowo oprócz tej pomiędzy kolektorem a emiterem?

    janbernat napisał:

    Daj program.


    Aktualnie powstaje idea - tak jak widzisz powyżej sporo musiałem sobie doczytać - jak tylko się coś konkretnego pojawi, z pewnością wkleję.

    pozdrawiam,

    0
  • #17 29 Maj 2012 23:10
    janbernat
    Poziom 38  

    W innym miejscu- między kolektorem a masą są niepotrzebne.

    0
  • #18 30 Maj 2012 19:48
    zymen
    Poziom 9  

    Witam ponownie!

    A więc tak. Miałem chwilę wolną i połączyłem (zgodnie z wielokrotnie już wstawianym tutaj obrazkiem, z pominięciem sugestii kol. janbernat) silnik krokowy przez BC548. Na początku okazało się, że źle wlutowałem diody zabezpieczające przy tranzystorach, ale po zmianie ich kierunku wszystko ruszyło. Tyle tylko, że ruszyło kilka kroków i stanęło :) Silnik zaczął się grzać, tranzystory też, wyłączyłem.

    Po sprawdzeniu zestawem doświadczalnym w postaci dioda+opornik wydedukowałem, że na attiny2313 na poszczególnych nóżkach stany są właściwe (dioda gaśnie/zapala się zgodnie z planem), ale niestety po testach w punkcie kolektora na 3 tranzystorach okazało się, że dioda świeci cały czas. Sprawdziłem jeszcze na wszelki wypadek połączenia no i są poprawne. Zauważyłem, że jeśli ustawię silnik w odpowiedniej pozycji, to po podłączeniu zasilania wykona drobny krok - pewnie ten pozostały tranzystor na tyle na ile może na tyle funkcjonuje.

    Teraz pytanie za 100 pkt: jakie mogą być objawy uszkodzonego tranzystora? Oprócz tego, że nie działa tak jak producent planował :-) Mam płytkę uniwersalną wierconą bez połączeń między punktami. Kupowana najtańsza i mam wrażenie, jakby była z grubszej tektury :/ Da się sprawdzić te tranzystory bez wylutowywania ich?

    I tak ogólniej: jak testuje się pod względem poszukiwania przyczyny błędu układy elektroniczne? W programowaniu jest to proste. Odpala się debugger i iteruje krok po kroku. Jeśli jest błąd, wraca się do kroku przed błędem i wchodzi w coraz większe szczegóły aby w końcu znaleźć przyczynę. Czasem gdy debugger jest kiepski(c++), albo go nie ma (php) stosuje się niezawodne "print". A w elektronice? Diody? Jakieś dobre, sprawdzone linki na ten temat?

    pozdrawiam,

    0
  • #19 30 Maj 2012 20:51
    janbernat
    Poziom 38  

    Skoro już olałeś moje sugestie to kup sobie woreczek tranzystorów.
    Zwykle są sprzedawane po 100szt.
    Taniej wyjdzie.
    Najpierw stosujemy podstawowe zasady projektowania układów.
    A dopiero potem stosujemy debugger.
    Na razie jesteś na takim etapie:
    c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5/crtm32.o:(.init9+0x0): undefined reference to `main'
    I tu debugger się słabo sprawdza.
    Dopóki tranzystory nie będą zabezpieczone diodami wpiętymi między kolektor a zasilanie
    dalsze rozważania są bezcelowe.
    http://mikrokontrolery.blogspot.com/2011/03/przekaznik-i-zaklocenia.html
    http://mirekk36.blogspot.com/2012/04/przekaznik-procesor-i-zakocenia.html

    0
  • #20 30 Maj 2012 21:27
    zymen
    Poziom 9  

    janbiernat: Nie do końca wiem, jak widziałbyś umieszczenie jeszcze tych diód na schemacie o którym mówię - tylko dlatego zignorowałem. Gdybym wiedział, to bym je tam umieścił. Patrząc na schematy z linków, które podałeś, wydaje mi się, że tak zrobiłem: do kolektora minus diody, do emitera plus. Takie coś na każdy tranzystor. Zgodnie z opisem wyłapuje "piki" przy rozłączaniu/załączaniu obciążeń.

    Czego mi w tym brakuje?

    Attiny2313 - silnik krokowy, bipolarny, sterowanie przez BC548

    Takie coś zbudowałem. Drugi mój projekt w Eagle wybaczcie ewentualne ubytki ;-)

    Rezystory - 1kOhm
    Tranzystory - BC548
    Diody: 1N4001 jeśli dobrze widzę.

    pozdrawiam,

    0
  • #21 30 Maj 2012 21:45
    mirekk36
    Poziom 42  

    zymen napisał:
    janbiernat: Nie do końca wiem, ................ Patrząc na schematy z linków, które podałeś, wydaje mi się, że tak zrobiłem: do kolektora minus diody, do emitera plus. Takie coś na każdy tranzystor.


    No ale zobacz, na żadnym ze schematów w podanych linkach nie ma tak podłączonych diod jak ty opisujesz. I już wyżej ktoś pisał ci żebyś tak nie podłączał tych diod - czyli Katodę do kolektora a Anodę do emitera. A ty znowu to samo ;)

    Jeszcze raz przypatrz się tym linkom i obrazkom i schematom.

    Anoda diody do kolektora!
    Katoda diody do ZASILANIA cewki

    ona ma być włączona równolegle do cewki a nie tak jak ty robisz :(

    0
  • #22 30 Maj 2012 21:46
    janbernat
    Poziom 38  

    Dioda do kolektora i do + zasilania.
    Równolegle do cewki/uzwojenia czy jakiejkolwiek indukcyjności.
    Rozłączenie przepływu prądu płynącego przez gałąź w której jest indukcyjność powoduje powstanie na niej dużego napięcia.
    Było nie spać na lekcjach fizyki w II klasie liceum.
    (przynajmniej za moich czasów).

    0
  • #23 30 Maj 2012 21:57
    zymen
    Poziom 9  

    Wrzuciłem schemat:

    Attiny2313 - silnik krokowy, bipolarny, sterowanie przez BC548

    Teraz dobry.

    I czytam Wasze odpowiedzi. Myślę.

    Hm. Po Waszych sugestiach:

    Attiny2313 - silnik krokowy, bipolarny, sterowanie przez BC548

    Takie połączenie jak dla PB3 (wiem, że dla wszystkich)?

    pozdrawiam,

    0
  • #26 30 Maj 2012 22:41
    zymen
    Poziom 9  

    To wg. Was https://obrazki.elektroda.pl/12_1262686007.png jest zły?

    Przeglądałem Twoją stronkę i już jest w ulubionych, ale niestety aktualnie ręcznie implementuję sieci neuronowe na gpu i lutownicę tylko od czasu do czasu w ramach 'rozprostowania kości' używam. Jak tylko zakończę priorytetowy temat na pewno przyglądnę się dokładniej.

    pozdrawiam,

    0
  • #27 30 Maj 2012 22:45
    mirekk36
    Poziom 42  

    Nie - no ten co pokazałeś w linku jest w miarę OK ;)

    ale ten gdzie rysowałeś te diody - to hmm brak kropek, jakieś ukośne linie - itp - więc tak mi się nasunęło z tym linkiem do kursu

    ale - jak mówisz - trzeba mieć czas - bo wszystkiego naraz się nie zrobi przecież.

    0
  • #28 30 Maj 2012 22:47
    zymen
    Poziom 9  

    Ale chodzi mi o sposób połączenia diód zabezpieczających do tranzystora. Bo to za co mnie zganiliście było dokładnie takie jak tam.

    Pytam tak uporczywie, bo ten schemat, na którym się wzorowałem to ta popularna frezarka cnc za 250 PLN. I tak trochę założyłem z góry, że skoro temat na 18 podstron i wielu naśladowców, to raczej jest OK :)

    Damn.

    W temacie: https://www.elektroda.pl/rtvforum/viewtopic.php?t=297544 znalazłem schemat: Attiny2313 - silnik krokowy, bipolarny, sterowanie przez BC548

    I to raczej przypomina ten schemat co miałem na początku, a nie ten drugi...

    pozdrawiam,

    0
  • #29 31 Maj 2012 08:37
    zymen
    Poziom 9  

    OK. Mam. http://www.edw.com.pl/pdf/k01/79_22.pdf strona 24, rysunek 9. Mówiliśmy w kwestii tych diód o zupełnie innych zabezpieczeniach. I jedne i drugie są potrzebne, przy czym te o których Wy mówiliście chyba bardziej :-)

    pozdrawiam,

    0
  • #30 31 Maj 2012 09:01
    94075
    Użytkownik usunął konto