Forum: Mikrocontroller und Digitale Elektronik Quantum QT1106 Sensor-Chip an AVR usw.


von Strange99 (Gast)


Lesenswert?

Hallo,

hat schon jemand Erfahrung mit dem QT1106 von Quantm Research

http://www.qprox.com/products/qt1106.php

gemacht ?

Ist 'n Chip, mit dem man "Touch-Wheels" bzw. -Slider UND bis zu 7 
Tast-Funktionen a la iPod realisieren kann...

Gibts bei Farnell für 3.40$. (Hab "vorsichtshalber" 5 Stück geordert)

Im Prinzip suche ich auch einen "Partner" mit dem man ein "Header-Board" 
(ist QFN32 Gehäuse) plus Sensor-Flächen entwickeln könnte .

von Stefan Noll (Gast)


Lesenswert?

Hi,

ich habe im Farnell gleich mal 5 chips bestellt und eine Testplatine 
gebaut.
mit meinen 'versuchen' bin ich noch nicht fertig, aber bisher habe ich 
nur ernüchternde ergebnisse erhalten.
das löten eines QFN chips geht relativ gut, der chip hat eben nur einen 
pinabstand von 0,2 mm und eine pingröße von 0,1 mm, das ist dann schon 
etwas knifflig. mit einem bügeleisen konnte ich den chip allerdings gut 
einlöten.
beim betrieb habe ich jedoch einige probleme, die sich hoffentlich noch 
irgendwann lösen lassen:
- der Sensor ist relativ langsam, die spi schnittstelle lässt sich nur 
1-2x pro sekunde auslesen, für schnelle menüs wäre das nicht geeignet.
- der sensor kalibriert sich ununterbrochen neu
- das touchwheel funktioniert einigermaßen, man kann mit ein paar 
fingerbewegungen damit ein lauflicht steuern.
- die tast - sensoren funktionieren bei mir noch überhaupt nicht

wenn jemand mit dem chip gearbiete hat würde ich mich sehr über mehr 
informationen freuen.

mfg
stefan noll

von Andrè (Gast)


Lesenswert?

Hallo,
was für eine Sensorfläche hast Du denn ? und wo hast Du die her ?

von µluxx .. (uluxx) Benutzerseite


Lesenswert?

Stefan Noll wrote:

> - der sensor kalibriert sich ununterbrochen neu
das kann man laut datenblatt abstellen....

von Stefan N. (nollsen)


Lesenswert?

hi,

die sensorfläche habe ich aus der referenz abgezeichnet und als platine 
entwickelt, für die taster habe ich 5mm kreise verwendet

ich wollte eine genaue versuchsreihe aufbauen wie die sensoren 
angeordnet sein sollten, bin aber leider noch nicht dazu gekommen.

mfg
stefan noll

von Strange99 (Gast)


Lesenswert?

Ist ja interessant, dass sich doch einige mit diesem Chip 
beschäftigen...

Aber im Ernst:

Ich habe vor einigen Tagen (Wochen) den QT1106 an meinem Atmega168 zum 
laufen bekommen. Die bisherigen Tests waren recht erfolgreich. 
Allerdings habe ich bis dato nur einen Sensor ( Button) angeschlossen - 
das von mir geplante Sensor-Board ist in der Entwicklung.

Das mit dem SPI kann ich nicht bestätigen - ich arbeite im 
"Free-Run"-Mode und frage ca. 15 mal pro Sekunde ab, was ohne Probleme 
geht.

Das wichtigste ist, glaube ich, den SPI richtig einzustellen. Nicht nur 
die Flanken beachten, sondern auch, dass die maximale SPI Frequenz (lt. 
Datenblatt) 77kHz nicht überschreiten sollte.

Da ich noch ein anderes Device am SPI habe (andere Flanken, höhere 
Geschwindigkeit) muss ich deswegen vor jedem Polling die SPI-Register 
entsprechend neu setzen...

von Stefan N. (nollsen)


Angehängte Dateien:

Lesenswert?

hi,

hier stelle ich mal meinen ansteuerungsquelltext zur verfügung. Der 
Mega8 ist direkt an den QT1106 Chip angeschlossen, die Ausgabe erfolgt 
über ein angeschlossenes 74 HC 595 Schieberegister.

Weil es ja modern ist seine Quelltexte unter eine Lizenz zu stellen:
GPL + Wer etwas am Quelltext ändert muss mir eine Email mit dem neuen 
Quelltext schicken ;-)

Die Anschlussbelegung wird wohl relativ klar durch die defines:
1
// QT1106 Chip:
2
#define QT1106_SS  _BV(PC2)
3
#define QT1106_MOSI  _BV(PC1)
4
#define QT1106_MISO  _BV(PC0)
5
#define QT1106_SCLK  _BV(PC3)
6
7
#define QT1106_DRDY  _BV(PC4)
8
9
10
#define QT1106_DDR   DDRC
11
#define QT1106_PORT PORTC
12
#define QT1106_PIN  PINC
13
14
// Das Schieberegister:
15
16
#define SR_SER _BV(PD5)
17
#define PORT_SSR_SER   PORTD
18
#define DDR_SSR_SER   DDRD
19
20
#define SR_G _BV(PD6)  // low
21
#define PORT_SSR_G     PORTD
22
#define DDR_SSR_G     DDRD
23
24
#define SR_RCK _BV(PD7)
25
#define PORT_SSR_RCK   PORTD
26
#define DDR_SSR_RCK   DDRD
27
28
#define SR_SCK _BV(PB0)
29
#define PORT_SSR_SCK  PORTB
30
#define DDR_SSR_SCK    DDRB
31
32
33
#define SR_SCL _BV(PB1) // high
34
#define PORT_SSR_SCL   PORTB
35
#define DDR_SSR_SCL   DDRB




Gruß
Stefan

von Gast (Gast)


Lesenswert?


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.