piątek, 9 listopada 2012

Eliminacja drgań styków - część II

Część pierwsza: KLIK 

Sposoby eliminacji drgań styków




Drganiom styków można zaradzić na dwa sposoby:
  • Sprzętowo – za pomocą filtru RC (rysunek 3) lub wykorzystując specjalny układ scalony np. MAX6816, MAX6817 czy MAX6818. Wady tej metody to koszty części niezbędnych do realizacji wybranego sposobu, słaba dostępność wyspecjalizowanych układów scalonych oraz zajęcie cennego miejsca na płytce drukowanej. Przy eliminacji drgań (ang. debouncing) jednego przycisku te wady wydają się nie mieć znaczenia, jednak kiedy musimy obsłużyć jednocześnie kilka i więcej przycisków warto zwrócić na nie uwagę. Na rysunku 4 widać efekt działania filtru RC.
Rysunek 3 – filtr RC.
Źródło: http://konto.bydgoszcz.wsinf.edu.pl
Rysunek 4 - Drgania przefiltrowane przez filtr RC.
Źródło: Opracowanie we współpracy autora i Przemek6
  • Programowo – ten sposób nie wymaga żadnych dodatkowych elementów na płytce. Jego wady to pewne zapotrzebowanie na czas procesora oraz zajęcie części pamięci programu, która w małych mikrokontrolerach AVR (lub podobnych) jest zazwyczaj bardzo ograniczona. Programową eliminację drgań styków najłatwiej zrealizować przez wstrzymanie się z kolejnym odczytem stanu przycisku, dopóki nie ustaną drgania. Tą metodę przedstawia przykładowy kod na rysunku 5. Ma ona dużą wadę - przed każdym odczytem procesor bezczynnie czeka przez pewien czas (na przykładzie aż 20 ms). Dla procesora to bardzo długo. Przez ten czas procesor mógłby dalej wykonywać pozostałą część programu. Ten sposób również nie gwarantuje pełnej skuteczności.
Rysunek 5 – najprostsza programowa eliminacja drgań styków.
Źródło: Opracowanie własne

Brak komentarzy:

Prześlij komentarz