LCD-Modul funktioniert nicht

Gast #749500
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
Gast #749512
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.
Gast #749532
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
#749539
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
Gast #749552
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
#749577
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!
Gast #749618
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?
Gast #749619
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?
Gast #749864
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.
#749959
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

...
Gast #756830
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!!!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren