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.

Drgania na stykach podczas zliczania sygnałów

Uzi103 02 Paź 2012 18:48 807 8
  • #1 02 Paź 2012 18:48
    Uzi103
    Poziom 11  

    Do niwelowania drgań zastosowałem tak układ:
    Drgania na stykach podczas zliczania sygnałów

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    Lecz i tak muszę opóźniać o jakieś 20ms a dioda (PortB.1) szaleje mrugając słabo i z dużą częstotliwością
    Krańcówka będzie przełączana jakieś 8-10 razy na sekunde

    Zatem dlaczego tak zachowuje się ta dioda która tak to działa normalnie (zasilana przez tranzystor BD139) i co zrobić żebym nie musiał stosować opóźnienia w programie?

    0 8
  • #2 02 Paź 2012 18:55
    dondu
    Moderator Mikrokontrolery Projektowanie

    Popatrz sobie na to za pomocą oscyloskopu lub analizatora stanów logicznych.
    Obserwując diodę na drugim kanale zobaczysz naocznie zależność pomiędzy drganiami z filtrem RC który zrobiłeś, a działaniem programu.

    Ale patrząc na Twój schemat i opis, dobrze byłoby byś pokazał cały, a nie tylko jego fragment.

    0
  • #3 02 Paź 2012 19:08
    Uzi103
    Poziom 11  

    Za bardzo nie wiem jak sie za to wgl zabrać bo to jednak przekracza moje zdolności jeśli wgl można mówić o takowych.
    Tylko wiem ze tranzystory na tym schemacie są nie tak podłączone. W układzie są dobrze :P
    Drgania na stykach podczas zliczania sygnałów

    EDIT:

    Mógłby ktoś pomóc? :( to co podał dondu nie zrobię tego bo się kompletnie na tym nie znam :(

    0
  • #4 03 Paź 2012 21:27
    Royd
    Poziom 10  

    Musisz zablokować możliwość zmian podczas trzymania przycisku.
    Jeżeli nie chcesz opoźnienia to po prostu go skasuj.

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    0
  • #5 03 Paź 2012 21:33
    arktik1
    Poziom 27  

    Nie prościej zastosować DEBOUNCE?

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    0
  • #6 03 Paź 2012 21:36
    Royd
    Poziom 10  

    Co 30 ms bedzie się zwiększała zmienna a.

    0
  • #7 03 Paź 2012 21:38
    arktik1
    Poziom 27  

    Cytat:
    Co 30 ms bedzie się zwiększała zmienna a.

    Dlaczego?

    0
  • #8 03 Paź 2012 21:41
    Royd
    Poziom 10  

    Chyba pokreciłęm coś, nie używam tego polecenia. W każdym razie jeżeli działa to ok.

    0
  • #9 04 Paź 2012 15:05
    Uzi103
    Poziom 11  

    Ze zliczaniem sygnałów sobie już poradziłem:

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    Tyle że wciąż gdy wcisnę pięć razy dioda zamiast świecić jednolicie to szaleje

    EDIT
    Już rozwiązałem problem. Polegał on na tym że program po zliczeniu zapalał diodę a inna część programu ją gasiła

    0