Forum: Mikrocontroller und Digitale Elektronik Grafik-LCD MSG12864A will nicht


von Patrick L. (crashdemon)


Lesenswert?

Hallo,

ich habe mir ein 128x64 Pixel Grafik-LCD zugelegt (MSG12864A). Leider 
funktioniert es überhaupt nicht, es wird nichts angezeigt. Die 
Kontrastspannung erzeuge ich im Moment aus Vdd und Vee mit ein 5k Poti, 
auch Vdd und GND habe ich schon ausprobiert. Leider lässt das Datenblatt 
(http://lcd-systeme.com/downloads/goods_tables_pdf/docpdf_000214.pdf) 
viele Fragen offen. Mir ist nicht ganz klar wie die Kontrastspannung 
korrekt angeschlossen wird. Auch zur Hintergrundbeleuchtung gibt es 
keine Infos, kann diese direkt an +5V angeschlossen werden, oder muss da 
ein Vorwiderstand vor? Allgemein sind die Infos zu diesem Display sehr 
schmal. Sollte man bei Grafik-LCD's überhaupt etwas beim einschalten 
sehen?

von Axel S. (a-za-z0-9)


Lesenswert?

Patrick L. schrieb:

> ich habe mir ein 128x64 Pixel Grafik-LCD zugelegt (MSG12864A). Leider
> funktioniert es überhaupt nicht, es wird nichts angezeigt.

Wie steuerst du es denn an? Laut Datenblatt ist ein NT7108 Controller 
verbaut. Bzw. vielmehr deren 2. Denn das ist ein Nachbau des KS0108. 
Unter letzterer Typenbezeichnung findest du auch in diesem Forum genug 
Beispiele.

> Die
> Kontrastspannung erzeuge ich im Moment aus Vdd und Vee mit ein 5k Poti,
> auch Vdd und GND habe ich schon ausprobiert.

Spannung an Vee gemessen? Sollten -5V sein, bei 5V Betriebsspannung. Es 
gibt auch Module am Markt, bei denen die Kontrastspannungserzeugung
fe lt (nicht bestückt, ist ein 7660 oder 7662).

> Leider lässt das Datenblatt
> (http://lcd-systeme.com/downloads/goods_tables_pdf/docpdf_000214.pdf)
> viele Fragen offen. Mir ist nicht ganz klar wie die Kontrastspannung
> korrekt angeschlossen wird.

Trimmer zwischen Vdd und Vee, Schleifer an Vo (Pin 3). Werte zwischen
5K und 50K passen.

> Auch zur Hintergrundbeleuchtung gibt es
> keine Infos, kann diese direkt an +5V angeschlossen werden, oder muss da
> ein Vorwiderstand vor?

Nachschauen. Wenn ein Vorwiderstand verbaut ist, dann ist er auf der 
Platine. Es gibt solche und solche Displays. Meist ist die 
Hintergrundbeleuchtung aber ohnehin zu hell, so daß man einen weiteren 
Widerstand davor schalten muß.


XL

von Patrick L. (crashdemon)


Lesenswert?

Axel Schwenke schrieb:
> Wie steuerst du es denn an? Laut Datenblatt ist ein NT7108 Controller
> verbaut. Bzw. vielmehr deren 2. Denn das ist ein Nachbau des KS0108.
> Unter letzterer Typenbezeichnung findest du auch in diesem Forum genug
> Beispiele.

Ja, mittlerweile habe ich es zum laufen gekriegt, der Fehler lag an der 
Hintergrundbeleuchtung. Das GLCD ist im Moment auf einem Steckboard 
montiert das mit einen STK500 verbunden ist, daher ziehe ich auch meine 
Versorgungsspannung. Der Übergangswiderstand und somit der Spannungsfall 
über diese Versorgungsleitung war bei Benutzung der 
Hintergrundbeleuchtung zu groß, so dass die Spannung für den Kontrast 
nicht groß genug war.

> Spannung an Vee gemessen? Sollten -5V sein, bei 5V Betriebsspannung. Es
> gibt auch Module am Markt, bei denen die Kontrastspannungserzeugung
> fe lt (nicht bestückt, ist ein 7660 oder 7662).

Auf Vdd gemessen ca. 9V auf GND -5V, passt also ungefähr.

> Nachschauen. Wenn ein Vorwiderstand verbaut ist, dann ist er auf der
> Platine.

Das kann man grundsätzlich nicht sagen. Hatte ich bei einem Display auch 
schonmal gedacht und mich dann gewundert warum das Display so heiß 
wurde.

> Es gibt solche und solche Displays. Meist ist die
> Hintergrundbeleuchtung aber ohnehin zu hell, so daß man einen weiteren
> Widerstand davor schalten muß.

Ich werde das ganze erstmal ohne Hintergrundbeleuchtung betreiben.

Hast du irgenwelche Tipps bezüglich einer GLCD-Library die übersichtlich 
programmiert ist und schon Fonts mit eingebaut hat?

Danke

von Axel S. (a-za-z0-9)


Lesenswert?

Patrick L. schrieb:
> Axel Schwenke schrieb:

>> Nachschauen. Wenn ein Vorwiderstand verbaut ist, dann ist er auf der
>> Platine.
>
> Das kann man grundsätzlich nicht sagen. Hatte ich bei einem Display auch
> schonmal gedacht und mich dann gewundert warum das Display so heiß
> wurde.

Mißverständnis. Ich meinte, daß wenn ein Vorwiderstand verbaut ist, du 
den dann auf jeden Fall auf der Platine findest. Die zwei Leiterzüge 
sollten ja nun recht einfach zu verfolgen sein. Wenn kein Widerstand 
zwischen den beiden Pins am Stecker und den beiden Pins der 
Hintergrundbeleuchtung ist, dann ist da insgesamt keiner.

> Hast du irgenwelche Tipps bezüglich einer GLCD-Library die übersichtlich
> programmiert ist und schon Fonts mit eingebaut hat?

Die Apetech-Lib die hier rumgeistert finde ich ganz gelungen. Fonts sind 
als C Header einzubinden. Und es gibt einen Fontcreator in Java.

Was ich noch nicht gefunden habe und demnächst wohl selber schreiben 
werde, ist eine Lib, die einen "Schatten-Framebuffer" im Controller-RAM 
hält und dann eine Operation "RAM auf Display kopieren" bietet. Viele 
GLCD-Operationen sind nur deswegen langsam, weil sie erst vom Display 
lesen müssen. Ein lokaler Framebuffer bewirkt dann Wunder.


XL

von Patrick L. (crashdemon)


Lesenswert?

Axel Schwenke schrieb:
> Mißverständnis. Ich meinte, daß wenn ein Vorwiderstand verbaut ist, du
> den dann auf jeden Fall auf der Platine findest. Die zwei Leiterzüge
> sollten ja nun recht einfach zu verfolgen sein. Wenn kein Widerstand
> zwischen den beiden Pins am Stecker und den beiden Pins der
> Hintergrundbeleuchtung ist, dann ist da insgesamt keiner.

Alles klar, das leuchtet mir ein.


> Die Apetech-Lib die hier rumgeistert finde ich ganz gelungen. Fonts sind
> als C Header einzubinden. Und es gibt einen Fontcreator in Java.

Gut, werde ich mir mal ansehen, danke.

> Was ich noch nicht gefunden habe und demnächst wohl selber schreiben
> werde, ist eine Lib, die einen "Schatten-Framebuffer" im Controller-RAM
> hält und dann eine Operation "RAM auf Display kopieren" bietet. Viele
> GLCD-Operationen sind nur deswegen langsam, weil sie erst vom Display
> lesen müssen. Ein lokaler Framebuffer bewirkt dann Wunder.

Hört sich interessant an.

von Dr. Console (Gast)


Lesenswert?

Sehr hilfreicher Thread, leider sind viele Anbieter recht sparsam mit 
Informationen zu der Chip-kompatibilität und der verdrahtung des 
Kontrastpins.

Eine scheinbar recht ausgereifte GLCD library ist die openGLCD, welche 
leicht bei google zu finden ist.
Unterstützt die KS0108 Familie ebenso wie SED1520.
Ist für Ardiuino kompatibel und unterstützt auch einige andere Boards.
Wäre evtl. mal einen Blick wert.

NG
Dr. Console

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.