Wie funktionieren kapazitive Touch-Sensoren?
über
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.
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.
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.
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.
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.
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.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 Microchip, Azoteq 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:
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:
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:
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

Diskussion (0 Kommentare)