Forum: Mikrocontroller und Digitale Elektronik Display ansteuerung mit Raspberry PI oder Wandler


von Matthias (Gast)


Lesenswert?

Hallo liebe Community,

ich bin seit etwa 4 Wochen auf der Suche nach einer Antwort auf meine 
Frage, hab aber leider nichts treffendes gefunden.

Hier mein Problem:
Ich hab folgendes Display gekauft:
http://www.watterott.com/de/7-inch-800x480-TFT-LCD-Display-with-capacitive-touch-panel

Das ist eigentlich für ein MarsBoard gedacht.
Ich will es aber mit einem Raspberry Pi betreiben.

Der Touchscreen scheint ganz einfach über SPI angesteuert zu werden, 
sollte also nicht das große Problem sein.

Leider weiß ich nicht, wie ich am besten das Display ansteuern soll.
Laut Datenblatt ist es 8-bit RGB.
Hier das Datenblatt des Displays:
http://www.watterott.com/media/files_public/vdxlivfg/AT070TN92.pdf

Bin leider relativ neu in dem Bereich und soll dieses Display für die 
Arbeit zum Laufen bekommen.

Habt ihr ein paar Tipps für mich?
Vielen Dank!

Gruß,
Matthias

von Michael R. (Firma: Brainit GmbH) (fisa)


Lesenswert?

SO wie ich das lese ist das Display ziemlich "nackt", mag also so 
richtig mit Pixel Clock, Sync-Signalen etc versorgt werden. Das 
MarsBoard bringt dafür schon einen fertigen Display-Controller mit.

Ohne einen speziellen Controller wird das schwierig bis unmöglich sein.

Entweder du findest einen passenden Controller, oder du wirst dir ein 
anderes Display suchen müssen.

von Matthias R. (Firma: ds-content GmbH) (matt1491)


Lesenswert?

Danke für die schnelle Antwort.

Gibt es dafür eventuell universelle Controller?
Hab dazu schonmal geschaut, weil ich mir sowas fast gedacht habe, hab 
aber nichts brauchbares gefunden.

So wies aussieht werde ich entweder auf ein neues Display umsteigen, 
oder den Raspberry durch ein MarsBoard ersetzen.

Falls ich ein neues Display nehme:
Kennt jemand zufällig ein 7 Zoll Display im normalen Preisrahmen, dass 
einen Kapazitiven Touchscreen hat?
Resistive Screens gibts zur genüge, aber einen kapazitiven findet man so 
gut wie nicht, außer man zerlegt ein Tablet etc., was ich aber eher 
nicht so begrüßen würde.
Will den Screen einbauen und eine dünne Glasplatte darüber setzen => 
resistiv funktioniert nicht.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das Display solltest Du mit einem DVI/HDMI-zu-LVDS-Converter ansteuern, 
an den Du dann noch LVDS-Receiver anschließt, die aus dem LVDS-Signal 
die vom Display benötigten parallelen Daten erzeugen.

Das dürfte die günstigste und letztlich einfachste Variante sein.

Allerdings ist die extrem geringe Displayauflösung ein Problem, 
derentwegen sich beispielsweise die beliebte Pollin-Elektronik 
(Bestellnummer 810221) nicht verwenden lässt.

Sinnvoller ist es vermutlich, ein anderes Display zu verwenden -- 
komplett mit Ansteuerungselektronik und allerdings resistivem Touchpanel 
gibt es das von Pollin als LS-7T (120964) für etwa 55 EUR.

[Nachtrag]

Ich sehe gerade, daß Du resistive Touchpanels ausschließt.

Dann nimm ein LS-7 ohne Touch und organisiere ein separates kapazitives 
Touchpanel.

: Bearbeitet durch User
von WRFan (Gast)


Lesenswert?

Matthias schrieb:
> Hier mein Problem:
> Ich hab folgendes Display gekauft:
> 
http://www.watterott.com/de/7-inch-800x480-TFT-LCD-Display-with-capacitive-touch-panel

Frag' doch mal Herrn Watterott, ob der neu vorgestellte 
HDMI-RGB-Controller aus 'eigener Produktion' was für Dich wäre 
(http://www.watterott.com/de/HDMI-RGB-Adapter-mit-ATmega32U4-Touch-Controller).
Gut, derzeit nicht lieferbar, aber in Kombi mit einem resistiven Display 
verfügbar.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Der wäre in der Tat die beste Lösung.

von Matthias R. (Firma: ds-content GmbH) (matt1491)


Lesenswert?

Falls es jemand anderem auch hilft, hier die Antwort des Watterott 
Supports:

Ja, das beiden Teile passen elektronisch zusammen.
Wir haben bis jetzt nur noch nicht die I2C Auswertung des TouchScreen in 
der ATmega32U4 Software umgesetzt.

von WRFan (Gast)


Lesenswert?

Danke für die Veröffentlichung der Antwort von Herrn Watterott.

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

Ja, bei der endgültigen Version unseres Adapters [1] kann man auch die 
kapazitiven Displays vom Marsboard anschließen.
Ich habe gerade auch ein paar Tests dazu gemacht und wenn alles klappt 
dann werden die Adapter Ende dieser Woche fertig.

[1] https://github.com/watterott/HDMI-Display

Gruß
Andreas

von chianti (Gast)


Lesenswert?

Kann man das Display mit den Watterott HDMI/DVI.RGB-Adapter am Raspberry 
Pi B+ bzw. Pi2 auch als Touchscreen, also nicht nur als Display 
anschliesen und betreiben ?
Wenn ich es richtig verstehe, müste dann der USB-Anschluss des
HDMI/DVI - RGB Adapter mit ATmega32U4 Touch Controller an den 
USB-Eingang des Raspberry.
In der Beschreibung des Adapters/Displays unter Github.com erkenne ich 
aber nur die Einstellung der Auflösung in der config.txt des Raspberry.
Gibt es einen Touch-Treiber bzw. ein Tool zum kalibrieren ?

von Matthias R. (Firma: ds-content GmbH) (matt1491)


Lesenswert?

Laut der Antwort von Herrn Watterott ist die Auswertung der I2C Signale 
des Touchscreens noch nicht im Konverter implementiert.
Also wird man wohl zum aktuellen Stand das Touchscreen noch manuell über 
die I2C Ports des Raspberry auswerten müssen.

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

Wir haben die Firmware vor ein paar Tagen aktualisiert, so das jetzt 
resistive und kapazitive (FT5x06) Touchpanels funktionieren.
Das Touchpanel wird über USB als normale Maus erkannt und daher benötigt 
man keine speziellen Treiber.

Firmware: 
https://github.com/watterott/HDMI-Display/tree/master/src/HDMI-Display

Gruß
Andreas

von Andreas W. (andreasw) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hier auch ein Video vom HY070CTP-A Display (800x480 mit kapazitivem 
Touchpanel): https://www.youtube.com/watch?v=9wikp3G8xas

Am PC braucht man, wenn die richtigen EDID Daten im EEPROM liegen keine 
speziellen Einstellungen vornehmen. Beim Raspberry muss allerdings die 
Auflösung per Kernelparameter übergeben werden, da nicht 
standardkonforme Timings ignoriert werden.

Gruß
Andreas

von WRFan (Gast)


Lesenswert?

@ Andreas Watterott (andreasw)

Vielen Dank! Das nenne ich kundenorientierten Service und gutes 
Marketing.

von Pete K. (pete77)


Lesenswert?


von Stefan (Gast)


Lesenswert?

Hallo Zusammen,

ich habe das gleiche Display inzwischem am laufen. Leider gibt es 
Probleme mit dem Touchscreen. So wie ich das verstanden habe muss die 
Firmware per Arduino Software auf den Controller geladen werden. Die 
Komplimierung des Sketches läuft bei mir sauber durch das richtige Board 
ist auch eingestellt. Die rote LED fängt kurz zu leuchten an. Ich 
bekomme aber keine Meldung "Upload erfolgreich"?

  1. Müssen zusätzlich Brücken über SDA und SCL gelegt werden?
  2. reicht es die falschen Einstellungen in der config.h 
auszukommentieren?

Danke im Voraus

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

Hallo,

Ja, auf den Adaptern ist eine Testfirmware vorprogrammiert.
Wenn der Upload nicht abgeschlossen wird, bitte einmal bei uns per Mail 
melden.

Gruß
Andreas

von Robert (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich versuche auch das Display mit dem genannten Controller zum Laufen zu 
bringen. Bei mir sieht das Bild ohne zusätzliche Änderungen so aus.

Ich habe die 3 Pins TP_INT, TP_SDA und TP_SCL zusammengelötet, sowie 
VCCIO auf 3V gelötet.

Sobald ich die 3 Parameter in die /boot/config.txt eintrage bootet der 
Raspi nicht mehr.

Hat jemand einen Tip?

Gruß
 robert

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

Welche Parameter wurden genau gesetzt und um welches OS geht es?

Für das HY070CTP-A 800x480 Display sind die Einstellungen wie folgt:

hdmi_ignore_edid=0xa5000080
hdmi_group=2
hdmi_mode=87
hdmi_timings=800 0 16 10 40 480 0 21 1 22 0 0 0 60 0 27300000 6

Gruß
Andreas

von Robert (Gast)


Lesenswert?

Vielen Dank,
ich kann nun ein Bild sehen. Da das Touchscreen aber nicht funktioniert 
hat, wollte ich die Firmware updaten. Ich bin der Anleitung gefolgt.
In der Arduino Software steht:
"Der Sketch verwendet 11.836 Bytes (41%) des Programmspeicherplatzes. 
Das Maximum sind 28.672 Bytes.
Globale Variablen verwenden 441 Bytes (17%) des dynamischen Speichers, 
2.119 Bytes für lokale Variablen verbleiben. Das Maximum sind 2.560 
Bytes."

und darüber Hochladen abgeschlossen.
Allerdings hat vorher immer eine grüne Lampe auf dem Controller 
geleuchtet. Jetzt blinkt Lampe 2 dauerhaft rot.

Gruß
 robert

von Robert (Gast)


Lesenswert?

Ich habe den Controller mal angeschlossen und das Bild geht auch noch, 
aber Mauszeiger macht was er will, der hüpft fröhlich in der Gegend rum, 
aber ich kann ihn nicht beeinflussen (per Touch)

Gruß
 robert

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

Robert schrieb:
> Allerdings hat vorher immer eine grüne Lampe auf dem Controller
> geleuchtet. Jetzt blinkt Lampe 2 dauerhaft rot.

Das Blinken zeigt einen Fehler an, z.B. das kein Touchpanel oder kein 
Touchcontroller gefunden wurde.

Sind die Jumper SDA und SCL geöffnet?

Ist das richtige Display mit FT5x06 Touchcontroller in der Firmware 
(config.h) gewählt?
1
#define DISPLAY_TYPE DISPLAY_800x480HY
2
#define TOUCHPANEL_TYPE TOUCHPANEL_FT5x06
https://github.com/watterott/HDMI-Display/blob/master/src/HDMI-Display/config.h#L19

Gruß
Andreas

von Robert (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Andreas,

In der config.h ist folgendes eingetragen: (sollte also passen)
#define DISPLAY_TYPE            DISPLAY_800x480HY
#define TOUCHPANEL_TYPE         TOUCHPANEL_FT5x06

Die Kontakte SDA und SCL sind geschlossen. Da war schon im Lieferzustand 
ein Bauteil drüber gelötet (siehe Bild).

Gruß
 robert

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

Die Bauteile auf den Jumpern sind 0 Ohm Widerstände.
Damit der Touch funktioniert, müssen die Jumper geöffnet sein bzw. die 
Widerstände entfernt werden. Da ansonsten der I2C-Bus vom 
Touchcontroller und EDID verbunden ist und das kann Probleme machen.

Gruß
Andreas

von Robert (Gast)


Lesenswert?

Hallo Andreas,

Er funktioniert nun. Hatte ihn einmal abgebaut und neu angeschlossen...
Allerdings... wie bekomme ich den kalibriert? Der Mauszeiger ist rechts 
von meinem Finger. Genauso reagiert der Touch gar nicht mehr wenn eine 
JavaFX Anwendung läuft. Eine extern angeschlossene Maus funktioniert 
aber weiterhin.

Gruß
 robert

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

Hallo Robert,

Sind der SDA und SCL Jumper auch geöffnet?

> wie bekomme ich den kalibriert?
Das kapazitive Touchpanel braucht man nicht kalibrieren, da der FT5x06 
Touchcontroller bereits Displaykoordinaten ausgibt und die Achsen drehen 
oder invertieren kann man über die seriellen Kommandos (9600 Baud).

PS: Ich schaue im Forum nur ab und zu vorbei. Daher ist es besser, wenn 
du dich per Mail meldest bei weiteren Problemen: support at watterott 
dot com.

Gruß
Andreas

von Marco (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich versuche gerade folgendes Bundle an einem Raspberry Pi (OS = 
raspbian) zum Laufen zu bringen:

http://www.watterott.com/en/7-800x480-HDMI-Display-with-resistive-touch

Ich habe diesen Guide hier befolgt:
https://github.com/watterott/HDMI-Display/tree/master/src

In die config.h habe ich folgendes eingetragen:
1
#define DISPLAY_TYPE            DISPLAY_800x480
2
#define TOUCHPANEL_TYPE         TOUCHPANEL_RESISTIVE

Kompilieren und hochladen scheint erfolgreich gewesen zu sein.

Wenn ich nun das Display + Adapter an den Pi anschließe, geht das 
Backlight an und es wird  immer wieder ein "Muster" dargestellt.
Auf dem Adapter leuchtet die LED 2 rot und die LED 1 grün.

Jetzt komme ich nicht weiter (Sorry...bin blutiger Anfänger in Sachen 
Elektronik Bastelei ;-))

Aus den vorherigen Beiträge werde ich nicht richtig schlau :-(

Andreas Watterott schrieb:
> Die Bauteile auf den Jumpern sind 0 Ohm Widerstände.
> Damit der Touch funktioniert, müssen die Jumper geöffnet sein bzw. die
> Widerstände entfernt werden. Da ansonsten der I2C-Bus vom
> Touchcontroller und EDID verbunden ist und das kann Probleme machen.
>
> Gruß
> Andreas

Bedeutet das in meinem Fall auch, dass ich die Bauteile von SDA + SCL 
runterlöten muss?

Andreas Watterott schrieb:
> Hier auch ein Video vom HY070CTP-A Display (800x480 mit
> kapazitivem
> Touchpanel): Youtube-Video "Raspberry Pi - HDMI Display"
>
> Am PC braucht man, wenn die richtigen EDID Daten im EEPROM liegen keine
> speziellen Einstellungen vornehmen. Beim Raspberry muss allerdings die
> Auflösung per Kernelparameter übergeben werden, da nicht
> standardkonforme Timings ignoriert werden.
>
> Gruß
> Andreas

Wie kann man die Auflösung als Kernelparameter übergeben? In der 
/boot/config.txt?

Andreas Watterott schrieb:
> Welche Parameter wurden genau gesetzt und um welches OS geht es?
>
> Für das HY070CTP-A 800x480 Display sind die Einstellungen wie folgt:
>
> hdmi_ignore_edid=0xa5000080
> hdmi_group=2
> hdmi_mode=87
> hdmi_timings=800 0 16 10 40 480 0 21 1 22 0 0 0 60 0 27300000 6
>
> Gruß
> Andreas

Passen diese Werte auch für meinen Fall (Adapter + Display)?

Viele Grüße,
Marco

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

Marco schrieb:
> In die config.h habe ich folgendes eingetragen:
>
1
> #define DISPLAY_TYPE            DISPLAY_800x480
2
> #define TOUCHPANEL_TYPE         TOUCHPANEL_RESISTIVE
3
>

Die Einstellungen sind richtig.

> Bedeutet das in meinem Fall auch, dass ich die Bauteile von SDA + SCL
> runterlöten muss?

Bei einem resistiven Touchpanel kann man die Jumper SDA+SCL geschlossen 
lassen.

> Wie kann man die Auflösung als Kernelparameter übergeben? In der
> /boot/config.txt?
>
>> hdmi_ignore_edid=0xa5000080
>> hdmi_group=2
>> hdmi_mode=87
>> hdmi_timings=800 0 16 10 40 480 0 21 1 22 0 0 0 60 0 27300000 6
>
> Passen diese Werte auch für meinen Fall (Adapter + Display)?

Die Parameter werden über die config.txt eingestellt und für das 800x480 
Display mit resistiven Touchpanel sind sie wie folgt:
1
hdmi_ignore_edid=0xa5000080
2
hdmi_group=2
3
hdmi_mode=87
4
hdmi_cvt=800 480 60 6 0 0 0

Gruß
Andreas

von stefan (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Andreas,

ich habe auch ein 7" Display (1024x600) mit FT5x06 Touch (kapaz.Touch)
jedoch bekomme ich den auch nicht zum laufen.programmierung ging ohne 
Probleme,parameter wurden auch angepasst.
Beim Display ist alles ok,grüne LED leuchtet auf dem Atmega32 Board,
SCA und SLA sind offen es wird aber keine mouse im raspi erkannt nur das 
was im Bild steht

kann mir da jemand helfen?

gruss
stefan

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

Hallo,

Das USB-Gerät mit der Prototypen VID (0x6666) ist der Adapter und die 
einzelnen Funktionen (Maus, VCP) sieht man mit "dmesg | grep usb".

Leuchtet die rote LED, wenn man den Touchscreen berührt?

Gruß
Andreas

von Stefan (Gast)


Lesenswert?

Hallo Andreas,

Nein die leuchtet nicht beim betätigen. Es leuchtet nur dauerhaft die 
grüne.

Gruß
Stefan

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

Hallo,

Dann ist vermutlich die Firmware nicht richtig auf dem Adapter 
programmiert.
Beim Upload glimmt die rote LED erst und später blinkt/flackert sie. 
Wenn dies nicht so ist, dann bitte einmal hier schauen:
https://github.com/watterott/HDMI-Display/tree/master/software#known-issues

PS: Bei weiteren Fragen/Problemen bitte per Mail melden: support at 
watterott dot com.

Gruß
Andreas

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.