Forum: Mikrocontroller und Digitale Elektronik Quantum Chips


von Meischta (Gast)


Lesenswert?

Hi
ich würde gern was mit den Quantum/Atmel Touch Chips machen.
Werde warscheinlich den QT1080 oder QT1106 verwenden.
Hat jemand vielleicht schon ein Projekt mit diesen Chips gemacht, was 
ich mir vielleicht mal anschauen kann würde gerne erstaml schauen wie 
das andere gemacht haben.Eine Frage noch: Wie ist das eigentlich mit den 
QTouch Libraries? Braucht man da nur einen AVR wo man das aufspielt oder 
noch einen Touch IC von Quantum? Und wie sieht dann die Außenbeschaltung 
aus?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>Wie ist das eigentlich mit den
>QTouch Libraries? Braucht man da nur einen AVR wo man das aufspielt

Ja. Ein AVR mit abschaltbaren PullUps.

>oder noch einen Touch IC von Quantum?

Es gibt beide Varianten.

>Und wie sieht dann die Außenbeschaltung aus?

1 Kondensator und optional 2 Widerstände pro Touch-Kanal.

von Meischta (Gast)


Lesenswert?

Vielen Dank für die Antwort!
Welche Variante ist denn besser geeignet? Oder ist das eigentlich egal?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Najaa - die Quantum-Chips liefern ein fertiges Schaltsignal an den 
Controller. Der AVR kann das Signal von den Touchpads noch nach Belieben 
digital weiterverarbeiten und kann, je nach Modell, recht viele Tasten 
bedienen. Außerdem hat man oft AVRs herumliegen, die Quantum-Chips müßte 
man erst kaufen. Beim AVR muß man auch nicht unbedingt auf Librarys 
zurückgreifen, man kann quasi neben der eigentlichen Aufgabe noch ein 
paar Touch-Felder abfragen. Allerdings braucht man eine gewisse 
Rechenpower für das Erzeugen der Touch-Bursts, einen Timer und einen 
dazugehörigen Interrupt.

von Meischta (Gast)


Lesenswert?

Sers danke für die Antwort (hat leider en bisschen gedauert da ich heute 
erst wieder heimgekommen bin...)
Hast du selbst schon ein Projekt mit Quantum Chips oder mit diesen Touch 
Libraries oder auch ohne gemacht?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Meine Experimente habe ich mit einem "popeligen" ATMega88 gemacht ;-). 
Die Programmierung hat ohne Libraries in ASM stattgefunden und 
funktioniert bestens. Dabei habe ich einfach die Pulse eines 
Quantum-Boards mit dem AVR nachgebaut, eine Driftkontrolle programmiert 
und noch den einen oder anderen Tiefpaß. Und es läuft. Wenn man die 
Wirkungsweise der Geschichte erstmal gefressen hat, ist´s trivial. 
Wichtig ist nur, daß der AVR seine Pullups abschalten kann, da sonst das 
Generieren der Pulse nicht funktioniert.

von Meischta (Gast)


Lesenswert?

Cool das hört sich doch sehr veilversprechend an xD! Wie ist das jetzt 
eigentlich wenn ich z.B. das Ev board vom QT1106 nachbaue(schaltplan 
gibst ja bei denen) was kommt dann auf den AVR bieten die das auch an? 
Hab noch nix gefunden oder muss ich mir das Programm dann selbst 
schreiben? Dein Projekt interessiert mich wirklich sehr du hast nicht 
zufällig Lust den Code und Schaltplan zu Posten oder ;D

von Franke M. (appletree)


Lesenswert?

Hallo Meischta
Schaust du hier
http://elm-chan.org/works/capsens/report_e.html
:-))
Gruß Michael

von Meischta (Gast)


Lesenswert?

Hey danke für den Link hatte ich zwar schonmal gesehn vor 1 Jahr oder so 
aber gar nicht mehr dran gedacht das muss ich die Tage gleich mal 
ausprobieren hab sogar noch en 2313 rumliegen xD

von Franke M. (appletree)


Lesenswert?

Muss ja nicht unbedingt ein 2313 sein.
Ich denke mal das du das Prinzip an jeden x-beliebigen AVR anwenden 
kannst.

von Meischta (Gast)


Lesenswert?

Jo glaub auch, aber hab eh noch glaub sogar 2 Stück da alternativ noch 
en Tiny28... muss ich mir alles mal in Ruhe anschauen ;)

von Hendi (Gast)


Lesenswert?

So bin endlich wieder Zuahuse;D und hab gleich schon wieder Fragen xD:
1. Kann man die Variante (die von Michael vorgestellt wurde) 
empfindlicher machen, sodass sie auch noch durch 2-3mm Kunststoff 
funktioniert? Angegeben sind nämlich nur 1mm.
2.Kann man die Größe der Elektroden verändern und somit auch durch 
Elektrodendesign die Empfindlichkeit noch verbessern?
Wäre sehr dankbar, wenn mir jemand helfen könnte.

von Gast (Gast)


Lesenswert?

Afaik funktioniert der von elm-chan anders als die von atmel, die 
arbeiten mit der charge-transfer technologie

von Meischta (Gast)


Lesenswert?

Sers also ich hab das jetzt mal schnell nachgebaut und ein bisschen 
getestet aber ich finde es doch relativ unempfindlich. Bei 1mm muss man 
schon richtig drücken, was ich von den EDISEN Chips, die ich sonst grade 
verwende nicht gewohnt bin da reicht schon ganz leichtes antippen. Kann 
man das ganze nicht empfindlicher machen? Und nochmal zu diesen Touch 
libraries ich glaub ich hab des immer noch nicht gerafft sry. Ist das 
jetzt ein sozusagen fertiges Programm was ich auf meinen AVR flashe oder 
was kann ich darunter verstehn? Und wie sieht da die Außenbeschaltung 
aus? Auch nur Widerstand und Kondensator oder... hätte vielleicht mal 
jemand ein fertiges Projekt oder einen Schaltplan wo ich mich ein 
bisschen dran orientieren kann? Sowas hat doch bestimmt schonmal jemand 
gebaut xD

von Meischta (Gast)


Lesenswert?

kann mir niemand weiterhelfen?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Doch hier. Wie gesagt, läd Elm-Chan einfach nur die Koppelplatte und 
entläd sie wieder. Die Charge-Transfer-Methode von Quantum / ATMEL ist 
entschieden empfindlicher, bei mir funktioniert es mit einem 2EUR-großen 
Stück Platinenmaterial durch eine 12,5mm Rigipsplatte, 3mm Fliesenkleber 
und 8mm Fliese mit noch etwas Luft bis zur Hand. Aber für eine 
vollständige und sichere Funktion benötigt man auch noch eine 
Driftkompensation über einen relativ langsamen Tiefpass, damit 
Temperatur und Luftfeuchtigkeitsunterschiede nicht zum Auslösen der 
Touches führen. Insgesamt sind die Routinen etwas anspruchsvoller, aber 
kein Hexenwerk. Ich gucke mal, ob ich zumindest die Routinen zur 
Burst-Erzeugung finde. Diese müssen dann an das eigene Programm 
angepasst werden und die Drifkompensation muß dann noch ´rein.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Ach hier, hab´s gerade gefunden, die Routine erzeugt zeitversetzt auf 2 
Pins die Bursts und trägt Meßwerte mit 10 Bit Auflösung in 2 16-Bit 
SRAM-Register. Die Pins sind wie in der QTouch-Appnote mit einem 
externen C von 33nF nach Masse, einem Ladewiderstand von 2kOhm und einem 
Schutzwiderstand von 10kOhm zur Touchplatte angeschlossen. Die 
Auswertung der Werte erledigt das Programm zur Laufzeit. Die Routine 
darf nicht durch Interrupts unterbrochen werden. Die Pullups müssen 
während der Routine deaktiviert werden.
1
;--------------------------------------------------
2
Touch:
3
 sbi  PortD, Touch1B
4
 sbi  PortD, Touch2B
5
 clr  XH
6
 clr  XL
7
 ldi  Temp,  0b01001010
8
 ldi   TempH, 0b00000010
9
 ldi  Temp3, 0b00100110
10
 out  DDRD, TempH
11
12
_TouchLoop:
13
 out  DDRD, Temp
14
 out  DDRD, TempH
15
 out  DDRD, Temp3
16
 out  DDRD, TempH
17
 adiw  XH:XL, 1
18
 cpi  XH, $04
19
 breq  _TouchEnd1
20
 
21
 sbis  PinD, Touch1B
22
 movw  Di1:Di0, XH:XL
23
24
 sbis  PinD, Touch2B
25
 movw  Di3:Di2, XH:XL
26
 rjmp  _TouchLoop
27
28
_TouchEnd1:
29
 sbi  DDRD, Touch1A      ;apply GND on touch terminal 1A
30
 cbi  PortD, Touch1B      ;prepare low level on terminal 1B
31
 sbi  DDRD, Touch1B      ;apply GND on touch terminal 1B
32
 sbi  DDRD, Touch2A      ;apply GND on touch terminal 2A
33
 cbi  PortD, Touch2B      ;prepare low level on terminal 2B
34
 sbi  DDRD, Touch2B      ;apply GND on touch terminal 2B
35
 sts  Touch1L, Di0
36
 sts  Touch1H, Di1
37
 sts  Touch2L, Di2
38
 sts  Touch2H, Di3
39
 sbi  Status, _NewTouch
40
 ret

von Meischta (Gast)


Lesenswert?

Wow vielen vielen Dank für die ausführliche Erklärung!! Muss ich 
unbedingt ausprobieren xD

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Ja, hier noch die benötigten Definitionen:
1
.def  Di0      =r12
2
.def  Di1      =r13
3
.def  Di2      =r14
4
.def  Di3      =r15
5
6
.equ  Status      =GPIOR0  ;Flag register
7
.equ  _NewTouch    =0
8
9
.equ  Touch1A      =2    ;PortD
10
.equ  Touch1B      =3
11
.equ  Touch2A      =5    
12
.equ  Touch2B      =6
13
14
.equ  Touch1L      =$0100
15
.equ  Touch1H      =$0101
16
.equ  Touch2L      =$0102
17
.equ  Touch2H      =$0103


Berichtigung:

>Die Pins sind wie in der QTouch-Appnote mit einem
>externen C von 33nF nach Masse...

Nein, der Kondensator liegt zwischen beiden Terminalpins!

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hier der relevante Schaltungsteil. Der GND-Anschluß an den 
Koppelplatten-Buchsen dient nur der Kabelschirmung und muß nicht belegt 
werden. Die Koppelplatten werden an T1-1 und T2-1 angeschlossen

von Meischta (Gast)


Lesenswert?

Ah ein Schaltplan jetzt wird alles Klar xD vielen Dank für deine Mühe 
werde versuchen alles umzusetzten

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
Noch kein Account? Hier anmelden.