Forum: Mikrocontroller und Digitale Elektronik Graphic LCD invertiert?


von Guido (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe ein 240x128-Grafikdisplay mit T6963 (Datenblatt siehe Anhang) 
an einem Atmega32 auf einer RN-Control 1.4 Platine.

Ich kann Grafiken und Texte ausgeben auf dem Display. Allerdings 
erscheint alles nur schwarz auf blauem Hintergrund und ist mangels 
Kontrats kaum lesbar. Wenn ich Reset auf der Platine drücke und gedrückt 
halte, dann ist die Darstellung so wie sein soll: Weiß auf Blau. Wenn 
ich loslasse, wird natürlich der Reset ausgeführt und danach ist alles 
wieder schwarz auf blau.

Hat irgendwer eine Idee, woran das liegen kann?

Ich bin leider blutiger Anfänger und schon stolz, dass ich im ersten 
Versuch überhaupt etwas auf dem Display ausgeben konnte.

Ich bin dankbar für jeden Tipp.

Beste Grüße

Guido

von Schlaubi Schlumpf (Gast)


Lesenswert?

Poste deinen Code. Vielleicht sieht man was. Und wo das Display 
angeschlossen ist.

Gruß

von holger (Gast)


Lesenswert?

Wie hast du die Kontrastleitung angeschlossen ?

von Stefan W. (wswbln)


Lesenswert?

Hast Du - wie im Datenblatt rechts unten gezeichnet - Pin 20 via Poti 
mit Pin 3 und GND verschaltet? Schon mal am Poti gedreht?

von Werner Koch (Gast)


Lesenswert?

das Problem liegt wohl eher daran, dass die Hintergrundbeleuchtung nicht 
eingeschaltet wird/ist. Bei einem Reset stellt sich offensichtlich die 
Ansteuerung so ein dass die Hintergrundbeleuchtung einschaltet.

von Guido (Gast)


Lesenswert?

Hallo

Erstmal ganz herzlichen Dank für die Antworten.

Also die LED-Hintergrundbeleuchtung ist an.

Pin20 (Vout) ist mit Pin3 (Vss/Gnd) verschaltet. Einen Poti hatte ich 
nicht zur Hand (Anfänger halt), habe aber mit einem Steckboard 
verschiedene Widerstandsverhältnisse probiert.

Hier der auf das wesentliche reduzierte Code
1
$regfile = "m32def.dat"
2
$crystal = 16000000
3
$framesize = 32
4
$swstack = 32
5
$hwstack = 32
6
$baud = 19200
7
8
Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portc , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 6
9
10
Cursor Off
11
Wait 1
12
CLS
13
Locate 1 , 1
14
LCD "Hello World"
15
End

Was ich nun festgestellt habe: Wenn ich Mode auf 8 für 8x8 Zeichen 
setze, dann wird der Text richtig (weiß) ausgegeben. Setze ich Mode 
wieder auf 6, so wird der Text schwarz ausgegeben und es bleibt bei 8x8 
Zeichen.

Bei 6x8 müßte sich ja an Pin19 (FS) das Level ändern. Tut es aber nicht: 
0 V. Ist aber richtig verdrahtet mit Pin5 von PortC. Ziehe ich das Kabel 
ab und messe direkt an Pin5 von PortC, so liegen da 5 V an. Wird also 
irgendwie durch das Display auf Masse gezogen?

Hat dazu irgendwer eine Idee? Ich brauche eigentlich dringend die 6x8 
Zeichen, um alles gewünschte darstellen zu können.

Besten Dank

Guido

von holger (Gast)


Lesenswert?

FS direkt an 5V anschließen mit Jumper. So mach ich das
immer. Sind meist keine Pins am uC mehr über ;)

Aber aufpassen das du da keinen Kurzschluß draufhast !

von Guido (Gast)


Lesenswert?

Hallo Holger,

das habe ich auch schon probiert. Aber dann geht selbst die 
Hintergrundbeleuchtung aus. Kurzschluss.

Wenn ich sämtliche Kabel vom Display abziehe, messe ich zwischen Pin2 
(VSS) und Pin19 (FS) 2,2 Ohm. Also gibt es da wohl eine Verbindung. 
Etwas eigenartig oder?

Beste Grüße

Guido



von holger (Gast)


Lesenswert?

Nee, das kann nicht sein. 2,2 Ohm ist viel zu wenig.
Da ist irgendwo ein Kurzschluss !

von Rolf I. (for_ro)


Lesenswert?

Bei allen Displays, die ich bisher hatte, waren irgendwo die beiden Pins 
8 + 9 auf Masse gezogen. Allerdings waren die Verbindungen auch immer 
von aussen, also nicht unterhalb des Chips, erreichbar und 
durchtrennbar.
Musst du mal auf der Platine suchen, ob da ein Kontakt ist. Nur 
schwierig, weil er halt auf Masse liegt.

Gruß

Rolf

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Ich hab hier auch ein paar von den t6963c LCDs, bei denen der Fontselect 
pin auf 8x8 intern auf der Platine fest verdrahtet ist ... warum auch 
immer.

von Benedikt K. (benedikt)


Lesenswert?

Also mit Fontselect hat das wenig zu tun. Wenn der falsch eingestellt 
ist, ist nur das Bild zu breit bzw. verzerrt.
Ich vermute auch, dass es am Kontrast liegt, aber ich werde aus der 
Fehlerbeschreibung von Guido nicht ganz schlau. Ein Foto vom LCD mit dem 
Fehler wäre hilfreich, dann kann man genauer erkennen, was da nicht 
passt und woran es liegen könnte.

von Rolf I. (for_ro)


Lesenswert?

Nach seiner Beschreibung denke ich schon, dass es am FontSelect liegt.
Wenn du 8x8 machst, liegt an FS1 low, was durch die interne Verbindung 
sowieso auf Masse gezogen wird.
Gehst du aber auf 6x8, dann liegt High am FS1, der aber auf Masse ist.
Damit hast du einen Kurzschluss auf dem Ausgang des µC, der FS bedient.
Je nach Spannungsversorgung ziehst du damit alle Spannungen inkl. 
Kontrastspannung runter. Ich würde den µC auch nicht allzu lange in 
diesem Zustand laufen lassen.

Gruß

Rolf

von Michael U. (Gast)


Lesenswert?

Hallo,

ich würde auch denken, daß FS im Display entweder niederohmig fest auf L 
liegt oder ein Kurzschluß zwischen FS und einer gegen GND niederohmigen 
Leitung vorliegt.

Ich habe auch schon mehrere kundenspezifische Abarten von Display in 
meinem Vorrat, die sich nur durch Zusatzziffern/-buchstaben der 
Bezeichnung unterscheiden und teilweise soagr völlig andere Belegungen 
hatten...

Gruß aus Berlin
Michael

von Guido (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

nochmal herzlichen Dank für die Hilfe.

Anbei ein Foto der Symptome. Oberes Bild 8x8. Unteres Bild 6x8 (Kamera 
bewußt schräg gehalten, damit man überhaupt etwas erkennt.). Man sieht, 
dass zwar Daten für 6x8 ankommen, dass Display aber noch im 8x8-Modus 
arbeitet.

Hauke und Rolf haben vermutlich recht. FS ist wohl schon auf der Platine 
auf Masse gezogen und infolge dessen gibt es am µC einen Kurzschluss, 
der die restlichen Nebenwirkungen auslöst. Aber warum steht dann im 
Datenblatt noch, das man zwischen 6x8 und 8x8 umschalten kann?

Beste Grüße

Guido

von Guido (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

noch ein Nachtrag:
Die Leiterbahn vom Pin19 (FS) verschwindet recht schnell unter dem 
Display und die kann ich deshalb nicht komplett nachverfolgen.

Laut Datenblatt ist am T6963CFG High bzw. Low an Pin8 für die 
Umschaltung zwischen 6x8 und 8x8 zuständig. Da hängt ein R7 dran mit der 
Aufschrift "0" (siehe Bild). Also wohl eine Brücke zu irgendwas. Soll 
ich die mal rauslöten?
http://www.semicon.toshiba.co.jp/docs/datasheet/en/ASSP/T6963CFG_en_datasheet_061106.pdf

Beste Grüße

Guido

von Benedikt K. (benedikt)


Lesenswert?

Der FS0 Pin ist fest auf GND, FS1 ist über den Pin ist über den 0 Ohm 
Widerstand auf GND gelegt. Löte den Widerstand aus, dann sollte es 
funktionieren.
Das ist ja ein dummes Datenblatt, wenn es nichtmal darauf hinweist, den 
Widerstand auszulöten ehe man den FS Pin beschaltet.

von Guido (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Benedikt,

Vielen Dank für die Antwort.

Warum macht der Hersteller sowas? Kann es irgendeinen technischen Grund 
geben, 6x8 nicht zuzulassen?

Ich habe noch ein zweites einseitiges Datenblatt zu dem Display 
gefunden. Da steht aber auch nix weiter zu R7/FS - zumindest nicht im 
englischen Text und chinesisch wollte ich vorerst nicht lernen.

Beste Grüße

Guido

von Benedikt K. (benedikt)


Lesenswert?

Meistens ist entweder der FS Pin rausgeführt, oder als Lötbrücke (bzw 
mit dem 0Ohm Widerstand) ausgeführt. Beides gleichzeitig hatte ich auch 
noch nie gesehen, ist aber eigentlich auch nicht ungewöhnlich, denn hier 
hat der Benutzer die Möglichkeit entweder FS fest zu verdrahten, oder 
variabel zu machen. Es sollte eben halt nur im Datenblatt vermerkt sein.
Normalerweise haben LCD Datenblätter auch viel mehr Seiten. Vermutlich 
ist das nur das Kurzdatenblatt.

von Guido (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

um noch mal Rückmeldung zu geben: Ich habe den R7 ausgelötet und nun 
klappt das sehr schön mit den 6x8 Schriften. Ich muss nun nur mal in die 
Bascom-Vollversion investieren. 4 KB werden langsam knapp.

Nochmal besten Dank für die Hilfe. Ohne Euch hätte ich die Ursache 
vermutlich nie herausbekommen.

Guido

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.