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 czerwiec 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio lipiec 2020

Świat Radio

Magazyn użytkowników eteru

APA - Automatyka Podzespoły Aplikacje czerwiec 2020

APA - Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna czerwiec 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich czerwiec 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów