Hallo, ich bin zur Zeit an der Entwicklung eines Berührungstaster. Nun zu meiner Frage. Beim googl'n hab ich schon ein paar Ideen aufgeschnappt aber es ist noch nicht das richtige dabei. Alles was ich gefunden habe basiert auf zwei nebeneinanderliegenden Metallflächen. Ich brauche aber eine einzelnen Taster (bzw. Gehäusefront). Meine Idee währe jetzt den Bediener als Antenne zu benützen und die Spannungs die von ihm ausgeht als Schaltsignal für eine Darlingtonschaltung mit nachgeschaltetem Komperator zu benützen. Was haltet ihr von der Idee? Oder noch besser, wüsste jemand eine Beispielschaltung oder vielleicht auch nur die Dimensionen der Bauteile.
Gingen zwei spiralenfoermig ineinander verlegte Draehte nicht ev. auch? So haette man die zwei Metallflaechen quasi "vereint".
das ist scheisse und unzuverlässig. ausserdem haben bei metallgehäusen das gehäuse gefälligst auf schutzleitererde zu liegen. in schwarzen plastikgehäusen benutzt man manchmal den trick, dass man ein gehäuse wählt das nur dunkel, aber ir-durchlässig eingefärbt ist, wie bei einigen fernbedienungen. sieht schwarz aus, ist aber ir-transparent. dann können unter der gehäuseoberfläche beliebig viele reflexlichtschranken als "taster" montiert werden
http://www.mikrocontroller.net/forum/read-1-49967.html da bin ich auch grad bei. meld dich, wenn du dabei anfängst, bzw. erfolge feiern kannst.
Eine Darlington-Schaltung reicht i.a. schon. Zumindest bei mir klappt das bestens... Nur die Basis anfassen, und die Stufe schaltet durch. Ob das aber unter allen Umständen funktioniert, weiß ich nicht.
@Flo wie wärs mit Kapazitiven Tastern ? Die wären recht unauffällig,leicht selber zu machen und passende Chips gibt es auch dafür. Schau mal auf www.edisen.de nach. Vieleicht kannste dich ja dafür erwärmen.
Warum kaufst du nicht einfach mal einen im Baumarkt, und baust den auseinander um zu sehen wie die das machen? Liebe Grüsse
Hi Ich habe es mit der angehängten Schaltung aufgebaut. Mit dem ATTiny15L erzeugt man ein Rechtecksignal zwischen 10-200kHz leitet dies zur Sensorfläche und misst per ADC und RC Glied die Spannung. Der ADC läuft im Freerunning Mode, und die gesampleten Werte werden per Software einigen Auswertungen unterzogen. An die anderen ADC können mit dem gleichen Rechtecksignal von PB1 noch mehr solcher Sensoren drangehangen werden. Je nach Sensorfläche und Frequenz konnte ich die Annäherung der Hand bis zu 20cm weit messen. Bei ca. 2x2cm großen Sensoren (Alu-Papier) beträgt die Entfernung immer noch 2-4 Millimeter. Am besten die Sensorfläche befindet sich im Gerät, hinter der nichtleitenden Gehäusewand, als Dielektrikum. Schwieriger ist dann die Software. Sie muß absolut störsicher, sich periodisch selbst kalibrierend arbeiten. Meine Lösung hatte ich so konstruiert das ich die direkte, von Vorne gerichtete Annäherung und wieder Entfernung der Hand erkennen konnte. Dabei spielte auch die Annäherungsgeschwindigkeit eine Rolle. D.h. nur wenn man die Hand von Vorne auf den Sensor zu annäherte, mit einer Geschwindigkeit die nicht zu langsam oder eben zu schnell ist, durfte die Software diese Änderung im ADC als gültiges Sensor-Ereignis werten. Bei meinem Aufbau hat es wunderbar funktioniert. Extrem interessant war der Punkt als ich meine Cola Flasche direkt auf den Sensor stellte ;) Das Wasser in der Flasche vergrößerte, bei sehr empfindlicher Kalibrierung des Sensor, die Empfindlichkeit derart das selbst eine Annäherung einer Person aus 2 Meter Entfernung wahrgenommen wurde. Allerdings, kalibiriert man zu empfindlich entstehen zu häufige Fehlinterpretationen. Der Tiny15 erzeugt nun an PB1 das Rechtecksignal. Die ADC werden einfach im Freerunning Mode mit nicht alzugroßer Abtastrate eingestellt. In der ADC ISR wurden nun die ADC Werte eingelesen, auf 8 Bit geschnitten und zu einer Variablen, dem Durchschnitt, hinzuaddiert. Zusätzlich werden noch die Min-Max Werte dieser Variablen gespeichert. Nun vergleicht die Software den aktuellen Durchschnittswert der ADC's mit deren vorher gesampelten Werten. Sollte der Wert kleiner sein so wird eine Variable "StepDown" +1 inkrementiert und die Variable "StopUp" auf Null gesetzt. Sollte der Wert größer sein wird jeweils "StepUp" +1 und "StepDown = 0" gesetzt. D.h. man zählt wie oft sich eine Änderung der ADC Werte in jeweils abwärtsd oder aufwärts Richtung nacheinander erfolgten. Sollte einer der Werte in "StepUp" oder "StepDown" eine Threshold übersteigen, zB. 16 dann wurde der Schalter ausgelösst. Zusätzlich wurde per langsammen Timer die Variablen "StepUp", "StepDown" wieder auf Null gesetzt. Somit muss per Software am ADC eine kontinuierliche Wertänderung erfolgen, d.h. man bewegt die Hand zum Sensor oder weg vom Sensor. Sollte diese Bewegung zu langsam sein dann löscht der langsam laufende Timer diese Änderungen und macht somit das Auslössen des Schalters unmöglich. Gruß Hagen
Achso, durch die Messung der zeitlichen Änderung im kapazitven Feld erhoffte ich mir eine höhere Störsicherheit. Dies hat auch absolut gut funktioniert. Das Problem ist ja das bei vielen kommerziellen Sensoren immer wieder darauf hingewiesen wird das es sehr kompliziert ist die Sensoren zu kalibrieren. Mit der obigen Logik ersparrt man sich im Grunde diese ständige dynamische Kalibrierung. Denn man misst nur relativ die Geschwindigkeit der zeitliche Änderung des kapazitiven Feldes, entweder aufwärts oder abwärts -> Annäherung der Hand oder Wegbewegen der Hand. Diese zeitliche Änderung hat kontinuierlich in einem gewählten Zeitbereich zu erfolgen. Sind die Änderungen zu lange oder zu schnell, oder schwingen diese Änderung, so wird das als Störsignal interpretiert. Somit dürfte die ganze Sache relativ unabhängig von Temperatur, Umweltveränderungen etc sein. Gruß Hagen
@ Hagen Du glaubst doch nicht das in Cola noch Wasser ist oder? :-) LOL
Die Auswertung der Kapazitätsänderung ist am sichersten. Allerdings braucht man dazu nicht eine so umständliche Schaltung. Man schaltet den Pin als Ausgang, um ihn zu entladen und dann als Eingang. Über einen Widerstand wird er dann langsam wieder aufgeladen bis zur Triggerschwelle und diese Aufladezeit mißt man einfach. Eventuell kann man diesen Widerstand auch noch einsparen und den internen Pullup nehmen. Ist die Fläche direkt berührbar, sollte man noch einen Entkopplungskondensator (1nF) dazwischen schalten. Peter
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.