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

Silnik krokowy jako enkoder/impulsator

sq1ftb 21 Sty 2011 17:56 27367 41
  • Silnik krokowy jako enkoder/impulsator

    Do zaprojektowania i skonstruowania enkodera, jak to zazwyczaj bywa, zachęciła mnie dostępność starych napędów FDD i HDD. Do tego typu zastosowań doskonale nadają się silniki krokowe wycofanych już zupełnie stacji 5 ¼” oraz silniki napędzające talarze w dyskach twardych HDD. Podstawową wadą tanich enkoderów impulsowych jest mała precyzja wykonania elementów stykowych, a co za tym idzie, nieprecyzyjne działanie polegające na m.in. „gubieniu” impulsów. Stosunkowo dużym utrudnieniem w odniesieniu do enkoderów mechanicznych jest też używanie odpowiedniego oprogramowania w układach mikroprocesorowych, co czasami uniemożliwia wykorzystanie przerwań do innych celów.
    Serdeczne podziękowania dla kol. Mirley (elektroda.pl) za inspiracje swoim projektem (http://mirley.firlej.org) oraz dla kol. Thomasa OZ2CPU (http://www.webx.dk/oz2cpu/20m/encoder.htm) Thank's Thomas.
    Pracę enkodera mozna zobaczyć poniżej.



    Link

    Załączniki:

    Fajne!
  • #2 21 Sty 2011 18:10
    inventco.eu

    Poziom 29  

    W zasadzie to nie jest enkoder tylko impulsator.

    Poza tym ciekawe wykorzystanie silnika krokowego.

  • #4 21 Sty 2011 20:11
    moon09
    Poziom 15  

    Dobrze zrozumiałem, że ten silnik krokowy jest użyty jako tzw. cyfrowy potencjometr? (wysyłający impulsy przód/tył do uC)?

  • #5 21 Sty 2011 20:17
    CrQ
    Poziom 11  

    Orientujesz się może ile impulsów będzie przypadało na obrót (w przypadku zastosowania silników o których wspomniałeś w temacie) ? Jakie prędkości obrotowe są poprawnie obsługiwane ?

  • #6 21 Sty 2011 20:33
    sq1ftb
    Poziom 12  

    Wszystko zależy od ilości biegunów w silniku krokowym. Silniczki od FDD starego typu ok. kilkudziesięciu imp /obr. Silniki od CD i HDD - kilka /obr. Dokładnych pomiarów nie robiłem, bo wszystko zależy od typu użytego silnika. W wykonaniu z CD według pomiarow "szpitalnych" - czyli na oko - działanie jest porownywalne z enkoderem od IC-746. Do pomiaru prędkości obrotowych, musialbym dokonac pomiarów na stanowisku napęd-obrotomierz-licznik. Nie mam takiego stanowiska.

    Dodano po 5 [minuty]:

    aj123 napisał:
    Fajne :D A do czego taka zabawka ma służyć ?

    Zastosowanie ogranicza jedynie wyobraźnia elektronika.
    Np. Obrotowy zamek szyfrowy - jak w filmowych sejfach.
    Kod - 5 imp w prawo 12 w lewo 3 w prawo i otwarte !!!
    Wszystko zależy od programu w mikroprocesorze, ktory bedzie na swoich portach pobierał impulsy.

    Przykład 2:
    Potencjometr cyfrowy - w prawo głośniej w lewo ciszej.

    Przykład 3:
    Zmiana czestotliwości cyfrowego generatora - w prawo zwiększa w lewo zmniejsza

    idt itp

  • #7 21 Sty 2011 20:35
    unitral
    Użytkownik obserwowany

    CrQ napisał:
    Orientujesz się może ile impulsów będzie przypadało na obrót (...) Jakie prędkości obrotowe są poprawnie obsługiwane ?


    Na każdym silniku jest napisane ile ma podziałek na obrót.

    Tego silnika nie zakręcisz super szybko, z doświadczenia wiem że ma zbyt wielki opór i bezwładność żeby kręcił się ponad 200obr/min.

  • #8 21 Sty 2011 20:42
    sq1ftb
    Poziom 12  

    moon09 napisał:
    dobrze zrozumiałem, że ten silnik krokowy jest użyty jako tzw. cyfrowy potencjometr? (wysylajacy impulsy przód/tył do uC)?


    Właśnie tak działa.

    Dodano po 4 [minuty]:

    Cytat:
    Tego silnika nie zakręcisz super szybko, z doświadczenia wiem że ma zbyt wielki opór i bezwładność żeby kręcił się ponad 200obr/min.


    Zgadza się. Taka bezwładność mechaniczno-magnetyczna bywa czasami zaletą.
    Nie posiada jej natomiast silnik od HDD - obraca się bardzo płynnie i dzięki doskonałemu łożyskowaniu jest "delikatny" w obracaniu.

  • #9 21 Sty 2011 20:44
    pier
    Poziom 23  

    Bardzo ciekawy projekt.
    Taki silnik krokowy jak impulsator będzie chyba wieczny.

    A czy w układzie tym da radę zastosować Attiny13?

  • #10 21 Sty 2011 20:50
    unitral
    Użytkownik obserwowany

    pier napisał:

    Taki silnik krokowy jak impulsator będzie chyba wieczny.

    Prawie :)
    Większość tych silników posiada łożyska ślizgowe a nie toczne.

  • #11 21 Sty 2011 20:51
    sq1ftb
    Poziom 12  

    Sądzę, że powinien pracować z ATTiny13. Niestety nie mam takiego pod ręką. Wszystko wyjdzie po kompilacji. Nie ma nadmiaru zastosowanych zmiennych, obszar stosu ograniczony, powinno działać, ale może ktoś, kto ma większe doświadczenie w "maluchach" się wypowie.

  • #12 21 Sty 2011 22:47
    Macosmail
    Poziom 33  

    sq1ftb napisał:
    silnik od HDD - obraca się bardzo płynnie i dzięki doskonałemu łożyskowaniu jest "delikatny" w obracaniu.
    Tak. Tylko trzeba dodać, że to nie jest silnik krokowy. Pozdrawiam.

  • #13 22 Sty 2011 00:07
    fgfg
    Poziom 14  

    Cytat:
    Tak. Tylko trzeba dodać, że to nie jest silnik krokowy.

    Tak, a dokładnie to silnik bldc.

  • #14 22 Sty 2011 10:37
    WV
    Poziom 16  

    Jest prostszy sposób.
    Wystarczy podłączyć diodę świecącą do wyprowadzeń silnika i będzie mrugać, a jak podłączysz dwie to będzie efekt taki sam jak na tym filmie.
    Pozdrawiam.

  • #15 22 Sty 2011 11:21
    SylwekK
    Poziom 29  

    Kurcze, na podobny pomysł wpadłem kiedy rozebrałem uszkodzony czujnik ABS po jego wymianie :) tylko, że ja robię testy na starych silnikach z drukarek atramentowych (kąt 7,5st).


    P.S. Wyszperałem mój schemacik - jak się okazuje jest bliźniaczo podobny jednak nieco prostszy i zdecydowanie o mniejszym poborze prądu. Użyłem tu LM324. Czułość układu określa rezystor 270k (optymalna wartość) - przy większych wartościach wystarczy puknąć palcem w silnik żeby dostać impuls :)
    Zamieszczam schamacik układu formującego, bo reszta może być jak u autora postu. Może ktoś go wykorzysta (nie ma sensu zakładać nowego tematu).
    Aha, impuls to stan niski. W stanie spoczynku jest stan wysoki - odwrotnie niż narysowane na wyjściu układu.

    Silnik krokowy jako enkoder/impulsator

    ...a tu filmik, że działa (kiepska jakość ale coś widać)


    Link

  • #16 22 Sty 2011 11:28
    stanley019
    Poziom 15  

    aj123 napisał:
    Fajne Very Happy A do czego taka zabawka ma służyć ?

    ja spróbowałbym użyć tego rozwiązania, do "ręcznego" ustawiania osi w hobbystycznych maszynach CNC, chyba że się do tego nie nadaje?

  • #17 22 Sty 2011 15:20
    sq1ftb
    Poziom 12  

    WV napisał:
    Jest prostszy sposób.
    Wystarczy podłączyć diodę świecącą do wyprowadzeń silnika i będzie mrugać, a jak podłączysz dwie to będzie efekt taki sam jak na tym filmie.
    Pozdrawiam.

    Zgadza się, tak będzie, tylko że wtedy amplituda sygnału na wyjściu silnika bedzie uzależniona od jego prędkości obrotowej, a co za tym idzie, może być za niska w stosunku do logiki układu współpracującego.
    Zadaniem tego układu nie jest miganie diodek. Miganie diodek ma pokazywać funkcjonalność.

  • #19 22 Sty 2011 16:24
    sq1ftb
    Poziom 12  

    Freddy napisał:
    Jakoś ten projekt dziwnie podobny do tego http://www.webx.dk/oz2cpu/20m/encoder.htm

    Powiem więcej. Pierwsza część projektu, formowanie impulsów, to wzięte z projektu Thomasa, co zaznaczyłem w dokumentacji i w opisie do projektu. I jak nakazuje kultura, podziękowałem za inspirację.
    Żeby uprzedzić dalsze śledztwo prowadzone przez kolegę, druga cześć projektu jest inspirowana przez Kolegę Mirleya z elektrody, któremu również z przyjemnością podziękowałem i w dokumentacji podałem wszystkie namiary na źródła inspiracji.
    Reasumując, zastosowano dwa rozwiązania, które w wyniku dały trzecie.

    Cytat:
    Serdeczne podziękowania dla kol. Mirley (elektroda.pl) za inspiracje swoim projektem (http://mirley.firlej.org) oraz dla kol. Thomasa OZ2CPU (http://www.webx.dk/oz2cpu/20m/encoder.htm) Thank's Thomas.

    Nie lubię się sam cytować, ale przecież podałem w opisie projektu

  • #20 22 Sty 2011 16:29
    Freddy
    Poziom 43  

    sq1ftb napisał:
    Freddy napisał:
    Jakoś ten projekt dziwnie podobny do tego http://www.webx.dk/oz2cpu/20m/encoder.htm

    Powiem więcej. Pierwsza część projektu, formowanie impulsów, to wzięte z projektu Thomasa, co zaznaczyłem w dokumentacji i w opisie do projektu. I jak nakazuje kultura, podziękowałem za inspirację.
    Żeby uprzedzić dalsze śledztwo prowadzone przez kolegę, druga cześć projektu jest inspirowana przez Kolegę Mirleya z elektrody, któremu również z przyjemnością podziękowałem i w dokumentacji podałem wszystkie namiary na źródła inspiracji.
    Reasumując, zastosowano dwa rozwiązania, które w wyniku dały trzecie.

    Cytat:
    Serdeczne podziękowania dla kol. Mirley (elektroda.pl) za inspiracje swoim projektem (http://mirley.firlej.org) oraz dla kol. Thomasa OZ2CPU (http://www.webx.dk/oz2cpu/20m/encoder.htm) Thank's Thomas.

    Nie lubię się sam cytować, ale przecież podałem w opisie projektu


    Przecież nie napisałem, że ukradłeś, wcięło mi tylko buźkę, za co przepraszam. Już poprawione. :) ;)

    Takie impulsatory z tanich silników krokowych, (bo enkoderami tego nie za bardzo można nazwać) maja swoją wadę.
    Silniki krokowe "chodzą " dość ciężko. Fakt, że mają zwykle (te najpopularniejsze) 200 kroków i są tańsze od fabrycznych enkoderów. (rotary encoder).

    Wykonaj test, po 2 godzinach w temperaturze 10 - 15° rusz o dokładnie 5 kroków !
    Prawie niewykonalne !

  • #21 22 Sty 2011 16:40
    Maticool
    Poziom 19  

    fgfg napisał:
    Cytat:
    Tak. Tylko trzeba dodać, że to nie jest silnik krokowy.

    Tak, a dokładnie to silnik bldc.

    Mało tego, silnik HDD jest zazwyczaj zaledwie trójfazowy. Bliżej mu do silników synchronicznych niż krokowych :D. IMHO bez przekładni, taki silnik się nie nadaje zupełnie do tego zastosowania.
    Najlepszy jest taki silnik jaki użył Autor - krokowy (tylko nie reluktancyjny!) o dużej ilości kroków na obrót. Można go łatwo rozpoznać po wielu drobnych "przeskokach" wyczuwalnych podczas kręcenia palcem. Takie silniki są zazwyczaj w posuwie głowic w CD, DVD czy FDD i mnóstwo w drukarkach.:D

  • #22 22 Sty 2011 16:41
    sq1ftb
    Poziom 12  

    Masz rację, dlatego wolę zamiast krokowca użyć silnika HDD .Nie ma tych 200 kroków na obrót, ale te kilka impulsów wystarczy do fajnego sterowania.
    Krokowca zastosowałem do zmiany częstotliwości generatora PLL. Chodzi twardo ale za to fajnie akcentuje kroki współdziałaniem pól magnetycznych.
    Dzisiaj zrobię filmik z takim silniczkiem i jeszcze umieszczę. U mnie wyświetlanie "buziek" działa d.d ( wiadomo o co chodzi). Pozdrawiam serdecznie.

  • #23 22 Sty 2011 19:58
    Pavlik71
    Poziom 14  

    Witam.

    Jak tu zacząć, aby nie urazić...:D

    Rozwiązanie nadaje się do zmiany warości, która nie ma większego wpływu na pracę urządzenia. Program ma wady. Stosując impulsator mechaniczny program nie jest odporny na drgania styków (może naliczyć dziesiątki lub setki impulsów w czasie drgań styków). Drugim nieporządanym efektem jest generowanie impulsu przy niepełnym cyklu stanów impulsatora.
    Dalatego opisałem na elektrodzie moje rozwiązanie, które zapewnia mi pewne działanie Link Zakładając ten temat chciałem się dowiedzieć, czy są łatwiejsze rozwiązania tego problemu.

  • #24 22 Sty 2011 20:15
    sq1ftb
    Poziom 12  

    Cytat:
    Stosując impulsator mechaniczny program nie jest odporny na drgania styków (może naliczyć dziesiątki lub setki impulsów w czasie drgań styków)

    W pełni się z Tobą zgadzam. Przy mechanicznym impulsatorze, takie rozwiązanie programowe nie jest w pełni stabilne. Dlatego też zamiast impulsatora jest umownie mówiąc "prądnica dwufazowa" gdzie problem drgania styków praktycznie nie istnieje. Patrzyłem na Twoje rozwiązanie - bardzo elegancko rozwiązałeś omijanie stanów pośrednich impulsatora mechanicznego. Impulsator mechaniczny - taki za kilka złotych - to doskonałe źródło do tematu o stanach nieustalonych - a nawet - nieprzewidywalnych. Moje rozwiązanie należy traktować jako materiał edukacyjny i można to sobie wszystko modyfikować i eksperymentować. Na moje potrzeby zastosowałem jako impulsator silnik od HDD, cztery imp/360 deg w zupełności mi wystarczą. Miło było poznać rozwiązania Kolegi.

  • #25 23 Sty 2011 13:36
    DziadzioMiecio
    Poziom 27  

    Kolejny impulsator na tym "silniczku" już jest gdzieś konstrukcja na Attini zdaj się że kolega z 7 okręgu taki opracował w tym wątku było coś na ten temat http://sp-hm.pl/thread-268-page-2.html . Szkoda że koledzy nie używacie silniczków ze skanerów lub laserówek. Ja osobiście wykonałem na moim silniczku ma on łożyska toczne i po kilku próbach użytkowania zrezygnowałem z niego pamiętam obsługę TS520 jego płynność strojenia i lamba 5 która miała strojenie z kołem zamachowy jak się zadbało to była płynność ruchów może jest to rozwiązanie wielkie ale ma to coś . Szkoda kolego sq1ftb że wstawiłeś punkty za poczytanie dokumentacji no ale pewnie to taki urok.

  • #26 23 Sty 2011 14:07
    wkd
    Poziom 18  

    Takie rozwiązanie impulsatora ma jednak pewną wadę (dla mnie dość istotną). Otóż bardzo trudno jest uzyskać pojedynczy impuls. Przy wolnym obracaniu indukujące się napięcie jest niewystarczające do zadziałania np komparatora czy licznika. Przy nieco szybszym obracaniu prawie zawsze uzyskamy przeskok nie o jeden , lecz o kilka impulsów. Nie wiem jak sprawuje się taki impulsator z silniczkami od HDD ,gdyż prób nie robiłem - z uwagi na zbyt małą liczbę impulsów na obrót.

  • #27 23 Sty 2011 16:05
    SylwekK
    Poziom 29  

    @wkd, nie do końca się z Tobą zgodzę. Być może z niektórymi silnikami taki problem może wystąpić natomiast przy korzystaniu z silnika drukarki (jak w moim przypadku) nie ma absolutnie żadnego problemu z uzyskaniem jednego impulsu. Każdy ruch osią (nawet bardzo delikatny) jest wyraźnie akcentowany przez jego lekki opór i przeskok co powoduje indukowanie się wystarczającego napięcia dla komparatora (sprawdziłem).

  • #28 24 Sty 2011 23:54
    rysta
    Poziom 21  

    Potwierdzam; zrobiłem taki impulsator z wykorzystaniem silniczka Sanyo-Denki typ 103-556-0270 (1,875 deg/step) wymontowanego ze złomowanej drukarki mozaikowej. Elektronika różni się trochę od tej która jest spopularyzowana w impulasatorze OZ2CPU i w odróżnieniu od niego, nie gubi impulsów przy powolnym obracaniu gałką, pracując bardzo pewnie i powtarzalnie w obu kierunkach.
    (Ze schematem może byc ciężko, ale mam gdzieś projekt płytki ze Sprint-Layout'a)

  • #29 10 Maj 2011 22:38
    Mariojas
    Poziom 17  

    Jakie jest prawdopodobieństwo że dwa różne uzwojenia silnika nie są przesunięte w fazie między sobą?
    Otóż mój układ nie działa, chyba że usunę rozkaz na "odczekanie" aż zwolni się sygnał na danym kanale, a potem sprawdzenie czy na drugim jest sygnał.

  • #30 11 Maj 2011 08:44
    SylwekK
    Poziom 29  

    Jeśli to dwa różne uzwojenia to raczej nie możliwe żeby nie były przesunięte w fazie... Coś musi być na rzeczy z algorytmem rozpoznawania impulsów w programie.