mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD-Modul funktioniert nicht


Autor: flea (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Ha Jo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pech für Dich. Meine Glaskugel hab ich gerade verliehen. ;-)

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

Hajo

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: flea (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Andy (Gast)
Datum:

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

Gruß
Andy

Autor: Paul Baumann (Gast)
Datum:

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

MfG Paul

Autor: flea (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hier der schaltungsteil mit dem Display, der andere Teil spielt hier 
keine Rolle, der funkioniert!

Autor: flea (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der Typ des Displays ist:

NAN YA LMK62R125A1

Autor: flea (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
(Datenblatt)

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ha Jo (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Oliver Döring (odbs)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: flea (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: flea (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Knut (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: flea (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: flea (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ist das zwingend notwendig, damit das Teil funktioniert???

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht 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

...

Autor: flea (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!!!

Autor: Gerhard (Gast)
Datum:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.