A kapacitív érintésérzékelés végrehajtására szolgáló áramkörök és technikák

EasyMount kapacitív érzékelő kipróbálása, bemutatása (Július 2019).

$config[ads_text] not found
Anonim

A kapacitív érintésérzékelés végrehajtására szolgáló áramkörök és technikák


Ez a cikk bemutatja az alapvető kap-sense áramköri konfigurációkat, és bemutatja, hogyan kell kezelni az alacsony és a magas frekvenciájú zajokat.

segítő információ

  • Elektromos mező és kapacitás
  • A kapacitást befolyásoló tényezők
  • Op-Amp oszcillátor áramkörök
  • Pozitív visszajelzést

Előző cikk

  • Bevezetés a kapacitív érintésérzékelésbe

Mérési változás

Ha elolvastad az előző cikket, akkor tudod, hogy a kapacitív érintésérzékelés lényege a kapacitás változása, amely akkor következik be, amikor egy objektum (általában egy emberi ujj) közeledik a kondenzátorhoz. Az ujj jelenléte növeli a kapacitást 1) egy anyag (azaz emberi test) viszonylag nagy dielektromos állandóval történő bevezetésével és 2) vezetőképes felületet biztosítva, amely további kapacitást hoz létre a meglévő kondenzátorral párhuzamosan.

Természetesen a puszta tény, hogy a kapacitásváltozások nem különösebben hasznosak. A kapacitív érintésérzékelés elvégzéséhez olyan áramkörre van szükségünk, amely képes pontosan pontossággal mérni a kapacitást, hogy az ujjlenyomatok által okozott kapacitásnövekedés következetesen azonosulhasson. Számos módja van erre, néhány meglehetősen egyszerű, mások kifinomultabbak. Ebben a cikkben két általános megközelítést vizsgálunk a kapacitív értelemben vett funkcionalitás megvalósítására; az első egy RC (ellenállás-kondenzátor) időállandóra épül, a második pedig a frekvenciaváltásokon alapul.

Az RC idő állandóan, mint egy régi barát

Ha olyan vagy, mint én, az egyetemi nosztalgia homályos érzéseit tapasztalja, amikor látja az exponenciális görbét, amely a töltés vagy kisütés kondenzátorának feszültségét mutatja. Van valami róla - talán ez volt az első alkalom, amikor rájöttem, hogy a magasabb matematikának valóban van valamilyen kapcsolata a valósággal, vagy talán ebben a korban a szőlőtörő robotoknál van valami vonzó a kiürítő kondenzátor egyszerűségével kapcsolatban. Mindenesetre tudjuk, hogy ez az exponenciális görbe megváltozik, ha az ellenállás vagy a kapacitás változik. Tegyük fel, hogy van egy RC áramkör, amely egy 1 MΩ ellenállásból és kapacitív érintésérzékelőből áll, jellemzően 10 pF ujjlenyomatos kapacitással.

Használhatunk általános célú bemeneti / kimeneti csapot (kimenetként konfigurálva), hogy feltöltsük az érzékelő fedelét a logikai nagyfeszültségig. Ezután a kondenzátorra szükségünk van a nagy ellenálláson keresztül történő kisülésre. Fontos megérteni, hogy egyszerűen nem kapcsolhatja egyszerűen a kimeneti állapotot a logika alacsony szintjére. Egy kimenetként konfigurált I / O-pólus logikailag alacsony jelet fog vezetni, vagyis a kimenetet kis impedanciájú kapcsolattal látja el a földi csomóponthoz. Így a kondenzátor gyorsan lemerülhetett ezen alacsony impedancián keresztül - annyira gyorsan, hogy a mikrokontroller nem tudta észlelni a kis változások által okozott finom időzítési változatokat. Ehhez egy nagy impedanciájú tűre van szükség, amely szinte az összes áramot szivattyúzza az ellenálláson keresztül, és ezt úgy lehet elérni, hogy a csapot bemenetként konfigurálják. Tehát először a csapot logikai magas kimenetként állítsuk be, majd a kisütési fázist a pólus egy bemenetre való változtatásával indítjuk el. Az így kapott feszültség így fog kinézni:

Ha valaki megérinti az érzékelőt, és ezáltal további 3 pF kapacitást hoz létre, az időállandó növekedése az alábbiak szerint növekszik:

A kibocsátási idő nem különbözik az emberi normáktól, de a modern mikrokontroller biztosan észleli ezt a változást. Tegyük fel, hogy van egy 25 MHz-es időzítő; elindítjuk az időzítőt, amikor a PIN-t bemeneti üzemmódra váltjuk. Ezt az időzítőt használhatjuk úgy, hogy nyomon követjük az ürítési időt úgy, hogy ugyanazt a csapot konfiguráljuk, mint egy trigger, amely egy rögzítő eseményt indít el (a "rögzítés" azt jelenti, hogy az időzítő értéket külön regiszterben tároljuk). A rögzítési esemény akkor következik be, amikor a lemerülés feszültsége áthalad a tű logikai alacsony küszöbértékén, pl. 0, 6 V. Az alábbi ábrán látható módon a kisülési idő és a 0, 6 V küszöbérték különbsége ΔT = 5, 2 μs.

Az 1 / (25 MHz) időzítő órajel forrásának időtartama 40 ns, ez a ΔT 130 kullancsnak felel meg. Még akkor is, ha a kapacitásváltozás 10-szeresére csökken, még mindig 13 kullancs különbség lenne az érintetlen érzékelő és a megérintett érzékelő között.

Tehát itt az ötlet, hogy ismételten töltsük fel és ürítsük ki a kondenzátort, miközben nyomon követjük az ürítési időt; ha az ürítési idő meghalad egy előre meghatározott küszöbértéket, akkor a mikrokontroller azt feltételezi, hogy az ujj érintkezésbe lépett az érintésérzékeny kondenzátorral (idézőjelekbe tettem a "kapcsolatot", mert az ujj soha nem érintette a kondenzátort - cikk, a kondenzátort a külső környezettől a forrasztó maszk és a készülék burkolata elkülöníti). Az élet azonban kicsit bonyolultabb, mint az ideált eszmecsere; a hibaforrásokat az alábbiakban a "Valósággal való foglalkozás" részben tárgyaljuk.

Változó kondenzátor, változó frekvencia

A frekvencia-váltáson alapuló megvalósításnál a kapacitív érzékelőt egy RC oszcillátor "C" részeként használják, így a kapacitásváltozás frekvenciaváltozást okoz. A kimeneti jelet egy számlálómodul bemenetként használják, amely számolja az emelkedő vagy leeső élek számát, amelyek egy bizonyos mérési időszak alatt előfordulnak. Ha egy közeledő ujj az érzékelő kapacitásának növekedését okozza, akkor az oszcillátor kimenőjelének frekvenciája csökken, és így csökken az élszám.

Az úgynevezett relaxációs oszcillátor egy közös áramkör, amely erre a célra használható. Néhány ellenállást és összehasonlítót igényel az érintésérzékeny kondenzátor mellett; ez sokkal bonyodalmasabbnak tűnik, mint a fent ismertetett töltés / kisütési technika, de ha a mikrokontroller integrált komparátor modulmal rendelkezik, akkor nem túl rossz. Nem fogok részletekbe menni ebben az oszcillátor áramkörben, mert 1) máshol tárgyalnak, beleértve itt és itt is, és 2) valószínűtlennek tűnik, hogy az oskillátoros megközelítést szeretné használni, ha sok mikrokontroller és diszkrét IC található nagy teljesítményű kapacitív-érintésérzékelési funkciókat kínálnak. Ha nincs más választása, mint saját kapacitív érintésérzékelő áramköre létrehozására, úgy vélem, hogy a fentiekben ismertetett töltés / kisülési technika sokkal egyszerűbb. Ellenkező esetben egyszerűbbé tegye az életét, ha egy mikrokontrollert választ ki dedikált érzékelős hardverrel.

A Silicon Labs EFM32 mikrokontrollerek kapacitív értelemben vett perifériája egy példa egy integrált modulra, amely a relaxációs oszcillátor megközelítésen alapul:

A multiplexer lehetővé teszi az oszcillációs frekvencia vezérlését nyolc különböző érintésérzékeny kondenzátorral. Gyorsan átkapcsolva a csatornákon, a chip hatékonyan felügyel egyidejűleg nyolc érintésérzékeny gombot, mert a mikrokontroller működési frekvenciája olyan magas, mint az ujj mozgásának sebessége.

A valósággal való foglalkozás

A kapacitív-érintésérzékeny rendszert mind a nagy frekvenciájú, mind az alacsony frekvenciájú zaj okozza.

A nagyfrekvenciás zaj kisebb minta-minta változatokat okoz a mért kiürítési időben vagy az élszámlálásban. Például a fentiekben tárgyalt ujjlenyomatos töltés / kisülési áram kiesési ideje 675 kullancs, majd 685 kullancs, majd 665 kullancs, majd 670 kullancs stb. Ennek a zajnak a jelentősége attól függ, hogy a várakozás az ujj indukálta-e a kisülés idején. Ha a kapacitás 30% -kal növekszik, a ΔT 130 kullancs lesz. Ha nagyfrekvenciás változatunk csak kb. ± 10 kullancsot képes, akkor könnyen meg lehet különböztetni a jelet a zajtól.

Azonban a kapacitás 30% -os növekedése valószínűleg közel áll ahhoz a maximális változáshoz, amelyet ésszerűen elvárhatunk. Ha csak 3% -os változást kapunk, a ΔT 13 kullancs, ami túl közel van a zajszinthez. A zaj hatásának csökkentése egyik módja, hogy növelje a jel nagyságát, és ezzel csökkentheti a PCB kondenzátor és az ujj közötti fizikai elválasztást. Gyakran előfordul, hogy a mechanikai tervezést más tényezők is korlátozzák, ezért a lehető legnagyobb jelet kell elérnie. Ebben az esetben csökkenteni kell a zajszintet, amit átlagolással lehet elérni. Például minden új kibocsátási időt összehasonlíthatunk az előző kibocsátási idővel, de az utolsó 4, 8 vagy 32 ürítési idő átlagával. A fent tárgyalt frekvenciaváltási technika automatikusan magában foglalja az átlagot, mivel az átlagos frekvencia körüli kis variációk nem befolyásolják jelentősen a ciklusok számát, amelyek az oszcillációs periódushoz képest hosszabb mérési perióduson belül vannak számlálva.

Az alacsony frekvenciájú zaj az ujjlenyomat érzékelő kapacitásának hosszú távú változataira utal; ezeket környezeti feltételek okozhatják. Az ilyen típusú zajokat nem lehet átlagolni, mert a változás nagyon hosszú ideig fennmaradhat. Így az alacsony frekvenciájú zaj kezelésének egyetlen módja alkalmazható: az ujj jelenlétének azonosítására használt küszöbérték nem lehet rögzített érték. Ehelyett azt rendszeresen ki kell igazítani a mért értékek alapján, amelyek nem mutatnak jelentős rövid távú változatokat, például az ujjlenyomatok által okozott változásokat.

Következtetés

Az ebben a cikkben tárgyalt implementációs technikák azt mutatják, hogy a kapacitív érintésérzékelés nem igényel komplex hardvert vagy rendkívül kifinomult firmware-t. Mindazonáltal egy sokoldalú, erőteljes technológia, amely jelentős javulást eredményezhet a mechanikai alternatívákkal szemben.