mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AD7843 unlinear?


Autor: Florian Micro (micro-flo)
Datum:

Bewertung
0 lesenswert
nicht 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:
TOUCH_CS_LOW();
Touch_SendByte(0xD0);
uint16_t data0 = Touch_SendByte(0);
uint16_t data1 = Touch_SendByte(0);

Touch_SendByte(0x90);
uint16_t data2 = Touch_SendByte(0);
uint16_t data3 = Touch_SendByte(0);

TOUCH_CS_HIGH();

uint16_t X = data0 << 5;
X |= data1 >> 3;
uint16_t Y = data2 << 5;
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.

: Verschoben durch Admin
Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und der effektive Sensor sieht wie aus ?

Autor: gnuopfer (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Herbert K. (avr-herbi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich habe durch Zufall eben einen Artikel gefunden:
How To Calibrate Touch Screens
http://www.embedded.com/story/OEG20020529S0046
Vielleicht so als Info ganz hilfreich. (Löst sicher nicht dies Problem)

Autor: Florian Micro (micro-flo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
Danke für die Antworten.
Ich hab noch viel experimentiert und konnte es nicht lösen.
Übersprechen gibt es anscheinend keins.
Bin jetzt dabei, das mit ADC Pins zu lösen und soweit siehts gut aus.

Autor: Herbert K. (avr-herbi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ansonsten gibt es ja noch kompatible Chips:
RSM1843 Risong Electronics
XPT2046 XPTEK TECHNOLOGY CO.,LTD
ADS7846 Texas
TSC2046 Texas
TSC2007 Texas
LM8300/8500 National
MAX1233/1234 Maxim/Dallas
AD7877 Analog Devices
....
Viel Erfolg!
Herbert

PS: Die Lösung dann vielleicht auch mal anschließend zum Besten geben. 
Danke.

Autor: Florian Micro (micro-flo)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: horst peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Florian Micro (micro-flo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte auch unterschiedliche Frequenzen versucht bis max. 2,1Mhz, 
aber kein Erfolg gehabt.
So ists jetzt besser und günstiger.

Autor: Jakob (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.