ATNEL tech-forum
https://forum.atnel.pl/

Przerwania ATmega328P - dziwne miganie diód od przerwań
https://forum.atnel.pl/topic21262.html
Strona 1 z 1

Autor:  Ozyriusz [ 7 wrz 2018, o 23:13 ]
Tytuł:  Przerwania ATmega328P - dziwne miganie diód od przerwań

Witam.
Mam mały problemik dotyczący przerwań. Generuję sygnał "0-1" z częstotliwością 1Hz na pinie PC5. Sygnał ten przekazuje kabelkiem na swojej prototypowej płytce na wejście PD2 z którego wykorzystuję przerwanie PCINT18 oraz INT0 do zmiany stanu logicznego wyjścia załączającego diody. Wektor przerwania PCINT18 zmienia mi stan zapalenia diody podłączonej do PC0 a wektor przerwania INT0 zmienia mi stan zapalenia diody podłączonej do PC1. I teraz sytuacja jak na filmiku niżej: czyli odpinam kabelek z pinu PC5 który generuje ten sygnał 0-1 a z drugiej strony kabelek dalej wpięty jest w wyprowadzenie pinu PD0 (czyli te PCINT18 i INT0). Wtedy dzieje się te zjawisko mrugania obu diod z różną częstotliwością. Natomiast jak pozostawię wpięty kabelek w pinie PC5 a wypnę po stronie PD2 to nie mrugają i pozostają w stanie takim jakim zostały w momencie wypięcia kabla. I potrzebuję z waszej strony pomocy w jaki sposób wyeliminować takie zakłócenia na tym pinie, bo zakładam, że będę chciał sobie kiedyś wyprowadzić kabelek do jakiegoś przycisku i wtedy te zakłócenia będą się siały, będą generowały mi się te dziwne stany wyjść, które w tym przypadku zapalają diody.

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Autor:  jez2000 [ 8 wrz 2018, o 01:20 ]
Tytuł:  Re: Przerwania ATmega328P - dziwne miganie diód od przerwań

Spróbuj włączyć wewnętrzne podciąganie pinu do Vcc

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Autor:  xentis [ 8 wrz 2018, o 08:28 ]
Tytuł:  Re: Przerwania ATmega328P - dziwne miganie diód od przerwań

Widzisz, wejścia uC bez podciągnięcia (czy to rezystorem zewnętrznym czy wewnętrznym) do Vcc mają dużą impedancję, co oznacza że zmienne pola magnetyczne znajdujące się w pobliżu będą znacząco oddziaływać na stan tych wejść. Aby ustalić pewny stan na wejściu trzeba dany pin podciągnąć do Vcc. uC AVR mają wewnętrznie wbudowane rezystory podciągające które można załaczyć na danym pinie jak już wspomniał kolega wyżej. Te wbudowane rezystory mają dosyć dużą rezystancję (typowo 20 - 50K) więc jest to dosyć słabe podciąganie i nie zawsze wystarcza jeśli np występują w pobliżu dosyć mocne zakłócenia. Wówczas najlepiej podłączyć zewnętrzny rezystor od Vcc do danego wejściowego pinu o wartości 10K. Wówczas na pinie w momencie jak odepniesz przewód będzie panował stan bliski Vcc. Zakłócenia będą miały zbyt małą energię by wpłynąć znacząco na ten stan więc dla uC będzie widziany stan logiczny "1"

Autor:  mirekk36 [ 10 wrz 2018, o 08:23 ]
Tytuł:  Re: Przerwania ATmega328P - dziwne miganie diód od przerwań

Tak jak piszą koledzy brak podciągania - ale też warto obejrzeć poradniki (tzn tę serię) ;)

https://www.youtube.com/watch?v=_-rNu2pFTJk
https://www.youtube.com/watch?v=meu-XF5sSOY
https://www.youtube.com/watch?v=J82_Zop9cjE

a przy okazji chciałem udzielić pochwały forum ;) za używanie jak widzę fajnego własnego zestawiku uruchomieniowego! ;)

Autor:  Ozyriusz [ 16 wrz 2018, o 16:36 ]
Tytuł:  Re: Przerwania ATmega328P - dziwne miganie diód od przerwań

Dzięki śliczne za opinie dot. zestawiku ;) skonstruowałem go jeszcze na studiach do testów swojej pracy dyplomowej, począwszy od schematu w Eaglu po termostansfer :P tylko troszkę się pospieszyłem i wlutowałem na sztywno kwarc 8MHz ale to nic ;)
Wracając do tematu, dzięki za podpowiedź. Nie sądziłem, że nawet w tym przypadku jest to tak ważne :) temat podciągania rezystorem oczywiście znam i szczerze mówiąc nie wpadłem na to podczas tych testów.

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/