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

Jak poprawić detekcję kierunku enkodera w ATtiny 1604?

robiw 19 Lut 2024 14:06 306 4
REKLAMA
  • #1 20968717
    robiw
    Poziom 26  
    Panowie,
    Prosty temat.
    Dotychczas sprzętowo-software'ową obsługę enkodera robiłem w najprostszy sposób. Obie nogi z układem całkującym R/C (10k/100nF), jedna noga do przerwania zewnętrznego Falling, w przerwaniu czytamy stan drugiej i na tej podstawie detekcja kierunku. Ale w ATtiny 1604 działa to jakoś dziwnie: czyta co drugie "pyknięcie" enkodera. Gdzieś software'owo robię błąd. Prośba o sugestie...

    definicje:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Funkcje:

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Funkcje rozpoznają co drugie przekręcenie ośki enkodera. R
  • REKLAMA
  • REKLAMA
  • #3 20968764
    robiw
    Poziom 26  
    Po pierwsze...nie ma takiego przerwania PCINT w ATtiny. Konfigurujesz to w zupełnie inny sposób (BOTHEDGES). Po drugie z założenia nie patrzę na kody Arduino, gdyż nie jest to jakikolwiek rezerwuar jakichkolwiek rozwiązań. Z resztą nie w tym problem. Popełniam jakiś błąd programowy a nie koncepcyjny, gdyż zawsze działało to dobrze... R
  • REKLAMA
  • #4 20968789
    gps79
    Poziom 35  
    Pokazałem Ci rozwiązanie dające 4x większą rozdzielczość w stosunku do Twojego rozwiązania. Bardzo przepraszam za to, że Cię uraziłem pokazując kod Arduino. Gdybym wiedział o Twoich wymaganiach, to nie traciłbym czasu w tym wątku.
    robiw napisał:
    Popełniam jakiś błąd programowy a nie koncepcyjny
    to już połowa sukcesu, wiedzieć, gdzie jest błąd. Pozostaje go tylko rozwiązać.
  • #5 20968959
    robiw
    Poziom 26  
    Nie było tematu, ale dzięki za chęć pomocy. Trzeba było ustawić "PORT_ISC_BOTHEDGES_gc" i reagować na oba zbocza. Pozdro! R
REKLAMA