Hallo,
wie kann ich herausfinden, ob mein LCD (Dogm 162 ws) defekt ist?
Angeschlossen ist alles richtig, sollte zum Programm passen. Kann man
irgendwie nur überprüfen, ob es defekt ist, ohne ganze Routinen
schreiben zu müssen (die ja auch wieder falsch sein können)?
Bitte um Hilfe.
Stefan
Das Display gibt nur dann Zeichen aus, wenn es korrekt initialisiert
wurde und ein paar Zeichen draufgeschrieben wurden. Beides geht nicht
ohne Routinen.
Meine Erfahrung ist: Mit 99%iger Wahrscheinlichkeit funktioniert das
Display, es wird einfach falsch angesteuert.
Was ich tun würde: Logic-Analyzer dranhängen und einfach mal schauen,
was das Display denn so bekommt. Das dann mit dem Datenblatt vergleichen
(unbedingt auch notwendige Pausen etc. beachten). Es gibt mindestens
1342 Gründe, warum das etwas anderes sein könnte, als Du glaubst. Wenn
das alles stimmt, ist die Wahrscheinlichkeit, dass das Display defekt
ist, von 1% auf 10% gestiegen. Dann noch Spannungen überprüfen
(Transienten, Einbrüche), Mit 'nem Oszi mal die Reset-Leitung anschauen,
ob's da Spikes gibt etc...
... Oder natürlich das Display an ein System hängen, von dem Du weisst,
dass es funktioniert... sofern vorhanden.
Gruäss
Simon
Wenn ich glaube, die Programmteile stimmen, kann ich dann überprüfen, ob
es nicht defekt ist?
Ich bin mir nicht sicher, ob ich Vdd und GND mal vertauscht habe, aber
kann man es so schrotten?
Stefan schrieb:> Ich bin mir nicht sicher, ob ich Vdd und GND mal vertauscht habe, aber> kann man es so schrotten?
Das hättest Du riechen müssen. Und ja, danach wäre das Display
höchstwahrscheinlich kaputt.
Stefan schrieb:> Wenn ich glaube, die Programmteile stimmen, kann ich dann überprüfen, ob> es nicht defekt ist?
Glauben heißt nicht wissen. Ein Logic-Analyzer kann Dir mehr sagen. Oder
simple Logik beim Aufbau Deiner Routinen und der Anschlußweise des
Displays. Es gibt hunderttausende Leute, die Displays auch ohne LA in
Betrieb nehmen, nur unter Zuhilfenahme des Datenblatts.
Das stimmt, ein Logic Analyzer ist nicht zwingend nötig. Aber es macht
einfach viiiiiel mehr Spass, wenn man einen hat. Die Dinger kosten
übrigens nicht viel mehr als 100 Euros (wenn's kein
Standalone-High-End-Gerät sein soll).
Und es gibt halt wirklich sehr sehr viele Fehlermöglichkeiten. Das fängt
damit an, dass die Ports nicht richtig gesetzt sind (Ein- oder Ausgang,
Zuordnung an SPI-schnittstelle), kein Takt zum Port geführt ist, kein
Takt zum SPI geführt ist, SPI falsch konfiguriert, Interrupt (sofern
verwendet) nicht eingeschaltet, Interruptflag nicht zurückgesetzt,
nachdem es verwertet wurde, Timer für das SPI hat 'nen falschen Modus,
oder falschen reload-Wert, oder falschen
Precounter.......................
Und gerade, wenn Du Dir nicht sicher bist, ob Du vielleicht doch das
Ding geschrottet hast (wenn Du + und - vertauscht hast, dann ziemlich
sicher), bist Du an einem Punkt, an dem ich keine Minute mehr versuchen
würde, irgenwas rumzuprobieren, bevor ich nicht zumindest einen
Freiheitsgrad für mögliche Fehler eliminiert hätte.
Hallo Stefan,
ist es eine Version mit inverser Darstellung (helle Schrift mit dunklem
Hintergrund)? Wenn ja: hast Du die Hintergrundbeleuchtung an? Ohne kann
man bei so einem LCD nicht viel erkennen.
Wie hast Du das Display angeschlossen: 8-bit, 4-bit, SPI? Für 8-bit gibt
es im Datenblatt Initialisierungsbeispiele. Du brauchst keine
aufwendigen Routinen schreiben. Einfach die neun Befehle hintereinander
ausgeben und dazwischen Enable auf high und dann wieder auf low setzen.
Zwischen jeder Änderung solltest eine kurze Pause programmieren. Im
Datenblatt sind auch die Zeiten für die verschiedenen Befehle angegeben.
Längere Wartezeiten sind dabei kein Problem. Nach dem 7. Befehl sollte
der Cursor in der ersten Zeile, erste Stelle blinken.
Du kannst das LCD auch auf ein Breadboard stecken und die Befehle von
Hand eingeben. Ich hab es gerade probiert, es geht (siehe Bild).
Vorsicht beim Ein- und Ausstecken.
Gruß
John