Es gab eine Zeit, da waren wir alle mit mechanischen Tasten zufrieden. Dann, im Jahr 2003, erschien ein Apple iPod mit einer reinen Touch-Oberfläche. Scheinbar über Nacht waren die Produktvermarkter auf der ganzen Welt begeistert, und alles, von Waschmaschinen über Kaffeemaschinen bis hin zu Autotürgriffen, musste eine Touch-Oberfläche haben.

Der Erfolg des iPod ist zum großen Teil auf seine berührungsgesteuerte Benutzeroberfläche zurückzuführen. Hinter dem glänzenden Ring und den leuchtenden Tasten befanden sich kapazitive Sensoren. Sie wurden viele Male pro Sekunde ausgewertet und zeigten durch jede Veränderung ihrer Kapazität die Anwesenheit eines Fingers an, der ein Drücken oder Drehen signalisierte. Natürlich war das hier genutzte Phänomen nicht neu. Der Einfluss der menschlichen Körperkapazität auf elektronische Schaltungen wurde 1919 entdeckt, als Leon Theremin sie zur Steuerung eines Heterodyn-Oszillators in seinem gleichnamigen Musikinstrument nutzte.
 

    Haben Sie bereits Projekte mit kapazitiven Touchsensoren entwickelt?


    Auswirkungen der Kapazität auf Schaltkreise

    Wer sich mit Elektronik auskennt, hat wahrscheinlich schon einmal erlebt, welche Auswirkungen ein Finger auf einen Schaltkreis haben kann. Audio- und Radioschaltungen reagieren oft auf die Anwesenheit eines Fingers, indem sie ihre Ausgangstonhöhe ändern oder einen anderen Radiosender empfangen. Ich habe einmal von jemandem gehört, der feststellte, dass sein Radio plötzlich wie erwartet funktionierte, als er seinen Finger auf eine der Röhren legte. Da er nicht geneigt war, den besagten Finger für immer hinten im Radio zu platzieren, ersetzte er ihn durch eine Wurst, die für einige Zeit gute Dienste leistete und den Techniker überraschte, der schließlich das Schweinefleischprodukt durch eine echte Reparatur ersetzen musste.

    Kapazitive Berührungsschaltungen beruhen auf der Kapazitätsänderung, die ein Finger oder anderer Körperteil auf die Funktion einer Schaltung hat. Das Vorhandensein eines Fingers bildet eine Parallelkapazität zur Erde, die sich zum Wert des Kondensators in der Schaltung addiert.

     
    ELK084 - Human Body Capacitance.PNG
    Der menschliche Körper bildet bei der Berührung von Schaltkreisen eine kleine parallele Kapazität.

    Eine Möglichkeit wäre, die Kondensatoren in einem Oszillator zu verwenden. In diesem Beispiel variieren wir den Wert von C2 zwischen 1 µF und 7 µF in Schritten von 1,5 µF, um die Einführung einer Parallelkapazität zu simulieren.

     
    ELK084 - Astable circuit variable capacitance.png
    Eine astabile Schaltung könnte einen ihrer Kondensatoren als Berührungssensor verwenden. In dieser Simulation wird C2 variiert, um die Wirkung zu demonstrieren.
    Ein Blick auf die FFT (schnelle Fourier-Transformation) der Ausgabe zeigt, dass die Frequenz bei 70 Hz beginnt und als Reaktion auf diese Änderungen auf 40 Hz, 28 Hz, 21 Hz und dann 17 Hz abfällt. Es ist zu beachten, dass es sich beim Ausgangssignal um eine Rechteckwelle handelt, sodass viele Oberschwingungen die Sicht verdecken.

     
    ELK084 - Astable frequency variation.PNG
    Wenn die Kapazität zunimmt, sinkt die Frequenz. Dies könnte genutzt werden, um einen Finger zu erkennen, der unseren kapazitiven Sensor berührt.

    Hier haben wir die Anfänge einer Schaltung zur Berührungserkennung. Der Ausgang könnte an einen Zähler angeschlossen werden. Der Unterschied zwischen Berührung und Nichtberührung kann durch Zählen der Impulse in einem bestimmten Zeitraum, z. B. 100 ms, und Festlegen einer Zählschwelle bestimmt werden. Ein anderer Ansatz wäre die Messung der Variation der Einschalt-Impulsbreite.

    An dieser Stelle kommt das wirkliche Leben ins Spiel, wenn wir versuchen, solche Schaltungen zu implementieren. Der menschliche Körper bildet eine Kapazität zwischen 100 pF und 200 pF. Wenn wir C1 in unserer Schaltung durch einen 300-pF-Kondensator ersetzen und C2 zwischen 100 pF und 200 pF variieren lassen, ändert sich der Ausgang von 356 kHz ohne menschliche Berührung auf 284 kHz bei maximaler Kapazität des menschlichen Körpers. Es sei darauf hingewiesen, dass es sich hierbei nur um eine Simulation handelt und die ausgewählten Transistoren in der Realität möglicherweise nicht mit dieser Frequenz arbeiten. Wir haben jedoch die Voraussetzungen für einen kapazitiven Berührungssensor geschaffen.

     
    ELK084 - Astable frequency variation 500 kHz.PNG
    Aufgrund der winzigen Kapazität des menschlichen Körpers entfernt sich unser Oszillator von den ursprünglichen ca. 350 kHz, wenn er berührt wird.

    Arten von kapazitiven Sensoren: Selbstkapazität

    Es gibt zwei Arten von kapazitiver Abtastung: Selbstkapazität und gegenseitige Kapazität. Die Selbstkapazität ist der oben beschriebene Ansatz, bei dem der Berührungssensor einen Kondensator gegen Masse bildet und der Schaltkreis die Änderung seines Wertes misst, wenn ein Finger daraufgelegt wird. Statt den Kondensator als Teil eines Oszillators zu verwenden, verwenden Touch-Schaltungen in der Regel Ansätze, die eine genauere Steuerung der angelegten Ladung ermöglichen. 
     
    Ein Beispiel ist die Ladezeit-Messeinheit oder Charge Time Measurement Unit (CTMU), ein Peripheriemodul in einigen Mikrocontrollern von Microchip. Der Sensor wird für eine bestimmte Zeit mit einem konstanten Ladestrom (0,55 µA, 5,5 µA oder 55 µA) beaufschlagt. Nach Ablauf dieses Zeitraums wird die Spannung am Sensor mit einem Analog-Digital-Wandler (ADC) gemessen. Nach Abschluss der ADC-Messung wird der Sensor vollständig entladen, sodass der Vorgang wiederholt werden kann. Dies wird in der folgenden Schaltung ungefähr nachgebildet.


     
    Die CTMU von Microchip besteht aus einer Stromquelle und einem Schalter zur Entladung des Sensorkondensators.
    Wie bei jeder analogen Sensoranwendung wird das gemessene Signal durch Interferenzen beeinflusst, und es ist eine gewisse Filterung erforderlich, um eine Fingerberührung genau zu erkennen. Bei den folgenden Messungen verringert ein sich nähernder Finger die am Sensor erreichte Spitzenspannung.
     
    Die CTMU liefert eine niedrigere Spannung, wenn eine Berührung an ihrem Sensor vorliegt.
    Selbstkapazitive Berührungssensoren werden in der Regel verwendet, wenn nur eine begrenzte Anzahl von Tasten benötigt wird oder wenn eine Annäherungserkennung erforderlich ist. Durch die Gruppierung von Sensoren können Dreh- oder Schieberegler nachgebildet werden. Die Verschachtelung der Kupferpads auf der Leiterplatte kann den Übergang zwischen den einzelnen Sensoren glätten.

     
    Komplexere Sensoren wie Schieberegler (oben) können „holperige“ Ergebnisse liefern. Durch Verschachtelung der Sensoren (unten) kann die Gleichmäßigkeit der Ausgabe verbessert werden.
    Störungen werden durch das Anbringen von Erdungsringen um den Sensor oder eines Erdungsrasters hinter dem Sensor reduziert. Es muss jedoch darauf geachtet werden, dass die Empfindlichkeit nicht zu stark reduziert wird. Auch die Größe des Sensors ist wichtig. Im Idealfall sollte die Sensorfläche der eines menschlichen Fingerabdrucks entsprechen, also zwischen 8 und 20 mm Durchmesser.

    Kapazitive Sensoren werden in der Regel hinter einer Kunststoffabdeckung eingebaut. Je dicker das Material ist, desto geringer ist die Empfindlichkeit des Sensors. Zudem sind viele Oberflächen, wie die Benutzeroberfläche einer Waschmaschine, gekrümmt, während eine Leiterplatte in der Regel flach ist. Zur Lösung dieses Problems können flexible Leiterplatten auf Polyimid verwendet werden, die jedoch teuer sind. Alternativ kann der Abstand zwischen der Tastfläche und der Leiterplatte mit Federn oder leitfähigem Schaumstoff überbrückt werden. Damit wird das Problem zwar mechanisch gelöst, aber es sind zusätzliche Tests und eine Abstimmung der Schaltkreise und der Software erforderlich, um die Zuverlässigkeit zu gewährleisten.

    Arten von kapazitiven Sensoren: gegenseitige Kapazität

    Bei gegenseitigen Kapazitätssensoren ist der Sensor zwischen zwei Pins des Touch-Chips oder eines Mikrocontrollers angeschlossen und misst die Veränderung der Ladung mit und ohne Finger. Der Finger „stiehlt“ im Wesentlichen Ladung aus dem Kondensator, als ob er sich zwischen den beiden Platten befinden würde. Somit bewirkt eine Berührung einen Abfall der Kapazität. Dieser Ansatz ermöglicht die Schaffung eines Gitters von Kondensatoren auf flachen Oberflächen zur Realisierung von Touchscreens, was üblicherweise als Projected Capacitive Touch oder PCAP bezeichnet wird. Bei einer Methode werden die X-Zeilen des Sensorbereichs nacheinander aufgeladen und die Kapazitäten anhand der Y-Zeilen ausgewertet, wobei dieser Zyklus mehrere Dutzend Mal pro Sekunde stattfindet. Dies ist das bevorzugte kapazitive Touch-Verfahren, das für die Bildschirme von Smartphones und die Touchpads von Laptops verwendet wird.

     
    Bei gegenseitiger Kapazität werden die kapazitiven Sensoren zwischen zwei Pins des Mikrocontrollers oder Sensor-ICs geschaltet (links). Touchscreens und Touchpads verwenden ein Raster aus Rauten oder ähnlichen Mustern, um eine berührungsempfindliche Fläche zu realisieren (rechts).
    Das Rautengittermuster ist ein guter Ausgangspunkt und funktioniert gut in Kupfer. Idealerweise sollten sowohl die X- als auch die Y-Reihe auf derselben Seite liegen, was viele Durchgangslochverbindungen entweder für die X- oder die Y-Reihe erfordert. Je nach den Anforderungen der Anwendung, wie Größe und Empfindlichkeit, können auch andere Muster verwendet werden. Bei Smartphones wird das Muster mit Indium-Zinn-Oxid (ITO) auf die Glasabdeckung über dem Display aufgebracht. Dieses Material hat einen relativ geringen Widerstand und ist lichtdurchlässig, was die Auswirkungen auf die Helligkeit und Lesbarkeit des Bildschirms minimiert. Auch andere Materialien, wie z.B. ultrafeine Kupferbahnen auf transparenter Folie, kommen zum Einsatz. Um die optische Wirkung des Displays nicht zu beeinträchtigen, werden die Kupferbahnen zwischen den Pixelreihen des Displays angebracht.

    Für diese Anwendungen werden spezielle Chipsätze verwendet, z. B. MaxTouch. Entwickler schätzen solche Komplettlösungen, die Hunderte von Kapazitäten pro Sekunde auswerten und die notwendige Filterung durchführen können. Als Endergebnis liefern sie die Benutzerinteraktion in Form von X-Y-Koordinaten für jeden Finger und können sogar die verwendeten Gesten (Zoomen, Streichen, Drehen) erkennen. In der Anwendungssoftware werden diese Sensordaten genauso behandelt wie andere Eingabegeräte, z. B. eine Maus, ohne dass man sich um die Dekodierung von Gesten und die Entfernung von Störungen aus den Signalen kümmern muss.

    Kapazitive Touch-Fähigkeiten für Arduino und Raspberry Pi

    Gebrauchsfertige kapazitive Touch-ICs sind von MicrochipAzoteq und Texas Instruments erhältlich. Diese vereinfachen den Aufbau von Schaltungen erheblich und bieten in der Regel einen digitalen Ausgang oder eine serielle Schnittstelle, die direkt mit einem Arduino oder Raspberry Pi verbunden werden kann. Es sollte jedoch beachtet werden, dass ein erfolgreicher Einsatz in einer tatsächlichen Anwendung viele Tests mit verschiedenen Sensordesigns und -konfigurationen erfordert, um langfristige Robustheit und Zuverlässigkeit zu gewährleisten. Alternativ gibt es Bibliotheken für Arduino, die es ermöglichen, kapazitive Sensoren mit nur einem Widerstand zu realisieren. Das ist mehr als genug, um Studierende und Entwickler in die Lage zu versetzen, Berührungsschnittstellen zu erstellen, um Schnittstellenkonzepte zu erforschen und Ideen schnell auszuprobieren.

     

    LTspice-Code für eigene Versuche

     
    Astabiler Schaltkreis mit 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

    Astabiler Schaltkreis mit 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-Modell:
    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
     

    Übersetzung: Jörg Starkmuth