logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Licznik impulsów enkodera kwadraturowego 200 szczelin/obrót na AVR i TTL

kszumek 24 Sty 2007 14:00 7571 6
REKLAMA
  • #1 3481739
    kszumek
    Poziom 17  
    Posty: 251
    Pomógł: 10
    Ocena: 33
    Witam
    mam enkoder kwadraturowy 200 szczelin/obrót kanały A i B
    1. jak zrealizować zliczanie impulsów na AVR
    na każdym zboczu sygnału zeby uzyskać 800 imp /obrót
    widziałem projekty w którym zlicznie było x1 czyli troche bez sensu tracić na rozdzielczości
    2. jak zrobic układ logiczny na TTL który by realizował konwersje sygnału z enkodera na krok, kierunek ale też na każdym zboczu ?
  • REKLAMA
  • #2 3482270
    adamusx
    Poziom 27  
    Posty: 977
    Pomógł: 94
    Ocena: 28
    Ogolnie to jestem cierpliwy, ale na to pytanie odpowiedział bym juz z 5 raz z kolei na elektrodzie...
    Jest taka opcja jak szukaj :> jak wpiszesz " enkoder" to znajdziesz kilkanascie tematów z odpowiedzia na Twoje pytanie ( lacznie z fragmentami kodu realizującego zliczanie imp. z enkodera) .


    Cytat:

    2. jak zrobic układ logiczny na TTL który by realizował konwersje sygnału z enkodera na krok, kierunek ale też na każdym zboczu ?


    Najprosciej z wykorzystaniem przezutnika typu D. Z rozpoznawaniem zboczy to juz bardziej skomplikowana sprawa na ukladach TTL.

    ..lub mozesz wykorzystac gotowy uklad - LS7083 lub LS7084 - bardzo ciekawa kostka, rozpoznaje wszystkie zbocza sygnalow, a takze rozpoznaje kierunek obrotow. Podpinasz pod nia wyjscia A i B enkodera a na jej wyjsciu uzyskujesz impulsy i kierunekk obrotow.
  • REKLAMA
  • #3 3482422
    kszumek
    Poziom 17  
    Posty: 251
    Pomógł: 10
    Ocena: 33
    Witam ponownie
    co do kostki LS7084 to można popatrzyć się co najwyżej na notę katalogową
    http://www.elenota.pl/search.php?szuk=+LS7084&man=--wszyscy--&ile=50&start=0
    nie jest dostępna nawet w TME
    dlatego się pytam czy da się łatwo zrealizować na ttlkach układ rozpoznający 4 zbocza impulsów tak jak w ls7083 lub 84
    a co do reszty układów na elektodzie są to układy które NIE POTRAFIĄ !!!!rozpoznawać wszystkich 4 zboczy tak samo projekty na AVR !!!!
    przejrzałem już chyba wszystkie :-)
    Ja piszę na forum dopiero jak nie potrafie sam rozwiązać problemu i nie widziałem ich na forum
    pozdrawiam serdecznie .
  • REKLAMA
  • #4 3482611
    zumek
    Poziom 39  
    Posty: 3352
    Pomógł: 695
    Ocena: 52
    kszumek napisał:
    ...a co do reszty układów na elektodzie są to układy które NIE POTRAFIĄ !!!!rozpoznawać wszystkich 4 zboczy tak samo projekty na AVR !!!!...

    A jaki problem wziąć np.Tiny12 , napisać soft , załadować nim AVR-ka i ładnie będzie "udawać" LS7084 w obu trybach :?: Taniej pewnie też wyjdzie niż zakup LS-a , choć nie będzie tak szybki jak oryginał :D

    Piotrek
  • #5 3482749
    kszumek
    Poziom 17  
    Posty: 251
    Pomógł: 10
    Ocena: 33
    Witam
    Okej docelowo powinno być na AVR 90s2313 kwarc 24MHZ
    kanały podłączone A pod pin 8 i B pod pin 9
    jak mniej więcej powinien wyglądać algorytm obsługi enkodera ?
    pozdr
  • REKLAMA
  • #6 3482904
    zumek
    Poziom 39  
    Posty: 3352
    Pomógł: 695
    Ocena: 52
    kszumek napisał:
    Witam
    Okej docelowo powinno być na AVR 90s2313 kwarc 24MHZ
    kanały podłączone A pod pin 8 i B pod pin 9

    Hmm... będą problemy :(
    Najlepiej użyć procka , który ma możliwość generowania przerwań związanych ze zmianą stanu na pinie(wejściu) , a 90s2313 takowej możliwości nie posiada.Poza tym , podłączając enkoder pod piny które wymieniłeś , cała zabawa będzie polegała na programowym wykrywaniu zmian , co już kłóci się z "moją" ideą , ale nie jest niemożliwe :(
    Jeśli chodzi o program , to najprościej by było , gdybyś mógł wykorzystać w swoim procu INT0 i INT1.
    kszumek napisał:

    jak mniej więcej powinien wyglądać algorytm obsługi enkodera ?
    pozdrawiam

    Popatrz na poniższe :D
    
       ___     ___     ___
    A_|   |___|   |___|   |__
    
         ___     ___     ___
    B___|   |___|   |___|   |__
    
    AB  R  L
    00-10:01
    10-11:00
    11-01:10
    01-00:11
    
    AB->Poprzedni stan
    R  ->aktualny dla prawo
    L  ->aktualny dla lewo
    

    Wystarczy "przełożyć" to na program :D

    Piotrek
  • #7 3563131
    kszumek
    Poziom 17  
    Posty: 251
    Pomógł: 10
    Ocena: 33
    Witam
    mam prośbę do osób bardziej doświadczonych w
    temacie mikrokontrolerów
    zrobiłem opisywane enkoder na przerwaniach z noty znalezionej na stronie bascoma i chodzi jak należy jednak
    chce zrobić to tak jak opisywałem wcześniej
    nie chce przerabiać urządzenia
    i przyznam się ze mam problem z wrzuceniem tego co kolega napisał powyżej do procka może ktoś podpowie i nakreśli mniej więcej jak to zrobić w bascomie i zarazem jak najprościej ponieważ musi zostać trochę pamięci na inne rzeczy
    pozdrawiam

Podsumowanie tematu

✨ Dyskusja dotyczy realizacji zliczania impulsów z enkodera kwadraturowego o 200 szczelinach na obrót, z wykorzystaniem mikrokontrolera AVR oraz układów TTL. Celem jest uzyskanie 800 impulsów na obrót poprzez detekcję wszystkich czterech zboczy sygnałów kanałów A i B. Wskazano, że proste projekty często stosują tryb x1, co obniża rozdzielczość. Proponowane rozwiązania to wykorzystanie przerzutnika typu D lub gotowych układów scalonych LS7083/LS7084, które rozpoznają wszystkie zbocza i kierunek obrotu, jednak układy te są trudno dostępne na rynku. Alternatywnie sugerowano implementację funkcjonalności LS7084 w oprogramowaniu na mikrokontrolerze AVR, np. Tiny12 lub AT90S2313 z kwarcem 24 MHz. Problemem jest brak przerwań na zmianę stanu na pinach w AT90S2313, co wymaga programowego wykrywania zboczy, co jest mniej efektywne. Przedstawiono schemat logiczny detekcji kierunku i impulsów na podstawie stanów kanałów A i B. Autor prosił o pomoc w implementacji algorytmu w Bascom AVR, aby zachować pamięć na inne funkcje. Podsumowując, najlepszym rozwiązaniem jest użycie mikrokontrolera z przerwaniami na zbocza lub implementacja algorytmu programowego do detekcji wszystkich zboczy, co pozwala na zwiększenie rozdzielczości zliczania impulsów z enkodera kwadraturowego.
Wygenerowane przez model językowy.
REKLAMA