Guten Tag, Ich habe ein Problem mit meiner LCD. Zunächst habe ich alles ohne LCD Bibliotheken Programmiert, da viele Funktionen derartiger nich benötigt werden. Generell wird bei mir ein Feld mit 48 Inhalten bei Änderungen komplett an das LCD geschickt. Ich arbeite im 4Bit Modus ohne busy.(Zeitgesteuert 2ms) Funktioniert auch soweit einwandfrei. Das Problem ergibt sich wenn der danebenliegende Stromverteiler geschaltet wird (230V 32A). Klar das da irgendwelche Störungen kommen. Die Frage ist welche Störungen das LCD veranlassen sich komlett abzuschalten (Display leer). Habe schon versucht Pin 1 und 2 abzustützen und Enable mit Pull Ups zu sichern aber ohne Erfolg. Mich interessiert ein Reinit der Anzeige ohne das man es sieht oder die Eleminierung der Störungen.
Bernd wrote: > Mich interessiert ein Reinit der Anzeige ohne das man es sieht oder die > Eleminierung der Störungen. Dann schau mal ins Datenblatt des 44780, nennt sich "Initializing by Instruction".
Wenn die Störungen den Prozessor auf dem LCD abstürzen lassen, dann hilft wohl nur ein Power-Cycle. Vor jeder Ausgabe sollte man die Display-Befehle senden, die das Display einschalten und den Cursor wieder auf den Anfang setzen, dann erst die Zeichen rüber. Ich habe mal versucht, zu prüfen, ob die CPU auf dem Display noch läuft (mit einem Read-Befahl und einem Timeout), aber das hat irgendwie nicht richtig (oder besser gar nicht) geklappt.
Bernd Rüter wrote: > Wenn die Störungen den Prozessor auf dem LCD abstürzen lassen, dann > hilft wohl nur ein Power-Cycle. Nur das ein LCD fast nie einen Prozessor hat... Das ist nicht viel mehr als eine einfache Statemachine, die das Timing steuert. Ein wirkliches Abstürzen (also springen in einen undefinierten Zustand) ist eigentlich beim 44780 unwarscheinlich. Mir ist auch kein solcher Fall bekannt, ihn dem der 44780 nur abgestürzt ust, ohne dabei auch noch geschädigt zu werden. Fast immer sind es Spikes auf der Leitung, die irgendwelche Einstellungen überschreiben (z.B. Display ON/OFF). Dies kann man mit einem Reinit also wieder korrigieren. Wobei ich aber eher die eigentliche Störquelle, also die Hardware, ändern würde, anstelle ein workaround einzubauen.
Hallo Klar kann man die Hardware ändern, aber der (Intelligente ) Stromverteiler ist nun mal nicht zu umgehen. (Das Display ist nur Beiwerk). Manche Störungen kann man nun mal nicht vermeiden, es geht darum sie sinnvoll zu umgehen. Das Spikes auftauchen, da bin ich mir sicher, sind schließlich fast 20kW die eingeschaltet werden. Da sie so schnell und nicht wiederkehrend sind, aber leider auch nicht messbar. Display löschen u.s.w sind ja Befehle, die als solche geschickt werden müssten, daher wohl eher unwahrscheinlich. Ein normales Reinit schaltet die Anzeige fast 1s lang aus. Das ist auch nicht im Simme des Erfinders.
Bernd wrote: > Display löschen u.s.w sind ja Befehle, die als solche geschickt werden > müssten, daher wohl eher unwahrscheinlich. Nein, eigentlich nicht. Es reicht schon aus, wenn vom letzen Byte noch irgendwelche zufälligen Daten auf den Leitungen liegen. Dann reicht ein Spike auf Enable um den Befehl zu laden. > Ein normales Reinit schaltet die Anzeige fast 1s lang aus. Das ist auch > nicht im Simme des Erfinders. Dann machst du irgendwas falsch. Denn genau dazu ist dieser Software Reset da. Dieser dauer auch nur wenige 10ms und bei weitem keine 1s.
Vielleicht hilft es, die unbenutzten 4 Datenleitungen direkt am Display fest auf Vcc zu legen, damit diese keinen Müll auffangen.
Der Reset dauert auch nur ca 60ms aber meine blaue Anzeige ist so träge, dass man erst nach 1s wieder etwas lesen kann. Ich werde mal den Enable Pin ganz abtrennen nachdem irgentetwas angezeigt wird, mal sehen. Die freinen leitungen werde ich mal an GND legen, mal schauen ob es etwas bringt. Vieleicht kriegt er auch etwas über die R/W Leitung. Etwas nervig, da denkt man mit der Software isses getan, sind ja schließlich teuer genug die Dinger, da muss man sich herumärgern mit Kinderkrankheiten.
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.