Forum: Mikrocontroller und Digitale Elektronik LCD-Display funktioniert nicht


von Rene S. (rene_st)


Lesenswert?

Hallo,

benötige bitte Hilfe von Profis.

Habe ein LCD-Display 1602A bl/ws. Sobald ich dies an die Stromversorgung 
anklemme (Vss -> GND, Vdd -> +5V, V0 -> GND, A -> +5V, K -> GND) 
leuchten die obersten 4 Pixelreihen der oberen Zeile. Es zeigt also eine 
volle Zeile voller Blockoberteile.
Möchte ich nun manuell das Display durch stecken der Kontakte im 
Breadboard initialisieren (DB5, DB4, DB3 -> jeweils auf +5V, alle 
anderen inkl. RS und RW auf GND und anschließend die E-Leitung auf +5V 
und wieder raus) dann passiert einfach nichts.
Ich glaub ich hab schon alles versucht, aber das Display scheint einfach 
nicht auf irgendeine Flanke von E zu reagieren???
Sollte das Display nicht normalerweise nach dem Power up die vollen 
Blöcke der ersten Zeile anzeigen???

Ich hoffe es weiß jemand Rat....

von Karl H. (kbuchegg)


Lesenswert?

Rene Sturmlechner schrieb:

> Sollte das Display nicht normalerweise nach dem Power up die vollen
> Blöcke der ersten Zeile anzeigen???

Wenns ein HD_disngsbums kompatibles ist, dann ja. Genau das sollte es.

Wenn da nicht alles dunkel wird, könnte das ein Hinweis auf einen Fehler 
im LCD sein.

von Steffen (Gast)


Lesenswert?

Rene Sturmlechner schrieb:
> Möchte ich nun manuell das Display durch stecken der Kontakte im
> Breadboard initialisieren (DB5, DB4, DB3 -> jeweils auf +5V, alle
> anderen inkl. RS und RW auf GND und anschließend die E-Leitung auf +5V
> und wieder raus) dann passiert einfach nichts.


Manuell initialisieren? Durch stecken der Kontakte?

von Rene S. (rene_st)


Lesenswert?

Display ist laut Verkäufer HD44780-kompatibel.
Dachte auch zuerst an einen Fehler des Displays, hab mir dann 2 weitere 
besorgt und siehe da...dasselbe Problem.

von Rene S. (rene_st)


Lesenswert?

ja, hab am Display eine Stiftleiste angelötet und ein Steckboard (od. 
Testboard) reingesteckt. Dann die entsprechenden Signale mit solchen 
Drahtbrücken zu den jeweiligen Pins geführt.

von Steffen (Gast)


Lesenswert?

Ich würde es Anschließen wie hier...:

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung

...und dann ohne weitere Beschaltung Testen. Es kann sein das die obere 
Reihe an geht, habe aber auch einige Anzeigen, die einfach dunkel 
bleiben.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Steffen schrieb:
> und anschließend die E-Leitung auf +5V und wieder raus)
Hast du mal die Pegel an den Display-Pins nachgemessen?
Besonders den Pegel am E-Pin. "Offen" an einem CMOS-Eingang ist nämlich 
nicht gleich "0V"...

von Rene S. (rene_st)


Lesenswert?

ist ja auch so angeschlossen, und die obere Reihe geht ja auch an. Nur 
halt eben nur die obere Hälfte der oberen Reihe (sprich die oberen 4 
Pixelreihen). Alles andere bleibt dunkel.

von Steffen (Gast)


Lesenswert?

Rene Sturmlechner schrieb:
> ist ja auch so angeschlossen, und die obere Reihe geht ja auch an. Nur
> halt eben nur die obere Hälfte der oberen Reihe (sprich die oberen 4
> Pixelreihen). Alles andere bleibt dunkel.

ok, das ist die halbe Miete. Das mit dem 4Pixel würd ich nicht 
überbewerten. Wie gesagt ich hab schon welche gehabt die blieben dunkel.

Wie sieht dein Quelltext aus? Wie steuerst du das Display an?

von Rene S. (rene_st)


Lesenswert?

@Lothar:
Danke für diesen Hinweis. Stimmt wenn ich die Drahtbrücke aus +5V 
rausziehe heißt das scheinbar nicht, dass ich dann 0V am Pin E hab. 
Probier ich mit einem Schalter, aber erst morgen...

von Rene S. (rene_st)


Lesenswert?

@Steffen:

Ansteuerung vorerst mit Hand bzw. Drahtbrücken am Steckbrett...
Sobald das funkt mit PIC µC

von Steffen (Gast)


Lesenswert?

ja wie per Hand? im ms Bereich die Pegel per Taster ändern? 
??!!verwirrt!!??

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Steffen schrieb:
> ja wie per Hand? im ms Bereich die Pegel per Taster ändern?
Lies mal das Datenblatt: mindestens 1 us...

Rene Sturmlechner schrieb:
> Probier ich mit einem Schalter, aber erst morgen...
Nimm besser einen Pullup. Mit einem Schalter hast du wieder einen 
undefinierten Zustand...

von Rene S. (rene_st)


Lesenswert?

ich lege die Signale des zu übertragenden Bytes an die Daten-Pins. RS 
und RW auf Masse, und dann E auf 5V und danach E wieder auf Masse. Die 
ms-Zeitabstände sind ja Mindestabstände, also sollte es ja egal sein 
wenn die Pegel mehrere s anliegen. Nur die Flanke von E sollte möglichst 
steil sein.
Liege ich da falsch??

von Rene S. (rene_st)


Lesenswert?

@Lothar:

ja Danke, werd einen Pull-up nehmen

von Steffen (Gast)


Lesenswert?

Lothar Miller schrieb:
> Steffen schrieb:
>> ja wie per Hand? im ms Bereich die Pegel per Taster ändern?
> Lies mal das Datenblatt: mindestens 1 us...

oh sorry, natürlich in us. ;-)

Rene Sturmlechner schrieb:
> ich lege die Signale des zu übertragenden Bytes an die Daten-Pins. RS
> und RW auf Masse, und dann E auf 5V und danach E wieder auf Masse. Die
> ms-Zeitabstände sind ja Mindestabstände, also sollte es ja egal sein
> wenn die Pegel mehrere s anliegen. Nur die Flanke von E sollte möglichst
> steil sein.
> Liege ich da falsch??

Ich würde das eher nicht so machen, mach einen vernünftigen 
Versuchsaufbau und dann schreib eine Software dafür. Alles andere ist 
"Schi***" Am Ende hast mal n falschen Pegel an einem Anschluss drauf 
gelegt und das Display ist hin.

von Rene S. (rene_st)


Lesenswert?

OK, hab das mit dem Pull-up nun gleich getestet. Signal hat jetzt sauber 
die beiden Zustände +5V und 0V.
Allerdings verweigert das Display weiterhin jegliche Tätigkeit.

von Sebastian H. (technik_freak)


Lesenswert?

Du schreibst ganz zu Anfang, dass V0 auf GND ist. Nimm lieber ein Poti, 
bei dem der Schleifer an V0 geht.

von Hubert G. (hubertg)


Lesenswert?

Wenn du das mit Brücken stecken usw. hin bekommst bist du Klasse.
Brücken stecken ist noch ärger als Tastenprellen.

von Rene S. (rene_st)


Lesenswert?

OK, ich gebs für heute auf.
So ein dummes Ding!!!

von Steffen (Gast)


Lesenswert?

woher bekommt das Display die Daten auf den Datenleitungen? auch per 
Taster oder Steckbrücke?

von Steffen (Gast)


Lesenswert?

Rene Sturmlechner schrieb:
> OK, ich gebs für heute auf.
> So ein dummes Ding!!!

Ich denk nicht das es an dem "Ding" liegt. Mach einen vernünftigen 
Aufbau und gut.

von Karl H. (kbuchegg)


Lesenswert?

Rene Sturmlechner schrieb:
> OK, hab das mit dem Pull-up nun gleich getestet. Signal hat jetzt sauber
> die beiden Zustände +5V und 0V.
> Allerdings verweigert das Display weiterhin jegliche Tätigkeit.

Was genau machst du danach?
Welchen Wert versuchst du ins Lcd einzuschreiben.

Disclaimer:
Ich bin mir da jetzt nicht ganz sicher. Laut den Datenblättern ist das 
LCD nach dem Einschalten im 8 Bit Modus. Trotzdem fangen die 
Initialisierungssequenzen in den Datenblättern auch im Falle, dass 8 Bit 
Modus gewünscht ist, damit an den 8 Bit Modus einzustellen. Sicher bin 
ich nicht, aber ich denke, genau das muss auch so sein. D.h. die erste 
Tätigkeit, die du nach dem Einschalten machen musst, ist den Modus auf 8 
Bit zu programmieren. D.h. ein Commandowort für 8-Bit Modus 
reinschreiben.

von Jobst M. (jobstens-de)


Lesenswert?

Wenigstens Deine E-Leitung sollte entprellt sein!

Pullups sind schon im HD44780 vorhanden, Du musst also nur die 
Leitungen, die 0 sein sollen, an GND hängen.

An V0 gehört ein Poti als Spannungsteiler an 5V und GND.

R/W liegt immer an GND

Dann machst Du folgendes:

D0, D1, D2, D4, D6, D7 und RS mit GND verbinden.

3 positive Pulse (kein Prellen!) an E

D0, D1, D4, D5, D6, D7 und RS mit GND verbinden.

1 positiver Puls an E

(jetzt sollte der Balken verschwinden)

D6 und D7 mit GND verbinden.

Positive Pulse an E

Das Display sollte sich nun mit jedem Puls mit 0-en füllen ...


Rene Sturmlechner schrieb:
> A -> +5V, K -> GND)

Ist der Vorwiderstand schon auf dem Display?


Gruß

Jobst

von Rene S. (rene_st)


Lesenswert?

Jobst M. schrieb:
> Dann machst Du folgendes:
>
> D0, D1, D2, D4, D6, D7 und RS mit GND verbinden.
>
> 3 positive Pulse (kein Prellen!) an E
>
> D0, D1, D4, D5, D6, D7 und RS mit GND verbinden.
>
> 1 positiver Puls an E
>
> (jetzt sollte der Balken verschwinden)
>
> D6 und D7 mit GND verbinden.
>
> Positive Pulse an E

genau diese Prozedur versuch ich die ganze Zeit. Ohne Erfolg.
Habs jetzt auch mit einem µC probiert, ebenfalls ohne Erfolg.

btw. ja Vorwiderstand ist am Display.

von Pete K. (pete77)


Lesenswert?

Beschalte und betreibe alles nach Datenblatt und es wird funktionieren.

von Rene S. (rene_st)


Lesenswert?

beginne immer damit, 3x das Kommando 8-Bit,2 Zeilen und 5x7-Dot-Display 
reinzuschreiben. Dann ein Kommando mit Display ON und danach Display 
Clear.
Dann sollten zumindest die Blockhälften weg sein...

von Rene S. (rene_st)


Lesenswert?

Was mich von Beginn an stutzig macht ist die Tatsache, dass nach Power 
up eben nur die obere Hälfte der ersten Zeile sichtbar ist (die obersten 
4 Pixel).
Da sollte doch normalerweise nach Power up die ganze erste Zeile 
sichtbar sein. Oder ist das egal??

von J. H. (joho62)


Angehängte Dateien:

Lesenswert?

Hast Du mal die Rückseite des Displays auf ev. mechanische Schäden
untersucht? Das hatte ich schonmal. Auch solche seltsamen Effekte.
Joachim

von Jobst M. (jobstens-de)


Lesenswert?

Rene Sturmlechner schrieb:
> Da sollte doch normalerweise nach Power up die ganze erste Zeile
> sichtbar sein.

Stimmt. Das ist recht merkwürdig.

Bist Du sicher, dass Du sie nicht alle mit der selben Prozedur 
zerschossen hast? Zeig mal, wie Dein Aufbau ist.


J. H. schrieb:
> Das hatte ich schonmal.

Bei drei Displays?


Gruß

Jobst

von Sebastian H. (technik_freak)


Lesenswert?

> J. H. schrieb:
>> Das hatte ich schonmal.
>
> Bei drei Displays?
>
> Gruß
>
> Jobst

Schließe den V0 über ein Poti an, so dass der Kontrast eingestellt 
werden kann. Was ist, wenn alles richtig angeschlossen ist, aber 
aufgrund des falschen Kontrastes, Du dieses Verhalten auf dem Display 
siehst.

von Rene S. (rene_st)


Lesenswert?

Problem gelöst !!! HEUREKA !!!

Vielen Dank an ALLE die sich dem Problem angenommen haben.

Will euch die Lösung nicht vorenthalten, falls so was den einen oder 
anderem hier auch mal passiert.

Das Problem lag an der Versorgungsspannung. Der Kondensator am Ausgang 
des 5V-Spannungsreglers war zu klein. Hab jetzt einen 220µF-Kondi 
reingesteckt und siehe da...das Display arbeitet korrekt. Scheinbar 
dürfte durch den zu kleinen Kondensator die Versorgungsspannung soweit 
eingebrochen sein, dass das Display seinen Dienst versagte.

Und ich ärgerte mich tagelang....naja, jetzt kostets mich ein lächeln.

lg Rene

von spess53 (Gast)


Lesenswert?

Hi

>Will euch die Lösung nicht vorenthalten, falls so was den einen oder
>anderem hier auch mal passiert.

>Das Problem lag an der Versorgungsspannung. Der Kondensator am Ausgang
>des 5V-Spannungsreglers war zu klein.

Da ist wohl eher deine Stromversorgung zu schwach auf der Brust. Ein 
Spannungsregler braucht maximal ein paar µF am Ausgang.

MfG Spess

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.