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

[ATMEGA644P][GCC] Obsługa impulsatora

jaca_76 25 Kwi 2011 14:58 2922 10
REKLAMA
  • #1 9437940
    jaca_76
    Poziom 12  
    Podłączyłem impusator(do każdego pinu kondensator do masy) i zastosowałem kod kolegi tmf .
    Impulsator to ED161120 Link

    Niestety nie odczytuje on stanu przy szybszym kręceniu , za mała częstotliwość sprawdzania stanu?

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #3 9437990
    jaca_76
    Poziom 12  
    Oczywiście że wiem dlatego zastosowałem kondensatory .
    Szybko - myślę że około trzech , czterech kroków na sekundę .
  • REKLAMA
  • #4 9437997
    dondu
    Moderator na urlopie...
    jaca_76 napisał:
    Oczywiście że wiem dlatego zastosowałem kondensatory.

    I to właśnie może być przyczyną - załącz schemat.

    jaca_76 napisał:
    Szybko - myślę że około trzech , czterech kroków na sekundę .
    Skrypt TMFa na pewno poradzi sobie prawidłowo z taką prędkością bez kondensatorów.
  • REKLAMA
  • #5 9438029
    janbernat
    Poziom 38  
    Oj coś mi się wydaje że nie jest to orginalny kod tmf ale nieco przerobiony:
    https://www.elektroda.pl/rtvforum/topic1881808.html
    No i jeszcze był wątek na temat drgań tego typu impulsatorów- okropne są.
    Orginalny kod tmf chyba podawał kierunek i przyrost pozycji impulsatora a mie bezwzględne położenie.
    Może znajdę.
  • #6 9438039
    jaca_76
    Poziom 12  
    Nie wiem czy jest co rysować , enkoder podłączony do Pinów PC6 i PC7 płytki z Link
    do każdej nóżki enkodera kondensator 100nF do masy.
  • #7 9438049
    dondu
    Moderator na urlopie...
    jaca_76 napisał:
    Nie wiem czy jest co rysować ...

    Wielu już tak pisało a później okazywało się, że przyczyna leży w schemacie i nie koniecznie w części dot. podłączenia impulsatora.
    Generalnie nie sprawdzę kodu dopóki nie ma schematu, bo to nierozerwalne elementy. Ale może ktoś inny?

    Przy okazji jeszcze ten temat: https://www.elektroda.pl/rtvforum/topic1897657.html
  • #8 9438084
    jaca_76
    Poziom 12  
    Miałem na myśli że jest tak prosty że można go zrozumieć z opisu.
    Link do schematu post wyżej . Pin A enkodera do PC7 , Pin B do PC6 , masa enkodera do masy .
    Pomiędzy masę a Pin A kondensator i pomiędzy Pin B i masę kolejny.

    [ATMEGA644P][GCC] Obsługa impulsatora
  • REKLAMA
  • #9 9438108
    dondu
    Moderator na urlopie...
    OK, ale na działanie mikrokontrolera mają wpływ np. piny zasilania, do tego dochodzi konfiguracja portów - mam o wszystko pytać po kolei - mnie szkoda czasu.
    W opisy słowne nie wierzę, bo jak pisałem wcześniej wielu już takich było :)
    Twój wybór....
  • Pomocny post
    #10 9438173
    tmf
    VIP Zasłużony dla elektroda
    Oczywiście, że w tym ukłądzie będzie gubił impulsy. Nie wdając się w szczegóły, na około kasujesz ekran i wyświetlasz ponownie wszystko. Nie zauważyłeś, że napisy mają kiepski kontrast? Zrób tą pętlę tak, aby wyświetlał licznik tylko wtedy gdy się zmieni. Zobaczysz, że a) AVR będzie się nudził, b) przestaniesz gubić impulsy.
  • #11 9438271
    jaca_76
    Poziom 12  
    Hmm , chyba coś żle kombinuję .
    Teraz w ogóle nie wchodzi do pętli wyświetlania:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    EDIT
    Uff kod był prawidłowy , wygląda na to że konfiguracja Timera była problemem .
    Przerwanie przestało być wywoływane niestety nie rozumiem dla czego:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Teraz to wygląda tak:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
REKLAMA