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
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.
Pech für Dich. Meine Glaskugel hab ich gerade verliehen. ;-) Interessant wäre jetzt Deine Schaltung und der Typ des Display. Hajo
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
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.
Hi also umtauschen bei abgeschnittenen Kabel und vermutlich falschen Anschließen finde ich ziemlich frech. Gruß Andy
Normalerweise werden D4-D7 benutzt. Wäre trotzdem nicht schlecht, wenn Du den Typ des Displays mitteilen würdest. MfG Paul
hier der schaltungsteil mit dem Display, der andere Teil spielt hier keine Rolle, der funkioniert!
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
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
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
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!
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?
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?
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.
@ flea (Gast) >über D4-D7 übermittelt. Müssen dabei die Datenleitungen D0-D3 in der >Luft hängen? Ja, einfach offen lassen. MfG Falk
@ flea (Gast)
>Also ist das zwingend notwendig, damit das Teil funktioniert???
Nein. Im 4-Bit Modus kann dort AFAIK anliegen was will.
MfG
Falk
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 ...
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!!!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.