Get Adobe Flash player

kapazitives Touch Pad

Benutzerbewertung: / 4
SchwachPerfekt 

Für die Eingabe von Informationen in Zusammenhang mit einem Display sind Taster, Drehgeber oder Potentiometer nicht immer die schönste oder auch beste Lösung. Entweder gibt es Probleme mit der Platzierung, der Größe oder die kleinen Spalten machen Probleme mit der Feuchtigkeit der Umgebung.

Möchte man eine optisch ansprechende Lösung realisieren, so sind Touch Sensoren bestens für solch eine Bedienung geeignet. Diese können hinter den verschiedensten Frontplatten, wie Aluminium, Plexiglas oder Fliesen angebracht werden und dedektieren ganz unsichtbar die Berührung.

Die beschriebene Methode ermittelt die Berührung nicht über eine Kapazitätsmessung, sondern wird über eine Charge-Transfer-Messung detektiert.

Touch_1Touch_0Touch_2Touch_3

Hardware - Touch Pad

  • Stück Leiterplatte
  • 2 freie Pins am Controller
  • 1 Kondensator ~33nF
  • 1 Widerstand 1 bis 10KOhm
Touch_0

Funktionsprinzip

Es gibt 2 Kondensatoren die als Speicher für Ladungen dienen, den Kondensator Cs als Speicher und die "Touch" Elektrode als Kondensator gegen Erde.

Am Anfang werden beide entladen, um die Kondensatoren in einen definierten Zustand zu bringen. Das bedeutet, dass PB1 und PC1 als Ausgänge und auf LOW geschaltet werden. Etwas warten damit Entladung auch vollständig erfolgt. Danach werden in einer Schleife folgende Punkt abgearbeitet:

1. Der Touch Kondensator wird über PB1 aufgeladen (nur wenige pf).
Dabei ist der Port PC1 ist als Eingang geschaltet, damit in den Cs kein
Strom fließen kann.
2. Pin PB1 wird als Eingang konfiguriert und PC1 als Ausgang mit 0V.
Jetzt wandert die Ladung aus dem Touch Kondensatorin Cs (welcher viel grösser
ist und sich nur gering auflädt)
3. Wenn die Spannung am Cs ausreicht um vom AVR als 1 gelesen zu werden, wird
die Schleife beendet und durch geführte Schleifenanzahl ausgegeben.
Der Zählerstand ist ein Maß für die benötigten Ladezyklen.
Wenn nicht beginnt die Schleife von vorne.

Der Endstand des Zählers verändert sich, wenn man mit dem Finger den Touchsensor berührt.

Sozusagen wird durch den kleineren Touch-Kondensator schrittweise der große Kondensator Cs aufgeladen. Die Anzahl der benötigten Ladezyklen hängt von der "Größe" des Touch Kondensator ab. Und die wiederum von dessen Umgebung (Finger).

Software - kapazitives Touch Pad

Beispiel Code von www.microcontroller.net für die Abfrage von 3 Tastern an Port A.

  • Taster 0 --> PinA 4 und 5
  • Taster 1 --> PinA 2 und 3
  • Taster 2 --> PinA 0 und 1
Avr Touch - 3 Tasten
#include "avr\io.h"
#include "util\atomic.h"


#define SK_A0 (1<
#define SK_B0 (1<
#define SK_A1 (1<
#define SK_B1 (1<
#define SK_A2 (1<
#define SK_B2 (1<

#define SK_A012 (SK_A0 | SK_A1 | SK_A2)
#define SK_B012 (SK_B0 | SK_B1 | SK_B2)


#define MAX_CYCLE 2000


uint16_t keys[3];


void read_senskey( void )
{
uint16_t i = MAX_CYCLE;
uint8_t a, b, x, y;

ATOMIC_BLOCK(ATOMIC_FORCEON){
a = DDRA & ~(SK_A012 | SK_B012);
b = PORTA & ~(SK_A012 | SK_B012);
y = SK_B012; // input mask
do{
DDRA = a; // tristate
PORTA = b | SK_B012;
DDRA = a | SK_B012; // Bx = strong high
DDRA = a; // tristate
PORTA = b;
DDRA = a | SK_A012; // Ax = strong low
if( --i == 0 ) // timeout
break;
x = y & PINA; // not immediately after DDRA
if( x ){
if( x & SK_B0 )
keys[0] = i;
if( x & SK_B1 )
keys[1] = i;
if( x & SK_B2 )
keys[2] = i;
}
y ^= x; // clear processed input
}while( y ); // all inputs done
DDRA = a | SK_A012 | SK_B012; // discharge
}
}

Links

Forum - Touch Sensor
Forum - Qtouch

Downloads

Software - einfach
Software

__xxsup1

Kommentar schreiben


Sicherheitscode
Aktualisieren

Neue Beiträge

06 Mai 2012
Ich weiß es ist noch eine Weile hin bis zum nächsten Weihnachtsfest. Trotzdem kann man ja nie früh genug...
12 April 2012
Mit Hilfe einer einfachen Holzkonstruktion und einer Vielzahl von kleinen Plastikröhrchen aus der Biotechnik,...
4.7235
08 April 2012
Da ich endlich Ordnung in die Aufbewahrung von Kabeln, Flachbandkabeln und LED-Bändern bringen wollte, habe...
03 April 2012
Nach einer gefühlten Ewigkeit hat es nun doch endlich geklappt und ich konnte meinen schon vor einiger Zeit...
05 März 2012
Dieser RGB Laser-Projektor basiert auf dem legendären MOT1 Laser DAC. Auch heute wird der MOT-1 Scanner vielfach...
31 Januar 2012
Der DS1631 und der DS1631A sind digitale Hochpräzisions-Thermometer bzw. Thermostaten von der Firma Dallas und...
4.8842