Ooit waren we allemaal best tevreden met mechanische knoppen. Toen, in 2003, verscheen de Apple iPod met een volledige aanraakinterface. Van de ene dag op de andere sloegen de geesten van produktmarketeers wereldwijd op hol, en moest alles, van wasmachines en koffiezetapparaten tot autoportiergrepen, een aanraakinterface hebben.

Een groot deel van het succes van de iPod is toe te schrijven aan zijn gebruikersinterface met aanraakbediening. Achter zijn glanzende ring en zijn verlichte knoppen zaten capacitieve sensoren. Elke verandering in hun capaciteit, die vele malen per seconde geëvalueerd werd, gaf de aanwezigheid van een vinger aan om een druk of een draai instructie te geven. Natuurlijk was het toegepaste verschijnsel niets nieuws. De invloed van de capaciteit van het menselijk lichaam op elektronische schakelingen werd ontdekt in 1919 toen Leon Theramin het gebruikte voor het regelen van een heterodyne oscillator in zijn instrument met dezelfde naam.

    Heb je projecten gebouwd met capacitieve aanraaksensoren?


    De invloed van capaciteit op circuits

    Wie ervaring heeft met elektronica zal waarschijnlijk wel eens ervaren hebben welke invloed een vinger op een schakeling heeft. Audio- en radiocircuits reageren vaak op de aanwezigheid van een vinger door de toonhoogte van hun uitgang te veranderen of op een andere radiozender af te stemmen. Ik hoorde eens van iemand die ontdekte dat zijn radio-ontvanger plotseling werkte zoals verwacht door zijn vinger op een van de electronenbuizen te leggen. Omdat hij niet van plan was zijn vinger voor altijd achter in de radio te houden, verving hij hem door een worst die enige tijd goede diensten bewees en een verrassing was voor de technicus die uiteindelijk het varkensvleesproduct moest vervangen met een echte reparatie.

    Capacitieve aanraakschakelingen steunen op de verandering in capaciteit die een vinger of lichaamsdeel heeft op de werking van een schakeling. De aanwezigheid van een vinger vormt een parallelle capaciteit naar massa die de waarde van de condensator in de schakeling verhoogt.
     
    ELK084 - Human Body Capacitance.PNG
    Het menselijk lichaam brengt een kleine, parallelle capaciteit aan bij het aanraken van schakelingen.

    Een mogelijke methode is het gebruik van de condensatoren in een oscillator. In dit voorbeeld variëren we de waarde van C2 tussen 1 µF en 7 µF in stappen van 1.5 µF om de toevoeging van een parallelle capaciteit te simuleren.
     
    ELK084 - Astable circuit variable capacitance.png
    Een astabiele schakeling zou een van zijn condensatoren als aanraaksensor kunnen gebruiken. In deze simulatie wordt C2 gevarieerd om het effect aan te tonen.
    Kijken we naar de FFT ( Fast Fourier Transform) van de uitvoer, dan zien we dat de frequentie begint bij 70 Hz, en daalt tot 40 Hz, 28 Hz, 21 Hz, en dan 17 Hz als reactie op deze veranderingen. Opgemerkt moet worden dat de uitvoer een blokgolf is, dus veel harmonischen vertroebelen het zicht.
     
    ELK084 - Astable frequency variation.PNG
    Naarmate de capaciteit toeneemt, daalt de frequentie. Dit zou gebruikt kunnen worden om een vinger te detecteren die onze capacitieve sensor aanraakt.

    Hier hebben we de beginfase van een schakeling voor aanraakdetectie. De uitgang kan verbonden worden met een teller. Het verschil tussen aanraken en niet aanraken kan bepaald worden door het aantal pulsen in een bepaalde periode, zeg 100 ms, te tellen en een teldrempel in te stellen. Een andere aanpak is het meten van de variatie in de breedte van de aanrakingspulsen.

    Op dit punt speelt de werkelijkheid een rol als we zulke schakelingen proberen te implementeren. Het menselijk lichaam vormt een capaciteit van ergens tussen 100 pF en 200 pF. Vervangen we C1 in onze schakeling door een condensator van 300 pF en variëren we C2 tussen 100 pF en 200 pF, dan verandert het uitgangssignaal. Van 356 kHz zonder aanraking van de mens, en daalt tot 284 kHz bij de aanwezigheid van de maximale capaciteit van het menselijk lichaam. Opgemerkt moet worden dat dit slechts een simulatie is, en dat de gekozen transistors in werkelijkheid misschien niet bij deze frequentie werken. We hebben echter het begin gemaakt van een capacitieve aanraaksensor.
     
    ELK084 - Astable frequency variation 500 kHz.PNG
    Door gebruik te maken van de minuscule capaciteiten van het menselijk lichaam, werkt onze oscillator op ongeveer 350 kHz voordat hij aangeraakt wordt.

    Capacitieve sensor soorten: Self-capacitance

    Er zijn twee soorten capacitieve detectie: self-capacitance en mutual-capacitance. Self-capacitance is de hierboven beschreven methode, waarbij de aanraaksensor een condensator vormt naar massa, en de schakeling de verandering in de waarde ervan meet als er een vinger op gehouden wordt. In plaats van de condensator als onderdeel van een oscillator te gebruiken, gebruiken aanraaksensorschakelingen gewoonlijk meer nauwkeuriger methodes.

    Een voorbeeld is de Charge Time Measurement Unit (CTMU), een onderdeel in een aantal microcontrollers van Microchip. Het werkt door een constante lading (0,55 µA, 5,5 µA, of 55 µA) op de sensor aan te brengen gedurende een vaste periode. Als deze periode voorbij is, wordt de spanning op de sensor gemeten met een analoog-digitaal omzetter (ADC). Als de meting met de ADC voltooid is, wordt de sensor volledig ontladen, zodat het proces herhaald kan worden. Dit wordt bij benadering nagebootst in de onderstaande schakeling.
     
    De Microchip CTMU bestaat uit een stroombron plus een schakelaar om de sensorcondensator te ontladen.
    Zoals bij elke analoge sensortoepassing zal het gemeten signaal beïnvloed worden door interferentie, en zal enige filtering nodig zijn om een aanraking met een vingertip nauwkeurig te detecteren. In de metingen hieronder vermindert een naderende vinger de piekspanning die bij de sensor bereikt wordt.
     
    De CTMU levert een lagere spanning als de sensor wordt aangeraakt.
    Self-capacitance aanraaksensoren worden meestal gebruikt als slechts een beperkt aantal knoppen nodig is of voor nabijheidsdetectie. Door de sensoren te groeperen, kunnen ze draaibare interfaces of schuifregelaars vormen. Door de koperen pads op de printplaat te verweven kan de overgang tussen de afzonderlijke sensoren soepel verlopen.
     
    Complexere sensoren zoals schuifregelaars (boven) kunnen daardoor een ongelijkmatig resultaat geven. Het door elkaar plaatsen van de sensoren (onder) kan de output vloeiender maken.
    Storing wordt aangepakt door aardingsringen rond de sensor aan te brengen of achter de sensor een gearceerd oppervlak met aarde te plaatsen. Men moet echter oppassen dat de gevoeligheid niet te ver daalt. Ook de grootte van de sensor is belangrijk. Idealiter moet het sensorgebied overeenkomen met dat van een menselijke vingerafdruk, ergens tussen 8 en 20 mm in diameter.

    Capacitieve sensoren worden gewoonlijk achter een plastic omhulsel aangebracht. Hoe dikker het materiaal, hoe lager de gevoeligheid van de sensor. Tenslotte zijn veel oppervlakken, zoals de gebruikersinterface van een wasmachine, gebogen, terwijl een PCB meestal vlak is. Flexibele PCB's op polyimide kunnen gebruikt worden om dit op te lossen, maar flex PCB's zijn duur. Als alternatief kan de afstand tussen het aanrakingsoppervlak en de printplaat overbrugd worden met veren of geleidend schuim. Hoewel dit het probleem mechanisch oplost, zijn extra tests en verdere fijnafstelling van de schakelingen en de software nodig om de betrouwbaarheid te garanderen.

    Capacitieve sensor soorten: Mutual capacitance

    Mutual-capacitance sensoren gebruiken een capacitieve sensor die tussen twee pinnen van de aanraaksensorchip of een microcontroller is verbonden, en meten de verandering in lading met en zonder de aanwezigheid van een vinger. De vinger steelt in wezen lading van de condensator alsof hij tussen de twee platen wordt geplaatst. Zo wordt een aanraking zichtbaar als een daling van de capaciteit. Deze aanpak maakt het mogelijk een raster van condensatoren over vlakke oppervlakken te maken om touch screens te ondersteunen, wat meestal projected capacitive touch of PCAP genoemd wordt. Eén methode laadt de X rijen van het sensorgebied opeenvolgend op en evalueert de capaciteiten aan de hand van de Y rijen, waarbij elke cyclus tientallen keren per seconde plaatsvindt. Dit is de capacitieve aanraakmethode die bij voorkeur gebruikt wordt voor de schermen van smartphones en touchpads op laptops.
     
    Mutual capacitance implementeert de capacitieve sensoren tussen twee pinnen van de microcontroller of het sensor IC (links). Touch screens en touchpads gebruiken een ruitvormig raster of soortgelijke patronen om een aanraakoppervlak te realiseren (rechts).
    Het ruitvormige rasterpatroon is een goed uitgangspunt en werkt goed in een koper layout. Idealiter moeten zowel de X als de Y rijen aan dezelfde kant liggen, zodat veel via's nodig zijn voor de X of de Y rijen. Afhankelijk van de toepassingseisen, zoals grootte en gevoeligheid, kunnen ook andere patronen gebruikt worden. Bij smartphones wordt het patroon op de glazen afdekplaat boven het beeldscherm aangebracht met Indium-Tin Oxide (ITO). Dit materiaal heeft een relatief lage weerstand, en het is doorzichtig, zodat de invloed op de leesbaarheid van het scherm en het verlies van helderheid minimaal is. Andere materialen, zoals ultrafijne kopersporen op transparante folie, zijn ook gebruikt. Om het visuele effect van het beeldscherm niet te beïnvloeden, worden de kopersporen zo aangebracht dat ze tussen de rijen pixels van het beeldscherm liggen.

    Deze toepassingen maken gebruik van speciale chipsets, zoals MaxTouch. Ontwerpers waarderen zulke complete toepassingen omdat ze honderden capaciteiten per seconde kunnen evalueren en de nodige filtering toepassen. Aan de uitgang herleiden ze de gebruikersinteractie tot X-Y coördinaten voor elke vinger en kunnen zelfs de gebruikte gebaren geven (knijpen, vegen, draaien). In de toepassingssoftware worden deze sensorgegevens op vrijwel dezelfde manier behandeld als die van andere invoerapparaten, zoals een muis, zonder dat men zich zorgen hoeft te maken over het decoderen van gebaren en het verwijderen van ruis uit de signalen.

    Capacitieve aanraking toevoegen aan Arduino en Raspberry Pi

    Kant en klare capacitieve touch IC's zijn verkrijgbaar bij Microchip, Azoteq, en Texas Instruments. Deze vereenvoudigen het circuit ontwerp aanzienlijk, en bieden meestal een digitale uitgang of seriële interface die rechtstreeks verbinding maakt met een Arduino of Raspberry Pi. Er moet echter op gewezen worden dat een succesvolle toepassing in werkelijkheid een uitvoerige praktijktest met verschillende sensorontwerpen en -configuraties vergt om de robuustheid en betrouwbaarheid op lange termijn te garanderen. Als alternatief zijn er bibliotheken beschikbaar voor Arduino waarmee met behulp van alleen een weerstand capacitieve sensoren gemaakt kunnen worden. Dit is meer dan genoeg om studenten en makers in staat te stellen zelf aanraakinterfaces te maken om concepten te verkennen en ideeën snel uit te proberen.
     

    Doe het zelf: LTspice code

     
    Astable circuit @ 70 Hz:
    Q1 N002 N004 0 0 BC547B
    Q2 N003 N005 0 0 BC547B
    R1 N001 N002 100R
    R2 N001 N003 100R
    R3 N001 N004 10K
    R4 N001 N005 10K
    C1 N005 N002 1µ
    C2 N003 N004 {X}
    V1 N001 0 5V
    .model NPN NPN
    .model PNP PNP
    .lib C:\Users\<USER>\Documents\LTspiceXVII\lib\cmp\standard.bjt
    .tran 15s startup
    .step param X 1u 2u 0.5u
    .backanno
    .end

    Astable Circuit @ 350 kHz:
    Q1 N002 N003 0 0 BC547B
    Q2 OUTPUT N004 0 0 BC547B
    R1 N001 N002 100R
    R2 N001 OUTPUT 100R
    R3 N001 N003 10k
    R4 N001 N004 10k
    C1 N004 N002 300p
    C2 OUTPUT N003 {X}
    V1 N001 0 5V
    .model NPN NPN
    .model PNP PNP
    .lib C:\Users\<USER>\Documents\LTspiceXVII\lib\cmp\standard.bjt
    .tran 1ms startup
    .step param X 100p 200p 25p
    .backanno
    .end

    CTMU Model:
    CTouch_Pad PAD 0 10pF
    CFinger PAD 0 {X}
    I1 0 PAD PULSE(0 5.5u 2u 0 0 5u 100u 1)
    M1 PAD N001 0 0 NMOS
    V1 N001 0 PULSE(0 5 12u 0 0 50u 100u 1)
    .model NMOS NMOS
    .model PMOS PMOS
    .lib C:\Users\<USER>\Documents\LTspiceXVII\lib\cmp\standard.mos
    .tran 30u
    .step param X 0p 200p 20p
    .backanno
    .end


    Vertaling: Hans Adams