AD7843 unlinear?

#1761733
Lesenswert?

Hallo zusammen,
Ich benutze einen AD7843 mit unterschiedlichen resistiven 
Touchscreenfolien.
Leider sind die Meßergebnisse ziemlich unlinear.
Tippe ich z.B. auf der X-Achse unterschiedliche Punkte an, verändert 
sich auch die Y-Achse.
Bei 6,5" habe ich z.B. von links nach rechts 20% Abweichung.
Das passiert mit 2 unterschiedlichen Panels. Eins davon ist ein 3M 
Microtouch PL46.4E2.
Zu dem habe ich auch den original Controller SC401U und damit ist das 
Panel perfekt linear.
Auch auf dem Oszi sehen die Paneldaten ok aus.
D.h. es wird am AD7843 liegen.
Beschaltung ist nach Datenblatt. Ref. und Versorgung sind 3,3V.
Die Touch-Anschlüsse sind direkt am Panel.
Vertauschen der Anschlüsse bringt ein Vertauschen der Achsen, ändert 
aber nichts an der Unlinearität
Ich habe schon unterschiedliche Routinen probiert, die Daten abzufragen.

Aktuell mache ich es so:
1
TOUCH_CS_LOW();
2
Touch_SendByte(0xD0);
3
uint16_t data0 = Touch_SendByte(0);
4
uint16_t data1 = Touch_SendByte(0);
5

6
Touch_SendByte(0x90);
7
uint16_t data2 = Touch_SendByte(0);
8
uint16_t data3 = Touch_SendByte(0);
9

10
TOUCH_CS_HIGH();
11

12
uint16_t X = data0 << 5;
13
X |= data1 >> 3;
14
uint16_t Y = data2 << 5;
15
Y |= data3 >> 3;

Ich könnte die Unlinearität natürlich mit der Kalibrierung rausrechnen, 
aber ich glaube nicht, dass das so gedacht ist.
Setzt jemand den AD7843 ohne Probleme ein?

Grüße,
Flo

Edit: Ich nehme auch gerne Vorschläge für bessere Touchscreen-Chips an. 
Der AD7843 hat einfach gut gepasst wegen Preis und verfügbarkeit.
Die ADC Pins meines MCs sind leider alle belegt, sonst würde ich es 
darüber machen.
Gast #1761831
Lesenswert?

Schau' dir mal die Leitungen mit dem Oszi an. Ich hatte mal das gleiche 
Phänomen, da gab es ein Übersprechen der X & Y - Leitungen zum Display.
Bei mir war allerdings kein externer Chip im Spiel, sondern direkt die 
ADCs des Controllers.

mfg
#1769135
Lesenswert?

Hi, Danke.
Aber ich habe es jetzt mit den ADC Pins gelöst.
Ich lege Vcc an X+, GND an X- und messe dann an Y+ die X Spannung.
Ein Problem war, dass sich eine Spannung an Y+ aufgebaut hat.
Vermutlich wirkt der Touchscreen als Kondensator, der sich auflädt.
Ich habe jetzt an X- und Y- jeweils 100k gegen Masse und damit läufts.
X und Y sind schön linear und Drücke werden sauber erkannt.

Vielleicht war beim AD7843 auch das Problem mit den Spannungen.
Aber sollte so ein Chip das nicht automatisch ausgleichen?

Wie auch immer bin ich froh, es so gemacht zu haben.
Gast #1790690
Lesenswert?

ohh das Thema ist sogar noch aktuell...

also ich hatte das gleiche Problem, lag schlicht und einfach daran dass 
der SPI clock zu hoch war womit wohl auch der ADC vom AD7843 betrieben 
wird

SPI clock auf 2 Mhz und schon war das Touch linear
Gast #1793718
Lesenswert?

bei ist der Touch (arbeite auch mit dem AD7843) ziemlich unlinear.

Und was mir auch aufgefallen ist - keine Ahnung ob das normal ist - ist, 
dass bei jeder Calibrierung die getouchten Werte (Spannungen, die der 
AD7843 gemessen hat) deutlich auseinanderliegen... zwar sind dann z.B. 
alle vier Touch-Werte höher oder niedriger... aber eigentlich, so dachte 
ich, müssten diese im Rahmen fast gleich sein, oder?

Für ein und denselben Punkt hab ich nach jeweils einem Reset des 
µControllers einen ganz anderen Wert vom Touch AD7843 geliefert 
bekommen: 0x318, 0x440, 0x760

Vielleicht schreiben noch ein paar Leute über ihre Erfahrungen mit 
diesem Touch!

Gruß
Jakob

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren