Hallo, ich habe im Nachbarforum schonmal nachgefragt, aber keine sinnvollen Antworten erhalten. Ich hoffe, hier im SmartHome-Bereich mehr Erfahrungen zu finden. Beitrag "Designhilfe kapazitive Touch-Platine für Thermostat" Und zwar will ich für meine Thermostate und auch weitere Schaltungen Touch-Sensoren nutzen. Diese sollen durch 2-5mm Plastik/Glas funktionieren. Für die zwei konkreten UseCases habe ich auch entsprechende Platinen erzeugt. Leider bringen diese nicht das gewünschte Ergebnis. Ich habe in Einzelfällen mal ein Signal bei Direktkontakt erhalten, aber wirklich nur vereinzelt. Geplant habe ich mit den MTCH-105 mit aktivem Shield Auch nach Studium der Design-Guides (https://ww1.microchip.com/downloads/aemDocuments/documents/TXFG/ApplicationNotes/ApplicationNotes/Capacitive-Touch-Sensor-Design-Guide-DS00002934-B.pdf) komme ich hier nicht weiter und habe den Eindruck, dass ich hier einen grundlegenden Fehler drin habe. Nun meine Frage: Wo liegt der Fehler? Angehängt habe ich mal sowohl die reine Sensorplatine des Thermostats, die Schaltung des Mischers (welche effektiv mit der des Thermostats identisch ist bis auf einen weiteren Sensor - PullUps sind auf der CPU-Platine enthalten), sowie die Platine des Mischers (rechts unten) Danke und Gruß Micha
:
Bearbeitet durch User
Michael W. schrieb: > Angehängt habe ich mal sowohl die reine Sensorplatine des Thermostats, > die Schaltung des Mischers (welche effektiv mit der des Thermostats > identisch ist bis auf einen weiteren Sensor - PullUps sind auf der > CPU-Platine enthalten), sowie die Platine des Mischers (rechts unten) Allerdings nicht für jeden lesbar.
Hallo, wenns hilft noch anbei die Platinen als Bild - was für den Designcheck aber vermutlich nur begrenzt hilft. Wenn es da ein sinnvolleres Format gibt, was ich aus Kicad rausbringen kann, gerne um Info. Thermostat-Platine ist 60x25mm, Mischer ist 89x39mm Grüße Micha
Ich habe 4k7 als Serienwiderstände zu den Pads und keinen Widerstand in der Guard-Leitung. Du hast aber keinen 100n X7R zwischen VCC und GND (Pin 13 und 14). Der ist nicht zum Spaß da, und er muss dichtmöglichst an den beiden Pins liegen. Der Abstand ist kritisch. Bei der Spannungsversorgung die Leiterbahnen so breit wie möglich machen. Bei mir ist vor der Versorgung des MTCH noch ein Ferrit (BLM15HD102SN1D) und davor nochmal 10uF X7R gegen GND. Damit funktioniert es bei mir. fchk
Hi fchk, vielen Dank für Deinen Input, der hat mich massiv weitergebracht! Ich hab (auf dem Testbrett mit MTCH108 mit entsprechend angebundener Platine) den Widerstand im Guard entfernt und den für den ersten Kanal auf 4k7 reduziert. Ebenso den 100nF angefügt direkt zwischen den Pins. Ferrit habe ich gerade keinen da und konnte daher auch keinen einfügen. Test 1: Auf der Mischer-Platine funktionierten die runden Sensoren nun immerhin in 99% der Fälle bei direkter Berührung. Der längliche Sensor allerdings liefert ebenso gar kein Signal, wie auch die runden kleinen Sensoren beim Thermostat. Berührungslos (d.h. mit Abstand) funktioniert noch keine der Flächen. D.h. die Sensibilität ist noch zu niedrig. Test 2: Um sicherzugehen, dass die Sensitivität auf Maximum ist, habe ich den Trimmer überbrückt auf GND - und siehe da, da tat sich was. Ich lese daraus, dass zusätzlich zu den Versäumnissen oben entweder der Trimmer defekt ist oder auf dem Steckbrett nicht genügend Kontakt hat (und damit vermutlich in der Luft hing oder gegen + ging). Auf der kleinen Platine bekomme ich nun alle Sensoren ausgelöst (wenn auch zu sensibel - da muss ich noch die passenden Widerstände (wenn ohne Trimmer für den Test) herausfinden. Auf der großen Platine sieht es ähnlich aus, nur dass der große rechteckige Sensor wesentlich unsensibler ist, als die anderen. Auch wenn ich aus dem aktuellen Stand so wie es aussieht, was brauchbares herausbekomme. Die Situation mit dem großen rechteckigen Sensor ist mir aber noch nicht ganz geheuer. Zweck des Sensors ist das Anschalten der Displaybeleuchtung für eine gewisse Zeit, wenn jemand da ist. D.h. zu sensitiv gibt es hier fast nicht und Fehlauslösungen durch Betätigung der Nachbarsensoren sind auch unkritisch (Notfalls könnte ich das auch noch Softwaretechnisch lösen, fände es so aber "schicker"). Gibt es Punkte im Design, welche hier die Sensitivität verbessern könnten (Platinen muss ich eh neue machen lassen um die obigen Punkte zu integrieren). Was wäre, wenn ich statt einer großen Fläche einen Kamm mache - würde das die Sensitivität erhöhen oder verringern? Sonst noch Ideen? Grüße und Danke Micha
Ich lese da "Steckbrett". Nein, das ist ein ganz großes "NEIN". Vergiss das. Bei mir ist das ziemlich empfindlich, ich habe da keine Probleme. Die einfachen MTCH-Bausteine haben nur einen Eingang für die Empfindlichkeit, der für alle Pads gleichermaßen gilt. Das kann bei massiv unterschiedlichen Touchflächen natürlich Problme geben. Hier sind die CAP11../CAP12.. Bausteine besser, weil Du da jeden Eingang separat per I2C parametrieren kannst. https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/00001569B.pdf Soviel zu meinen Erfahrungen. fchk
Beitrag #7441996 wurde vom Autor gelöscht.
Frank K. schrieb: > Ich lese da "Steckbrett". Nein, das ist ein ganz großes "NEIN". > Vergiss > das. das ist dem Chipmangel geschuldet. Die MTCH105 kommen erst in ein paar Wochen, weswegen ich hier erstmal mit dem MTCH108 getestet habe, weil die für mich hauptsächliche Unbekannte das richtige Sensordesign ist. Daher hab ich dann an den Platine via Litze das Steckbrett angehängt und dort auf einer Bread-Platine den MTCH108 drauf. > > Bei mir ist das ziemlich empfindlich, ich habe da keine Probleme. OK - dann gehe ich mal von aus, dass das bei mir auch funktioniert und mache neue Platinen und warte dann auf die Chips. > > Die einfachen MTCH-Bausteine haben nur einen Eingang für die > Empfindlichkeit, der für alle Pads gleichermaßen gilt. Das kann bei > massiv unterschiedlichen Touchflächen natürlich Problme geben. Hier sind > die CAP11../CAP12.. Bausteine besser, weil Du da jeden Eingang separat > per I2C parametrieren kannst. > > https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/00001569B.pdf super - danke für den Vorschlag. Werde ich mir mal anschauen. Bis dahin würde ich aber erstmal den bisher eingeschlagenen Weg weiter verfolgen. Anbei ein aktueller Schaltplan. Kannst Du da bitte nochmal einen kurzen Blick drauf werfen? Grüße und nochmal Danke Micha Edit: Schaltung korrigiert - Position Elko/Ferrit
Ich habe zwischen MTSA und dem Trimmpot noch einen 10k. fchk
Mit MTCH1xx und dergleichen habe ich keine Erfahrung, kann aber ein paar Hinweise aus Designs mit ATtiny Series 1 beisteuern. Vielleicht ist es hilfreich. 1. 5 mm Abstand durch Glas/Acryl funktioniert, ist aber schon grenzwertig, man muss die interne Verstärkung dann ziemlich hoch setzen. Mein Vorschlag wäre, nicht über 3 mm zu gehen. 2. Einige bei mir erprobte Designparameter: Board 1,6 mm. Rückseite Shield, Grid 45 deg, Grid Size 1.5 mm, Trace Width 0.15 mm. Vorderseite Shield, Grid 45 deg, Grid Size 1.0 mm, Trace Width 0.15 mm. Shields möglichst etwas größer als Buttons, ca. 1 mm. Clearance Buttons zu Shield 0.5 mm. Buttons 9 mm x 11 mm bis 8 mm x 15 mm bzw. äquivalente Fläche. Traces 0.15 mm, Clearance 0.5 mm gegen Shield. Entkopplungswiderstände nahe Prozessor, 10k 0402. 3. Von Microchip gibt es ein ATtiny817 QTouch Moisture Demo Kit. Ich habe dieses nicht vorliegen, aber folgende Daten aus den Gerber-Files ausgemessen: Buttons Durchmesser 10 mm. Clearance Buttons zu Shield 1.0 mm. Trace Width 0.2 mm. Rückseite Bauteile (einschl. Prozessor), Traces von Buttons an Prozessor. Vorderseite Buttons und Shield, Grid 45 deg, Grid Size 2,0 mm, Trace Width 0.2 mm. Rückseite unter Buttons großflächig frei. Buttons über 10k an Prozessor, Shield direkt angeschlossen, Shield auf gesamter Größe des Boards. 4. Grundsätzlich: das Drumherum um die Buttons sollte kapazitätsarm sein, deshalb Shield nicht als durchgehende Fläche, sondern als Gitter. Traces zum Prozessor untereinander mit größmöglichem Abstand, so kurz wie möglich, von einer Seite des Prozessors ohne Umwege direkt zu den Buttons. Irgendwelche Shield-Ringe um die Buttons sind überflüssig, einfach (mit der erwähnten Clearance) eine durchgängige Fläche, die alle Buttons seitlich umfasst. Ich würde (im Gegensatz zum Moisture Demo Kit) auf der Rückseite auch ein Shield vorsehen, um den Einfluss vom Rest des Gerätes und der Umgebung auf die Buttons zu minimieren. 5. Mein Vorschlag wäre, das Ganze mit einem passenden ATtiny zu machen. Die QTouch-Lib von Atmel/Microchip ist riesig, deshalb eine Version mit 16kB oder 32kB. Für deine Anforderungen bietet sich ein ATtiny1614 an, 14 Pin SO, DIY-tauglich. Anbindung an Hauptprozessor z. B. über serielle Schnittstelle. Der ATtiny braucht eine saubere Stromversorgung, 3,3V mit LDO, eventuell Entkopplung vom Rest des Boards über kleinen Vorwiderstand, 100nF direkt am Prozessor reicht erfahrungsgemäß. Vorteil sind die umfangreichen Debug-Möglichkeiten. Innerhalb der Entwicklungsumgebung ist eine Oszilloskop-ähnliche Darstellung der Touch-Signale möglich, jeder Button lässt sich unabhängig optimieren. Kostet etwas Einarbeitung, ist dann aber sehr flexibel konfigurierbar. Man kann statt der QTouch-Lib auch eigene Routinen zur Touch-Abfrage schreiben, die können viel kompakter ausfallen, aber die (bei größerem Betätigungsabstand erforderliche) volle Empfindlichkeit erhält man nur mit der originalen Library, es sei denn, es findet mal jemand die Funktion der nichtdokumentierten Register heraus.
Hallo, ein (ernüchterndes) Update, nachdem ich nun Platinen hab machen lassen und auch mit den richtigen Bauteilen gelötet. Beim Thermostat funktioniert die Taste "down" wie gewünscht, Menu und Up bringen keine Reaktion. PullUps sind Prozessorseitig vorhanden. Wenn ich manuell die "Up"-Leitung auf GND ziehe, reagiert auch der Prozessor - ein SW-Fehler schließe ich daher mal aus. Ich habe die Platine soweit möglich durchgemessen und keine Auffälligkeiten gefunden. Die Sensorflächen über die 4k7 kommen am Chip an und der Ausgang kommt an der Steckverbindung an. Beim Mischer funktioniert gar keine Taste. Hier funktioniert ein Test ohne Touchplatine - d.h. auch hier, dürfte das Problem einzig und alleine an der Touch-Platine liegen. Da ich beim Mischer die Eingabeplatine auch leicht tauschen kann, habe ich zur Sicherheit 2 Platinen gelötet und ausprobiert. Da die Platinen mit dem Steckbrett funktioniert hatten, vermute ich, dass die nun auf der Platine aufgelöteten Bauteile hier das Problem verursachen. Da ich mit meinem Latein aktuell am Ende bin, bitte ich nochmal hier um einen kritischen Blick. Dieters Infos kamen erst nach Bestellung der Platinen und sind daher nicht mehr eingeflossen - könnten diese die Lösung sein? Grüße und Danke Micha
Ein Unterschied zu meinem Design: Ich habe keine Flood Fills, und ich habe keine Steckverbinder oder Kabel oder so zwischen MTCH und Pads. Das ganze muss so kapazitätsarm wie möglich realisiert werden, und jegliches Kupfer muss so wenig wie möglich und so weit weg wie möglich sein. So wie Du es in den Bildern siehst, funktioniert das bei mir hervorragend und ist sehr empfindlich. fchk
Frank K. schrieb: > Ein Unterschied zu meinem Design: Ich habe keine Flood Fills, und ich > habe keine Steckverbinder oder Kabel oder so zwischen MTCH und Pads. Das > ganze muss so kapazitätsarm wie möglich realisiert werden, und jegliches > Kupfer muss so wenig wie möglich und so weit weg wie möglich sein. Steckverbinder oder Kabel habe ich auch erst zwischen MTCH und CPU (und das v.a. aufgrund unterschiedlicher Höhen) Großer Unterschied ist aber das Kupfer. Ich habe die Guards als komplette Kupferfläche realisiert. Das mag evtl. der Grund (und meine Fehlinterpretation) sein. Ich bin mir nicht sicher, ob ich bei der damals funktionierenden Steckbrettvariante den Guard "überall" angeschlossen hatte. D.h. als Guard darf/sollte nur ein schmaler Ring/Streifen/whatever um die entsprechende Fläche sein. Der Rest dann komplett leer oder als Fläche auf GND? > > So wie Du es in den Bildern siehst, funktioniert das bei mir > hervorragend und ist sehr empfindlich. Danke für das Beispiel. Ich denke, ich werde auf der Basis mal einen neuen Versuch starten. Grüße Micha
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.