Forum: Projekte & Code E8504CZZ, GLCD von Pollin im Textmodus


von Wigbert P. (wigbert) Benutzerseite


Angehängte Dateien:

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

von Marius S. (lupin) Benutzerseite


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.

von Wigbert P. (wigbert) Benutzerseite


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

von Wigbert P. (wigbert) Benutzerseite


Angehängte Dateien:

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

von Wigbert P. (wigbert) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hi,

sollte beim Kaltstart das Display nicht sauber zugeschaltet werden
(wird nach Anlegen der Spannung kurz dunkel), anbei eine HEX
mit 100ms Verzögerung.

Schöne Osterfeiertage

Wigbert

von Harald P. (haraldp)


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)

von Bruno M. (brumay)


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

von Wigbert P. (wigbert) Benutzerseite


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

von Brumay (Gast)


Lesenswert?

Danke für die Info!

Allerdings würde mich interessieren an welcher Stelle des Codes die 
Verzögerung sitzt, da ich noch die Originalversion von Benedikt nutze.

von Wigbert P. (wigbert) Benutzerseite


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

von Brumay (Gast)


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

von heiko (Gast)


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

von Harald P. (haraldp)


Angehängte Dateien:

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

von Dietmar G. (malcom)


Angehängte Dateien:

Lesenswert?

Vielen Dank für die tollen Tipps, das Display/ die Ansteuerung ging auf 
Anhieb.
Auf die Frage nach der Möglichkeit der Befestigung des E8504CZZ, hier 
mein Vorschlag.
Über alternative Befestigungsarten würde ich mich freunen.

Gruß Malcom

von Info (Gast)


Lesenswert?

Das Display gibt es bei Pollin nicht mehr (und ist daher aus meinem 
Warenkorb verschwunden) :-(

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.