Forum: Mikrocontroller und Digitale Elektronik 4x20 HD44780 LCD Speicher defekt?


von Dirk S. (fusebit)


Angehängte Dateien:

Lesenswert?

Moin,

es ist Sonntagabend und ich stehe auf dem Schlauch. Ich habe ein 4x16 
LCD gegen ein 4x20 getauscht und die Adressen geändert. Die Positionen 
stimmen, aber es passiert etwas merkwürdiges wenn ich die vorletzte und 
vorvorletzte Position der 3. und 4. Zeile ansprechen will.

Sobald ich eine dieser vier Positionen beschreibe, streicht das Display 
die erste und dritte Zeile doppelt durch, siehe Bilder (Habe die 
Position des Test-X verändert).

Das passiert nur beim beschreiben der Positionen (x,y) 17,2; 18,2; 17,3; 
18,3.
Solange ich diese nicht beschreibe klappt alles einwandfrei!? Ist der 
RAM defekt? Was könnte der Grund sein?

von oszi40 (Gast)


Lesenswert?

Test dieser Speicherplätze nur mit 00 und  FF =?

von Softwarefehler (Gast)


Lesenswert?

Das ist ein Softwarefehler in Zeile 42.

von Jonas G. (jstjst)


Lesenswert?

Hallo,

das ist wirklich ein komischer und blöder Fehler.
Um irgendwas zu finden brauchen wir mehr Informationen.
Software, Hardwareaufbau, Schaltplan...
Im Prinzip alles was du hast.

Ist die Versorgungsspannung sauber?
Was hast du an Messgeräten (Multimeter, oszi, logic analycer)?

Gruß Jonas

von Arduinoquäler (Gast)


Lesenswert?

Fehlende Abblock-Kondensatoren, Leitungslängen problematisch
für Signale, Timing-Bedingungen leicht verletzt, Störungen
auf der Versorgungsspannung .....

.... alles mögliche .... aber kein Defekt am LCD.

von Nop (Gast)


Lesenswert?

Angesichts der umfangreichen Informationen, die hierzu gegeben sind, 
vermute ich ganz klar: Der Russe ist im Keller.

von Bernhard M. (boregard)


Lesenswert?

So wie das aussieht, wird hier das Display abwechselnd schnell 
überschrieben mit dem gewünschten Text und den '=', das scheint mir ein 
reiner Softwarefehler zu sein.

von Sascha W. (sascha-w)


Lesenswert?

Hallo,

also das = Zeichen ist da nicht zu sehen, das müsste ein Pixel weiter 
oben sein.
Was passiert wenn du an der betroffenen Position ein Zeichen ausgibst 
das nur in einer Zeile den Querstrich hat, oder nur einen Punkt.

Sascha

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Bernhard M. schrieb:
> So wie das aussieht, wird hier das Display abwechselnd schnell
> überschrieben mit dem gewünschten Text und den '=', das scheint mir ein
> reiner Softwarefehler zu sein.

Sascha W. schrieb:
> also das = Zeichen ist da nicht zu sehen, das müsste ein Pixel weiter
> oben sein.

 Was auch immer, es ist trotzdem ein Softwarefehler.
 Irgendein String hat da wohl die Null am Ende verloren...
 Auch beim ersten Bild werden Zeichen überschrieben.

 P.S.
 Ich vermute auch Russen im Keller.

: Bearbeitet durch User
von Georg G. (df2au)


Lesenswert?

Dirk S. schrieb:
> Ist der
> RAM defekt? Was könnte der Grund sein?

Im RAM stehen keine Pixelmuster sondern Zeichencodes. Ein defektes RAM 
würde ein falsches Zeichen aus dem vorhandenen Satz zeigen.

Die von dir gezeigten Muster sind nicht im Character Generator. Sie 
entstehen durch schnelles Schreiben mit zwei verschiedenen Zeichen.

Der Grund ist also mit Sicherheit ein Fehler in deiner unbekannten 
Software.

PS: Auch auf dem Bild, das du als iO bezeichnet hast, sieht man an einer 
Stelle geisterhaft ein zweites Zeichen.

von Sascha W. (sascha-w)


Lesenswert?

Georg G. schrieb:
> PS: Auch auf dem Bild, das du als iO bezeichnet hast, sieht man an einer
> Stelle geisterhaft ein zweites Zeichen.
Naja das muss noch nichts bedeuten, wenn das Zeichen zufällig bei der 
Aufnahme geändert wurde sieht das genauso aus.
Hab gerade noch mal ins Datenblatt geschaut, es ist definitiv kein 
Gleichheitszeichen was da als Überlagerung zu sehen ist. Und auch sonst 
bietet der Zeichensatz nichts was in Frage kommt diesen Effekt zu 
erzeugen. Bleibt nur noch eines der selbst programmierbaren Zeichen - 
oder doch ein Hardwarefehler (Verbindung/Verschmutzung zwischen Segment- 
und Com-Leitung; Leitgummi verklemmt)

Ob die Software ständig Daten schreibt sollte sich bei statischem 
Displayinhalt durch Messung am Pin6 EN feststellen lassen.


Sascha

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Sascha W. schrieb:
> oder doch ein Hardwarefehler (Verbindung/Verschmutzung zwischen Segment-
> und Com-Leitung; Leitgummi verklemmt)

 Mit Sicherheit nicht.


> Ob die Software ständig Daten schreibt sollte sich bei statischem
> Displayinhalt durch Messung am Pin6 EN feststellen lassen.

 LOL.
 Natürlich werden da ständig Daten geschrieben.
 Und zwar im Verhältnis 2:1 oder glaubst du LCD kann bei einzelnen
 Zeichen Kontrast einstellen ?

von Bernhard M. (boregard)


Lesenswert?

Georg G. schrieb:
> PS: Auch auf dem Bild, das du als iO bezeichnet hast, sieht man an einer
> Stelle geisterhaft ein zweites Zeichen.

Da hat sich wohl während der Belichtung gerade das Zeichen geändert...

von Bernhard M. (boregard)


Lesenswert?

Marc V. schrieb:
> Sascha W. schrieb:
>> oder doch ein Hardwarefehler (Verbindung/Verschmutzung zwischen Segment-
>> und Com-Leitung; Leitgummi verklemmt)
>
>  Mit Sicherheit nicht.
>
>
>> Ob die Software ständig Daten schreibt sollte sich bei statischem
>> Displayinhalt durch Messung am Pin6 EN feststellen lassen.
>
>  LOL.
>  Natürlich werden da ständig Daten geschrieben.
>  Und zwar im Verhältnis 2:1 oder glaubst du LCD kann bei einzelnen
>  Zeichen Kontrast einstellen ?

Ja, genau. Auch die Tatsache, dass das = Zeichen scheinbar an der 
falschen Position liegt, hat mit der Kameraperspektive zu tun haben (und 
optischer Versatz / Spiegelung im Display).

: Bearbeitet durch User
von Dirk S. (fusebit)


Lesenswert?

Georg G. schrieb:
> Der Grund ist also mit Sicherheit ein Fehler in deiner unbekannten
> Software.

NEIN!

Das "Geisterzeichen" beim ersten Bild ist nur der Wechsel von 1 zu 2 
während das Bild gemacht wurde.

Die "=" sind tatsächlich nicht auf der richtigen Höhe.


Ich habe noch ein zweites baugleiches LCD und es ausgetauscht, dieses 
funktioniert einwandfrei. Ohne Änderungen an der Software...

Problem gelöst.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Dirk S. schrieb:
> Ich habe noch ein zweites baugleiches LCD und es ausgetauscht, dieses
> funktioniert einwandfrei. Ohne Änderungen an der Software...
>
> Problem gelöst.

 Hahahahahahaha.
 Sicher.

von Dirk S. (fusebit)


Lesenswert?

Marc V. schrieb:
> Hahahahahahaha.
>  Sicher.

Meinst Du das ernst?

Mal sehen ob ich von Dir jetzt zum Videoschnittmeister gekürt werde, 
oder was Dir sonst noch einfällt:

https://youtu.be/xDj18G3NgkQ

Nicht spannend, aber sollte die Sache klären können.

: Bearbeitet durch User
von Magnus M. (magnetus) Benutzerseite


Angehängte Dateien:

Lesenswert?

Dirk S. schrieb:
> Mal sehen ob ich von Dir jetzt zum Videoschnittmeister gekürt werde,
> oder was Dir sonst noch einfällt:
>
> https://youtu.be/xDj18G3NgkQ
>
> Nicht spannend, aber sollte die Sache klären können.

Und was soll das (siehe Anhang) für ein Zeichen sein?

Ich würde darauf wetten, dass du die Geisterpixel auch auf deinem 
"guten" Display sehen würdest, wenn du mal am Kontrast rumschraubst.

von Dirk S. (fusebit)


Lesenswert?

Magnus M. schrieb:
> Und was soll das (siehe Anhang) für ein Zeichen sein?

Da ist der Cursor aktiv um anzuzeigen welchen Wert man verstellt.
Er ist allerdings an der falschen Stelle, da noch nicht alle LCD 
Positionen angepasst waren bevor das Problem auftrat.


Warum sollten sich die Kontrastwerte aendern, wenn man das 18. Zeichen 
in der 3. Zeile beschreibt?
Ich habe es trotzdem ausprobiert, es bringt nichts.


Schon einmal darueber nachgedacht, dass es doch das Display sein 
koennte?

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Dirk S. schrieb:
> So beschränkt muss man erstmal sein...

 Ja, wirklich.

Dirk S. schrieb:
> es ist Sonntagabend und ich stehe auf dem Schlauch.
 a) Am Sonntagabend ging es nicht und du bist erst am Montagabend
    draufgekommen, LCD gegen ein anderes auszutauschen ?
 b) Was ist das für ein Zeichen in Zeile 3, Spalte 17 ?

 Dass ein Display nur beim schreiben auf Position x,y spinnt, sich aber
 ansonsten ganz normal verhält, ist höchst unwahrscheinlich.
 Es ist zwar alles möglich, aber ich tippe immer noch auf falsches
 Timing oder ähnliches - vielleicht beim Cursor setzen oder so.

 Probleme mit zu schnellem Timing gab es schon mehrmals, sogar mit
 Displays vom selbem Hersteller.

 Normalerweise schreibt man bei so einem Fehler wie bei dir ganzes
 Display voll, ohne Cursor, ohne sich verändernde Werte, ohne Home,
 ohne Clear Display und mit ausreichendem Delay zwischen einzelnen
 Zeichen und vor allem mit Timing > 100us, zumindest  beim testen.
 Dann weiss man es genau...

: Bearbeitet durch User
von Dirk S. (fusebit)


Lesenswert?

Und was aendert Dein lamentieren jetzt daran dass es doch das Display 
ist?

Ich hatte zwei baugleiche LCD bestellt und eines spinnt mit dem 
beschriebenen Fehler und Du willst mir noch immer erzaehlen das dies 
nicht wahr ist, weil Du es nicht fuer wahr haelst?

von Stefan F. (Gast)


Lesenswert?

Bei grenzwertigem Timing kann es sein, dass der Fehler nur mit manchen 
Displays auftritt. Die sind dann nicht zwangsläufig defekt.

Es könnte durchaus auch passieren, dass dein jetzt funktionierendes 
Display in ein paar Tagen plötzlich nicht mehr geht, z.B. weil die 
Temperatur, Spannung oder der Luftdruck verändert hat.

Werf sie nicht voreilig weg!

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Dirk S. schrieb:
> Und was aendert Dein lamentieren jetzt daran dass es doch das Display
> ist?

 Ist es nicht, es ist dein falsches Timing oder sonstiger Fehler in
 Software.

 Du kannst natürlich weiter das Gegenteil behaupten, anstatt dein
 Display richtig zu testen, deswegen wird es aber nicht wahr.

: Bearbeitet durch User
von Klaus (Gast)


Lesenswert?

Stefan U. schrieb:
> Bei grenzwertigem Timing kann es sein, dass der Fehler nur mit manchen
> Displays auftritt. Die sind dann nicht zwangsläufig defekt.

Wobei es meißt umgekehrt passiert (Murphy). Alles funktioniert prima, 
erst wenn man das zweite in Betrieb nimmt oder in Serie geht, geht es 
schief. und das muß nicht nur das Timing sein, auch fehlende GND oder 
Vcc Anschlüsse können sowas verursachen.

MfG Klaus

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
Noch kein Account? Hier anmelden.