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

[89c2051][Asembler] Układ zliczający długość przewodu

Proteus76 07 Lip 2010 11:30 1479 4
  • #1 07 Lip 2010 11:30
    Proteus76
    Poziom 9  

    Witam !

    Mam do skonstruowania układ do zliczania długości przewodu z detekcją kierunku nawijania. Początkowo zastanawiałem się nad układem optycznym własnej konstrukcji ale myślę że dobrym rozwiązaniem byłby enkoder mechaniczny lub optyczny. Problem polega na procedurze obsługi (Asembler) takiego enkodera pracującego w kodzie Grey-a. Konfiguracja sprzętowa jest taka - wyjście A (odniesienia) enkodera zawieszone na przerywaniu INT0 mikrokontrolera, drugie na pinie P3.3. Wiem jak teoretycznie powinna wyglądać procedura obsługi ze zliczaniem i detekcją kierunku ale będę wdzięczny za pomoc w postaci wzorcowego algorytmu lub jego kluczowych fragmentów w asemblerze. Zastanawiam się również jak zachowuje się enkoder w położeniu statycznym tzn. czy program musi wykrywać również że enkoder się zatrzymał. Czy w przypadku enkodera mechanicznego problemem są błędy wynikające z mechanicznych styków ?

    0 4
  • #2 07 Lip 2010 13:37
    bolek
    Specjalista - oświetlenie sceniczne

    Wyjście A dajesz pod przerwanie, Wyjscie B pod dowolny port.
    W przerwaniu sprawdzasz czy na porcie jest 0 czy 1, w zależnosci od tego zwiększasz lub zmniejszasz mierzony odcinek. Jeśli przerwania będą reagowac na zbocze, to nie martw sie o enkoder w bezruchu.

    zacznij coś pisać to będzie się dalej myśleć.

    0
  • #3 08 Lip 2010 09:39
    Proteus76
    Poziom 9  

    Faktycznie mój błąd nie ustawiłem wyzwalania przerywania zboczem opadającym i cały czas kombinowałem jak zmusić procesor do naliczania tylko jednego impulsu.:D
    Przeszukałem ofertę i znalazłem taki tani enkoderek mechanicznyECW1J-B24. Jak rozumiem trzecie wyprowadzenie czyli szyna common pozwala podłączyć masę układu. Port ustawiony jest do odczytu w stan wysoki więc takie rozwiązanie byłoby idealne. Dla wyjaśnienia dodam że po raz pierwszy używam enkodera więc moje pytania mogą się wydawać dla kogoś znającego temat nieco naiwne. Cóż człowiek uczy się całe zycie.
    Myślę też nad zastosowaniem specjalnej tarczy i wykonaniem enkodera optycznego
    na zasadzie fotokomórek.

    0
  • #4 08 Lip 2010 09:51
    bolek
    Specjalista - oświetlenie sceniczne

    Tak, "trzeci" pin do masy. Trzeba będzie jeszcze zadbać o drganie styków żeby nie naliczało fałszywych impulsów. W przerwaniu odczekasz sobie np 1ms (odpowiedni czas wyjdzie w praniu) sprawdzisz czy jest na tym pinie faktycznie stan niski i dopiero w tedy sprawdzisz stan na drugim porcie.

    0
  • #5 09 Lip 2010 08:47
    Proteus76
    Poziom 9  

    Dziękuję za informacje. Jak wygląda podłączenie i obsługa enkodera inkrementnego ?
    Jak widzę ma on więcej wyprowadzeń sygnałów. Czy w tym przypadku algorytm obsługi jest bardziej skomplikowany ? Znalazłem taki przykład enkodera inkrementnego Enkoder 2400.

    0