Implementacja funkcji "glove touch" w pojemnościowych interfejsach dotykowych
| TechnikaMożliwość obsługi pojemnościowego interfejsu dotykowego w rękawiczkach (tzw. glove-touch) jest bardzo ważną funkcjonalnością, znacznie zwiększającą komfort użytkowania urządzenia. Nie tylko ułatwia obsługę smartfonu czy tabletu w warunkach zimowych, ale również m.in. pozwala personelowi medycznemu obsługiwać aparaturę podczas zabiegów i operacji. W artykule przedstawiono wybrane algorytmy i rozwiązania sprzętowe pozwalające na implementację tej funkcjonalności.
Powszechną obecnie praktyką, którą można zaobserwować zarówno w produktach elektroniki konsumenckiej, jak i medycznej czy przemysłowej, jest zastępowanie klasycznych mechanicznych przycisków przez przyciski dotykowe, najczęściej typu pojemnościowego. Wraz z rozwojem tej technologii rosną jednak również oczekiwania jej użytkowników.
Od interfejsów dotykowych wymaga się zatem dodatkowych typów funkcjonalności, takich jak wykorzystanie technologii haptycznej, multi-touch (w przypadku paneli dotykowych), czy imitowanie cech charakterystycznych dla przycisków mechanicznych, właśnie takich jak tzw. glove-touch, czyli możliwość obsługi interfejsu w rękawiczkach.
Konstrukcja pojemnościowych interfejsów dotykowych znacznie utrudnia skuteczną implementację funkcji glove-touch. Zagadnienia stanowiące główne wyzwanie dla projektantów to detekcja słabszego sygnału emitowanego przez dłoń pokrytą rękawiczką oraz rozpoznawanie i odrzucanie fałszywych sygnałów pochodzących od innych ciał znajdujących się w pobliżu czujnika.
Zasada działania pojemnościowego interfejsu dotykowego
Działanie pojemnościowego interfejsu dotykowego polega na wykrywaniu zmian pojemności układu pomiarowego spowodowanych kontaktem warstwy ochronnej z przewodnikami elektrycznymi (jak np. ludzki palec). Pomiaru pojemności oraz konwersji mierzonej wartości na sygnał cyfrowy dokonuje układ kontrolera interfejsu.
W przypadku, gdy zmierzona wielkość przekracza przyjętą z góry wartość progową, zdarzenie kwalifikowane jest jako dotyk (patrz rys. 1). Należy pamiętać, że rzeczywisty sygnał pomiarowy zawsze obarczony jest szumem - przyjmuje się, że minimalna wartość stosunku sygnału do szumu (SNR - Signal-to-Noise-Ratio) konieczna do niezawodnego działania interfejsu dotykowego powinna wynosić ok. 5:1.
Zbliżenie do powierzchni interfejsu obiektu takiego jak palec może być w uproszczeniu przedstawione jako dodanie do układu równolegle podłączonego kondensatora płaskiego o dwóch okładkach rozdzielonych warstwą izolatora - jedną okładkę stanowi powierzchnia obiektu, drugą jest pole czujnika, zaś izolator to warstwa ochronna interfejsu.
Pojemność tego kondensatora zależy od takich parametrów, jak wymiary przyłożonego obiektu i czujnika (powierzchnia okładek), przenikalność elektryczna warstwy ochronnej oraz grubość tej warstwy. Grubsza warstwa ochronna powoduje zwiększenie odległości między okładkami, a przez to zmniejszenie stosunku sygnału do szumu, ponieważ maleje amplituda zmian pojemności wywołanych dotykiem.
Dotykanie interfejsu dłonią ubraną w rękawiczkę jest równoznaczne z umieszczeniem między okładkami kondensatora kolejnej warstwy izolatora. Tak jak wspomniano, powoduje to spadek amplitudy zmian pojemności mierzonej przez czujnik. Co za tym idzie, maleje poziom sygnału na wyjściu kontrolera układu - w efekcie wartość sygnału nie przekracza zazwyczaj wymaganego przez urządzenie poziomu progowego, zdarzenie to nie jest zatem kwalifikowane jako dotyk.
Efekt unwanted hover, czyli błędne wykrywanie dotyku
Opisany problem można oczywiście rozwiązać przez obniżenie wartości progowej, dzięki czemu słabsze sygnały emitowane przez dłoń w rękawiczce również będą kwalifikowane przez urządzenie jako dotyk. Takie działanie skutkuje niestety pojawieniem się negatywnego efektu określanego jako unwanted hover - okazuje się, że przybliżenie do powierzchni interfejsu (bez dotykania tej powierzchni) obnażonego palca powoduje podobnej wielkości zmiany pojemności czujnika, jak dotknięcie jego powierzchni dłonią w rękawiczce.
Urządzenie nie będzie w stanie odróżnić od siebie obu tych zdarzeń, przez co pojawią się błędy w jego działaniu - będzie reagować na dotyk, który w rzeczywistości wcale nie miał miejsca. Porównanie poziomu sygnałów wywołanych przez opisane zdarzenia obrazuje wykres z rysunku 2.
Pojawia się następujący problem: obniżenie wartości progu decyzyjnego pozwala na obsługę interfejsu dotykowego w rękawiczce, powoduje jednak występowanie błędów związanych z efektem unwanted hover, czyli wykrywaniem dotyku, którego wcale nie było. Podniesienie progu decyzyjnego do wartości eliminującej niepożądane efekty uniemożliwia rozpoznawanie dotyku dłonią w rękawiczce.
Bardzo prostym rozwiązaniem tej sytuacji może być umieszczenie w urządzeniu przełącznika, za pomocą którego użytkownik sam określa, czy obsługuje obecnie układ w rękawiczce, czy też czyni to obnażoną dłonią - od wybranej opcji zależy dobór wartości progu decyzyjnego.
Jest to jednak rozwiązanie bardzo mało eleganckie, szczególnie nieskuteczne w przypadku produktów elektroniki konsumenckiej, które powinny charakteryzować się prostotą obsługi oraz jak najmniejszą liczbą elementów interfejsu, takich jak przyciski czy przełączniki.
Istnieją jednak inne sposoby radzenia sobie z tym problemem, zarówno poprzez zastosowanie odpowiedniego oprogramowania, jak i wykorzystanie rozwiązań sprzętowych. By jednak możliwe były jakiekolwiek działania w kierunku poprawnej implementacji funkcji glove touch, konieczne jest dysponowanie sygnałem pomiarowym właściwej jakości, charakteryzującym się wystarczająco niskim poziomem szumu.
Poprawa jakości sygnału pomiarowego
Jakość sygnału pomiarowego zależy przede wszystkim od rozwiązań zastosowanych na etapie projektowania interfejsu dotykowego. Należy wówczas rozważyć następujące czynniki:
- czułość sensora,
- wartość pojemności pasożytniczej,
- poziom szumów.
Poniżej osobno omówiony zostanie wpływ każdego z wymienionych czynników.
Czułość sensora
Czułość określa zdolność sensora do reakcji (w postaci zmiany poziomu sygnału wyjściowego) na zmiany mierzonej wartości pojemności. Wielkość ta określana jest zazwyczaj w jednostkach na jednostkę pojemności. W czujnikach dotykowych zmiana pojemności wywołana dotykiem dłoni to zazwyczaj wartość rzędu setek femtofaradów (1 fF to 10-15 F).
Dotyk dłonią w rękawiczce powoduje zmianę pojemności o ok. 100 fF - jeśli, przykładowo, czujnik będzie charakteryzował się czułością 500 jednostek/pF, zareaguje sygnałem wyjściowym o wartości 50 jednostek. Czujnik o pięciokrotnie niższej czułości wygenerowałby w tej samej sytuacji sygnał wyjściowy o poziomie 10 jednostek - im bardziej czuły układ, tym większa szansa poprawnego wykrycia dotyku w rękawiczce.
Pojemność bazowa
Pojemność bazowa jest wielkością charakterystyczną dla danego sensora - jest to wewnętrzna pojemność samego czujnika, jednocześnie zaś wartość mierzona przez układ w sytuacji, gdy nic nie dotyka powierzchni sensora. Na wartość tej pojemności składają się pojemności pasożytnicze wszystkich elementów czujnika (występujące m.in. pomiędzy masą a ścieżkami i elektrodami).
Dla dokładnego działania urządzenia korzystna jest jak najmniejsza wartość tego parametru, ponieważ wzrasta wtedy czułość sensora. Pojemność bazowa jest maksymalną wartością mierzoną przez układ - jakikolwiek dotyk (tożsamy z równoległym włączeniem do obwodu kondensatora) powoduje spadek mierzonej wartości. Obniżenie wartość pojemności bazowej powoduje, że względna zmiana pojemności układu powodowana dotykiem wzrasta.
Przykładowo, jeśli układ kontrolera interfejsu dotykowego wyposażony jest w 12-bitowy przetwornik AC, maksymalna wartość na wyjściu tego układu może wynosić 4096 jednostek. Jednocześnie układ musi być zdolny do pomiaru pojemności w zakresie od zera do wartości pojemności bazowej.
Jeśli przyjmiemy, że wartość pojemności bazowej wynosi 16 pF, maksymalna czułość układu może wynieść 256 jednostek/ pF - przy większej czułości przetwornik AC nie działałby prawidłowo, ponieważ wchodziłby w stan nasycenia jeszcze przed pomiarem pojemności bazowej.
Dwukrotne zmniejszenie wartości pojemności bazowej układu (do 8 pF) spowodowałoby dwukrotny wzrost czułości sensora (do 512 jednostek/pF), przełożyłoby się to zatem na większą wykrywalność niewielkich zmian poziomu sygnału, właśnie takich jak podczas dotyku w rękawiczce.
Pojemność pasożytnicza poszczególnych elementów (a zarazem i pojemność bazowa całego czujnika) zależy m.in. od takich czynników, jak grubość laminatu (im większa, tym mniejsza wartość pojemności), szerokość i długość ścieżek (pojemność rośnie wraz ze zwiększaniem tych wymiarów), a także odległości między sąsiednimi ścieżkami.
W działaniach mających na celu poprawę skuteczności pracy czujnika mogą wesprzeć projektantów producenci kontrolerów interfejsów dotykowych. Niektóre z tych układów wyposażone są w typy funkcjonalności zmniejszające negatywny wpływ zbyt wysokiej pojemności bazowej, takie jak możliwość pomiaru pojemności względnej (pomiar różnicowy) oraz zapewnienie ekranowania czujnika.
Różnicowy pomiar pojemności nie odbywa się, tak jak w przypadku zwykłego sensora, od wartości 0 do wartości maksymalnej. Zakres pomiaru może być regulowany, zarówno co do wartości maksymalnej, jak i minimalnej. Przykładowo, ustawiając zakres pomiaru od 8 do 16 pF (zamiast od 0 do 16 pF), można dwukrotnie zwiększyć czułość sensora. Ekranowanie czujnika pozwala zmniejszyć dodatkową wartość pojemności pasożytniczej wnoszoną przez elementy zewnętrzne, dzięki czemu maleje również pojemność bazowa całego układu.
Szumy
Każdy rzeczywisty sygnał oprócz informacji użytkowej zawiera również szum. W przypadku interfejsów dotykowych, sygnałem użytkowym jest zmiana pojemności wywołana dotykaniem powierzchni układu, szumem zaś są zmiany mierzonej wartości powodowane wszelkimi innymi przyczynami.
Jeśli poziom szumów jest bardzo wysoki, urządzenie może działać nieprawidłowo - nie reagować na dotyk lub wręcz przeciwnie, rozpoznawać dotyk, gdy ten wcale nie występuje. Jak już wspomniano, przyjmuje się, że minimalna wartość stosunku sygnału do szumu konieczna do prawidłowego działania systemu wynosi 5:1.
Głównym źródłem szumów są zazwyczaj czynniki zewnętrzne, takie jak linie zasilające czy promieniowanie elektromagnetyczne pochodzące z innych urządzeń. By im przeciwdziałać, należy pamiętać o stosowaniu ekranowania oraz filtracji zakłóceń.
Metody implementacji funkcjonalności glove touch
W tej części artykułu opisane zostaną metody pozwalające na implementację funkcjonalności glove touch przy jednoczesnej poprawie niezawodności interfejsu dotykowego (eliminacji zjawiska unwanted hover).
Wykorzystując fakt, że poziom sygnału podczas dotyku powierzchni interfejsu dłonią w rękawiczce jest znacznie mniejszy niż w przypadku obnażonej dłoni, można opracować programową implementację tej funkcjonalności. W tym celu należy wprowadzić odpowiedni sposób zarządzania wartością progu decyzyjnego - obniżać ją, gdy wykryjemy, że użytkownik obsługuje układ w rękawiczce oraz podwyższać w przeciwnym wypadku.
Pozwoli to również na odrzucanie sygnałów fałszywych. Do prawidłowego działania algorytmu konieczne jest przyjęcie przynajmniej dwóch różnych wartości progów decyzyjnych - przykładowy sposób ich wyznaczenia przedstawiono na rysunku 3.
Próg 1 (niższy) umożliwia wykrywanie dotyku dłonią w rękawiczce, próg 2 (wyższy) ma taki poziom, że pozwala odrzucać niepożądane sygnały związane z przybliżaniem gołego palca do powierzchni interfejsu.
Schemat blokowy przykładowego algorytmu pokazany został na rysunku 4. Gdy użytkownik po raz pierwszy dotknie interfejsu, urządzenie określa (analizując poziom sygnału), czy ma on na dłoniach rękawiczki. Jeśli poziom sygnału przekracza próg 2, zakłada się, że użytkownik obsługuje interfejs obnażoną dłonią.
W tym przypadku dla kolejnych dotknięć w określonym przedziale czasu (np. 30 s) układ będzie stosował próg decyzyjny o wyższej wartości - pozwoli to odrzucić fałszywe sygnały pochodzące od obiektów niedotykających powierzchni przycisku. Jeśli jednak pierwszy dotyk wytworzy słabszy sygnał, przekraczający jedynie próg 1, urządzenie przyjmie dla kolejnych odebranych sygnałów niższy próg decyzyjny (założenie, że użytkownik obsługuje interfejs w rękawiczkach).
W tym przypadku jednak pojawienie się jakiegokolwiek sygnału przekraczającego próg 2 spowoduje natychmiastowe podwyższenie poziomu progu decyzyjnego (założenie, że użytkownik zdjął rękawiczki).
Interfejs dotykowy składa się zazwyczaj z wielu przycisków (pól) - możliwe jest zatem rozwinięcie przedstawionego algorytmu, które dla ustalenia sposobu obsługi układu przez użytkownika wykorzystuje dane pochodzące od wszystkich czujników. W tej sytuacji dotknięcie obnażonym palcem któregokolwiek z obszarów powoduje podwyższenie poziomu progu decyzyjnego na ustalony okres dla wszystkich elementów interfejsu.
Założenie, że ubranie rękawiczek i ponowne dotknięcie ekranu zajmie użytkownikowi określony czas (np. 15 s) wydaje się rozsądne i zgodne z rzeczywistym doświadczeniem. Główną słabością tego rozwiązania jest jednak sytuacja, w której pierwszy odebrany przez układ sygnał pochodzi z fałszywego źródła, np. obnażonego palca przybliżonego do powierzchni przycisku, ponieważ zostanie on błędnie rozpoznany jako prawidłowy dotyk.
Wykorzystanie ekranu dotykowego
Niektóre urządzenia wyposażone są zarówno w przyciski pojemnościowe, jak i panele dotykowe (rys. 5). W takiej sytuacji implementację funkcjonalności glove touch można oprzeć na informacjach uzyskanych przez panel dotykowy oraz wymianie danych pomiędzy tymi układami.
Konstrukcja ekranu dotykowego pozwala na skuteczne rozróżnianie sygnałów pochodzących z różnych źródeł. Typowe rozkłady sygnału pochodzącego od dotyku palcem w rękawiczce oraz przybliżenia obnażonego palca przedstawiono na rysunku 6. Palec w rękawiczce, dotykając ekranu, generuje sygnał rejestrowany przez znaczną liczbę sąsiednich obszarów ekranu dotykowego, większą niż w przypadku zbliżenia obnażonego palca.
Kontroler panelu dotykowego, wykorzystując różnice pomiędzy wzorcami obu tych zdarzeń, jest w stanie skutecznie je rozróżniać (np. korzystając z jednego z powszechnie znanych algorytmów rozpoznawania obrazów).
Uzyskana w ten sposób informacja (o tym, czy użytkownik nosi rękawiczki) przekazywana jest następnie do układu kontrolującego pojemnościowe przyciski dotykowe - ten zaś odpowiednio zarządza poziomem progu decyzyjnego.
Metoda ta ma dość ograniczony zakres stosowania - jest przydatna jedynie w przypadku urządzeń wyposażonych w ekrany dotykowe. Dodatkowo, warunkiem jej prawidłowego działania jest zaistnienie sytuacji, w której użytkownik przed naciśnięciem przycisków skorzysta z ekranu dotykowego. W innym wypadku mogą pojawić się błędy związane z nieprawidłowym rozpoznawaniem dotyku.
Podział obszaru czujnika
Pole pojemnościowego przycisku dotykowego składa się zazwyczaj z jednej elektrody, co jest wystarczające, by skutecznie wykrywać kontakt z obiektem przewodzącym prąd elektryczny (takim jak palec). Jak już pokazano, taka konstrukcja nie jest jednak w stanie bez dodatkowych zabiegów sprzętowych i programowych zapewnić niezawodnej pracy w każdych warunkach, np. gdy użytkownik ubrany jest w rękawiczki.
Rozwiązaniem może być podział obszaru przycisku na dwie części, tak jak pokazano to na rysunku 7. Po lewej stronie przedstawiono typowy projekt okrągłego przycisku z centralnym otworem przeznaczonym do montażu diody LED. Prawa strona pokazuje ten sam przycisk po podziale obszaru czujnika na dwie strefy - pierścień wewnętrzny i zewnętrzny.
Taka konstrukcja umożliwia rozpoznawanie sygnałów pochodzących z różnych źródeł na podobnej zasadzie, jak opisany wcześniej ekran dotykowy. Działanie tej metody opiera się na założeniu, że różne rodzaje zdarzeń (w szczególności dotyk dłonią w rękawiczce i przybliżenie obnażonej dłoni) skutkują pojawieniem się sygnału odmiennie rozkładającego się na powierzchni czujnika. Różnice te pokazano na rysunku 8.
Na podstawie przedstawionych na ilustracji przebiegów wyróżnić można trzy typowe sytuacje, które układ jest w stanie skutecznie rozróżnić:
- dotyk dłonią w rękawiczce generuje sygnał o podobnej (niskiej) amplitudzie w obu obszarach czujnika,
- dotyk obnażoną dłonią wywołuje sygnał o wysokiej amplitudzie, zbliżonej dla obu obszarów czujnika,
- przybliżenie palca do powierzchni przycisku powoduje powstanie zróżnicowanego sygnału, którego poziom wyraźnie różni się dla każdego z obszarów czujnika.
Porównując różnice między poziomem sygnału w wewnętrznym i zewnętrznym obszarze, można skutecznie rozróżniać dotyk w rękawiczce od przybliżenia palca do powierzchni przycisku (eliminacja efektu hovering finger).
Przykładowy schemat blokowy algorytmu implementującego funkcjonalność glove touch przedstawiony został na rysunku 9. Kluczem do poprawnego działania opisanego algorytmu jest poprawne wyznaczenie wartości progowych (FT, DT oraz GT).
Wprowadzenie podziału obszaru przycisku pozwala na skuteczną implementację funkcjonalności glove touch, musi być jednak zrealizowane już na etapie projektowania układu.
Podsumowanie
Poprawna implementacja funkcjonalności glove touch może znacząco zwiększyć komfort użytkownika urządzenia, co jednocześnie przełoży się na jego pozytywną opinię o produkcie. W artykule przedstawiono zarówno sprzętowe, jak i programowe rozwiązania tego problemu.
Możliwe jest zatem ich zastosowanie nie tylko w nowo projektowanych, ale również w gotowych urządzeniach.
Przy konstruowaniu nowych układów warto uwzględniać przedstawioną w tekście problematykę już na początkowym etapie ich projektowania, ponieważ kluczowe zagadnienia wpływające na możliwość skutecznej implementacji funkcjonalności glove touch to m.in. rozmieszczenie przycisków i ścieżek na płytce PCB oraz dobór odpowiedniego kontrolera interfejsu dotykowego.
Damian Tomaszewski