Forum: Mikrocontroller und Digitale Elektronik LCD-Modul funktioniert nicht


von flea (Gast)


Lesenswert?

Hallo,

ich habe ein 2x16-LCD-Lmodul bei Pollin gekauft und einen Stecker dran 
gelötet. Auf einer Platine habe ich einen Mikrocontroller mit diesem 
Stecker verbunden. Die Pin-Belegungen für den HD44780-Controller habe 
ich in der Header-Datei angepasst.
Als ich das Ding in Betrieb nehmen wollte, hat das Display allerdings 
nicht richtig funktioniert. Die Display-Beleuchtung ist ungleichmäßig 
(an der Beschaltung kann das ja wohl nicht liegen oder?) und die erste 
Zeile ist komplett mit schwarzen Zeichen ausgefüllt. Nachdem ich einige 
Minuten rumprobiert habe, ist mir aufgefallen, dass das Display verdammt 
heiß war. Ich habe aber dann auch festgestellt, dass auf der kleinen 
Display-Platine (auf der der HD44780 drauf sitzt) 7 Kondensatoren 
fehlen!
Alle "C1-7)-Pads sind nicht bestückt, die R-Pads sind alle bestückt.

Meint ihr, dass das der Fehler ist?
Wenn ja, kann ich dieses Display bei Pollin noch umtauschen (Bestellung 
ist 3 Wochen her), auch wenn ich das Flachbandkabel abgeschnitten habe, 
weil es mich immer gestört hat?

Danke schonmal

Flea

von Benedikt K. (benedikt)


Lesenswert?

Dass die Cs fehlen, ist normal. Die sind für die Displayspannung 
zuständig und werden meist vorgesehen aber nur in den seltensten Fällen 
bestückt.
Wenn das Display heiß wird, hast du was falsch angeschlossen.

von Ha Jo (Gast)


Lesenswert?

Pech für Dich. Meine Glaskugel hab ich gerade verliehen. ;-)

Interessant wäre jetzt Deine Schaltung und der Typ des Display.

Hajo

von Michael U. (amiga)


Lesenswert?

Hallo,

da die schwarze Zeile angezeigt wird, scheint der Controller ja zu 
leben.
Kann noch die Displaybeleucgtung heiß werden, dann ist aber der 
LED-Strom zu groß nzw. der Vorwiderstand zu klein.

Gruß aus Berlin
Michael

von flea (Gast)


Lesenswert?

Hab das schon oft kontrolliert, aber muss ich halt nochmal gründlich 
machen.

Wenn man den HD44780 mit 4 Bit ansteuert (also nicht memory mapped 
Mode), müssen die Datenleitungen vom ATmega 16 dann mit D0-D3 oder mit 
D4-D7 des HD44780 verbunden werden?

Ne andere Frage:
Ist der Kondensator zwischen dem Reset- und Vcc-Pin wichtig? Mir fällt 
nämlich gerade auf, dass ich den vergessen habe.

von Andy (Gast)


Lesenswert?

Hi
also umtauschen bei abgeschnittenen Kabel und vermutlich falschen 
Anschließen finde ich ziemlich frech.

Gruß
Andy

von Paul Baumann (Gast)


Lesenswert?

Normalerweise werden D4-D7 benutzt. Wäre trotzdem nicht schlecht, wenn 
Du den Typ des Displays mitteilen würdest.

MfG Paul

von flea (Gast)


Angehängte Dateien:

Lesenswert?

hier der schaltungsteil mit dem Display, der andere Teil spielt hier 
keine Rolle, der funkioniert!

von flea (Gast)


Lesenswert?

der Typ des Displays ist:

NAN YA LMK62R125A1

von flea (Gast)


Angehängte Dateien:

Lesenswert?

(Datenblatt)

von Paul Baumann (Gast)


Lesenswert?

Du mußt D4-D7 statt D0-D3 anschließen. Außerdem scheint die 
Hintergrundbeleuchtung ohne Vorwiderstand herausgeführt zu sein.
Die kannst Du dann nicht direkt an den "Saft" anschließen, da macht es 
"Bumm"!

MfG Paul

von Michael U. (amiga)


Lesenswert?

Hallo,

naja, Datenblatt...

Du hast Dich davon überzeugt, daß die LEDs der Hintergrundbeleuchtung 
einen Vorwiderstand auf dem Display haben? Ich sehe in Deiner Schaltung 
keinen. Wenn man keine Angaben dazu hat, muß man eben den vermutlich 
passenden Wert vorsichtig ausprobieren. Bei einer roten LED und 20mA 
wären es 5V-1,6V = 3,4V/0,02A = 170 Ohm. Also mit z.B. 150 Ohm beginnen, 
Helligkeit und Strom begutachten und verringern, bis beides glaubwürdig 
ist. Besser ist natürlich, man hat genaue Daten über die 
Hintergrundbeleuchtung.

Bei Displays dieser Größe würde ich schätzen, daß man bei 47...4,7 Ohm 
landen wird.

Gruß aus Berlin
Michael

von Ha Jo (Gast)


Lesenswert?

Mein Vermutung: Display wird warm wegen dem fehlenden Vorwiederstand der 
Hintergrundbeleuchtung. Blendet es nicht? ;-)

Die schwarzen Zeichen sind wahrschienlich Zufall, da der 
Display-Controller nicht initialisiert ist.

Laß doch erstmal die Hintergrundbeleuchtng weg, dann dürfte die 
"heizung" auch aus sein. Dann weißt Du dass es an einem fehlenden 
Widerstand liegt.
Wie Du den auslegst, ist ja oben beschrieben worden.

Hajo

von O. D. (odbs)


Lesenswert?

Ein oft gemachter Fehler.

Das Display ist nach dem Power-On-Reset immer im 8bit-Modus. Zur 
Umschaltung vom 8bit- in den 4bit-Modus müssen D5 und D4 auf "high" 
liegen. Somit muß man zwingend die obere Hälfte des Datenbusses 
anschließen und nicht die untere. Bei manchen Displays müssen D0 bis D3 
dabei mit Masse verbunden werden, andere haben entsprechende 
Pull-Down-Widerstände eingebaut.

Das heißt auch, daß man die unteren vier Bit erst einmal nicht erreichen 
kann, bevor das Display umgeschaltet ist. Im Datenblatt ist die genaue 
Prozedur für die Initialisierung in den 4bit-Modus dargestellt. Einfach 
dran halten oder - einfacher - eine der zahlreichen getesteten Libs 
verwenden.

Der Controller treibt bei zweizeiligen Displays erst einmal nur die 
obere Zeile. Bei vierzeiligen ist es meist die erste und dritte Zeile, 
die dunkler erscheint. Das hängt mit der Konfiguration und dem Anschluß 
der Maxtrix an den Controller zusammen. Die Konstrasteinstellung 
beeinflusst das ganze - ist sie korrekt für den zweizeiligen Modus, 
erscheint im einzeiligen Modus die ganze Zeile dunkel.

Also mach dir keine Sorgen, dein Display ist wahrscheinlich noch in 
Ordnung!

von flea (Gast)


Lesenswert?

Also ich habe jetzt gerade kurz die Verbindung zur Display-Beleuchtung 
durchgetrennt, und es wird nicht mehr warm!!!
Schon mal was!

Die D0-D3 - Leitungen habe ich schon länger mal mit den D4-D7 - 
Leitungen verbunden, d.h. dass D0 mit D4, D1 mit D5 usw. verbunden ist. 
Damit habe ich beide Möglichkeiten abgefangen, da ich ja nicht wusste, 
ob D0-D3 oder D4-D7 angesteuert werden muss. Und da tut sich eben noch 
nichts!!!

Ich verwende übrigens die LCD-Include-File von Peter Fleury.

An was kann das denn liegen?

von flea (Gast)


Lesenswert?

achja, lcd_inti() führe ich natürlich am Anfang des Programms durch! 
Kann es vielleicht sein, dass in der lcd.c von Peter Fleury andere Pins 
zum Initialisieren gesetzt werden, als mein Display benötigt?

von Knut (Gast)


Lesenswert?


von flea (Gast)


Lesenswert?

nochmal eine Frage:

Wenn ich das Display im 4Bit-Mode betreiben will, werden die Daten ja 
über D4-D7 übermittelt. Müssen dabei die Datenleitungen D0-D3 in der 
Luft hängen? Ich bin nämlich vom MC-Pin immer auf zwei (d.h. PD1 -> 
D0+D4, PD2 -> D1+D5), weil ich anfangs nicht wusste, welche 4 Bits zum 
Ansteuern verwendet werden müssen.

von Falk B. (falk)


Lesenswert?

@ flea (Gast)

>über D4-D7 übermittelt. Müssen dabei die Datenleitungen D0-D3 in der
>Luft hängen?

Ja, einfach offen lassen.

MfG
Falk

von flea (Gast)


Lesenswert?

Also ist das zwingend notwendig, damit das Teil funktioniert???

von Falk B. (falk)


Lesenswert?

@ flea (Gast)

>Also ist das zwingend notwendig, damit das Teil funktioniert???

Nein. Im 4-Bit Modus kann dort AFAIK anliegen was will.

MfG
Falk

von Hannes L. (hannes)


Lesenswert?

Falk Brunner wrote:
> @ flea (Gast)
>
>>Also ist das zwingend notwendig, damit das Teil funktioniert???
>
> Nein. Im 4-Bit Modus kann dort AFAIK anliegen was will.

Auch eine Kopie der anderen 4 Bit?

Ich habe es zwar nie probiert, bin aber immer davon ausgegangen, dass 
man die unteren 4 Dateneingänge offen lässt oder (bei einigen LCDs) auf 
L legt, also dass dort keine Pegelbewegung stattfindet.

Ist aber egal, meine LCDs funktionieren.

>
> MfG
> Falk

...

von flea (Gast)


Lesenswert?

Hallo,

hier bin ich wieder, weil ich die Lösung zu meinem Problem gefunden 
habe:

Bei den Fuse-Bits meines Controllers war JTAG aktiviert! Nachdem ich das 
ausgeschaltet habe, funktioniert das Display jetzt wunderbar!!!

von Gerhard (Gast)


Lesenswert?

Die Hintegrundbeleuchtung des LMK62R125A1 ist einfach mittels 0,5 K 
-Poti an Pin15 des LCD einstellbar

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.