Elektroda.pl
Elektroda.pl
X
Relpol przekaźniki
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Klawiatura matrycowa czy zwykłe przyciski - zakłócenia

19 Cze 2010 17:45 3022 15
  • Poziom 14  
    Witam.

    Moje pytanie dotyczy wyboru rodzaju sterowania mikrokontrolera avr. O ile zwykłe przyciski z rezystorami podciągającymi i optoizolatorami sprawdzają się w warunkach zakłóceń i równocześnie chronią wejścia mikrokontrolera o tyle nie mam doświadczenia w klawiaturze matrycowej a chciałbym ograniczyć się tylko do jednego portu. Wyczytałem o rezystorach podciągających linie do plusa 470ohm. Czy klawiatura matrycowa jest bezpieczna i pewna w środowisku pełnym styczników i przekaźników. Jakie ma wady jeśli chodzi o pewność działania, jakie mogą być maksymalne rezystancje styków?

    Będę wdzięczny za pomoc od praktyków którzy wyciągnęli jakieś wnioski.
    Pozdrawiam.
  • Relpol przekaźniki
  • Pomocny post
    Poziom 21  
    Ja wykonałem klawiaturę 2*4 przyciski, w dodatku cztery linie danych służą jednocześnie jako linie danych wyświetlacza LCD, całość oddalona od µP o 20cm i choć wyświetlacz łapie czasami zakłócenia z sieci (jeśli są, ale to inna bajka) to przyciski działają bezproblemowo. Nie należy przesadzać z szybkością odczytywania oraz wprowadzić pewne opóźnienie po wykryciu przyciśnięcia przycisku aby wyeliminować powtórną reakcję na raz wciśnięty przycisk.
  • Pomocny post
    Poziom 26  
    Moim zdaniem jak zrobisz prawidłowe procedury debouncingu (chociaż może nazwa nie jest idealnie trafiona), to żadne zakłucenia nie powinny tutaj przeważyć.

    Jeżeli np ustawisz tak timer, że przerwanie będzie sie "uruchamiało" co 10ms, następnie sprawdzasz wszystkie kolumny (czy tam wiersze). Tam gdzie wykryjesz wciśnięcie przycisku zwiększy wartość licznika od danego przycisku. Jeżeli licznik przekroczy jakąś tam wartość (czyli np 5 dla 50 ms), dopiero wtedy przycisk zostaje oznaczony jako wciśnięty.

    Jest to ogólny zarys, podobnie można zrobić dla puszczenia przycisku (np że jak 5 razy pod rząd jest odczytany jako nie wciśnięty, wtedy ustawiamy zmienną, że jest puszczony).

    Ja takiego rozwiązania używałem nawet na przewodach o długości > kilkunastu metrów (wprawdzie nie na klawiaturze matrycowej ale idea ta sama) na wbudowanych rezystorach podciągających. Wszystko hula i buczy, a dla człowieka to opóźnienie jest nie zauważalne.

    Pozdrawiam.
  • Relpol przekaźniki
  • Moderator Mikrokontrolery Projektowanie
    Klawiatura matrycowa nie wyklucza przecież optoizolacji. Wszystko możesz zrobić jak do tej pory, skoro to działa; zmienia się tylko sposób sterowania.
  • Poziom 14  
    Czy wiecie może jak powinna wyglądać klawiatura matrycowa z optoizolatorami?

    Pozdrawiam.
  • Pomocny post
    Moderator Mikrokontrolery Projektowanie
    Dokładnie tak samo jak do tej pory to robiłeś. Tyle, że musisz zrobić dodatkowo sterowanie liniami - optoizolator + jakiś wzmacniacz, albo od razu optoizolator z wyjściem logicznym.
  • Poziom 14  
    Witam.
    Idąc za sugestią poniżej widok klawiatury opto-matrycowej którą stworzyłem opierając się na innych rozwiązaniach. Port klawiatury jest podzielony na cztery wyjścia które są podciągnięte elektrycznie do stanu wysokiego (w programie) i cztery wejścia które oprócz podciągnięcia elektrycznego w programie mają jeszcze pullupy - rezystory do plusa.
    Pytanie. Czy jeszcze jakieś pullupy powinny być zastosowane aby maksymalnie zabezpieczyć matrycę przed "myleniem się" ?

    Pozdrawiam.


    Klawiatura matrycowa czy zwykłe przyciski - zakłócenia
  • Moderator Mikrokontrolery Projektowanie
    Przy CTR typowego optoizolatora raczej nie ma szans, żeby bezpośrednio zasilić drugą diodę. Zastosuj optoizolatory z wyjściem logiczny (drogie), albo dodatkową bramkę po każdym optoelemencie, która wzmocni sygnał.
  • Poziom 14  
    Możesz mi przybliżyć problem niewłaściwego CTR?
    W karcie katalogowej optoizolatora napisano: CTR:min.50% at If=5mA, Vce=5V.
    dla optoizolatora LTV847.
    Czy to dużo czy to mało ile tak na prawdę powinno być?
    Czy ewentualnie da się zmniejszyć częstotliwość odpytywania klawiatury aby optoizolatory nadążyły?
  • Moderator Mikrokontrolery Projektowanie
    Optoizolatory w zależności od rezystora obciążającego kolektor wydolą do kilku kHz - jeśli weźmiesz szybkie, z wyjściem logicznym to nawet 1MHz nie będzie problemem. Czyli dużo ponad potrzeby przy skanowaniu klawiszy.
    CTR mówi jaki będzie prąd kolektora przy danym prądzie diody. Jeśli min. wynosi 50% to znaczy, że dla If=5mA, Ic=2,5mA. Z tego sporo idzie na rezystor kolektorowy wymuszający poziom wysoki. Nie starczy więc do wysterowania przez matrycę diody kolejnego transoptora. Stąd najprościej taki sygnał wzmocnić poprzez bufor.
  • Pomocny post
    Poziom 26  
    Ja we wszystkich urządzeniach robię klawiaturę bardzo prostą. Matryca bez optoizolacji, rezystory podciągające są wewnętrzne, włączane tylko na czas odczytu, żadnych kondensatorów, diod etc. Cała reszta to program - skanowanie, filtracja drgań styków oraz zakłóceń. Działa to dobrze nawet przy wysokim poziomie zakłóceń.
    Algorytm działania jest podobny do tego co pisze hotdog, z tą różnicą, że nigdy nie stosowałem filtrów dłuższych niż 3 odczyty.
  • Poziom 14  
    Powiedz proszę dobry człowieku co jest ważniejsze aby optycznie odseparować klawiaturę częstotliwość czy prąd tranzystora? W załączniku podaję kartę katalogową optoizolatora ltv847. Czy możesz rzucić okiem i sprawdzić czy podoła częstotliwośćią odświeżania sprawdzić klawiaturę - chyba strona dziewiąta.

    Jeśli prąd diody wynosił by 20 mA to prąd kolektora 10mA. Testowałem transoptor i przy 7mA na diodę tranzystor przewodzi wystawiając zero na wejście kontrolera. Taka matematyka podołała by aby sprawdzić matrycę? Maksymalny prąd diody 50mA.

    Z tego co wyczytałem o klawiaturze matrycowej to cztery wyjścia omiatane są zerem i równocześnie sprawdzane są wejścia mikrokontrolera i na tej podstawie tworzona jest wartość którą można przypisać do klawisza. Czy można znaleź gdzieś z jaką częstotliwością to pracuje?

    Pozdrawiam
  • Poziom 27  
    Jeśli kolega autor jest bardzo leniwy proponuję zainteresowac się układem 74C922 jest do kupienia ale kosztuje coś koło 22 PLN. Problem obsługi klaiwatury matrycowej zniknie bezpowrotnie mimo że będziesz miał klawiaturę matrycową :) A ponieważ wyjscią tego scalaka są 3stanowe obciążony nim port można przy okazji użyć do innych zastosowań niż wyłacznie obsługa klawiatury.
  • Poziom 26  
    Nie no można i tak....
    Ale w takim razie po co mikrokontroler?
  • Poziom 14  
    Jako że zależy mi na optoizolatorach to stąd te pytania aby osoby z większym praktycznym doświadczeniem pomogły mi w temacie. Dla mojego projektu są dwie drogi albo klawiatura matrycowa bez albo z optoizolacją i to drugie wydaje mi się bardziej profesjonalne i stosowane w przemyśle.
    Pozdrawiam
  • Poziom 26  
    Pracuję "w przemyśle", jak to określiłeś....

    Najlepszym rozwiązaniem jest takie, które działa, spełnia wymagania dotyczące EMC oraz bezpieczeństwa i mało kosztuje, a nie takie, które jest udziwnione ponad wszelką miarę. Jeżeli optoizolacji nie narzucają ci jakieś wymagania (nie wiem do czego to ma być, może APEX, może coś medycznego), to jej nie rób. Po co komplikować sobie życie.