Sprzętowa eliminacja drgań styków

Nov 09, 2013 6 Replies

Mam jedno szybkie pytanie odnośnie sprzętowe eliminacji efektu drgań styków, za pomocą filtra RC, jak na poniższym schemacie:



formatting link
Załóżmy, że sytuacja mnie dotyczy pinu RESET, ale dowolnego uniwersalnego wejścia. Czy wówczas konieczne jest stosowanie zewnętrznego podciągnięcia do VCC, czy też wystarczy wewnętrznie ustawić wejście na stan wysoki?



Pin ustawiony na wejście, z wewnętrznym podciągnięciem będzie w stanie ładować ten kondensator? Nie będzie żadnych problemów zaraz po włączeniu układu, zanim w portach zostaną zapisane odpowiednie wartości?



Możliwość załatwienia tego wewnętrznym podciągnięciem uprościłaby projekt płytki - nie musiałbym ciągnąć linii VCC w niektóre miejsca. :)


Atlantis snipped-for-privacy@wp.pl napisał(a):

Ogólnie wystarczy, tylko sprawdź w datasheecie wartość tej rezystancji, żeby zapewnić odpowiednią stałą czasową RC.

Dlaczego nie?

Jeśli nie będziesz używać tego pinu to nie. Przy czym używanie oznacza nie tylko bezpośredni odczyt stanu pinu, ale też wykorzystywanie go przez timery czy inne układy generujące przerwania. Niech Twój kod najpierw konfiguruje ten pin a potem ewentualne inne funkcje uC, które z tego pinu korzystają.

Ja tak używam a AVR do podłączenia klawiatury. Bez zewnętrznych rezystorów, tylko wewnętrzne podciąganie.

Tylko jedna przestroga - kiedyś mi się zdarzyło ( niestety w urządzeniu pracującym na zewnątrz), że na skutek pioruna , który walnął w pobliżu - nie wiem dokładnie gdzie - w promieniu kilkudziesięciu metrów, w procesorze "softwareowo" wyłączyło się podciąganie wejść. Program się nie wywalił - nic się nie stało poza tym właśnie. Ale - ponieważ to były wejścia klawiatury, to zaczął się cyrk - urządzenie nagle zaczęło być "obsługiwane" przez klawiaturę, co powodowało niekorzystne efekty, zakończone awanturą (a mogło być gorzej).

Po resecie urządzenie wróciło do poprawnej pracy. A uniknęło by się tego właśnie rezystorami zewnętrznymi. Tak, że na wszelki wypadek uprzedzam, że takie cuda się zdarzają :)

sundayman snipped-for-privacy@poczta.onet.pl> napisał(a):

Tak, i Atmel też o tym uprzedza. Na stronie, na której jest obrazek, który Atlantis podlinkował w pierwszym poście, jest to opisane m.in. w oparciu o dokumentację od Atmela, który mówi, żeby w high-noise environment jednak użyć zewnętrznych rezystorów.

To nie jest schemat do "sprzętowej" likwidacji drgań zestyków. To obwód resetu uC.

Efekt drgań zestyków likwiduje się programowo, najtańsza i jednocześnie najlepsza metoda. K.

A ja siê zastanawiam, dlaczego to jest opisane jako "¼le"... sk±d jest ten link? Jest gdzie¶ opisane, jak jest "dobrze"?

"zanim nastala era internetu, kazdy wiejski glupek siedzial w swojej wiosce" http://www.chmurka.net/

użytkownik Atlantis napisał:

Jak pominiesz sekundowe opoznienie wykonywania programu po wlaczenia zasilania, bedzie problem. Pull-up jest zalezny od partii uC z tego co pamietam to moze miec nawet 100k. Lepiej dac zewnetrzy pull-up, kondensator <47nF 0,5sek. petli "nop" i pozniej wykonac program + to co napisal kolega tj. softwarowe powtorne probkowanie wejscia po wykryciu stanu niskiego po ilus tam milisekundach.

A koledze sundayman proponuje na wejscie:

formatting link
to jakies dodatkowe zabezpieczenie.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required