Forum: Mikrocontroller und Digitale Elektronik Wie erkennen, ob LCD defekt?


von Masl (Gast)


Lesenswert?

Hallo,

ich versuche gerade das mitgelieferte LCD des ATMEL Erweiterungsboard 
2.0.1 von Pollin zum laufen zu kriegen (2*16 Zeichen).
Vor einigen Monaten lief es bereits mit einer selbst geschriebenen 
Software.

Jetzt hab ich endlich wieder Zeit zum Basteln, leider mag das LCD nicht 
mehr so wie ich.

Fehler ist schwer zu beschreiben, es werden einfach keine Zeichen 
ausgegeben, aber beide Zeilen des Displays leuchten (5*7 Matrix ist gut 
erkennbar, also wahrscheinlich richtig initialisiert?).

Hab es auch schon mit der Fleury Lib probiert, leider auch ohne Erfolg, 
selbes Ergebnis.

Durchgemessen hab ich die Leitungen zum uC auch schon 5 mal, es sollte 
richtig angeschlossen sein.

Gibt es eine Möglichkeit sicher zu erkenn, ob ein LCD defekt ist?
Oder wie sollte ich bei der Fehlersuche vorgehen, wie und wo messen?
Softwarefehler schließe ich mal aus, da ich momentan die Fleury Lib 
verwende. Anschlüssel hab ich wiederholt gecheckt.
Zum Debuggen steht mir der USART des Prozessors zur Verfügung, der läuft 
wunderbar :-)

Viele Grüße,
Masl

von Karl H. (kbuchegg)


Lesenswert?

> Fehler ist schwer zu beschreiben, es werden einfach keine
> Zeichen ausgegeben, aber beide Zeilen des Displays leuchten
> (5*7 Matrix ist gut erkennbar, also wahrscheinlich richtig
> initialisiert?).

Klingt für mich nach: Kontrast zu stark aufgedreht.

von Sven W. (Firma: basement industries) (dj8nw)


Lesenswert?

Enable usw hast angeschlossen? Das wars bei mir irgendwann mal....

von Masl (Gast)


Lesenswert?

Eigentlich ist das Display schon mal gelaufen vor ein paar Monaten. 
Kontrast sollte es also nicht sein, den kann man bei mir garnicht 
aufdrehn weil ich einen festen Widerstand zwischen +5V und Kathode 
gelötet habe (Wert grad nicht im Kopf).
Werd aber trotzdem mal in diese Richtung suchen!

Enable hängt dran, aber wenn ich daheim bin pieps ich die Leitungen 
einfach nochmal zum 6. mal durch :-)

Wär schade wenn das Teil kaputt ist. Im Gegensatz zu den die Pollin 
momentan listet hat es seine 14 Pins nicht nebeneinander, sondern 
seitlich mit 2*7 Reihen. So konnte ich leicht einen Wannenstecker 
auflöten und das Display mit Flachbandkabel steckbar machen :-)

von Nachdenker (Gast)


Lesenswert?

Gib mal längeren Probetext aufs Display aus.
Was ähnliches wie du hatte ich auch mal, Display zeigte 4 stelligen Wert 
nicht an. Vermutung, Adressierung passt nicht, deswegen langer Text 
probiert und siehe da, plötzlich war Text da. Halt nur nicht vom Anfang 
an.

Wenn Initialisierung des Displays wegen Timingproblemen mangelhaft, kann 
sowas passieren. Anderer Controller auf Display etc.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Masl schrieb:
> Fehler ist schwer zu beschreiben, es werden einfach keine Zeichen
> ausgegeben, aber beide Zeilen des Displays leuchten (5*7 Matrix ist gut
> erkennbar, also wahrscheinlich richtig initialisiert?).

Du siehst also 2 lange Balken. Genau das ist das typische Indiz, dass 
das LCD nicht richtig initialisiert wurde. Schalte mal nur das LCD 
ein, nicht aber den µC. Dürfte kein Unterschied zu erkennen sein.

Gruß,

Frank

von Masl (Gast)


Lesenswert?

Danke, werd ich auch mal testen.

Aber das wär ja wieder ein Software Problem, und Fleurys Lib sollte 
eigentlich schon funken :-)

von Kurt B. (kurt)


Lesenswert?

Masl schrieb:
> Kontrast sollte es also nicht sein, den kann man bei mir garnicht
> aufdrehn weil ich einen festen Widerstand zwischen +5V und Kathode
> gelötet habe

Verwechselst du Kontrast mit Hintergrundbeleuchtung?

von Cyblord -. (cyblord)


Lesenswert?

Frank M. schrieb:

> Du siehst also 2 lange Balken. Genau das ist das typische Indiz, dass
> das LCD nicht richtig initialisiert wurde. Schalte mal nur das LCD
> ein, nicht aber den µC. Dürfte kein Unterschied zu erkennen sein.
>

Naja, also 2 Balken bedeutet schonmal dass das LCD auf 2 Zeilen 
initalisiert wurde. Ohne Init sollte nur 1 Balken zu sehen sein.

von Karl H. (kbuchegg)


Lesenswert?

Masl schrieb:

> aufdrehn weil ich einen festen Widerstand zwischen +5V und Kathode
> gelötet habe (Wert grad nicht im Kopf).

?
Dann hast du 5V Kontrastspannung
und das ist in den meisten Fällen viel zu viel. Meist liegt die 
Kontrastspannung nahe bei 0V und um sie brauchbar einzustellen macht man 
ein Poti rein und keinen Festwiderstand.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

cyblord ---- schrieb:
> Naja, also 2 Balken bedeutet schonmal dass das LCD auf 2 Zeilen
> initalisiert wurde. Ohne Init sollte nur 1 Balken zu sehen sein.

Stimmt auch wieder - jedenfalls meistens ;-)
Na dann, vielleicht liegts doch an der falsch eingestellten 
Kontrastspannung.

von Masl (Gast)


Lesenswert?

Kurt Bohnen schrieb:
> Masl schrieb:
>> Kontrast sollte es also nicht sein, den kann man bei mir garnicht
>> aufdrehn weil ich einen festen Widerstand zwischen +5V und Kathode
>> gelötet habe
>
> Verwechselst du Kontrast mit Hintergrundbeleuchtung?

Ja, kann sein dass ich das grad tu. Werd auf jeden Fall hier mal 
ansetzen!

von Cyblord -. (cyblord)


Lesenswert?

Masl schrieb:
> Kurt Bohnen schrieb:
>> Masl schrieb:
>>> Kontrast sollte es also nicht sein, den kann man bei mir garnicht
>>> aufdrehn weil ich einen festen Widerstand zwischen +5V und Kathode
>>> gelötet habe
>>
>> Verwechselst du Kontrast mit Hintergrundbeleuchtung?
>
> Ja, kann sein dass ich das grad tu. Werd auf jeden Fall hier mal
> ansetzen!

Da wäre die Frage: Hast du eine Hintergrundbeleuchtung und funktioniert 
sie?

Poste doch mal einen Schaltplan wie du das alles so angeschlossen hast. 
Da sieht man das gleich.

von Masl (Gast)


Lesenswert?

Also, die Kontrastspannug ist in Ordnung. Hab das vorher im Eifer des 
Gefechts tatsächlich durcheinander gebracht. Der fest-eingelötete 
Widerstand sitzt bei mir natürlich an der Hintergrundbeleuchtung.

Kontrast kann ich beim Pollin Board über ein Poti einstellen. Das war 
aber bereits auf Anschlag und in der Tat ergibt das knapp über 0V. Ein 
Drehen des Poti hebt die Spannung an, dadurch leuchtet das Display 
einfach nur noch grell. Mit den knapp über 0V dagegen kann ich 
(richtigen Blickwinkel vorrausgesetzt) die 2*16 Segmente mit ihren 
jeweils 5*7 Pixel erkennen.

Auch das Schreiben eines langen Strings auf das Display bleibt ohne 
Folgen.

Hat noch jemand einen Vorschlag? Ahja, die Leitungen hab ich grad 
nochmal durchgepiepst, sollte alles richtig verdrahtet sein :-)

Viele Grüße,
Masl

von Dietrich L. (dietrichl)


Lesenswert?

Masl schrieb:
> Hat noch jemand einen Vorschlag?

Stimmt das Timing? Passt die Taktfrequenz und sind die Fuses dazu 
richtig eingestellt?

Gruß Dietrich

von Masl (Gast)


Lesenswert?

Fuses und Takt passen. Ich hab ja bereits eine Hauptschleife mit einigen 
Testfunktionen im Betrieb. LEDs blinken so wie sie sollen, USART 
funktioniert einwandfrei.

Ich habe gerade das Display mal probeweise nur einzeilig initialisiert. 
Und auch das geht. Ich "sehe" momentan nur die obere Zeile. Nur mit dem 
Nebeneffekt, dass die 5*7 Pixel jetzt "ausgemalt", also dunkel sind 
(Kontrast ist also ok).

von Karl H. (kbuchegg)


Lesenswert?

Masl schrieb:

> Und auch das geht. Ich "sehe" momentan nur die obere Zeile. Nur mit dem
> Nebeneffekt, dass die 5*7 Pixel jetzt "ausgemalt", also dunkel sind
> (Kontrast ist also ok).


Ist die ganze Zeile ausgemalt oder nur dort wo auch etwas ausgegeben 
wurde?


> (Kontrast ist also ok).

Überzeugt mich ehrlich gesagt noch nicht. Denn diesen Fall hatte ich 
auch mal, dass eine Zeile komplett dunkel war. Glücklicherweise hab ich 
dann aus einem bestimmten BLickwinkel die Zeichen noch ganz leicht 
erahnen können und dann mal am Kontrastpoti vorsichtig gedreht und siehe 
da: Durch den falsch eingestellten Kontrast gingen die Buchstaben 
komplett unter.

von Masl (Gast)


Lesenswert?

Die ganze Zeile. Also die 16 Segmente. Zwischen den Segmenten ist 
jeweils 1 Pixel frei.

Hab eben nochmal gaaanz sachte am Poti gedreht, sieht nicht so aus als 
würden sich da Zeichen verstecken :-/

von Masl (Gast)


Lesenswert?

Nachtrag:

Ich kann nach Lust und Laune zwischen 1- und 2- Zeilen wechseln, klappt 
ohne Probleme, deshalb sollte meine Ansteuerung "grundsätzlich" in 
Ordnung sein.
(Wobei aber bei 1-zeilig die obere Zeile komplett dunkel ist?)

Nur Zeichen kann ich ihm nicht entlocken, wenn ichs nicht schon zig mal 
durchgepiepst hätte würde ich sagen die RS Leitung ist falsch 
angeschlossen.

Auf ein Neues :-)

von Masl (Gast)


Lesenswert?

Nein, RS funkt auch so wies soll.
Langsam bin ich ratlos.
Angeschlossen ist es richtig und die Software hab ich unverändert (bis 
auf die Pinbelegung :-)) übernommen.
Noch jemand ne Idee? :-)

Ich denke ich werd morgen mal ein neues Display besorgen. Weiß zufällig 
jemand ob Pollin eins hat dass seine Anschlüsse auch in 2*7 Reihen 
angeordnet hat?
Laut Bilder im Online Katalog nicht, aber auf die Bilder geb ich nicht 
allzuviel :-)

Grüße,
Masl

von Asko B. (dg2brs)


Lesenswert?

Hi Masl

Das hoert sich ja beinahe danach an, als ich ein Display zur Heizsonne
gemacht hatte.
Ich bin von Pin 1 losgegangen...usw. usw.
tja, aber die Displays, die die Anschluesse seitlich haben, haben auch 
vertauschte VSS und VDD -Anschluesse. (Nummernmaessig)
Wenn Du jetzt, + und - "richtig" rum hast, dann koennten alle anderen
Anschluesse vertauscht sein.
Ich hab mir fast die Karten gelegt (wollte wirklich Profi sein und
einen Quetschanschluss verwenden...)
Und klar gibs sowas bei Pollin...guck mal nach TC1602E-01.

Gruss Asko.

von Masl (Gast)


Lesenswert?

Ok, werde heute mal zum Pollin fahren, der is ja gottseidank gleich ums 
Eck :-)

Oder ist jemanden noch was eingefallen? Bin für alle Vorschläge dankbar! 
:-)

Viele Grüße,
Masl

von Günter M. (Gast)


Lesenswert?

> und die Software hab ich unverändert (bis auf die Pinbelegung :-))
Andere Pinbelegung am µC?
Die banalen Sachen hast du schon überprüft? Z.B beim Atmega16/32/644/...
daran denken, JTAG Fuse zu entfernen, sonst mag der Port C nicht.

von Masl (Gast)


Lesenswert?

JTAG ist aktiviert, ich flashe mit dem Dragon!

Allerdings hängt das LCD komplett am Port D!

Seit ich da vor 2 Jahren mal hart ins Fettnäpfchen getreten bin sind 
Fuses und alternative Pinfunktionen (zB USART etc) immer mein erster 
Punkt auf der Liste :-)

von dolf (Gast)


Angehängte Dateien:

Lesenswert?

Asko B. schrieb:
> Ich bin von Pin 1 losgegangen...usw. usw.
> tja, aber die Displays, die die Anschluesse seitlich haben, haben auch
> vertauschte VSS und VDD -Anschluesse. (Nummernmaessig)
> Wenn Du jetzt, + und - "richtig" rum hast, dann koennten alle anderen
> Anschluesse vertauscht sein.


moin !!

du hast falsch gezählt.
1 ist gnd und da gegenüber ist 2 +5v.
3 liegt dann neben 1.
u.s.w.

mfg

von Masl (Gast)


Lesenswert?

Asko B. bezieht sich aber anscheinend auf Displays, welche ihre 14 
Anschlüsse alle nebeneinander, in einer langen Reihe haben.

von Asko B. (dg2brs)


Lesenswert?

Hi Masl

Genau !
Ich hatte ans Display ein Flachbandkabel gemacht und auf der anderen
Seite hab ich die Kontakte angeloetet. Und da bin ich von der Belegung
von einem Display ausgegangen, was die Anschluesse in einer Reihe hat.
Aber nach nochmaligen anschauen muss ich zugeben, nur VDD und VSS sind
anders belegt. Alle anderen stimmen wieder. Also Pin3 Kontrast usw.

Gruss Asko.

von Masl (Gast)


Lesenswert?

Hallo Ihr,

ich hab mir beim Pollin ein neues Display gekauft, und zwar 
http://www.pollin.de/shop/dt/OTc1OTc4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Displays/LCD_Modul_TC1602E_01.html

Flachbandkabel angelötet, an die andre Seite Steckverbinder zum Board, 
68Ohm Widerstand für die HINTERGRUNDspannung.

Selbes Spiel wieder. LCD lässt sich anscheinend initialisieren (kann 
zwischen 1 und 2 Zeilen unterscheiden), Kontrast sollte mehr als 
ausreichend sein (beim 1-zeiligen Modus sind die Segmente ausgemalt, 
sehr dunkel), aber selbes Spiel wieder. Kein Zeichen in Sicht.
Durchgemessen hab ich bereits alles.

Laut Datenblatt weicht das Display vom Standard ab, Pin1 sind die 5V 
Versorgung und Pin2 ist GND. Das wurde ebenfalls beachtet.

Hat noch jemand ne Idee?
Langsam zweifle ich an mir, immerhin liefs doch vor einiger Zeit auch.
Ein defektes Display kann ich jetzt so gut wie ausschließen (wobei, beim 
P weiß man nie :-)).

Hoffnungsvolle Grüße,
Masl

von Dietrich L. (dietrichl)


Lesenswert?

Auch auf die Gefahr, daß das schon mal gesagt wurde:

- Hast Du den µC getauscht? Vielleicht ist er kaputt.
- Kurzschluss auf einer Leitung?
- Mit Oszi alle Signale durchmessen, ob da etwas komisch aussieht.
- Sind in lcd.h die verwendeten Portpins richtig eingetragen?

Es geht zwar die Initialisierung anscheinend, aber tut sie das 
wirklich? Oder ist ein eventuell falsches Bit hier zufällig richtig?

Gruß Dietrich

von Asko B. (dg2brs)


Angehängte Dateien:

Lesenswert?

Hi

Mich hatte das keine Ruhe gelassen, und schlafen konnt ich auch nicht.
Also hab ich das alte Display nochmal vorgekramt und das nochmal mit dem
neuen Display verglichen. (Pollin - TC1602E-01)
Mit dem neuen Display klappt alles bestens. (das untere auf dem Bild1)
Das obere Display ist unbekannter Herkunft, und irgendwo mal ausgebaut.
Der Quetsch-Anschluss war schon so dran wie er auf Bild3 zu sehen ist.
Schliesse ich das an, passiert erst mal gar nix.
Spiele ich ein wenig am Kontrastregler erhalte ich, was auf Bild2 zu
sehen ist.
Der Anschluss ist vermutlich auf der Unterseite, weil der 
Quetsch-Anschluss
auf der Oberseite zu weit auftragen wuerde, sprich er steht dann
ueber die Displayoberkante ueber. Sicher wurde das Kabel vorher
angequetscht, denn sonst wuerde die markierung nicht auch noch
verkehrt sein. Die zeigt naemlich jetzt auf Pin 13/14.
Das war der erste Fehler den ich gemacht hatte, ich hatte das Display
nicht genauer untersucht, sondern die farbliche Markierung als
Pin 1 und gegeben hingenommen. Wie schon geschrieben, es hat schoen
geheizt ... aber nix angezeigt.
Jetzt hab ich nochmal durchgeklingelt, weil mich wunderte, das der
Kontrast scheinbar sprunghaft wechselt.
Dadurch das der Stecker auf der unterseite angeloetet ist, kommt
nun auch die Kontrastspannung statt an Pin 3 auf einmal auf Pin 4 an.

So etwas vermutete ich bei Masl seinem Fehler.

Mein Kabel werde ich mal umloeten, vielleicht hat es sogar die ganze
Prozedur ueberlebt und funktioniert noch.

Gruss Asko.

von DB8JO (Gast)


Lesenswert?

Bist du dir eigentlich sicher, daß dein MC nach der vermeindlich 
funktionierenden DisplayINIT noch wie gewollt läuft? Zum Beispiel wenn 
du danch Interrupts aktivierst und "falsch" verwendest könnte das ein 
Grund für Probleme sein.
Ich habe auch schon öfter Fehler an den völlig falschen Stellen gesucht 
- machmal entstehen Fehler nicht da wo sie auftreten. Oder auch Speicher 
überschreiben ist gerne genommen - z.B. durch einen zu kurzes Array für 
den Ausgabestring.

von Masl (Gast)


Lesenswert?

Habs gefunden, läuft...

Es scheint so als sei mein Display träger als die meisten.
Die Delay Werte die man in den fertigen Bibliotheken findet sind zu 
niedrig.

Hab zwar mit denen rumgespielt, aber wohl zu zaghaft. Ich brauche wohl 
ein Vielfaches der "Standard"-werte.

Beispiel: Wartezeit nach absetzen eines Chars sind normal 46us, bei mir 
geht nichts unter 800us.

Die delay Funktionen arbeiten richtig, denn mit _delay_ms(1000) kann ich 
eine LED im Sekundentakt blinken lassen.

Kann jemand solche Erfahrungen bestätigen?
Asko B. vielleicht? Du scheinst ja das selbe Display zu benutzen.

Viele Grüße,
Masl

von Asko B. (dg2brs)


Lesenswert?

Hi Masl

Da fragst Du genau den falschen....
Als Anfaenger hab ich ein "fertiges" Programm benutzt.
Ich koennte Dir maximal die lcd.c und .h schicken und
Du vergleichst bei Dir.
Aber das Display laeuft zB. auch per i2c auf einem Asuro.

Gruss Asko.

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.