Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Atmega i silnik krokowy bipolarny

KaJakKrzysztof 17 Oct 2007 19:36 22136 16
  • #1
    KaJakKrzysztof
    Level 14  
    Witam

    Chciałbym zbudować sterownik do silnika krokowego na bazie znanej mi w pewnym stopniu Atmegi8.Mam pytanie jakiego najlepiej silnika użyć? bo posiadam np. 55SPM25 wymontowany ze starej drukarki. Nie wiem natomiast jak sterować impulsami z takiej Atmegi8 (zero pojęcia jak podawać impulsy w odpowiednich jednostach czasu) czy mógłby mi ktoś to wytłumaczyć na bazie Bascoma?

    Pozdrawiam
  • Helpful post
    #2
    yakuza_2000
    Level 21  
    Ile przewodów wychodzi z silnika? Jeśli 6 lub 5, to wtedy jest to silnik unipolarny. Takim silnikiem łatwiej sterować, w sterowniku potrzebne tylko 4 tranzystory. Tu masz linka i tam jest opisane sterownie:

    https://www.elektroda.pl/rtvforum/topic637364.html

    Jeśli silnik ma 4 przewody, to juz będzie trudniej, po w sterowniku potrzebne są dwa mostki H do sterowania.
    Polecam przeszukać elektrodę, aby sie więcej dowiedzieć

    Pozdrawiam yakuza
  • Helpful post
    #3
    bogdan_p
    Level 39  
    zapoznaj się z tym projektem http://www.edw.com.pl/pdf/k10/55_06.pdf
    cała idea sterowania zawarta jest w podprogramie Foursteps i Ddelay
    jest to wprawdzie dla 8051 ale to kwestia tylko zmiany nazwy portów oraz podstawowa sprawa typ silnika i jego parametry
  • #4
    KaJakKrzysztof
    Level 14  
    yakuza_2000 wrote:
    Ile przewodów wychodzi z silnika? Jeśli 6 lub 5, to wtedy jest to silnik unipolarny. Takim silnikiem łatwiej sterować, w sterowniku potrzebne tylko 4 tranzystory. Tu masz linka i tam jest opisane sterownie:

    https://www.elektroda.pl/rtvforum/topic637364.html

    Jeśli silnik ma 4 przewody, to juz będzie trudniej, po w sterowniku potrzebne są dwa mostki H do sterowania.
    Polecam przeszukać elektrodę, aby sie więcej dowiedzieć

    Pozdrawiam yakuza


    Bardzo dziękuję za odpowiedź. Silnik ma 6 przewodów (brązwowy, niebieski, biały, czarny, żółty i czerwony). Czyli musze mieć układ ULN2003 tak? i Atmega8 za pomocą niego sterować?
    Trochę się martwie bo czytając dokumentację widzę że silnikiem 55SPM25 steruje sie przy napieciu do 30V : Mam tez drugi 42SPM24 ale nie mam zadnej dokumentacji.
  • Helpful post
    #5
    bogdan_p
    Level 39  
    silnik który posiadasz jest silnikiem unipolarnym z dzielonymi sekcjami uzwojeń , opis wyprowadzeń znajdziesz tu http://www.cnc.info.pl/viewtopic.php?t=519 warto również zapozanać się z tym tematem https://www.elektroda.pl/rtvforum/topic594106.html
    nie wiem czy to dokładnie ten silnik http://www.interq.or.jp/japan/se-inoue/e_step4.htm ważne są dalsze symbole po 24.....
  • #6
    KaJakKrzysztof
    Level 14  
    bogdan_p wrote:
    silnik który posiadasz jest silnikiem unipolarnym z dzielonymi sekcjami uzwojeń , opis wyprowadzeń znajdziesz tu http://www.cnc.info.pl/viewtopic.php?t=519 warto również zapozanać się z tym tematem https://www.elektroda.pl/rtvforum/topic594106.html
    nie wiem czy to dokładnie ten silnik http://www.interq.or.jp/japan/se-inoue/e_step4.htm ważne są dalsze symbole po 24.....


    tam nie ma podanego modelu który posiadam 55SPM25 :\ kolory przewodow podalem - czyzby mial takie połączenia (jeden kolor jest inny zamiast zielonego mam brązowy)?

    Atmega i silnik krokowy bipolarny

    czyli już wiem, że Atmega8 + układzik ULN2003 + programik i mogę sterować silniczkiem. Rozumiem że sam ULN2003 zasilamnapięciem 12 do 24V? a Input-max to 30V, Output 50V tak?
    Atmega i silnik krokowy bipolarny
    Czytałem że ULN2003A zasilany jest 5V hmm
    Czy między piny Atmegi, a ULN2003 muszę wpinać rezystory?
  • Helpful post
    #7
    bogdan_p
    Level 39  
    najpewniejszym sposobem ustalenia wyprowadzeń jest omomierz , w ten sposób na 100% ustalisz wyprowadzenia , najważniejsze to znalezienie punktów wspólnych cewek te łączysz razem i do Uzas , o kolejność pozostałych nie musisz się martwić ponieważ i tak będziesz musiał ustalić to dopiero w czasie pracy układu , chyba że będziesz miał szczęście i za pierwszym razem będzie dobrze
    Quote:
    Czytałem że ULN2003A zasilany jest 5V hmm

    http://pdf.elenota.pl/pdf/Texas_Instruments/uln2003a.pdf
    gdzie to przeczytałeś ? , wejście ULN przystosowane jest do wyzwalania typowym poziomem dla standardu TTL , dlatego bez problemu możesz wysterować go z dowolnego urządzenia zapewniający taki poziom w Twoim przypadku uC , rezystory nie są konieczne , jednak jak chcesz dodatkowo zabezpieczyć port uC to możesz je zastosować , bardziej wskazane są przy zabawie z portem LPT
    pamiętaj o jednej sprawie wszystkie masy muszą być razem tzn masa układu sterownika , ULN i zasilania silnika , oczywiście osobne są tylko potencjały + 5 V uC i +12-24 ULN
  • #8
    KaJakKrzysztof
    Level 14  
    bardzo dziekuje za pomoc - nie pozostaje mi nic innego jak kupic odpowiednie podzespoly np. zasilacz kupie chyba 12V zasile uklad ULN i silnik a przez rezystor + stabilizator 7805 Atmege.
    Pytanie jaka ma moc taki silniczek i ile pradu układ + silnik pozre - wazne zebym dobral wydajnosc prądową zasilacza a nie mam zadnych danych tego silniczka :\ - jesli patrzac na przyklad podobnego i podane dane 250 mA/cewka czyli mój mając 4 cewki = 1A tak?
    Na obudowie widnieją napisy: 55SPM25D6F1, 7,5DEG, 9Ohm
    czyli 7,5 stopnia/krok a te 9 omów to opornosc cewki(cos mala)?
    A może badając omomierzem cewki i podstawiajac do wzoru I = U/R otrzymam natezenie pradu przypadajace na 1 cewke przy podaniu 12V

    Odnosnie sterowania: punkty wspolne cewek podlaczam do Uzas czyli steruje poprzez podanie 1 na odpowiednim wyjsciu Atmegi a ULN podaje 0 na odpowiednim wyjsciu podlaczonym do cewki tak?
  • Helpful post
    #9
    bogdan_p
    Level 39  
    nie możesz stosować prostego wzoru I = U/R ponieważ to cewka a nie rezystor i zasilasz ją napięciem zmiennym a nie stałym , podobnie z mocą nie można przyjmować wzoru P = U*I , dla silników krokowych podawawany jest moment trzymania w N
    Quote:
    przez rezystor + stabilizator 7805 Atmege.

    po co rezystor 7805 śmiało możesz zasilać 12V , niepotrzebnie będziesz wydziel ciepło na rezystorze i stabilizatorze , wystarczy mały radiator na stabilizator
  • #10
    KaJakKrzysztof
    Level 14  
    bogdan_p wrote:
    nie możesz stosować prostego wzoru I = U/R ponieważ to cewka a nie rezystor i zasilasz ją napięciem zmiennym a nie stałym , podobnie z mocą nie można przyjmować wzoru P = U*I , dla silników krokowych podawawany jest moment trzymania w N
    Quote:
    przez rezystor + stabilizator 7805 Atmege.

    po co rezystor 7805 śmiało możesz zasilać 12V , niepotrzebnie będziesz wydziel ciepło na rezystorze i stabilizatorze , wystarczy mały radiator na stabilizator


    racja - kupie 12V/2A zasilacz i obadam sprawę ;) dzięki i pozdrawiam
  • Helpful post
    #11
    Dr_DEAD
    Level 28  
    bogdan_p wrote:
    nie możesz stosować prostego wzoru I = U/R ponieważ to cewka a nie rezystor i zasilasz ją napięciem zmiennym a nie stałym

    Ja jednak skłaniał bym sie ku temu aby użyć wzoru I = U/R. Dlaczego? Ano dlatego że Autor dopiero będzie sie uczył sterowania silnikiem krokowym i sytuacja typu podanie pełnego napięcia zasilania na wszystkie cewki silnika nie będzie niczym nadzwyczajnym (debugowanie, błąd w programie, zwis Atmegi ....). Ile prądu wtedy popłynie w jednej cewce? Policzmy: (Uzas-Usat)/Rcewki=(12-1.6)/9=1.15A. Co sie stanie? Zakładając że max prąd ULN'a to 500mA a max prąd cewki to 250mA (o czym wspomina Autor) to mamy spalonego ULN'a i/lub spalony Silnik. Skutek bardzo zniechęcający do dalszych eksperymentów. Pierwsza myśl jaka przyszła mi do głowy aby temu zaradzić to zastosowanie bardzo prostego źródła prądowego, wystarczył by do tego rezystor wpięty w obówd masy. Ale po pierwsze rezystor by musiał mieć sporą moc: (Uatmegi-Ui(on))*Isilnika=(5-2.7)*0.25=0.6W. Po drugie driver ULN'a nie pracował by teraz w nasyceni u tylko wydzieliło by sie na nim też sporo mocy: Isil*(Uzas-Isil*Rcewki-Urezystora)=0.25*(12-0.25*9-(5-2.7))=1.9W na każdy driver, myśle że DIP16 by tego nie wytrzymał.
    Najsensowniejszym rozwiązaniem jest chyba obniżenie napięcia zasilania ULN'a. Policzmy: Usat+Isil*Rcewki=1.6+0.25*9=3.85V Uwzględniając jjakąś tam przeciążalność i żeby nie robić sobie zbytniego kłopotu zasilił bym całość z 5V.
    Czyli zasilacz 5V/2A. - taka jest moja propozycja.
    PS. Gdzieś w obliczeniach mogłem sie pomylić :-)
  • #12
    KaJakKrzysztof
    Level 14  
    ok dziękuję bardzo ale czy przy 5V ten silnik w ogóle ruszy? i rozumiem że ma to być 5V/2A prądu przemiennego? (czyli zwykły transformator bez układu prostowniczego)
  • Helpful post
    #13
    bogdan_p
    Level 39  
    Quote:
    rozumiem że ma to być 5V/2A prądu przemiennego?

    nie , bo zniszczysz stopień mocy ULN-na i przy okazji układ z którego jest sterowany , masz poprawny schemat pokazany wyżej
    można przyjąć założenia przedstawione wcześniej , ale przy normalnej pracy wartości prądu będą zupełnie inne i w głównej mierze zależne od częstotliwości zmian sekwencji sterowania
    zanim podłączysz silnik , może zastąp uzwojenia 4 led z opornikami ograniczającymi prąd wszystko możesz zasilić + 5V i zobacz czy układ działa poprawnie , dopiero potem włącz silnik
  • #14
    KaJakKrzysztof
    Level 14  
    ok dziękuję - kierowałem się słowami "nie możesz stosować prostego wzoru I = U/R ponieważ to cewka a nie rezystor i zasilasz ją napięciem zmiennym a nie stałym" dlatego zapytałem.
    Pozdrawiam
  • Helpful post
    #15
    bogdan_p
    Level 39  
    aby wszystko było jasne , układ zasilasz napięciem stałym z pewnością na początek zastosujesz prostą sekwencję sterowania :
    Code:
    1000
    
    0100
    0010
    0001

    pomiędzy zmianą każdej sekwencją występuje przerwa czasowa tak wiec silnik zasilasz przebiegiem zmiennym w czasie dlatego była mowa o napięciu zmiennym w układzie i odpowiednich wzorach na obliczenie prądu
  • #16
    matmix1
    Level 10  
    Witam, chciałbym zrobić sterowanie silnikiem krokowym przy pomocy układu ULN2003A i atmega32. Silnik jest 4-ro żyłowy i za bardzo nie wiem jak do tego podejść. Większość tematów mówi o silnikach 5-cio żyłowych. Mój silnik jest wyciągnięty z drukarki i jest na nim napisane "Stepping motor QK1-0120 DC24V 7ohm 7.5deg/step". Proszę o pomoc.
  • #17
    Iky
    Level 1  
    najprościej zabrać sie w ten sposób:

    DIP8 Mikroprzełącznik typu DIP. podłącz po dwa wejścia do jednego kabla silnika i naprzemiennie + i - po drugiej stronie, tak żebyś mógł łatwo żonglować + i - na kablu silnika. i tak podaj najpierw
    1 0 0 0
    0 1 0 0
    0 0 1 0
    0 0 0 1 i w którymś momencie powinien sie przesunąć. właściwie zasada jest prosta jeśli chcesz sterować mikrokontrolerem to potrzebujesz odseparować silnik mostkiem H i odpowiednio otwierasz i uziemiasz według powyższego schematu. Istnieją jeszcze bardziej złożone sygnały sterujące, proponuje poszukać materiałów w sieci ale jeśli posiadasz doświadczenie elektroniczne to nie potrzebujesz dużo szukać. To moim zdaniem jest najprostrzy sposob i przy okazji sprawdzisz czy silnik nadal działa.