PCB “Touch” -Taste


10

Ist es möglich, ein PCB-Pad als Taste zu verwenden? Ich denke daran, damit einen Schaltkreis einzuschalten, der nur aktiviert werden soll, wenn der Benutzer ihn in den Händen hält.

Als Inspiration habe ich die Pads verwendet, die für Soft-Touch-Tasten auf Tastaturen oder in Taschenrechnern verwendet werden:

Geben Sie hier die Bildbeschreibung ein

Ich weiß, dass der menschliche Körper einen ziemlich hohen Widerstand hat. Was wäre also eine geeignete Schaltung, um die Berührungseingabe zu erkennen? Nur nackte Hardware. Ich möchte hier keinen Mikrocontroller verwenden.


6
Du meinst einen kapazitiven Berührungssensor?
PlasmaHH

@PlasmaHH Dies könnte eine andere Möglichkeit sein, aber ich denke an etwas wie das Verstärken des Stroms, der fließt, wenn das obige Pad mit dem Finger überbrückt wird, und das Deaktivieren, um einen Mosfet oder etwas
anderes

1
Abhängig von den Leistungsanforderungen Ihres Designs ist die kapazitive Erfassung möglicherweise zu leistungshungrig. Sie können mit den 50Hz (wahrscheinlich) davonkommen. Wenn Sie das Tor eines Mos berühren, schalten Sie das Mos ein. Außerdem brechen Sie es normalerweise, so dass es irgendwie geschützt sein muss, aber es ist ein guter Ausgangspunkt.
Vladimir Cravero

Antworten:


12

Aus Gründen der Zuverlässigkeit würde ich mich nicht für ein Open-Gate-Design entscheiden und mich auf das 50-Hz-Rauschen verlassen. Es könnte wahrscheinlich funktionieren, aber Ihre Idee, verschachtelte Finger zu verwenden, sollte ziemlich gut funktionieren.

Der Widerstand trockener Haut liegt irgendwo zwischen 1k und 100k, so dass Sie sich einen NMOS-Transistor (finden Sie einen mit ESD-Schutz) und einen großen Pulldown von zB 1M Ohm vorstellen können. Dann können Sie den Finger als Pull-up-Widerstand verwenden, um den Mosfet einzuschalten.

schematisch

simulieren Sie diese Schaltung - Schema erstellt mit CircuitLab

Sie können auch einen Bipolartransistor (oder Darlington-Transistor) verwenden. Diese sind weniger anfällig für ESD-Defekte, können jedoch bei Bedarf keinen großen Strom am Ausgang liefern, sodass Sie den Ausgang puffern müssten.

Ein kapazitiver Sensor wäre eine alternative Lösung, erfordert jedoch eine kompliziertere Schaltung.


2
Ich würde in Betracht ziehen, einen 10k-Widerstand zwischen der Kathode von D1 und dem Übergang zwischen R1 und der rechten Seite des Sensors hinzuzufügen, um den momentanen Strom aus einer statischen Entladung in das Gate von M1 zu begrenzen und D1 bei seiner Arbeit zu unterstützen, indem er im Allgemeinen schnell verlangsamt Kanten nach unten. Wenn Sie diese Schaltung als besonders rauschanfällig empfinden, kann ein Kondensator mit etwa 100 pF über R1 helfen - Sie müssen sie bauen und ausprobieren!
Stefandz

Guter Punkt, ich werde es dem Schaltplan hinzufügen
Douwe66

12

Es ist möglich, resistive Anschlussfelder zu verwenden, wie Sie zeigen, aber kapazitive Anschlussfelder sind im Allgemeinen besser. Resistive Pads lassen eine direkte Verbindung zum Stromkreis nach außen offen. Sie sind daher anfällig für Schäden durch statische Entladung und Lärm.

Kapazitive Pads sind eine bessere Methode, obwohl sie etwas mehr Firmware erfordern, um sie zu erkennen, zumindest wenn Sie es gut machen wollen. Beachten Sie, dass resistive Pads auch Firmware benötigen, um eine noch rudimentäre Störfestigkeit zu erzielen. Es ist eine schlechte Idee, nur zwei Pads an etwas Empfindliches wie das Gate eines FET anzuschließen. Sie können den Gleichtakt und andere Umgebungsgeräusche nicht aufheben.

Hier ist das Layout einer kleinen Platine, die ich kürzlich erstellt habe, um kapazitive Tasten zu untersuchen:

Die Kappen sind kleine Scheiben mit einem Durchmesser von 3,8 mm (150 mil) und ansonsten auf der obersten Schicht von Erde umgeben. Der Mikrocontroller ist ein PIC 16LF1786. Es und alle anderen Teile, die nicht direkt mit dem Benutzer verbunden werden können, sind auf der Unterseite dieser zweilagigen Platine montiert.

Der PIC scannt kontinuierlich die Pads. Wenn es eine Änderung der gedrückten / freigegebenen Wahrnehmung eines Pads feststellt, sendet es eine Nachricht über die serielle Schnittstelle, aktualisiert die Lichter oben rechts und gibt einen Piepton auf einer Presse aus.

Zum Testen kann ich den PIC regelmäßig seine internen Werte für die Druckfestigkeit jedes Pads senden lassen. Hier ist eine grafische Darstellung aller fünf rohen Sinneswerte zusätzlich zu dem digitalen Gesamtzustand, in dem etwas gedrückt wird, während ich jedes Pad nacheinander mit dem Finger gedrückt habe:

Wie Sie sehen können, ist die Störfestigkeit außergewöhnlich. Selbst das schwächste Signal lag weit über 300, während das Rauschen ± 2 betrug.

Die magentafarbene Kurve mit der Bezeichnung "Gedrückt" zeigt das ODER der einzelnen gedrückten Tastenzustände. Die Werte zeigen die Schwellenwerte für Presse und Veröffentlichung an. Es gibt viel zusätzliches Signal, das in diesem Fall nicht verwendet wird. Diese speziellen Schwellenwerte wurden angepasst, um einige Papierschichten über den Tasten zu tolerieren.

Natürlich gibt es eine clevere Handhabung der Tasten und Verarbeitung, auch wenn ich es selbst sage, aber die Ergebnisse sind eindeutig mit einem recht bescheidenen Mikrocontroller erreichbar.

Ich verwende dies in einem realen Produkt, in dem dasselbe Mikro auch eine Zeichenanzeige verwaltet. Dies ist ein grundlegendes Benutzeroberflächensubsystem, das ich in mehreren zukünftigen Produkten wiederverwenden möchte. Es ist über eine serielle Schnittstelle mit dem Hauptsystemcontroller verbunden. Die Hauptsteuerung sendet Befehle zum Schreiben an das Display und empfängt asynchrone Nachrichten, wenn sich der Status einer Schaltfläche ändert.


Was sind die Einheiten der YAchse in Ihrem Diagramm? Sind die Pads einfach mit den Pins verbunden oder sind andere Komponenten beteiligt?
Dmitry Grigoryev

1
@Dmitry: Die Y-Achse zeigt das interne Maß "Wie viel die Taste berührt wird". Es wird aus rohen A / D-Werten abgeleitet, es sind jedoch mehrere A / D-Messwerte beteiligt, und diese Messwerte werden erheblich verarbeitet. Es wurde nicht versucht, sie in bestimmten Einheiten zu halten, da diese Werte relativ zueinander und willkürlich eingegebene Schwellenwerte sind. Sehr grob sind sie in Einheiten von etwa 800 uV Differenz zwischen dem Lesen. 350 bedeutet ungefähr 280 mV, aber auch hier ist es nicht wirklich so einfach.
Olin Lathrop

Sie fahren also die Pads hoch und niedrig und messen mit ADC eine Lade- / Entladerate?
Dmitry Grigoryev

1
@Dmitry: Ich fahre etwas anderes hoch und niedrig und messe dann die Schrittänderung in den Pads. Nichts ist zeitbasiert, außer dass genügend Zeit zum Einlesen bleibt, um Messungen vorzunehmen.
Olin Lathrop
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.