Jednoduchý dotykový senzor
Kapacitný dotykový senzor s ATtiny2313.
ChaN, 25.01.2010-23:59










Princíp kapacitného dotykového senzora

Kapacitné senzory detekujú zmeny kapacity na snímacej elektróde priložením vodivého objektu, ako napríklad ľudského prstu. Existuje niekoľko metód používaných na snímanie, v tomto prípade je využitá integračná metóda, ktorú si niektorý z vás iste pamätajú z článku o merači kapacity. Zmeny kapacity sú veľmi malé, okolo 1 až 10 pF, dajú sa však zistiť veľmi ľahko, keďže dosiahnuté rozlíšenie je 20fF. Z princípu vyplýva, že objekty, ktoré chceme detekovať, musia byť uzemnené (vytvorenie prídavnej kapacity Cx, viď. obrázok B ).





Avšak, metóda funguje dokonca aj, ak je ľudské telo izolované od zeme. Ako je to možné, nám priblížia nasledujúce riadky.
Vodivý objekt s určitou plochou má vlastnú kapacitu. V prípade ak má objekt tvar gule kapacita C=4πε0r, kde ε0 je permitivita vákua a r je polomer. Ľudské telo má podľa modelu pre ESD testy kapacitu približne 100pF, čo je hodnota dostatočne veľká v porovnaní s Cs. Preto môžeme ľudské telo považovať za uzemnený vodič, aj keď priamo uzemnené nie je. Je však spojené zo zemnou pomocou parazitných kapacít a to umožňuje vytvorenie kapacity Cx.

Hardware

Elektródy (dotykové plochy) sú 10mm medené štvorce položené na DPS a prekryté izolačnou vrstvou (páskou Kapton). V detekčnom "obvode" je na každom pine ATtiny2313 pripojený 1MOhm pull-up rezistor. V normálnom stave (stav bez dotyku) je čas integrácie daný hodnotou pull-up rezistora a parazitnou kapacitou na pinoch mikrokontroléru a elektródach. Keď sa dotkneme dotykovej elektródy prstom, čas integrácie sa zvýši, čo má za následok detekciu dotyku. Aktuálne sa čas integrácie pohybuje od niekoľko jednotiek mikrosekúnd po niekoľko desiatok mikrosekúnd.





Software

V prvom rade zariadenie skalibruje každý detekčný bod (referenčný čas integrácie spôsobený kapacitou Cs) a následne sa spustí skenovanie jednotlivých dotykových bodov, ktoré prebieha s konštantnou periódou. Ak sa zvýši čas integrácie a prekročí sa jeho prahová hodnota, je to vyhodnotené ako dotyk na danom dotykovom bode. K prekročeniu prahovej hodnoty je potrebná určitá hysteréza a ak sa dotykovej plôšky dotkneme napr. iba polovicou prsta nebude to vyhodnotené ako dotyk, ale výstup bude nestabilný. Meranie času v každom dotykovom bode je rovné času integrácie, takže meranie môže byť veľmi rýchle. Kapacita je daná meraním času integrácie, pomocou komparátora a interného časovača s funkciou zachytávania. Táto funkcia však nie je k dispozícii na všetkých I/O pinoch. Ak chceme implementovať dotykový senzor na každý I/O pin, čas integrácie musí byť meraný softwarovo a tým nám narastie rozlíšenie na 3 hodinové takty (375ns).

Záver

V konečnom dôsledku, môžem povedať, že kapacitné dotykové senzory sa dajú ľahko realizovať na väčšine mikrokontrolérov. Pre správne fungovanie, môže mať izolačná vrstva hrúbku až 1mm (v závislosti od dielektrickej konštanty materiálu). Pri použití ATtiny2313, môže byť v jednom module integrovaných až 15 dotykových plôšok. Firmware mikrokontroléru (v prílohe pod článkom) použitý v tomto projekte je na experimentálne účely a nebol testovaný pri nepriaznivých vplyvoch ako je napríklad šum a vlhkosť, takže pre seriózne použitie by vyžadoval doprogramovať minimálne algoritmus na odstránenie šumu. Video, na ktorom si môžte pozrieť funkčnosť tohto zariadenia nájdete tu.

Homepage projektu: http://elm-chan.org/works/capsens/report_e.html
Zverejnené zo súhlasom autora.

Preklad: Kiwwicek


tento článok je z mikroZONE
( https://www.mikrozone.sk/pluginy/content/content.php?content.38 )