Podotykaj sobie: 2010. Czujniki zbliżeniowe i kontrolery klawiatur pojemnościowych - realizacje prog

Podotykaj sobie: 2010. Czujniki zbliżeniowe i kontrolery klawiatur pojemnościowych - realizacje prog
Pobierz PDF Download icon

W poprzednim wydaniu EP przedstawiliśmy przegląd dostępnych na rynku scalonych kontrolerów klawiatur pojemnościowych. W tym miesiącu dokończymy prezentację, skupiając się na alternatywnym sposobie obsługi klawiatur bezstykowych - za pomocą odpowiednio zaprogramowanych standardowych mikrokontrolerów.

54 ELEKTRONIKA PRAKTYCZNA 6/2010 Wybór konstruktora Dodatkowe informacje o mikrokontro- lerach firmy SiLabs wyposażonych w blok CDC i oprogramowaniu QuickSense można znaleźć pod adresem: www.silabs.com/quicksense Dodatkowe materiały na CD i FTP Pierwsze dobrze udokumentowane roz- wiązania klawiatur pojemnościowych opu- blikowała ok. 1995 roku firma National Se- miconductor, angażując do tego celu klasycz- ne układy CMOS z serii 4000B oraz 74HC. Nieco później pojawiły się opisy pierwszych prób z  rozwiązaniami opartymi na mikro- kontrolerach, których stopniowe udoskona- lanie zaowocowało wprowadzeniem ? przez firmę Microchip jako pierwszą na rynku, do tego bezpłatnie ? pakietu bibliotek pozwala- jących zastosowanie linii GPIO mikrokon- trolerów jako sensorów klawiatur bezstyko- wych. Przełom spowodowany przez Micro- chipa spowodował, że konstruktorzy mają obecnie do dyspozycji całą gamę rozwiązań tego typu, które pokrótce ? w porządku alfa- betycznym ? przedstawimy w artykule. Sku- pimy się wyłącznie na rozwiązaniach łatwo dostępnych dla większości konstruktorów, pomijając rozwiązania oferowane przez (cią- gle i niesłusznie) egzotyczne na naszym ryn- ku firmy jak Holtek czy EM Microelectronic. Atmel: QTouch Library Atmel przygotował pakiet prekompilo- wanych bibliotek (w  aktualnej wersji jest ich ponad 300 w  różnych wariantach dla mikrokontrolerów AVR, w  tym tinyAVR, megaAVR oraz XMEGA oraz 24 dla mikro- kontrolerów AVR32: UC3A, UC3B), zapew- niających obsługę klawiatur i  nastawników bezstykowych wykorzystujących opatento- waną technologię transferu i  porównywa- nia ładunków, pozwalającą obsłużyć do 64 pól czujnikowych. W zależności od potrzeb, w projektach można wykorzystać pola ?przy- ciskowe? (QTouch) lub nastawniki obrotowe Podotykaj sobie: 2010 Czujniki zbliżeniowe i kontrolery klawiatur pojemnościowych ? realizacje programowe lub suwakowe (QMatrix, z możliwością roz- różnienia do 256 wartości z wykorzystaniem 3 linii mikrokontrolera), a także łączyć róż- ne elementy bezstykowe tworząc wygodny panel użytkownika (rys. 1). Pomimo imple- mentacji programowej w klasycznych mikro- kontrolerach, technologia detekcji zbliżenia palców jest taka sama jak w  wyspecjalizo- wanych kontrolerach ? nosi ona nazwę AKS (Adjacent Key Suppression), została opraco- wana przez firmę Quantum Research Group, która od stosunkowo niedawna jest własno- ścią Atmela. W archiwum z bibliotekami nie ma ich plików źródłowych, ale użytkownik ma moż- liwość ich parametryzowania, wpływając m.in. na czułość pól czujnikowych. W zależ- ności od rodzaju obsługiwanego pola czujni- kowego biblioteki QTouch wymagają na swo- je potrzeby od 3 do 5 kB pamięci Flash oraz od 73 B do ok. 1 kB. W archiwum QTouch Libraries 4.1 producent zawarł także pliki W  poprzednim wydaniu EP przedstawiliśmy przegląd dostępnych na rynku scalonych kontrolerów klawiatur pojemnościowych. W  tym miesiącu dokończymy prezentację, skupiając się na alternatywnym sposobie obsługi klawiatur bezstykowych ? za pomocą odpowiednio zaprogramowanych standardowych mikrokontrolerów. Rys. 1. Biblioteki QTouch zapewniają wygodną pojedynczych ?przycisków? oraz nastawników różnego rodzaju Rys. 2. Lokalizacja bibliotek QTouch w projekcie programistycznym 55ELEKTRONIKA PRAKTYCZNA 6/2010 Czujniki zbliżeniowe i kontrolery klawiatur pojemnościowych ? realizacje programowe Dodatkowe informacje o bibliotekach QTouch można znaleźć pod adresem: www.atmel.com/touch przykładowe dla kompilatora AVR-GCC oraz kompilatora C firmy IAR, w tym kompletne pliki projektów. Na rys. 2 pokazano lokaliza- cję pliku bibliotecznego w typowym projek- cie programistycznym. Biblioteki QTouch mają ujednolicone API, co minimalizuje konieczny nakład pra- cy ze strony użytkownika podczas nauki ich stosowania i ułatwia przenoszenie aplikacji pomiędzy różnymi mikrokontrolerami. Ze względu na dużą liczbę prekompilowanych plików o niezbyt czytelnych dla początkują- cych nazwach, Atmel przygotował wygodny w stosowaniu ?przewodnik? w postaci arku- sza XLS (rys. 3) z dokładnym opisem funk- cjonalnym poszczególnych bibliotek i  ich wymogów w stosunku do mikrokontrolera. Cypress: CapSense + PSoC Designer Jednym z niedocenianych w naszym kra- ju liderów rynku klawiatur i  nastawników bezstykowych jest firma Cypress, w  ofercie której znajdują się dwie rodziny mikrokon- trolerów PSoC zoptymalizowanych kon- strukcyjnie do stosowania w  bezstykowych panelach użytkownika: CapSense Control- lers (rodziny: CY8C20x34, CY8C20xx6A, CY8C20x36A) oraz CapSensePlus Control- lers (rodziny: CY8C21x34, CY8C24x94, CY- 8C20xx6A). Obydwie rodziny mikrokontrolerów wyposażono w  wewnętrzne, konfigurowal- ne zasoby sprzętowe, które ? za pomocą oprogramowania PSoC Designer (rys.  4) są konfigurowane do pracy jako czujniki pojem- nościowe. Implementacja w  mikrokontrole- rach CapSense nie wymaga więc konieczności stosowania bibliotek programowych ? interfejsy dotyko- we są ?budowane? w sprzęcie mi- krokontrolerów. Mikrokontrolery CapSense (wyposażone w  natywny rdzeń M8C firmy Cypress) wyposażono w  konfigurowalne bloki detekcji zbliżenia palca wykorzystujące techniki CSA (CapSense Successi- ve Approximation) i CSD (CapSen- se Sigma Delta), które pozwalają obsłużyć od 10 do 31 pól czujni- kowych. Charakteryzują się one bogatym wyposażeniem w  inter- fejsy peryferyjne (klasyczne: I2 C, SPI i UART, a także USB), dostęp- ne są w obudowach od QFN16 do QFN68, mogą być zasilane napię- ciami od 1,7 do 5,5 V. Rodzina CapSensePlus to mi- krokontrolery PSoC (także z  rdze- niem M8C) wyposażone w pamięć Rys. 3. Atmel przygotował wygodną ściągawkę dla programistów korzystających z bi- bliotek QTouchLibrary Rys. 4. Programem narzędziowym do implementacji czujników CapSense w mikrokon- trolerach PSoC firmy Cypress jest dostępny bezpłatnie PSoC Designer Rys. 5. Schemat elektryczny interfejsu bezstykowego użytkownika (pojedyncze przyciski, nastaw- nik suwakowy i sterownik LED) z mikrokontrolerem CapSense firmy Cypress 56 ELEKTRONIKA PRAKTYCZNA 6/2010 Wybór konstruktora Flash o pojemności od 8 do 32 kB, szeroką gamę interfejsów komunikacyjnych (I2C, SPI, USB, UART) i  bloków peryferyjnych (np. PWM, przetworniki A/C i  C/A), do- stępne w obudowach od SOIC8 do QFN56. Wbudowane w  mikrokontrolery CapSense interfejsy bezstykowe wykorzystują tech- nikę detekcji CSD, można je skonfigurować do obsługi klawiatur i  różnego rodzaju na- stawników (o  liczbie pól czujnikowych od 8 do 44), a także ?mieszanych? paneli użyt- kownika. Interfejsy bezstykowe wyposażono w  procedury zaawansowanej autokalibracji (SmartSense), dzięki której dostosowują się one do niedoskonałości czujników pojemno- ściowych, potrafią skompensować zmiany ich parametrów, zapewniają odporność czuj- ników na skutki zalania, minimalizują także podatność na zakłócenia EMI. Rozwiązania proponowane przez Cy- pressa umożliwiają zbudowanie niezwykle prostych układowo bezstykowych paneli użytkownika, czego przykład pokazano na rys. 5. Freescale: TSS Firma Freescale poszła tą samą drogą co Atmel i oferuje pakiet bezpłatnych bibliotek (Touch Sensing Software ? TSS) ?konwertują- cych? mikrokontrolery z rodziny S08 w inte- ligentne interfejsy klawiatur i nastawników bezstykowych. Biblioteki te są dostarczane w postaci prekompilowanej z dobrze opisa- nym API, program instalacyjny integruje je automatycznie ze środowiskiem programi- stycznym CodeWarrior Development Studio Special Edition Microcontrollers Version, po- cząwszy od wersji 6.2. Na rys.  6 pokazano strukturę biblio- tek TSS, znajdują się tam także fragmen- ty funkcjonalne planowane do wdrożenia w kolejnych wersjach bibliotek. Biblioteki TSS obsługują do 64 pól czujnikowych (w  zależności od możliwości mikrokon- trolera) skonfigurowanych w  dowolny sposób, umożliwiają programową regula- cję czułości detekcji, wyposażono je także w  mechanizmy wykrywania zalania lub zabrudzenia elektrody, a  także konfiguro- walne filtry przeciwzakłóceniowe. W  za- leżności od wybranego przez użytkownika algorytmu detekcji (ATL ? Advance Touch Logic lub CTS ? Capacitive Turbo Sensing), wykorzystywane są różne zasoby mikro- kontrolera: ? w przypadku ATL: timer TPM lub MTIM + jedna linia GPIO dla każdej elektrody, Rys. 6. Schemat blokowy ilustrujący budowę udostępnionej przez firmę Freescale bi- blioteki TSS dla mikrokontrolerów S08 Dodatkowe informacje o mikrokontrole- rach CapSense można znaleźć pod adresem: www.cypress.com/capsense Dodatkowe informacje o bibliotekach TSS można znaleźć pod adresem: www.freescale.com/touchsensing Rys. 7. Schemat elektryczny pola czujnikowego bezstykowego nastawnika obrotowego z mikrokontrolerem z rodziny MC9S08 Rys. 8. Rodziny mikrokontrolerów firmy Microchip, dla których dostępne są biblioteki mTouch 57ELEKTRONIKA PRAKTYCZNA 6/2010 Czujniki zbliżeniowe i kontrolery klawiatur pojemnościowych ? realizacje programowe CTMU w mikrokontrolerach PIC18F i PIC24F zapewniając wygodną obsługę pojedynczych ?przycisków?, klawiatur matrycowych oraz 2- i 4-kanałowych nastawników suwakowych. Dla mikrokontrolerów z innych rodzin dostępne są osobne biblioteki (także nazywane mTouch), których API nie jest zgodne z bibliotekami zin- tegrowanymi w pakiecie MAL. SiLabs: QuickSense CDC Firma SiLabs jest popularnym w naszym kraju producentem nowoczesnych wersji mikrokontrolerów z  rdzeniem 8051. Dwie produkowane przez tę firmę podrodziny (C8051F7xx i C8051F8xx) są przystosowane do aplikowania jako kontrolery czujników bezstykowych o maksymalnej liczbie moni- torowanych pól czujnikowych wynoszącej (odpowiednio) 32 i 16. Technika detekcji ?naciśnięcia? przycisku zastosowana przez SiLabs opiera się na wypo- sażeniu mikrokontrolerów w  specjalny blok sprzętowy CDC (Charge-Timing Capacitance to Digital Converter), w którym zastosowano m.in. 16-bitowy przetwornik A/C oraz 20-bi- towy akumulator (rys. 9), który uśrednia wy- niki kolejnych pomiarów, spełniając rolę filtru zapobiegającego błędnym odczytom stanów pól czujnikowych. Wbudowany w  mikro- kontrolery interfejs można programować ?na piechotę? lub wykorzystując dostępny bez- Rys. 9. Istotnymi elementami bloków CDC jest 16-bitowy przetwornik A/C oraz 20-bitowy akumulator R E K L A M A Microchip: mTouch Capacitive Touch Firma Microchip przygotowała dla pro- dukowanych przez siebie mikrokontrolerów (rys. 8) biblioteki programowe o nazwie mTo- uch Capacitive Touch, umożliwiające imple- mentację do 17 czujników bezstykowych wykorzystujących do detekcji ?naciśnięcia? peryferia uniwersalne (jak komparator ana- logowy lub przetwornik A/C) lub wyspecjali- zowane (jak Charge Time Measurement Unit ?CTMU lub Cap Sensing Module ? CSM). Biblioteka mTouch Capacitive Touch jest od niedawna integralną częścią pakietu MAL (Mi- crochip Application Library ? http://www.micro- chip.com/mal) i w wersji 1.01 obsługuje moduły ? w przypadku CTS: jedna linia GPIO dla każdej elektrody, do tego ok. 5 kB pamięci Flash oraz ok. 140 B pamięci SRAM. Poważnym atutem bibliotek TSS jest ich zgodność ze standardem MISRA (opra- cowany przez Motor Industry Software Re- liability Association), który powstał w celu zapewnienia przejrzystości i  przenośności kodów źródłowych programów napisanych w C. Na rys.  7 pokazano przykładowy sche- mat elektryczny pola czujnikowego bezsty- kowego nastawnika obrotowego z mikrokon- trolerem z rodziny MC9S08, obsługiwanego przez biblioteki TSS. 58 ELEKTRONIKA PRAKTYCZNA 6/2010 Wybór konstruktora Fot. 12. Płytka ewaluacyjna STM8-DISCOVERY kosztuje zaledwie ok. 35 zł, a znajduje się na niej także programator-debugger z interfejsem USB płatnie pakiet QuickSense Studio (rys.  10), za pomocą którego generowane są pliki kon- figurujące, a komunikacja aplikacji użytkow- nika z interfejsem bezstykowym odbywa się za pomocą API bibliotek dostarczanych przez producenta wraz ze środowiskiem projek- towym. Pakiet QuickSense Studio zawiera także oprogramowanie umożliwiające prowa- dzenie analiz i kalibracji procedur obsługują- cych czujniki bezstykowe, komunikujące się bezpośrednio z  mikrokontrolerem (poprzez wybrany interfejs komunikacyjny), na którym jest uruchamiana aplikacja. ST: STMTouch Firma STMicroelectronics udostępniła własną bibliotekę do obsługi ?przycisków? i na- stawników bezstykowych (rys. 11), umożliwia- jącą zaimplementowanie w mikrokontrolerach z rodziny STM8 do 24 pojedynczych pól czuj- nikowych oraz 2 nastawniki liniowe lub obro- towe. W bibliotece STMTouch jej twórcy zasto- sowali procedury kalibracyjne oraz filtrujące, których zadaniem jest minimalizacja nakładu pracy podczas uruchamiania urządzeń wypo- sażonych w  bezstykowe panele użytkownika. Techniczne szczegóły związane z implementa- cją bibliotek STMTouch przedstawiamy w arty- kule na str. 59. Warte wspomnienia są przykłady wykorzy- stania tej biblioteki na niezwykle taniej płytce ewaluacyjnej o  nazwie STM8-DISCOVERY (fot. 12). Jej cena brutto nie przekracza 35 zł, a oprócz prostej części ewaluacyjnej, na płytce znajduje się także programator-debugger z USB! Podsumowanie Bogata oferta rynkowa powoduje, że kon- struktorzy urządzeń wyposażonych w  bez- stykowe panele użytkownika mają komfor- towe warunki do pracy: mogą wybierać po- między rozwiązaniami czysto sprzętowymi (patrz EP5/2010) lub sprzętowo-programo- wymi, pozwalającymi zintegrować w  nie- wielkim mikrokontrolerze kompletną apli- kację z obsługą ?przycisków? i nastawników bezstykowych. Rywalizacja producentów półprzewodników spowodowała, że za wy- rafinowane oprogramowanie rozpowszech- niane w  ramach bibliotek prezentowanych w artykule nie musimy płacić, co jest poważ- ną zachętą do ich stosowania. Czytelników zainteresowanych pre- zentowaną tematyką zachęcamy do przej- rzenia materiałów opublikowanych na CD- EP6/2010A, gdzie publikujemy m.in. noty aplikacyjne objaśniające zasady pomiaru zmian pojemności, będące podstawą funk- cjonowania detektorów bezstykowych. Piotr Zbysiński, EP piotr.zbysinski@ep.com.pl Rys. 10. Okno programu QuickSense Studio służacego do konfiguracji, kalibracji i testowania działania czujników bezstykowych Rys. 11. Biblioteka STMTouch umożliia implementację w mikrokontrolerach STM8 24 pojedynczych pól czujnikowych oraz 2 nastawniki liniowe lub obrotowe Dodatkowe informacje o bibliotekach mTouch można znaleźć pod adresem: www.microchip.com/mtouch

Artykuł ukazał się w
Czerwiec 2010
DO POBRANIA
Pobierz PDF Download icon
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik grudzień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio listopad - grudzień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje listopad - grudzień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna grudzień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich grudzień 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów