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

Silnik krokowy - identyfikacja -

10 Maj 2015 22:34 2916 11
  • Poziom 10  
    Witam, mam problem z identyfikacją silnika krokowego czy jest bipolarny czy unipolarny. Czy w arduino można go wysterować ULN2003 czy L298N?. Poniżej zdjęcia tego silnika. Proszę o pomoc. pozdrawiam
    Silnik krokowy - identyfikacja - Silnik krokowy - identyfikacja -
  • PCBway
  • Poziom 10  
    Witam, arturcieslak1 dzięki za odpowiedź. Problem polega na tym, że z opisu wynika że jest to silnik bipolarny dwufazowy, jednak na zdjęciu, które zamieściłem z silnika wychodzi 5 przewodów. Jak sprawdzałem miernikiem elektrycznym (opcja sygnalizacji akustycznej przy zwarciu) to środkowy kabelek piszczał ze wszystkimi innymi. Patrząc na schemat silników krokowych wskazuje (chyba że nie - jestem mocno początkujący :) ), że jest to silnik unipolarny 5 przewodowy. Silnik krokowy - identyfikacja -
    Posiadam sterownik uln2003 silnikow unipolarnych (jest pięć wyjść)

    oraz niedługo będę miał sterownik silników bipolarnych L298n (w internecie filmiki jak podłączają 4 przewody).
    Silnik krokowy - identyfikacja - Silnik krokowy - identyfikacja -
    Stąd moje pytanie. Jeśli to bipolarny to dlaczego jest 5 przewodów i jak to podłączyć żeby można wysterować w arduino?. Pozdrawiam i porszę o wyrozumiałość :)
  • Pomocny post
    Poziom 36  
    mr_egon napisał:
    Witam, mam problem z identyfikacją silnika krokowego czy jest bipolarny czy unipolarny. Czy w arduino można go wysterować ULN2003 czy L298N?. Poniżej zdjęcia tego silnika. Proszę o pomoc. pozdrawiam

    Do wstępnej ogólnej identyfikacji wystarcza minimalna wiedza że:
    - jeżeli silnik ma cztery przewody do zasilania - jest to definitywnie bipolarny(dwie cewki). Do uruchomienia wymaga dwóch mostków H (po jednym na cewkę) i bardziej skomplikowany program w odróżnieniu do unipolarnego.
    - jeżeli silnik ma wyprowadzone na zewnątrz 5 przewodów, to jest to silnik unipolarny.
    - i wreszcie silnik posiadający 6 wyprowadzeń jest to silnik uniwersalny. Posiada również dwie cewki uzwojeń lecz z odczepami po śodku; - może byc podłączony w konfiguracji jako unipolarny, wtedy te odczepy są zwarte razem i stanowią zasilanie (zwykle V+). Komutację wywołuje się podłączając sekwencyjnie pozostałe cztery przewody do GND (patrz sterowanie pełno i półkrokowe). Dla małej mocy wystarcza ULN.
    Możesz także pominąc te środkowe odczepy i wykorzystac całe cewki dla konfiguracji bipolarnej; - uzyskasz wtedy około 33% większy moment.
    Niemniej jednak dla konkretnego zastosowania będzie wymagane kierowanie się parametrami technicznymi zawartymi w datasheet.

    Arduino pozwoli wysterowac każdy stepper. Ograniczeniem może byc programista albo parametry silnika w odniesieniu do posiadanego osprzętu.
    Konkretnie: Silnik ze zdjęcia to silnik o napięciu nominalnym ok 24V. Zazwyczaj aby poprawic parametry pracy (szybkośc oddziaływania, obroty, moment) silniki krokowe zasila się napięciem wyższym (nawet 2x) niż jego napięcie nominalne z katalogu, kompensując ten zabieg skróconym czasem trwania impulsu podawanego na cewkę (odpowiednie oprogramowanie), albo włączenie dodatkowej rezystancji ograniczającej prąd w obwodach cewek.
    Do zasilania Arduino prawdopodobnie stosujesz zasilacz 12V., zatem trudno przewidziec jak ten silnik będzie pracował przy takim zasilaniu...

    e marcus
  • PCBway
  • Poziom 10  
    Witam, emarcus dzięki za odpowiedź. Czyli z tego co piszesz to jest unipolarny (bo 5 przewodów) ale jak zrezygnuje z tego środkowego (bo to jest ten odczep??) to można go wysterować jak bipolarny??. Jeśli tak to mam pytanie odnośnie tego zasilania. Arduino ma zasilanie od 5do 12.Natomiast ten silnik (jak zresztą zauważyłeś słusznie) jest na 24 V. Czy jak do pinu nr4 układu L298N podepnę te 24V to nic nie stanie się z arduino? Silnik krokowy - identyfikacja -
    pozdrawiam
    PS. silnik ma pracować praktyczne bez żadnego obciążenia więc licze że 24V wystarczy
  • Pomocny post
    Poziom 37  
    Witam !
    mr_egon napisał:
    Witam, emarcus dzięki za odpowiedź. Czyli z tego co piszesz to jest unipolarny (bo 5 przewodów) ale jak zrezygnuje z tego środkowego (bo to jest ten odczep??) to można go wysterować jak bipolarny??.


    Nie możesz go sterować jak bipolarny, bo silniki bipolarne mają dwa osobne uzwojenia.

    Pozdrawiam. Stefan
  • Pomocny post
    Poziom 36  
    mr_egon napisał:
    Witam, emarcus dzięki za odpowiedź. Czyli z tego co piszesz to jest unipolarny (bo 5 przewodów) ale jak zrezygnuje z tego środkowego (bo to jest ten odczep??) to można go wysterować jak bipolarny??.


    Niezupenie tak!...
    Z obrazka wyglda że motor ten został zmodyfikowany do unipolarnego już podczas jego montażu do jakiegoś urządzenia (modyfikacja 'after market' jako OEM) poprzez dolutowanie płytki mostkującej oba wyjścia środkowych odczepów. Prawdopodobnie oryginalne wyprowadzenia końców uzwojeń na zewnątrz
    były jak na obrazku poniżej:
    Silnik krokowy - identyfikacja -

    Musiałbyś przeanalizowac ten aspekt dokładniej, oraz dokonac kolejnej modyfikacji przywracając go do oryginalnego wyprowadzenia uzwojeń.

    Cytat:

    Jeśli tak to mam pytanie odnośnie tego zasilania. Arduino ma zasilanie od 5do 12.Natomiast ten silnik (jak zresztą zauważyłeś słusznie) jest na 24 V. Czy jak do pinu nr4 układu L298N podepnę te 24V to nic nie stanie się z arduino?

    Owszem możesz układ mocy w L298N zasilic napięciem 24V zgodnie z diagramem (Figure 8), pamiętając o diodach D1 do D8 (obciążenie indukcyjne). Prawdopodobnie pominiesz układ L297 i wysterujesz wszystko z Arduino - jest to możliwe, choc trochę skomplikowane. Skoro nie będziesz monitorowałwał prądu cewek więc pomiń RS1 i RS2 podłączając piny 1 i 15 bezpośrednio do GND aby zamknąc obwód.

    e marcus
  • Poziom 10  
    emarkus - ślicznie dziękuję za pomoc i wyjaśnienie
  • Poziom 10  
    Witam,
    udało mi się wysterować silnik sterownikiem silników unipolarnych
    Silnik krokowy - identyfikacja -
    poniżej filmik ze sterowaniem 1 obrót w prawo - sekunda przerwy - 1 obrót w lewo
    http://tnij.org/sterowanie_silnikiem
    Natomiast mam kolejne pytania:
    1 Dlaczego na sterowniku jest zakres zasilania 5-12V skoro w parametrach ULN2003 jest napisane, że można go zasilać max 50V?, czy można do pinów przy oznaczeniu 5-12V dać większe napięcie

    Silnik na filmiku zasilany jest z ładowarki 5V. z wzoru I=U/R wychodzi że prąd wynosi 400mA, czyli prawie max tego co można wyciągnąć z ULN2003 (tak mi się wydaje, w specyfikacji napisane jest że 500mA). Jak na chwilę podłączyłem zasilacz 12V 1000mA, silnik był o wiele mocniejszy i szybszy (nie gubił kroków przy krótszym czasie impuslu), ale sterownik po kilku sekundach był mocno ciepły więc go wyłączyłem. Mam zasilacz od drukarki z której jest ten silnik. Zasilacz 24V 550mA. i tu pytania:
    2. Czy można podpiąć ten zasilacz do tych pinów sterownika przy których jest napisane napięcie 5-12V?, czy nie uszkodzi to sterownika lub arduino?
    3. Z wzoru I=U/R wychodziło by że prąd wyniesie I=24V/12,5Ohm = 1,92A. Czy z uwagi na to że zasilacz daje 550mA czy można to tak podłączyć (czy coś się stanie z zasilaczem?) i czy wpłynie to na większa dynamikę/moment/osiągi silnika?

    pozdrawiam
  • Pomocny post
    Poziom 36  
    mr_egon napisał:
    Witam,
    udało mi się wysterować silnik sterownikiem silników unipolarnych
    ........
    Natomiast mam kolejne pytania:
    1 Dlaczego na sterowniku jest zakres zasilania 5-12V skoro w parametrach ULN2003 jest napisane, że można go zasilać max 50V?, czy można do pinów przy oznaczeniu 5-12V dać większe napięcie

    Silnik na filmiku zasilany jest z ładowarki 5V. z wzoru I=U/R wychodzi że prąd wynosi 400mA, czyli prawie max tego co można wyciągnąć z ULN2003 (tak mi się wydaje, w specyfikacji napisane jest że 500mA). Jak na chwilę podłączyłem zasilacz 12V 1000mA, silnik był o wiele mocniejszy i szybszy (nie gubił kroków przy krótszym czasie impuslu), ale sterownik po kilku sekundach był mocno ciepły więc go wyłączyłem. Mam zasilacz od drukarki z której jest ten silnik. Zasilacz 24V 550mA. i tu pytania:
    2. Czy można podpiąć ten zasilacz do tych pinów sterownika przy których jest napisane napięcie 5-12V?, czy nie uszkodzi to sterownika lub arduino?
    3. Z wzoru I=U/R wychodziło by że prąd wyniesie I=24V/12,5Ohm = 1,92A. Czy z uwagi na to że zasilacz daje 550mA czy można to tak podłączyć (czy coś się stanie z zasilaczem?) i czy wpłynie to na większa dynamikę/moment/osiągi silnika?

    pozdrawiam


    Ad .1 Istotnie, ULN może byc zasilany napięciem roboczym do 50V, ale zauważ że na płytce masz jeszcze dodatkowo diody sygnalizacyjne zasilane tym samym poziomem napięcia poprzez rezystory 470 ohmów. Parametry pracy dla tych diod (jak w większości przypadków) należy przyjąc: Ifmax = 25mA oraz spadek napięcia ΔV = 2V.
    Rachując eventalną wartośc prądu diod dla ograniczonego zakresu napięcia (5 - 12V) otrzymasz :
    w jednym skrajnym variancie (5V) => If= 3/470 = 6 mA - dostateczny prąd aby dioda zaświeciła...
    w drugim skrajnym przypadku (12V) => If =10/470 = 21 mA - co mieści się w zakresie aby jej nie spalic.
    Przelicz jaki prąd popłynie przez diody przy napięciu jakim chcesz zasilic układ....
    Musiałbyś odpowiednio zmienic wartości tych rezystorów, albo odłączyc sygnalizację, która do niczego nie jest konieczna.

    Ad.2 Zasilacz drukarki nie uszkodzi Arduino, bo Arduino ma swoje zasilanie ze stabilizacją 5V i z arduino czerpiesz tylko sygnał kontrolujący driver, ale możesz miec problem z samym ULN i prądem silnika.

    Ad3. ("...-wychodziło by że prąd wyniesie I=24V/12,5Ohm = 1,92A..."). Jak ty to wyliczyłeś?
    Popatrz jeszcze raz na jego parametry:
    Silnik krokowy - identyfikacja -

    Przy zalecanym zasilaniu bipolarnym włączona jest cała cewka, której rezystancja wynosi 5.5 Ω, natomiast stosując metodę unipolarną podłączasz tylko jej połowę do sterownika....
    Dlatego datasheet zaleca zasilanie z monitorowaniem/kontrolowaniem prądu "(Baipolar chopping driving)". W twoim wykonaniu jeżeli nie monitorujesz prądu, musiabyś przyłożyc więcej uwagi do częstotliwości i czasu trwania pulsacji sygnału sterującego.
    Jeżeli masz dostęp do oryginalnej płytki z printera (?) - wykorzystaj tamten układ; z pewnością będzie lepszym rozwiązaniem niż jakikolwiek ULN...

    Printery zwykle są montowane gdzieś w Azji i możesz się spodziewac że zainstalowano tam mocniejszy driver, na przykład: Mitsubishi M5265P dający prąd Icmax = 2A na kanał.

    e marcus
  • Poziom 10  
    E marcus, jeszcze raz dzięki. Co do rezystancji silnika to oznaczenie 12,5 Ohm jest na silniki ale sprawdziłem jeszcze czujnikiem i tyle jest, stąd moje wyliczenie. Rzeczywiście 500mA z tego ULN2003 to troszkę mało, więc zasilam ładowarką 5V (600mA) ale zrobiłem zamiast sterowania falowego, pełnokrokowe i jest większy moment. Nie wiem czy sobie poradzę z wykorzystaniem sterownika z oryginalnej płytki z drukarki bo nie bardzo wiem który to sterownik :). Ale wczoraj przyszedł mi wspomniany wcześniej sterownik L298n, bo mam też silnik bipolarny z tej drukarki. Na szybko wczoraj podłączyłem z przykładu z Arduino "stepper_oneRevolution" i cos nie kręciło dobrze, może kwestia napięcia (zasilacz 12V 1A) na silniku napisane 24V albo coś źle podłączyłem.
    pozdrawiam
  • Poziom 10  
    Witam, mam pytanie w związku z tym że uszkodziłem arduino. podłączyłem sterownik uln298n Silnik krokowy - identyfikacja - :
    Do wejścia oznaczonego nr 4 (na rysunku) doprowadziłem:
    - 12V z zasilacza,

    do wejścia nr 5:
    - zero z zasialcza i gnd z arduino,

    do wejścia nr 6:
    - doprowdziłem 5v z arduino (i to był chyba błąd) gdyż przy założonej zworce to właśnie tam pojawia się 5v, którym mogę arduino zasilać (tak mi się wydaje)

    rozumiem że to uszkodziło arduino tak??

    Po tym fakcie nie mogę wgrywac nowych szkiców, ale działa ten do sterowania silnikiem bipolarnym, przy próbie wgrania czegokolwiek
    "avrdude: stk500_recv(): programmer is not responding"
    oraz
    "vrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x0f"

    mam atmegę czystą i usbasp 2.0 lc technology, ale poległem przy wypalaniu bootloadera (sam nie wiem czy się wypalił czy nie, jak to sprawdzić?, bo po włożeniu jej do arduino nie działa) .
    Czy jest szansa że poszła tylko atmega??, zamówiłem nową z wypalonym bootloaderem do arduino

    pozdrawiam