Kalibracja ekranu rezystywnego z użyciem trzech punktów kalibracyjnych

| Technika

Ekrany rezystywne są obecnie wypierane z rynku na rzecz nowszych technologii, ciągle jednak cieszą się popularnością ze względu na prostotę swojej budowy i działania. Proponują bowiem rozwiązania tańsze w stosunku do nowszych technologii oraz zużywają mniej energii.

Kalibracja ekranu rezystywnego z użyciem trzech punktów kalibracyjnych

Pomimo wielu zalet taki rodzaj ekranów prawie zawsze wymaga, aby pierwszą czynnością przy pracy z nowym urządzeniem było wykonanie kalibracji. W wyniku użytkowania urządzenia następuje zużycie części mechanicznych, co również wpływa na potrzebę kalibracji. Czynność ta jest konieczna, aby minimalizować rozbieżności pomiędzy wprowadzanymi współrzędnymi na ekranie dotykowym a wyświetlanym punktem. Jeśli przycisk lub inny aktywny element ma działać poprawnie, współrzędne dotkniętego obszaru muszą leżeć dostatecznie blisko adekwatnych współrzędnych na wyświetlaczu.

W niniejszym artykule zaproponowano algorytm kalibracji oporowego ekranu dotykowego. Algorytm ten został opracowany po identyfikacji źródeł błędów ekranu dotykowego, w wyniku czego opracowano optymalną metodę przekształcania współrzędnych rejestrowanych przez ekran dotykowy na współrzędne wyświetlane na ekranie. W metodzie tej wykorzystywane są trzy punkty wzorcowe, które służą do ustalenia indywidualnych współczynników kalibracji ekranu. Współczynniki te są następnie używane do przekształcania współrzędnych ekranu dotykowego na współrzędne wyświetlacza.

Budowa ekranu i źródła błędów

Rys. 1. Porównanie wyświetlanego obiektu i odpowiadającego mu zniekształconego zbioru punktów generowanego przez ekran dotykowy

W celu dokonania analizy źródeł błędów należy przedstawić budowę i zasadę działania ekranu oporowego. Ekran tego typu składa się ze szklanej płytki oraz płytki wykonanej z odpornego na zadrapania plastiku. Obie płytki ustawione są względem siebie równolegle w niewielkiej nominalnej odległości, którą zapewniają separatory. Po wewnętrznych stronach obu powierzchni znajdują się cienkie warstwy elektrody. Wykrycie punktu dotyku odbywa się przez wykrycie styku ekranów, pod wpływem nacisku palca lub rysika. Czułość ekranu rezystywnego zależy od nominalnej szerokości szczeliny. W wyniki styku obu ekranów następuje zwarcie, które zmienia wartości oporów pionowego i poziomego. Pomiar tych wielkościach interpretowany jest jako miejsce styku.

Zasada działania układu jest podobna do działania potencjometru: kontroler ekranu dotykowego dostarcza napięcia do krańca jednej z warstw przewodzących, podczas gdy druga warstwa na przeciwległej powierzchni odgrywa rolę ślizgacza potencjometru. Napięcie wyjściowe odczytywane przez przetwornik zależy od tego, w którym punkcie nastąpiło ugięcie ekranu i styku powierzchni. Następnie sterownik przekształca zarejestrowane napięcie na odpowiadającą jej wartość cyfrową reprezentującą współrzędną dotkniętego punktu. Napięcie jest następnie dostarczane na krawędź drugiej powierzchni, w tym czasie pierwsza powierzchnia pełni funkcję ślizgacza. Otrzymana wartość jest reprezentacją drugiej współrzędnej.

Kontrolery mogą zbierać nawet dwieście lub więcej próbek na sekundę. Częstotliwość próbkowania zwykle zależy od szumów tła i jakości kontrolera. Inteligentny kontroler może także być wyposażony w dodatkowe funkcje, takie jak: zdolność do wymuszania przerwania w chwili wykrycia dotyku oraz przejście w stan uśpienia, gdy ekran nie jest dotykany.

Kilka źródeł błędów, wpływających na odczytywanie współrzędnych X i Y, generowanych jest przez sam kontroler, a głównym ich źródłem są szumy elektryczne. Ponadto błędy wywoływane są przez przemieszczenia mechaniczne i czynniki skalowania. Indywidualne cechy użytkownika również mogą być źródłem błędów, jeśli na przykład palec lub rysik nie zapewniają ciągłego kontaktu lub nacisku na ekran. Każde z tych źródeł może wytwarzać bezużyteczne dane i wszystkie muszą być kompensowane w celu uzyskania poprawnych informacji z ekranu dotykowego.

Zakłócenia wywołane przez efekty termiczne, elektromagnetyczne lub wady projektowe są wszechobecne we wszystkich systemach elektrycznych. W przypadku ekranu dotykowego, konwersja A/C jest szczególnie podatna na zakłócenia ze względu na wysoką impedancję wejściową przetwornika. Problem szumów rozwiązywany jest przez użycie filtru dolnoprzepustowego na wejściu przetwornika. Zakłócenia są eliminowane również przez sam program, zwykle przez odrzucenie jednego lub dwóch najmniej znaczących bitów konwersji A/C oraz przez implementowanie algorytmów usuwających te próbki, których wartość wykracza poza dopuszczalny zakres. Te same rozwiązanie może usunąć również błędy wprowadzane przez użytkownika.

Zasada działania algorytmu

Rys. 2. Wektorowa reprezentacja punktów

Wyświetlany obraz jest wynikiem realizacji trzech operacji nad danymi pochodzącymi z ekranu dotykowego: obrotu, przesunięcia i skalowania przez różne współczynniki w każdym z kierunków. Zadaniem algorytmu jest przekształcenie współrzędnych generowanych przez ekran dotykowy na zbiór współrzędnych wyświetlanych na ekranie.

Na rysunku 1 za pomocą okręgu przedstawiono wyświetlany obraz, natomiast elipsa prezentuje przesadzony zbiór współrzędnych uzyskiwanych przez ekran dotykowy, podczas zakreślania przez użytkownika krzywej wokół wyświetlonego obrazu.

W celu uzyskania ogólnego rozwiązania problemu, wygodnie jest opisać każdy z punktów jako wielkość matematyczną. Na rysunku 2 przedstawiono wyświetlany punkt jako wektor PD, a odpowiadający mu punkt na ekranie dotykowym jako wektor P. Rozsądnie jest przyjąć, że P i PD są powiązane ze sobą zależnością:
PD=MP
gdzie M jest macierzą transformacji. Jeśli istnieje możliwość przypisania wartości do elementów macierzy M, wtedy możliwe jest znalezienie wszystkich wyświetlanych punktów PD zależnych od wskazanych na ekranie dotykowym punktów P. Warto założyć, że każdy z wyświetlanych punktów możliwy jest do uzyskania przez wykonanie odpowiednich operacji na punkcie wskazanym przez ekran dotykowy. Operacjami tymi są obrót, skalowanie i przesunięcie.

Przedstawiając współrzędne punktu jako parę (X,Y), po przejściu z biegunowego układu współrzędnych otrzymuje się:
P=[X, Y]=[Rcosθ, Rsinθ]

Uwzględniając operację obrotu, skalowania oraz przesunięcia, otrzymuje się następującą zależność pomiędzy punktem wskazywanym przez użytkownika a punktem wyświetlanym:
PD=[KxRcos(θ+θr)+XT, KY
Rsin(θ+θrθ+YTθ]
gdzie: θr= θD–θ jest wartością obrotu pomiędzy punktami rejestrowanymi a wyświetlanymi; KX i KY są współczynnikami skalowania; XT i YT są wartościami przesunięcia. W dalszej kolejności można dokonać założeń upraszczających. Podczas dotyku ekran dotykowy może obrócić się względem wyświetlacza. Można założyć, że kąt obrotu θr jest na tyle niewielki, że sinθr= θr, cosθr=1. Uwzględniając to, można dokonać kolejnych przydatnych przybliżeń:
cos(θ+θr) ≈ (cosθ–θrsinθrθ)
sin(θ+θr) ≈ (sinθ–θrcosθrθ)

Równanie na PD może być zapisane w zmienionej formie w następującej postaci:
PD=[KxRcosθ–θrKXRsinθ+XT,
KYRsinθ+θr+KYRcosθ+YTθ]

Zaletą tego zapisu jest to, że wyraża rzeczywiste współrzędne wyświetlanego punktu w odniesieniu do współrzędnych ekranu dotykowego. Przekształcając powyższe równanie, otrzymujemy:
PD=[KxX–θrKXY+XT,
θrKYX+KYY+YTθ]

Pomijając X i Y, wszystkie elementy znajdujące się po prawej stronie powyższego równania są stałymi. Wyrażając współrzędne XD i YD w bardziej wygodnej formie, dochodzimy do równania, które przekształca punkt zadany ekranem dotykowym do punktu wyświetlanego na ekranie.

XD=AX+BY+C
YD=DX+EY+F

Powyższe, niemal intuicyjne równania są prawdziwe jedynie dla niewielkich wartości przesunięcia kątowego pomiędzy ekranem dotykowym i wyświetlaczem.

Typowe algorytmy kalibracyjne wykorzystują od dwóch do pięciu punktów kalibracyjnych. Z powyższych rozważań wynika, że współrzędne wyświetlanego punktu mogą być wyznaczone na podstawie współrzędnych ekranu dotykowego. Dzięki dokonaniu prostych założeń można uzyskać dane kalibracji na podstawie dokładnie trzech punktów kalibracyjnych. Potrzebna liczba punktów wynika z dwu ostatnich równań, gdzie znajdują się po trzy niewiadome. Z trzech punktów próbnych można uzyskać wystarczającą ilość informacji niezbędną do rozwiązania tych układów równań. W efekcie uzyskujemy zestaw parametrów umożliwiających przejście od współrzędnych ekranu dotykowego do współrzędnych wyświetlanych na ekranie.

Wybierając położenie punktów kalibracyjnych, należy pamiętać o tym, że nie można dobrać ich dowolne. Nie mogą znajdować się zbyt blisko krawędzi ekranu dotykowego, gdzie istnieje większe prawdopodobieństwo wystąpienia nieliniowości, co w efekcie obniżałoby dokładność algorytmu w środkowej części ekranu. Dodatkowo punkty te muszą znajdować się w pewnej odległości od siebie, aby zminimalizować błędy skalowania.

Opisany algorytm kalibracji ekranu dotykowego jest prosty, elastyczny i zdolny do korygowania typowych błędów mechanicznych. Błędy przesunięcia, skalowania i obrotu są rezultatem rozbieżności pomiędzy wyświetlaczem a ekranem dotykowym. Błędy te mogą być kompensowane metodami mechanicznymi, ale proponowane rozwiązanie zmniejsza wymagania stawiane jakości produkcji elementów elektromechanicznych, co wpływa na ich cenę.

Piotr Pojawa