czwartek, 1 listopada 2012

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

Jakiś czas temu brałem udział w konkursie dla młodocianych wynalazców. Powstał wtedy projekt o drganiach styków. Konkurs się skończył, a ja zostałem z gotową pracą, która nie była mi do niczego potrzebna. Dlatego postanowiłem ją opublikować - oto jej pierwsza część.

Drgania styków

Drgania styków to wynik niedoskonałości elementów stykowych. Każdy przycisk, przełącznik, kontaktron lub enkoder zawiera w sobie styki, które mają tendencję do drgania podczas zwierania i rozwierania. Zjawisko to wynika całkowicie z niedoskonałości mechanicznej konstrukcji elementów stykowych i trwa od kilku do kilkunastu milisekund przy każdorazowym zwarciu lub rozwarciu.

Rysunek 1 - parametr bounce time oznaczający przeciętną długość drgań styków.
Nota katalogowa B3F Tactile Switch firmy Omron
Źródło: tme.eu

Producenci czasami podają w notach katalogowych (rysunek 1) swoich produktów parametr bounce time. Oznacza on przeciętną długość drgań w danym modelu przycisku.

Drgania styków dają się we znaki przede wszystkim przy budowie urządzeń cyfrowych, w których przycisk pełni rolę wyzwalacza pewnych operacji lub służy  jako interface użytkownika. Brak skutecznej eliminacji drgań powoduje pewne anomalie. Dzieje się tak, ponieważ drgania, mimo, że zbyt krótkie, aby zobaczyć je gołym okiem, są przez mikrokontroler odbierane jako wielokrotne, następujące szybko po sobie naciśnięcia przycisku. Ilość takich zmian stanu jest nieprzewidywalna i często powoduje duże zamieszanie. Rysunek 2 pokazuje drgania styków w przykładowym przycisku. Widać na nim, że do ustabilizowania się wykresu potrzeba  około 2 ms.

Rysunek 2 - drgania styków widoczne na cyfrowym oscyloskopie.
Źródło: Opracowanie we współpracy autora i Przemek6

Nierozwiązanie problemu powoduje, że:
  • nastawiane liczby przeskakują losowo;
  • menu przeskakuje o kilka pozycji naraz;
  • sygnały wysyłane przez enkoder są błędnie interpretowanie przez procesor;
  • operacje są wyzwalane wielokrotnie, co może doprowadzić nawet do przepełnienia stosu i poważnych błędów w programie.
Jeśli chcemy uniknąć tych przykrych konsekwencji powinniśmy zadbać o prawidłową eliminację efektu drgających styków. W następnych częściach:
  • sprzętowa eliminacja drgań;
  • programowa eliminacja drgań;
  • gotowy algorytm eliminacji drgań w tle wraz z obszernym opisem.
Część druga: KLIK

Brak komentarzy:

Prześlij komentarz