Hallo zusammen!
Habe dieses (160376894409) LC Display bei ebay gekauft gekauft und nach
dieser Anleitung verlötet:
http://www.ocinside.de/assets/lcd_display/lcd_display_schaltplan.gif
Als Stromversorung habe ich eine altes NT benutzt, welches jedoch ca
5.17V liefert.
Zu beginn hat alles wunderbar funktioniert, jetzt jedoch erscheint
sobald was auf das Display geschickt wird nur noch in den ersten 6
Zeichen der ersten zwei Reihen was, der Rest bleibt so, als wäre nur
Saft drauf.
Wenn nur Strom drauf ist und keine Signale ankommen leuchtet alles
gleich auf.
Habe ich mir das Display mit den 0.17V mehr schon zerschossen?
Oder woran könnte dieses seltsame Verhalten sonst noch liegen?
Danke vielmals und Grüße,
Basti
@ Basti (Gast)
>Habe ich mir das Display mit den 0.17V mehr schon zerschossen?
Nein. Die meisten 5V ICs vertragen offiziell meist 5,5V, kurzzeitig auch
mal 6V. Diese LCDs auch.
>Oder woran könnte dieses seltsame Verhalten sonst noch liegen?
Wahrscheilich ein Software- oder Timingproblem.
MFG
Falk
Danke erstmal - beruhigt mich schonmal ;)
Nur warum funktioniert es erst, und nach einem Reboot dann nicht mehr?
Software und alles andere wurden ja nicht verändert.
Basti schrieb:
> [ ..] jetzt jedoch erscheint sobald was auf das Display geschickt wird> nur noch in den ersten 6 Zeichen der ersten zwei Reihen was, der Rest> bleibt so, als wäre nur Saft drauf.
Schick doch zum testen mal ein 'clear display', dann muss alles gelöscht
werden.
HTH
Ach so: Das Problem trat übrigens erst auf, nachdem ich versucht habe,
das Display mit lcd4linux anzusteuern. Funktionierte auch erst, aber
nach mehrmaligem restarte davon trat das Problem auf.
Aber ich gehe mal nicht davon aus, dass man mit dieser Software
irgendeinen Hardwareschaden verursachen kann, oder?
Ich hatte vor einiger Zeit mal ein Display, das lies sich nur zum
funktionieren bewegen, wenn ich nach dem einschalten der
Versorgungsspannung 1s Wait drin hatte. Woran das gelegen hat, konnte
ich nicht ergründen.
Mein Tipp: Baue mal vor der Initialsierung eine reichlich dimensionierte
Warteschleife ein, vielleicht geht es dann. Je nach Geschwindigkeit des
Prozessors ist es ratsam, beim schreiben auf das Display ein paar NOPs
einzubauen, da sonst das Timing nicht eingealten wird. Das doofe an
solchen Sachen ist, dass das Display manchmal funzt und dann wieder
nicht. Da geht man dann bei der Fehlersuche die Wände hoch.
In manchen Datenblättern wird davor gewarnt, Daten zu senden, bevor das
Busy-Flag vom Display zurückgesetzt wurde. Es liest sich so, als könnte
es dann zu Hardwareschäden kommen - das kann ich aus der Praxis aber
nicht bestätigen. Um Portleitungen zu sparen, arbeite ich fast immer mit
entsprechenden Warteschleifen.
Und genau hier liegt das Problem. Der HD44780 ist ein echtes Sorgenkind,
was man ja an der Zahl der Forenbeiträge ganz gut sieht. Wenn man sich
nicht peinlich genau an die Initialisierungsroutine im Datenblatt hält,
kommt es mitunter zu sehr seltsamen Fehlern. Das Re-Initialisieren eines
so aufgehangenen Displays funktioniert auch nicht immer zuverlässig.
Also ausschalten und nochmal von vorne mit der zuletzt funktionierenden
Software und Schaltung versuchen.
Scheint wirklich das von euch geschilderte Problem zu sein.
Hat eben mal wieder funktioniert, dann habe ich testeweise neu gestartet
und schwupps, wieder nur Hieroglyphen zu sehen.
Ich teste momentan mit einem alten Windowsrechner, da ich da sicher war,
dass es nicht an meiner Unfähigkeit liegt lcd4linux zum laufen zu
bringen.
Das kann ich ja jetzt schonmal ausschließen ;)
Wie ich das Re-Initialisieren unter Linux hinbekomme gehört aber dann
wohl nicht hier hin, oder?
lcd4linux.. falls Du dessen busy-flag-Überprüfung noch nicht
eingeschaltet hast, probier die doch mal, vielleicht kommt er dann nicht
mehr aus dem Tritt. Seit ich selbige (..am AVR :-) benutze, sind meine
Ausgaben schnell[1] und zuverlässig[2] :-)
HTH
[1] <nähkästchen>Anfangs hat $viel-aufs-Display-texten-Debug-Aktion
hierzulabor etwa 25 Sekunden gedauert.. mit Paranoiawarten (aka etwa 10
mal so lange warten als im Datenblatt angegeben). Nach dem Einführen des
busy-waiting-while-busy-flag ging die selbe Aktion in << 1 Sekunde über
die Bühne, Details waren nicht mehr zu erkennen.</>
[2] <>..was nicht alles schief gehen kann wenn man sich nicht ans
kreativ interpretierte Datenblatt hält.. das geht auf keine Kuhhaut..</>
> Seit ich selbige (..am AVR :-) benutze, sind meine> Ausgaben schnell[1] und zuverlässig[2]
Seit ich Bildschirmspeicher (im AVR) nutze, darf ich (für Debug)
schneller Text ausgeben, als er zum LCD geschaufelt wird, und das ganz
ohne Warteschleifen oder Busywait...
Zurück zum Thema:
Ich vermute auch falsches Timing, also zu geringe Wartezeit vor der
Initialisierung und/oder grenzwertige (zu knappe) Enable-Impulse. Einige
LCDs brauchen da etwas mehr Zeit, da sie mit einem langsameren Takt
arbeiten. Da man aber sowiso nicht so schnell lesen kann, genügt es, die
Daten im Millisekundentakt an das LCD zu schaufeln, natürlich per Timer
gesteuert und nicht per Warteschleife.
...