E8504CZZ, GLCD von Pollin im Textmodus

OP Persönliche Seite #1626728
Lesenswert?

Hallo,

seit einiger Zeit gibt es das GLCD E854CZZ bei Pollin.
Ein 320x240 Graphikdisplay mit 4-Bit-Datenmodus, allerdings ohne
Hintergrundbeleuchtung und für positiver Kontrastspannung.

Schnell war dieses Display an die Hardware des 
Beitrag "Einfacher Low Cost LCD Controller für 320x240 LCD im Textmodus"
angeschlossen. Dabei stellte sich heraus, das die von Pollin angegebene 
Pinbelegung nicht ganz stimmt. So führt der Pin 13 des Displays zu einem 
Vorwiderstand einer Transistorstufe, mit der sich die an Pin 14 
angelegte Kontrastspannung regeln lässt.
Auch war die Textausgabe der 8x12 Schriftart viel zu klein für dieses 
Display.

Es entstand ein Textdisplay mit 20x10 Zeichen, attraktiven Sonderzeichen 
und PWM gesteuerten Kontrast.

So befindet sich im Zeichensatz  außer den üblichen ASCII-Zeichen, zwei 
halb und ein voll gefüllter Block. Dadurch lässt sich problemlos eine 
Balkenanzeige darstellen.
Die AVR- Beschaltung wurde von dem oben erwähnten Beitrag übernommen.
Auch die Schaltung zur Erzeugung der positiven Kontrastspannung stammt
vom gleichen Autor.
Mit einen Jumper kann zwischen fest eingestellten Kontrast per 
Spindeltrimmer, oder Feinverstellung des Kontrastes per Software, 
ausgewählt werden.
Der ISP Stecker sorgt für komfortable Programmierung des AVR.
Die Spannungsversorgung erfolgt entweder an die +5V Buchse, oder man 
bestückt den Spannungsregler mit Zubehör, der problemlos das Board von
ca. 8V bis max. 12V Eingangsspannung versorgt. Die ganze Schaltung 
benötigt einen Strom von ca. 30mA.
Eine einseitige Platine, der Größe 65mmx65mm nimmt sämtliche  Bauteile 
auf, die bewusst nicht in SMD gehalten sind, was den Nachbau 
erleichtert.
Nach sorgfältiger Bestückung der Bauteile wird sich eine 
Kontrastspannung von ca. 19V einstellen. Der Spindeltrimmer wird auf
etwa 16,5 V an den Pin 13 der FFC-Buchse eingestellt.
Bevor das Display angeschlossen wird, den AVR programmieren. Fusebits 
nicht vergessen.
Nun wird nach Anschließen des Displays, das Testbild sichtbar sein.
Die von mir benutzte FFC-Buchse wurde mit dem Display bei Pollin
gekauft. Allerdings mit 22 Pins. Damals hielt ich den Preis für
Günstig.
Das 20 pol. Flachbandkabel (von Farnell) muss nur einfach nach Pin 1 
gerückt werden.
Bei Benutzung von einer 20 pol. FFC Buchse einfach die letzten beiden 
Via freilassen.

Zwischenzeitlich ist das auf dem Bild dargestellte Board nicht mehr auf 
den neuesten Stand. So befindet sich in den Schaltungsdateien zusätzlich 
Jumper für die Baudratenauswahl.
Auch kann nach erfolgreichem Aufbau der Platine die Darstellung auf
dem Display im Ein-und Ausschaltvorgang störend wirken. Ein Abschalten
der Kontrast-Steuerspannung wäre angebracht. Da Photomos-Relais teuer
bzw. schwer beschaffbar sind, hab ich auf dieses Bauteil auf meiner 
Platine verzichtet. Da ON/OFF an den Pin 7 des ISP Steckers anliegt, 
könnte ich mir vorstellen, ein Zusatzboard aufzustecken. Statt der 
Drahtbrücke zw. den Schleifer des Spindeltrimmers und dem Pin13 der 
Displaybuchse, dann einfach Steckkontakte einlöten.
Auf Grund des geringen Display-Steuerstromes, halte ich auch Optokoppler 
für geeignet.
Jetzt sollte jeder sein geeignetes Bauteil experimentell finden können.


Ich bedanke mich bei Benedikt für die Bereitstellung des HEX-File,
für seine technischen Hinweise und für die Genehmigung zur 
Veröffentlichung.

Wigbert
Angehängte Dateien:
Persönliche Seite #1626853
Lesenswert?

Schönes Display, scheint eine gute Auflösung zu haben (im Bezug auf die 
Größe).

Warum ist das Abschalten der Kontrastspannung solch ein Problem? Reicht 
da nicht ein einfacher PNP Transistor? Man könnte auch die Step-Up 
schaltung so ändern, dass man über den Controller die Ausgangsspannung 
einstellen kann.

Du hast glaub ich den Source-Code vergessen.
OP Persönliche Seite #1626888
Lesenswert?

>Warum ist das Abschalten der Kontrastspannung solch ein Problem.

Ich sehe da kein Problem. Ist eben nur lästig, wenn der Kontrast nicht
abgeschaltet wird.

>Reicht da nicht ein einfacher PNP Transistor.
nicht ganz, hier sollte ein NPN Transistor ON/OFF invertieren.

>Du hast glaub ich den Source-Code vergessen.

Steht mir auch nicht zu. Den Entwickler hatte ich ja benannt.

Wigbert
OP Persönliche Seite #1633375
Lesenswert?

Hallo,

und nun die aktuelle Version der HW.
Kontrast wird mit 2 Transistoren geschaltet. Befehle für
das An- bzw, Abschalten der Kontrastes waren je sowieso in
der SW drin. Die bunten Jumper sind für Baudrateneinstellung.

Eigentlich bleibt nur noch eine Herausforderung: Wie befestigt
man das Display? Ich lass mich da gerne von jemandem
beeindrucken.

Wigbert
Angehängte Dateien:
#1683224
Lesenswert?

Hallo - insbesondere an Benedikt,
ich habe das Projekt "Einfacher Low Cost LCD Controller für 320x240 LCD 
im Textmodus" nachgebaut. Es funktioniert alles perfekt. Die 
Schnittstelle habe ich in I2C-geändert. Auch das funktioniert.
Nun würde ich gern auf die hier erwähnte 10x20-Version umstellen, 
allerdings ist das ohne Source-Code recht schwierig.

@Benedikt: Wärst du bereit, den (Original-) Sourcecode zur Verfügung zu 
stellen?

Harald

(harald.peters ät gmx.de)
#1916384
Lesenswert?

Hallo Wigbert,

bei mir läuft das E8504CZZ im Textmodus. Allerdings brauche ich etwas 
höhere Spannungen um einen vernünftigen Kontrast zu bekommen, u.z. am 
Pin 14 ca. 23V und am Pin 13 ca 17,5V.

Hast du es auch schon mit den Graustufen getestet? Bei mir klappt das 
noch nicht. Wo hast du denn die 100ms Verzögerung eingebaut?

Gruß
Bruno
OP Persönliche Seite #1917870
Lesenswert?

>bei mir läuft das E8504CZZ im Textmodus. Allerdings brauche ich etwas
>höhere Spannungen um einen vernünftigen Kontrast zu bekommen, u.z. am
>Pin 14 ca. 23V und am Pin 13 ca 17,5V

Pin 14 schrieb ich +>17V allerdings, bin ich mit +19V ausgekommen,
wenn ich mich richtig erinnere.

>Hast du es auch schon mit den Graustufen getestet.
nein, ist für mich uninteressant, da kein Hitergrundlicht vorhanden

>Wo hast du denn die 100ms Verzögerung eingebaut

ist in der Software drin, da die Intit bei dem Display lange dauert
und vorher immer dieses lästige schwarze Display im Einschaltvorgang
vorhanden war.

Wigbert
OP Persönliche Seite #1918713
Lesenswert?

@Brumay (Gast)

der Hexcode wurde mit veränderter Zeichengrösse für dieses Projekt
freundlicherweise von Benedikt zur Vefügung gestellt. Ich will
den guten Mann auch nicht weiter auf den Senkel gehen.
Wenn Du den Orginalcode
Beitrag "Einfacher Low Cost LCD Controller für 320x240 LCD im Textmodus"
mal verfolgst, sollte eine Verzögerung von ein paar Millisec.
auffallen.

Wigbert
Gast #1919324
Lesenswert?

@ Wigbert

Im Originalcode konnte ich keine Verzögerung finden. So wie du es aber 
beschreibst, ist sie wahrscheinlich zwischen Freigabe des Interrupts und 
Einschalten der Kontrastspannung eingefügt. Da bei mir inzwischen aber 
auch die Graustufen-Version problemlos läuft, hat es sich auch erübrigt.

Bruno
Gast #1921864
Lesenswert?

Hallo Harald,

Harald P. schrieb:
> Hallo - insbesondere an Benedikt,
> ich habe das Projekt "Einfacher Low Cost LCD Controller für 320x240 LCD
> im Textmodus" nachgebaut. Es funktioniert alles perfekt. Die
> Schnittstelle habe ich in I2C-geändert. Auch das funktioniert.

da würde mich das Programm interessieren. :-)

Schade das das Projekt in asm ist.

Grüßle

Heiko
#1927818
Lesenswert?

Wenn man mich schon so lieb fragt, dann will ich doch gerne meinen 
Beitrag für die Allgemeinheit dazuliefern.
Hier kurz die Features meiner Variante:
 Als Grundlage habe ich das ASM-Programm von Benedikt genommen.
 Schaltung mit Anschluß des LCD also wie bei Benedikt bzw. wie hier 
angegeben.
 Aus einem weiteren Betrag aus diesem Forum stammen die I2C-Routinen 
(TWI-Slave).
 Mittels eines Schalters im Programm (Input) kann man festlegen, ob der 
Uart oder I2C genommen werden soll.
 Man kann auch beides auswählen (Input=3), dann werden sowohl Zeichen 
vom Uart als auch von I2C angenommen.
 Die I2C-Adresse ist als Konstante mit 10h festgelegt. Achtung, manche 
andere I2C-Festlegungen interpretieren dies als 20h.
 Die Baudrate ist hier fest codiert mit 57600; evtl. den ursprünglichen 
Code hier wieder einfügen.

 Ich habe zusätzlich einen Zeichensatz mit 12x16 (statt 16x24) 
implementiert, so daß sich daraus 13 Textzeilen a 26Zeichen ergeben.
 Soll die ursprüngliche Fassung (10 Zeilen a 20 Zeichen) aktiviert 
werden, so müssen die Konstanten CSize, XSize angepaßt werden.
 Der neue Zeichensatz liegt bei. Ich habe ihn mit einem 
selbstgeschriebenen Delphi-Programm erzeugt. Dieses kann auch vorhandene 
Zeichensätze analysieren.
 Falls es hier Begehrlichkeiten geben sollte, so muß ich sagen, daß ich 
wahrscheinlich der Einzige bin, der mit dem Programm umgehen kann.

Also, wenn jemand mit meinem Programm etwas anfangen kann, dann viel 
Spaß damit.
Harald
Angehängte Dateien:

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