Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 mar 2024, o 18:35


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 7 wrz 2018, o 23:13 
Offline
Nowy

Dołączył(a): 31 lip 2018
Posty: 3
Pomógł: 0

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.





Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 wrz 2018, o 01:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 lis 2015
Posty: 219
Pomógł: 20

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 wrz 2018, o 08:28 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

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"



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 wrz 2018, o 08:23 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

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! ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 wrz 2018, o 16:36 
Offline
Nowy

Dołączył(a): 31 lip 2018
Posty: 3
Pomógł: 0

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO