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.

Enkoder EC11sp - Wyprowadzenia pinów

koxygen 10 Sie 2013 19:20 1536 8
  • #1 10 Sie 2013 19:20
    koxygen
    Poziom 8  

    Witam.
    Kupiłem wczoraj enkoder obrotowy EC11SP. Mam problem z odpowiednim podłączeniem go do mikroprocesora AVR. Szukałem jego specyfikacji technicznej, ale znalazłem tylko to:
    http://www.tokyoden.com/Drawings/EC-11SP.pdf
    Niewiele ten plik mi pomógł. W dalszym ciągu nie wiem, do których pinów mam podłączyć VCC, GND.
    Gdzieś znalazłem "test" na poprawne podłączenie enkodera. Podłączenie zasilania i diody do pinów wyjściowych enkodera. Przy obrocie dioda ma się rzekomo zapalić. Nie wiem czy ten test jest wiarygodny, próbowałem go wykonać, jednak dioda nie zapaliła się ani razu. Proszę o pomoc.

    0 8
  • Pomocny post
    #2 10 Sie 2013 19:37
    Mol
    Poziom 30  

    (2) - gnd
    (1) - int0
    (3) - dowolny pin z portu
    (4,5) według uznania.

    0
  • Pomocny post
    #3 10 Sie 2013 20:54
    tmf
    Moderator Mikrokontrolery Projektowanie

    koxygen napisał:
    Witam.
    Kupiłem wczoraj enkoder obrotowy EC11SP. Mam problem z odpowiednim podłączeniem go do mikroprocesora AVR. Szukałem jego specyfikacji technicznej, ale znalazłem tylko to:
    http://www.tokyoden.com/Drawings/EC-11SP.pdf
    Niewiele ten plik mi pomógł. W dalszym ciągu nie wiem, do których pinów mam podłączyć VCC, GND.

    Przecieżna tym rysunku masz wszystko rozrysowane. Enkoder to dwa przyciski odpowiednio się otwierające i zamykające. Poszukaj co to kod Graya. Vcc nie podłączasz, bo i po co. Wspólny pin łączysz do masy, a wyjścia przełączników na jakiś pin portu + ew. rezystory podciągające.
    BTW, akurat łączenie enkodera do wejścia przerwań nie jest najlepszym pomysłem.

    0
  • #4 10 Sie 2013 21:40
    Mol
    Poziom 30  

    tmf , dlaczego uważasz że nie jest to dobrym pomysłem ? Nie zawsze w programie trzeba zliczać impulsy , czy liczyć czas na innych przerwaniach .Wszystko zależy od programu . do czego ma być.

    0
  • #6 10 Sie 2013 21:59
    Mol
    Poziom 30  

    Po wejściu w int0 pierwsza linijka u mnie to Disable int0 , a jak zrobię co potrzebuję , to Enable int0 ,działa bez żadnych problemów.

    0
  • #7 10 Sie 2013 22:23
    tmf
    Moderator Mikrokontrolery Projektowanie

    Tak ci się tylko wydaje. Po pierwsze jeśli nie kasujesz flagi przerwania, to zaraz po jego zakończeniu masz zgłoszone kolejne przerwanie. Po drugie, żadnego blokowania przerwań w funkcji obsługi przerwania nie trzeba robić bo AVR to robi automatycznie. Po trzecie, jeśli obsługa handlera przerwania jest krótsza niż okres drgań styków enkodera, to i tak ci zgłosi wiele przerwań. W typowej sytuacji drgania trwają kilka ms, a handler powiedzmy zawierający 100 instrukcji dla f=16MHz wykonuje się 6,25 us. Stąd twoja metoda zawiedzie na całej linii. Tak jak pisze kolega piotrva robi się to najczęściej w funkcji obsługi przerwania timera, lub jeśli jest wykorzystuje sprzętowy enkoder.

    0
  • #8 10 Sie 2013 23:17
    Mol
    Poziom 30  

    Prawdopodobnie jest tak jak piszesz , tylko w bascomie flaga jest chyba kasowana automatycznie po skoku w przerwanie , a na początku przerwania jak nie dałem disable int0 , to program lubił się zawieszać , albo robił kaszanę na wyświetlaczu.

    0
  • #9 11 Sie 2013 00:22
    piotrva
    Moderator na urlopie...

    Mol napisał:
    w bascomie (...) to program lubił się zawieszać , albo robił kaszanę na wyświetlaczu.

    1. W Bascomie niestety nie wiadomo co się z procesorem dzieje - ten język/kompilator do dobrych dla ilustrowania krytycznych problemów nie należy - dlaczego? np. dla tego: https://www.elektroda.pl/rtvforum/viewtopic.php?t=2408451
    2. No zawieszenie programu i kaszanka to właśnie tak czy inaczej efekt nieprawidłowego przemyślenia programu, który został przez ciebie ominięty...

    A co do podpinania enkodera pod int'a - po co marnować inta, skoro i tak sensownie jest zaprzęgnąć timer do eliminacji drgań styków?

    Dodano po 13 [minuty]:

    Żeby nie być gołosłownym - próbkowanie sygnału @24MHz z enkodera mechanicznego:
    Enkoder EC11sp - Wyprowadzenia pinów

    0