LCD Anzeige macht Probleme

Gast #4528270
Lesenswert?

Guten Tag,

bei meinem aktuellen Projekt verwende ich "Blueline Dotmatrix 4 x 16" 
LCD Anzeigen von Conrad (19€) und alles funktioniert einwandfrei ohne 
Probleme.
Jetzt möchte ich diese Anzeigen durch preiswertere Anzeigen von 
"EastRising"
(China Import BuyDisplay) ersetzen (6€) die HD44780-kompatibel sein 
sollen.
Allerdings werden hierbei völlig willkürlich Zeilen angezeigt oder eben 
nicht angezeigt.
Da im "debug-modus" alles ohne Probleme funktioniert habe ich in meinem 
Programm versuchsweise die Wartezeiten vergrößert, was aber das Problem 
nicht behoben hat.

Jemand eine Idee?

Danke und Gruß,
Bernd
Gast #4528353
Lesenswert?

BerndB schrieb:
> Jemand eine Idee?

Hmmmm ja .... der Titel ist schon falsch.

Es muss heissen: Ich mache dem LCD Probleme.

Ohne es zu wissen (die Source ist so kleingedruckt dass ich sie
nicht lesen kann), aber aus vielfältiger Erfahrung tippe ich
auf Verletzung der Timing Daten bei der Initialisierung, oder
auch während des normalen Betriebs.
Gast #4528460
Lesenswert?

Dussel schrieb:
> Übrigens, wenn das Datenblatt kommt, könnte es hier durchaus noch
> Lösungsvorschläge geben.

Na wir wollen es mal nicht übertreiben ... das wäre wohl zuviel
verlangt, ganz zu schweigen vom Programmcode der nur als
unleserliches Kleingedrucktes daherkommt.
Gast #4528464
Lesenswert?

BerndB schrieb:
> Jemand eine Idee?

Irgendetwas läuft da schief. Entweder da stimmt was mit der Verdrahtung 
nicht oder das Programm steuert das Display nicht so an, wie es das laut 
Datenblatt gerne hätte. Aber weißt du besser als jeder andere, denn nur 
du kennst Programm, Display und deinen Aufbau.
#4528511
Lesenswert?

Die Kommentare hier bringen mich durchaus zum Grinsen :-). Ich hoffe, 
ihr seid nicht böse, dass ich was Ernsthaftes beisteuere, und wenn's 
auch nur zufällig gleichzeitig aufgetretene Erfahrungen sind.

Bei einem Seriengerät mit einem 4x20-Zeichen-LCD wurde vor wenigen 
Wochen der Lieferant des Displays gewechselt, weil der bisherige 
Lieferant nicht mehr liefern konnte (oder zu viel Kohle verlangte, das 
weiß ich nicht). Plötzlich kam es immer wieder vor, dass auf dem Display 
Hieroglyphen angezeigt werden. Wir suchten in allen Richtungen nach der 
Ursache, machten die Ansteuerung sehr langsam (Wartezeiten bis zu 500 µs 
vor jedem Zustandswechsel auf den Steuerleitungen oder Datenleitungen), 
löteten sogar keramische Kondensatoren zwischen die Steuerleitungen und 
GND, blockten die Versorgungsspannung extra gut ab usw - ohne jeden 
Erfolg. Am Oszilloskop und am Logikanalysator war nichts zu erkennen, 
was diese Hieroglyphen erklären konnte.

Ich habe jedoch unter anderem den 4-Bit-Modus im Verdacht, den wir bei 
diesen Displays verwenden. Im 4-Bit-Modus erwartet das Display die 
Datenbytes als zwei Halbbytes, und zwar erst das höherwertige und dann 
das niederwertige Halbbyte. Wenn jetzt aus irgendwelchem Grund eine 
zusätzliche Flanke an den Eingang "E" kommt (und das muss nicht einmal 
über die Anschlusspins kommen), dann kommt die Reihenfolge 
high-Halbbyte/low-Halbbyte durcheinander, und alle folgenden Daten 
werden falsch interpretiert und natürlich falsch angezeigt. Vielleicht 
ist das in diesem Fall auch sowas, dann könntest Du mal ausprobieren, ob 
es sich um 8-Bit-Modus bessert.

Den Grund für die Störungen haben wir übrigens genauso wenig gefunden 
wie eine Abhilfe. Wir haben dann den Lieferanten nochmals gewechselt, 
und dessen Displays funktionieren wieder wie früher.
Gast #4529075
Lesenswert?

Danke Edi für deine Antwort,

ich habe sämtliche "timings" während der Initialisierung und in den 
Kommandos verändert ohne jeglichen Erfolg. Leider kann ich den 
8bit-Modus jetzt nicht mehr anwenden, da das Leiterplattenlayout bereits 
fertig ist und mein Testequipment auf den 4bit-Modus ausgelegt ist.
Ein anderer Hersteller ist vielleicht die Lösung.

BerndB
#4529340
Lesenswert?

Frickelfritze schrieb:
>> Ein anderer Hersteller ist vielleicht die Lösung.
>
> Oder ein gutes Design / Layout.

Das habe ich bis vor ein paar Wochen auch gedacht. Aber wie ist 
folgendes mit einem schlechten Layout zu erklären:

Display A: Seit >15 Jahren ohne Probleme
Display B (seit ca. 3 Monaten): Von Anfang an ständig Hieroglyphen
Display C (seit gestern): Keine Probleme mehr.

So einfach mache ich es mir jetzt nicht mehr, alles nur auf schlechtes 
Design der Leiterplatte zu schieben. Ich tippe eher auf eine miese 
Charge des Displaycontrollers. Im Datenblatt von Display B steht 
"KS0066U OR EQUIV.", der Application Engineer des Distributors hat aber 
gemeint, das Display verwende nach seinen Informationen den ST7066. Ich 
bin allerdings der Meinung, da steckt irgend ein chinesischer 
so-billig-wie-möglich-Controller drin, der gerade noch die Specs 
einhält.

Wir haben testweise übrigens auch mal versucht, die Leitungen zwischen 
Controller und LCD zu trennen und statt dessen Einzeladern zu verlegen. 
Ergebnis: Null Auswirkung.

@BerndB: Wäre es Dir möglich, mal ein Foto von der LCD-Rückseite zu 
machen und mir per PM zu senden? Mich würde interessieren, ob wir 
vielleicht Displays vom gleichen Hersteller haben, möchte hier aber 
(noch) niemanden öffentlich nennen, solange noch nichts gesichert ist.
Gast #4529360
Lesenswert?

Edi R. schrieb:
> Aber wie ist folgendes mit einem schlechten Layout zu erklären:

Das kann man damit begründen dass die alten LCDs so gutmütig
sind dass sie eine kleine Design-Verletzung deinerseits klaglos
hingenommen haben, die neuen aber nicht .....

Kann ... muss aber nicht ....
#4529586
Lesenswert?

Frickelfritze schrieb:
> Das kann man damit begründen dass die alten LCDs so gutmütig
> sind dass sie eine kleine Design-Verletzung deinerseits klaglos
> hingenommen haben, die neuen aber nicht .....

Genau.
Es geistern leider noch viele LCD-Initialisierungen im Web rum, die 
fehlerhaft sind. An einer entscheidenden Stelle fehlt das Delay oder es 
werden zu früh 8Bit-Befehle statt 4Bit-Nibble gesendet. Manche 
Controller tolerieren das, manche aber nicht.
#4529611
Lesenswert?

Peter D. schrieb:
> Es geistern leider noch viele LCD-Initialisierungen im Web rum, die
> fehlerhaft sind. An einer entscheidenden Stelle fehlt das Delay oder es
> werden zu früh 8Bit-Befehle statt 4Bit-Nibble gesendet.

Ich weiß nicht, wie das bei BerndB ist, aber in unserem Fall haben wir 
selbstverständlich auch die Initialisierung unter die Lupe genommen. Wir 
haben damals die Initialisierung entsprechend dem HD44780-Datenblatt 
vorgenommen, und jetzt nur noch ein paar Delays verkürzt (!), damit sie 
näher an den Angaben im Datenblatt liegen. Erfolg: Keiner. (Wir haben 
übrigens auch mal eine der fehlerhaften Initialisierungen ausprobiert. 
Das Display hat zwar funktioniert, konnte dann aber erst wieder 
initialisiert werden, wenn es zwischendurch von der Versorgung genommen 
wurde, ansonsten zeigte es nur noch die bekannten Balken 
nichtinitialisierter LCDs.)

Bernhard S. schrieb:
> Wie sind die unteren 4 Datenbits beschaltet? Floating oder auf Masse
> gelegt?

Bei uns waren die unbenutzten Leitungen offen. Auch das Verbinden mit 
GND oder VCC hat keine Änderung gebracht, weder direkt noch über 
Widerstände. In den Datenblättern steht übrigens ausdrücklich, dass die 
unbenutzten Leitungen im 4-Bit-Modus offen gelassen werden sollen.
Gast #4529635
Lesenswert?

Edi R. schrieb:
> In den Datenblättern steht übrigens ausdrücklich, dass die
> unbenutzten Leitungen im 4-Bit-Modus offen gelassen werden sollen.

Begründung meinierseits:

Würde man das LCD bidirektional betreiben, würden beim Lesen
die Datentreiber des LCDs kurzgeschlossen (sofern sie nicht im
4-Bit-Modus intelligent vom Chip-Designer disabled werden).

Aber auch ein floatender Input kann manchmal Ärger bereiten ...
#4529676
Lesenswert?

Peter D. schrieb:
> Schonmal die hier probiert:
>
> http://www.avrfreaks.net/forum/tutc-lcd-tutorial-1001?skey=lcd%201001

Auch der "Applications Engineer" des Distributors hat mir einen 
Beispielcode geschickt. Mir fehlt es nicht an Kenntnissen zu den LCDs 
allgemein (ich arbeite mit diesen Dinger schon seit den 80er Jahren), 
sondern ich habe "nur" mit einem mir unerklärlichen Fall zu tun, der mir 
bis heute noch nicht untergekommen ist, und der sich bisher nicht 
lokalisieren ließ.

Ich mag es eigentlich nicht besonders hervorheben, aber die Software in 
unserem Gerät ist noch in Assembler für den 68HC11 geschrieben.

Trotzdem vielen Dank für den Link.

Frickelfritze schrieb:
> Würde man das LCD bidirektional betreiben, würden beim Lesen
> die Datentreiber des LCDs kurzgeschlossen

Genau, sowas habe ich mir auch gedacht. Deshalb haben wir auch erst mal 
Widerstände reingehängt.

Frickelfritze schrieb:
> Aber auch ein floatender Input kann manchmal Ärger bereiten ...

Zweifellos.

BerndB schrieb:
> Mache ich gerne:

Danke für das Bild, aber es scheint doch nicht der gleiche Hersteller zu 
sein. Ich habe jetzt ein Bild von unserem LCD zum Vergleich angehängt.
Angehängte Dateien:
Gast #4529704
Lesenswert?

Hi

>Genau, sowas habe ich mir auch gedacht. Deshalb haben wir auch erst mal
>Widerstände reingehängt.

>Seltsam, Edi R. hat es kapiert.

Kommt darauf an, wo er die Widerstände 'reingehängt' hat.

MfG Spess
Gast #4529726
Lesenswert?

Edi R. schrieb:
> Ich mag es eigentlich nicht besonders hervorheben, aber die Software in
> unserem Gerät ist noch in Assembler für den 68HC11 geschrieben.

Vielleicht wäre es doch mal an der Zeit an der Hardware zu spekulieren.

Diese Art von Hardware ist bei weitem nicht so von Low-Power-Design
geprägt wie ein AVR aus der heutigen Zeit. Damit verbinde ich z.B.
weitaus höhere Störpegel auf den Signalleitungen als auch auf den
Versorgungsleitungen. Ich denke da auch an die Bustreiber die
mächtigen "Spektakel" für so ein LCD machen können.
Gast #4529745
Lesenswert?

spess53 schrieb:
> Was verstehst du unter
>
> "sofern sie nicht im 4-Bit-Modus intelligent vom Chip-Designer disabled
> werden" ?

Also gut, für dich ausführlich (aus dem Kochbuch des Chip Designers):

if (eightbit_enabled == 0)
{
  do_not_enable_output_driver[3...0]_under_any_cirumctances;
}
else
{
  enable_output_driver[3...0]_if_read_cycle_is_active;
}
#4529822
Lesenswert?

Frickelfritze schrieb:
> Da hat der Hersteller ja alle Kondensatoren weggelassen die
> er nur weglassen kann ......

Ich habe den "Applications Engineer" darauf angesprochen, und er hat 
laut aufgeschrien. Er hat gemeint: "Irgendwelche Kondensatoren müssen 
doch drauf sein." Daraufhin habe ich ihm das Bild geschickt. Weiter hat 
er sich dann nicht mehr geäußert.

Wir haben allerdings an den vorgesehenen Stellen keramische 
100-nF-Kondensatoren eingelötet. Es hat sich dadurch nichts gebessert. 
:-(

Frickelfritze schrieb:
> .... und da hast du dich hoffentlich ausführlich darum gekümmert
> dass die Timing-Delays wirklich funktionieren.

Ja, klar. Ich hab u. a. die Initialisierung und den Upload der 
Sonderzeichen mit dem Logikanalysator aufgenommen und die Zeiten 
rausgemessen.

Frickelfritze schrieb:
> Vielleicht wäre es doch mal an der Zeit an der Hardware zu spekulieren.

Du hast völlig recht. Unabhängig von diesem LCD-Dilemma wird die gesamte 
Schaltung momentan überarbeitet. Aktuell liegt alles beim Layouter, der 
wartet noch auf ein paar Bauteil- und Platinenmaße. Bis alles 
fertigungsreif ist, dauert es aber noch ein paar Wochen, und in dieser 
Zeit will und muss die Firma aber weiter produzieren und ausliefern. 
Deshalb bin ich froh, dass jetzt durch das "Display C" die Kuh vorerst 
vom Eis ist.
Gast #4529835
Lesenswert?

Edi R. schrieb:
> Es hat sich dadurch nichts gebessert.

Ja schade, aber da sein müssen die trotzdem. Und den vermutlichen
Noise den deine Schaltung produziert bringen die paar kleinen
Dinger auch nicht weg.

Schon mal über Bus Hold Zeiten philosophiert?
Ich nehme an vom 68HC11 bis zum LCD braucht man ein Latch oder
einen Buffer das/der enabled werden will .....
#4529855
Lesenswert?

Frickelfritze schrieb:
> Ja schade, aber da sein müssen die trotzdem.

Da bin ich ebenfalls Deiner Meinung. Allerdings hat sich das durch den 
Wechsel des Displays für uns auch erledigt.

Frickelfritze schrieb:
> Schon mal über Bus Hold Zeiten philosophiert?
> Ich nehme an vom 68HC11 bis zum LCD braucht man ein Latch oder
> einen Buffer das/der enabled werden will .....

Du gehst ins Detail, das gefällt mir :-). Eingesetzt ist ein Controller 
der 68HC11-Familie, nämlich der MC68711E20, ein "hochmoderner 
Ein-Chip-Controller" (zumindest war er das im letzten Jahrtausend mal). 
Die Ansteuerung des Displays und der anderen Peripherie erfolgt über 
Portleitungen. Es gibt also kein Latch oder einen Dus Driver oder sowas. 
Ich habe mal einen Auszug aus einem Logikanalysator-Mitschnitt 
angehängt, da sieht man, dass das Timing der Datenübertragung locker 
innerhalb der Spezifikation liegt.
Angehängte Dateien:
Gast #4529862
Lesenswert?

das LCD an einer anderen Hardware ausprobieren. Wenn der Fehler dann 
wiederkommt, liegt es am LCD, ansonsten an der Schaltung. Es macht doch 
keinen Sinn, sich an einem 5€-Standard-Bauteil lange aufzuhalten.
#4529924
Lesenswert?

grundschüler schrieb:
> das LCD an einer anderen Hardware ausprobieren. Wenn der Fehler dann
> wiederkommt, liegt es am LCD, ansonsten an der Schaltung.

Natürlich habe ich das Display vorher in einer anderen Schaltung 
ausprobiert, da hat es ja auch funktioniert. Ich zweifle ja auch nicht 
daran, dass das Display in einer anderen Schaltung problemlos 
funktioniert. Aber wenn dieses Display in unserer Schaltung nicht 
funktionieren mag (und es geht nur um diesen einen LCD-Typ, ausprobiert 
bei ca. 50 Geräten), ein LCD von einem anderen Hersteller dagegen schon, 
dann würde mich schon interessieren, warum.

grundschüler schrieb:
> Es macht doch
> keinen Sinn, sich an einem 5€-Standard-Bauteil lange aufzuhalten.

Woher weiß ich, ob das Theater in einem halben Jahr nicht wieder 
losgeht, wenn ich die Ursache nicht kenne? Es geht ja auch nicht nur um 
ein 5-€-Bauteil, sondern um einen Abrufauftrag von vorerst mehreren 
hundert Displays.

Frickelfritze schrieb:
> Jetzt fehlt aber noch die Analog-Darstellung des Bus-Verkehrs,
> da wird es erst richtig interessant.

Ich habe mir die Signale und die Versorgung zwar am Speicheroszi 
angeschaut, aber die Aufnahmen dummerweise nicht gespeichert, weil eben 
nichts Auffälliges zu sehen war. Aber wenn wieder Zeit dafür ist, dass 
ich mich damit beschäftigen kann, dann hole ich das nach. Ich will 
sowieso noch weiter nach der Ursache forschen.

Eigentlich ist das ja auch nicht mein Thread, irgendwie habe ich BerndB 
jetzt wohl niedergebrüllt. Sorry.

Frickelfritze schrieb:
> Wie lang sind die Leitungen von Prozessor bis zum LCD? Wird
> das LCD ge-handshaked oder nur stur draufgeschrieben?

Die Leitungslänge beträgt ca. 170 mm, und das Layout ist tatsächlich 
nicht gerade ideal - was ich gerne zugeben kann, weil's nicht von mir 
ist :-). Die Ansteuerung war vorher mit Abfrage des Busy-Flags, aber das 
haben wir zwischendurch auch geändert. Natürlich ohne Auswirkung.
#4529971
Lesenswert?

Georg G. schrieb:
> Mach dir den Spaß und setze einen Treiber in die E-Leitung direkt am
> Display.

Das werde ich gerne ausprobieren, danke für den Hinweis. Wenn die Flanke 
schneller als 10 ns sein soll, dann hat mich der "Applications Engineer" 
auch nicht gerade gut beraten, als er meinte, wir sollen Kondensatoren 
über die Eingänge schalten. Nun ja, er hat vermutlich gemeint, falls 
eine Störung in die Leitung eingestreut wird oder so.
Gast #4529982
Lesenswert?

Edi R. schrieb:
> Nun ja, er hat vermutlich gemeint, falls
> eine Störung in die Leitung eingestreut wird oder so.

Das liebe ich so sehr in der Digitaltechnik: Kondensatoren die
nicht dem Abblocken dienen sondern der Signal- Verschönerung

Mehr High-Tech geht nicht.
#4530056
Lesenswert?

nemesis... schrieb:
> Hat eigentlich mal einer auf das heutige Datum geachtet?

Disclaimer: Alles, was ich geschrieben habe, hat nichts mit dem 1. April 
zu tun und ist kein Scherz.

Noch'n Disclaimer: Wenn mich jemand in den April schicken wollte, ist 
ihm das voll gelungen. Vorerst nehme ich aber alle Beiträge sehr ernst.

Frickelfritze schrieb:
> Das liebe ich so sehr in der Digitaltechnik: Kondensatoren die
> nicht dem Abblocken dienen sondern der Signal- Verschönerung

Ja, mir hat es auch die Nackenhaare hochgestellt, aber da muss man 
durch. Mein einziger Trost dabei: Es hat nichts genutzt.
#4530695
Lesenswert?

nemesis... schrieb:
> sondern den TO

Imho scherzt der auch nicht. Sieh dir mal an, wie viele Leute hier fast 
täglich mit LCD Problemen aufschlagen. Ich habe auch schon mal einige 
Stunden einen Fehler in der Ansteuerung gesucht. Kabel 10cm kürzer und 
es war zuverlässig, die besagte Anstiegszeit. Die modernen CPUs werden 
immer kleiner und stromsparender und damit hochohmiger, auch in den 
Ausgängen. Das hat nicht nur Vorteile.
#4532985
Lesenswert?

BerndB schrieb:
> Ich habe RE, E, D4, D5, D6, D7 über Gatter angesteuert.
> Leider keine Verbesserung!

Inzwischen bin ich auch zu meinen Versuchen gekommen. Ich habe in die 
E-Leitung einen 74LS132 (4fach Schmitt-Trigger-NAND) geschaltet. Leider 
hat es auch nichts gebracht. Bei der Gelegenheit habe ich mir noch die 
Signalformen ohne 74LS132 (also direkt aus dem Controller heraus) 
angesehen, und die schauen nicht einmal so übel aus. Der 74LS132 hat die 
Impulsform nicht verbessert.

Georg G. schrieb:
> Es gibt leider Displays,
> die wollen die Flanke am E mit maximal 10ns Steilheit, sonst gibt es
> dumme Effekte. Das stand etwas versteckt sogar im Datenblatt.

In den Datenblättern der LCD-Controller, die ich durchgesehen habe 
(HD44780, KS0066, ST7066, SPLC780A1, AIP31066), steht tatsächlich so ein 
versteckter Wert, allerdings 25 ns. Das würde ich einhalten, sowohl mit 
als auch ohne 74LS132. Auf die 10 ns komme ich nicht. Deshalb werde ich 
mir ein paar 74AC14 besorgen, die müssten dann schnell genug sein. Den 
Versuch werde ich auf jeden Fall noch machen.

Vielen Dank, Georg, diese Stelle im Datenblatt habe ich bisher 
übersehen.

Peter D. schrieb:
> Tritt der Fehler später auf oder klappt schon die Initialisierung nicht?

Die Initialisierung klappt, das Display zeigt zunächst alles richtig an. 
Wenn das Gerät dann in Betrieb genommen wird, kommen die Hieroglyphen - 
nicht immer, und nicht immer an der gleichen Stelle (weder örtlich noch 
zeitlich). Im Gerät schalten dann auch ein paar Relais, und wir vermuten 
hier einen Zusammenhang, können aber weder messtechnisch was nachweisen 
noch mit Abblock- und Entstörmaßnahmen was verbessern.

Ich möchte noch einmal erwähnen, dass die Sache für mich inzwischen 
einen eher akademischen Wert hat, weil wir das Problem durch den Wechsel 
auf ein anderes Display gelöst haben. Aber mich ärgert es, wenn ich 
nicht herausbekomme, was da los war.
Gast #4533053
Lesenswert?

Edi R. schrieb:
> Im Gerät schalten dann auch ein paar Relais,

Das ist aber eine Tatsache die du uns bisher unterschlagen hast.

Böse, böse!

Ich sage nur: CMOS Schaltungen und Induktionsspannungen.
Und dann noch 17 cm lange Leitungen zum LCD? Ich würde
Angst kriegen ....  Das LCD ist wegen seiner äusserst geringen
Stromaufnahme ein sehr fragiler, empfindlicher Schaltkreis!

Ich schlage schon mal eine abschirmende Massefläche für alle
LCD-Leitungen vor. Und für das LCD selbst auch.
#4533072
Lesenswert?

Frickelfritze schrieb:
>> Im Gerät schalten dann auch ein paar Relais,
>
> Das ist aber eine Tatsache die du uns bisher unterschlagen hast.

Ich habe bisher überhaupt nichts über das Gesamtgerät geschrieben.

Frickelfritze schrieb:
> Ich sage nur: CMOS Schaltungen und Induktionsspannungen.
> Und dann noch 17 cm lange Leitungen zum LCD?

Selbstverständlich kann man CMOS und Relais in einem Gerät kombinieren, 
wir sind schließlich keine Anfänger. Das Gerät wird seit über 15 Jahre 
als Seriengerät produziert, mit geringen funktionalen Modifikationen.
Gast #4533955
Lesenswert?

FEHLER GEFUNDEN und großen Dank an alle die sich darum bemüht haben!

Hier ein paar Details:
Ich steuere ein LCD Display und diverse Bauteile DAC, Transmitter etc. 
über
einen XMC1200 (Cortex-M0) an.
Diesen programmiere ich in C mit myVision 5.0 von der Fa. Keil.
Die LCD Ports steuere ich mit Hilfe von Structuren an, da es mir bisher 
nicht gelungen ist das Ganze in C++ Klassen zu verfassen.

Da mein Problem nur sporadisch bei der billig Chinaware auftraf habe ich 
mir darüber Gedanken gemacht wie ich mit meinem abzubildenen Text 
umgehe.
Diesen habe ich mit "strncpy()" in die Struktur hineinkopiert und 
anschließend am Display abgebildet.
Vielleicht bringt diese Methode eine Zeitverzögerung?

Wenn ich aber meinen Text an einer definierte Stelle ins RAM schreibe 
und meine DisplayFunction nimmt Bezug auf diese Adresse funktionieren 
alle mir zur Vefügung stehenden Displays einwandfrei.

Nichts ist so einfach wie es aussieht!

Vielen Dank
#7804727
Lesenswert?

Ich hänge mich mit meinem Problem mal hinten an.

Kann mir bitte jemand helfen, ein kompatibles Ersatzdisplay zu finden? Leider finde ich über die aufgedruckten Teilenummern nichts.

Das Display stammt aus einem Solarregler, ca. Baujahr 1997 (?), es zeigt nur noch Hyroglyphen an. Nach dem Reinigen des Zebragummis zeigt es gar nichts mehr. Ich weiss deswegen auch nichts über die Zeichendarstellung.

Anbei noch 2 Fotos

Angehängte Dateien:
#7804730
Lesenswert?

Wolf-Dietmar P. schrieb:

Ich hänge mich mit meinem Problem mal hinten an.

Kann mir bitte jemand helfen, ein kompatibles Ersatzdisplay zu finden? Leider finde ich über die aufgedruckten Teilenummern nichts.

Das Display stammt aus einem Solarregler, ca. Baujahr 1997 (?), es zeigt nur noch Hyroglyphen an. Nach dem Reinigen des Zebragummis zeigt es gar nichts mehr. Ich weiss deswegen auch nichts über die Zeichendarstellung.

Anbei noch 2 Fotos

Das ist ungut. Steht nicht im ROTEN Test, dass für neue Fragen ein neuer Beitrag zu erstellen ist? Dann halte dich bitte dran! Das gilt auch für Leute wie dich, die schon fast 600 Beiträge verfasst haben!

#7804753
Lesenswert?

Ist es ein Grafik-Display oder ein Textdisplay?

Der Hersteller dürfte der hier sein: https://www.npc.com.tw/j2npc/enus/prod/Electronic/Liquid-Crystal-Display(LCD)/Liquid%20Crystal%20Display%20(%20Graphic%20module%20)

aber ein LMK86... oder M027B existiert da nicht, die 86 bis 88 deuten auf 1986 hin, da wird es schwierig noch etwas an Datenblättern zu finden. M001,M002,M009,M014 und M082 gibt es noch bei Gebrauchthändlern.

https://de.rs-online.com/web/p/lcd-displays-monochrom/1711667 könnte kompatibel sein, drei schwarze Kleckse für die ICs. Vierzeilig, 20 Zeichen stimmt das überein? Datenblatt: https://docs.rs-online.com/1e22/A700000007747595.pdf scheint mit HD44780 kompatibel zu sein 19,727 €

https://eckstein-shop.de/HIMALAYAbasicCharacter20x4LCDDisplayModule2004WhiteonBlue5VHeaderStrip 6,95 € 4*20 Zeichen

https://www.amazon.de/Display-128x64-Punkte-Grafik-Hintergrundbeleuchtung/dp/B0B6B7K5WM nur 128*64 Pixel Grafik , ähnliches Aussehen, spiegelbildliche Fotos, was stimmt jetzt?

#7804793
Lesenswert?

Wolf-Dietmar P. schrieb:

Kann man mit diesem Bild mehr über die Specs des Displays aussagen? Das erscheint ganz kurz beim Einschalten des Reglers.

Aus den Zeichenfragmenten kommt man auf ein Display mit 4x16 Zeichen. Die Größe müsstest du selber nachmessen oder einen Maßstab mit ins Photo legen.

Du könntest das Display unter einem Winkel oder in polarisiertem Licht photographieren, so dass man die Zeichenfelder sehen kann. Eine Änderung der Kontrastspannung würde auch helfen.

Ist die Versorgungsspannung in Ordnung?

#7804812
Lesenswert?

Wolf-Dietmar P. schrieb:

Hilft der Zollstock?

Durch das Weitwinkelobjektiv von deiner Kamera ist das Bild perspektivisch arg verzerrt. Hier findest du ein gängiges Display, dass von den Abmessungen ungefähr passen könnte. (Maßzeichnung auf S.6) https://cdn-reichelt.de/documents/datenblatt/A500/DEM16481SYH-LY.pdf

Was sagt die Anzahl der Charakter aus?

Die sagt, wie viele Zeichen gleichzeitig dargestellt werden können.

(Firma: Chipwerkstatt) #7804939
Lesenswert?

Wolf-Dietmar P. schrieb:

könnte dann ein Display mit 1604 Character(n) mit einem höherauflösenden 1:1 ersetzt werden?

Nein. Außer Du schreibst den Softwareteil zur Displaysteuerung um.

Wolf-Dietmar P. schrieb:

Ich weiss ja nicht was da drin ist...

Nicht viel. Initiaöisierung, und dann ist das ein 'dummes' Display. Gehe zu Spalte 1, Zeile 1. Gebe Text aus 'Testtext'

Cursor an und aus. Mehr kann das Dingens eigentlich nicht. Siehe Dir die Doku von dem Reichelt-Digi an.

Die Kontaktleiste ist identisch. Meistens.... Abkläre ob Pin 1 und 2 identisch sind. Pin 1 ist id.R Gnd Pin 2 ist +5V Pin 3: Kontrast Pin 4 - ... Databit 0-7. Wobei manchesmal nur die oberen 4 belegt sind.

#7804954
Lesenswert?

Wolf-Dietmar P. schrieb:

Ich meine, woran kann man an dem defekten Display erkennen was für eine Auflösung es hat, wenn das Modell nicht bestimmbar ist.

Du hast doch ein Photo gezeigt, wo man Reste von Zeichen sieht. Und dann muss man nur noch hochrechnen, wieviel Zeichen in die Zeile passen.

Wolf-Dietmar P. schrieb:

DSC02892.JPG

Wolf-Dietmar P. schrieb:

Ich weiss ja nicht was da drin ist...

Da ist ein Displaycontroller mit Zeichengenerator drin. An das Display wird nur der ASCII-Text übermittelt. Die Umsetzung in die Pixeldarstellung erledigt der Controller. 8 Zeichen können frei definiert werden, alles andere erfolgt entsprechend der fest vorgegebenen Zeichentabelle.

#7806882
Lesenswert?

Also vom Bild her scheint es die typische Pinbelegung zu sein. 1 ist Masse. Sieht man an der Groundlane. 15 und 16 ist für die nicht vorhandene LED Hintergrundbeleuchtung.

Laut deinen Fotos kann man aber etwas lesen und deshalb gehe ich davon aus, dass du es nicht mehr richtig zusammengebaut hast mit den Zebragummis. Also kein vernünftiger Kontakt mehr.

Moderator Persönliche Seite #7807128
Lesenswert?

Wolf-Dietmar P. schrieb:

Ich meine, woran kann man an dem defekten Display erkennen was für eine Auflösung es hat,

Man kann auf Deinen Fotos durchaus Buchstaben erahnen und damit die Breite eines Zeichens ermitteln. Dann kann man das auf die Display-Breite hochrechnen. Pi mal Daumen sind es 4 x 16 oder 4 x 20 Zeichen - genauer kannst Du das ermitteln, denn Du sitzt ja davor.

Übrigens:

Ich vermute, der Kontrast hat sich über die Jahre durch "Wandern" der Kontrastspannung geändert. Meist wird eine negative Kontrastspannung über Ladungspumpen generiert. Durch Altern eines Kondensators kann sich die Spannung dann über die Jahre ändern.

Oft kann man den Kontrast durch Ändern der Kontrastspannung derart verbessern, dass die Zeichen dann wieder ganz normal lesbar sind. Wenn ich das richtig sehe, steckt das Display wohl auf irgendeiner Mutterplatine, die Du leider nicht abfotografiert hast. Dort könnte ein Drehpotentiometer drauf sein, mit welchem Du den Kontrast regeln kannst. Ich bin mir sicher, dass Du mit dem Regler dem LCD wieder zu altem Glanz verhelfen kannst.

Wenn das nicht hilft, müsste der Kondensator auf der Mutterplatine evtl. erneuert werden. Ein neues Display würde da übrigens dann auch nicht weiterhelfen.

P.S.

Die Kontrastspannung liegt am Pin 3 der LCD-Platine an. Reihenfolge: 1 ist außen, 16 ist innen. Die Pins 1 und 16 sind auch laut Deiner Fotos aufgedruckt. Von daher sollte es hier kein Problem geben.

(Firma: Chipwerkstatt) #7807134
Lesenswert?

Frank M. schrieb:

Meist wird eine negative Kontrastspannung über Ladungspumpen generiert. Durch Altern eines Kondensators kann sich die Spannung dann über die Jahre ändern.

Nicht bei diesen Displaytyp. 0V ist voller Kontrast. Meist ist da ein Poti mit ca. 10-20 K in der Gegend. dieses kann man von 0V (GND) bis +5V regeln. Ist aber so um die 1 - 1,5V eingestellt.

#7807674
Lesenswert?

Der Kontrast ist ein interessanter Ansatz. (Das erinnert mich gerade an meine Diskriminatorspannung in der alten HiFi Anlage, die auch weggelaufen ist und mal gemacht werden muss ;) )

Das Display macht aber nur ganz kurz nach dem Einschalten eine Anzeige wie auf dem Foto und verschwindet dann ganz, wenn der Regler hochgefahren ist.

Ein Kontrastpoti ist nicht da. Ich bin gerade irritiert, das die Displaymasse nicht gleich Netzteil-Masse ist. Spannungsregelung geht über einen LM317.

Ich messe mal weiter. Anbei Bilder des Solarreglers.

Angehängte Dateien:
(Firma: Chipwerkstatt) #7807743
Lesenswert?

Bei 0V bei mir sind die Zeichen gerade noch zu unterscheiden, von den anderen Pixel, die jetzt auch schwarz sind.

Dann wird's drauf rauslaufen, dass das Display das Lebensende erreicht hat. Außer Du hast einen Fehler mit den Zebras gemacht.

Aber kauf sowas nicht über Ali. Du weißt nicht was Du bekommst.

Die Spannungen hast Du schon am Display selbst gemessen?

Edit: Links oen sieht man ein 'H' und das ziemlich deutlich. Nach rechts verschwindet die Anzeige. Würde wieder richtung Zebras gehen.

Drück mal 'gemäßigt' während des Betriebs an die obere und untere Leiste am Display entlang. Ob dann dass Display kommt.

#7808209
Lesenswert?

Mit dem Multimeter-

Aber ja, kein Problem.

Kannst du mir bitte sagen welche Signale an welchen Pins am besten gemessen werden?

Das wäre diese Belegung? Pin No. Symbol Level Beschreibung 1 VSS 0V Ground 2 VDD 5,0V Supply Voltage for logic 3 VO (Variable) Operating voltage for LCD 4 RS H/L H: DATA, L: Instruction code 5 R/W H/L H: Read L: Write 6 E H,H→L Chip enable signal 7 DB0 H/L Data bus line 8 DB1 H/L Data bus line 9 DB2 H/L Data bus line 10 DB3 H/L Data bus line 11 DB4 H/L Data bus line 12 DB5 H/L Data bus line 13 DB6 H/L Data bus line 14 DB7 H/L Data bus line 15 A - Power supply for B/L + 16 K - Power supply for B/L -

#7808236
Lesenswert?

Also ich lehne mich jetzt mal aus dem Fenster und behaupte mit der Ansteuerung ist alles in Ordnung!! Dein Display zeigt in der ersten Zeile an: Hauptmenue: Und darunter folgen 3 weitere Punkte. So wie es auf einem Wagner SunGo XL aussehen muss.

Außerdem behaupte ich, dass ein "normales" 4x16 LCD von Ebay, Ali, etc. 1:1 passt.

#7808252
Lesenswert?

Thomas S. schrieb:

Was ist 'normal' ?

Es muss auf jeden Fall ein Display mit einem HD44780 kompatiblen Controller sein.

Genau DAS ist normal. Zeige uns doch mal ein 4x20 LCD ohne HD44780 kompatiblen Controller. Welcher soll das dann überhaupt sein.

Ich wäre bei Ali und Konsorten sehr vorsichtig.

Unsinn.

Diese Probleme hier liegen nicht am LCD sondern sind ein Schicht 8 Problem.

Irgendein Copy&Paste Code, verkabelt ohne Ahnung, keine systematische Messung ob alle GPIOs auch korrekt verbunden sind und auch das machen was man erwartet.

Erst prüft man Versorgung direkt am LCD. Dann Kontrast. Dann gibt man ein paar 4 Bit Muster aus und prüft direkt am LCD ob das korrekt ankommt. Dann prüft man RS/RW und E. Dann macht man sich an die Initialisierung.

#7808259
Lesenswert?

Weil es zum Originaltitel und den Symptomen passt hier noch eine Anekdote meinerseits. Zwar 30 Jahre her, aber HD44780 Controller sind ja immer noch häufig in Verwendung, und kann ja sein dass jemand das Problem mal wieder hat:

Ich hatte damals auch einen Original HD44780 und musste auf einen (afaik) Sharp Chip wechseln. Auch da binnen Sekunden immer wieder falsche Zeichen oder auch verschoben. War ziemlich langes rumprobieren in der SW (Display via FPGA angeschlossen). Die Lösung dann kam durch Vergleich der beiden Datenblätter: Der 44780 Orig hatte eine Hold-Time von 0ns, beim Sharp war es 10ns. Mein Kollege hatte Leitung E und die Daten gleichzeitig abgeschaltet, Übernahme der Daten aber mit fallender Flanke (zumindest beim SHARP) und somit eher zufällig ok oder nicht. Also bitte die Daten selbst immer mit etwas Puffer VOR Anlegen 'E' setzen und auch erst etwas NACH abschalten 'E' noch anstehen lassen. Bzgl. Flankensteilheit hatten wir da keine Probleme. Der SHARP-Chip war ja sogar 'schneller' als das Original, aber er wollte eben die Daten noch anliegen haben bei der fallenden Flanke oder anders ausgedrückt: Die Daten werden bei E 'High' die ganze Zeit ins interne Register eingelesen. Warbei mir 8-Bit Modus, aber ich denke das gilt identisch auch für den 4-Bit Mode.

#7808263
Lesenswert?

Max B. schrieb:

Also ich lehne mich jetzt mal aus dem Fenster und behaupte mit der Ansteuerung ist alles in Ordnung!! Dein Display zeigt in der ersten Zeile an: Hauptmenue: Und darunter folgen 3 weitere Punkte. So wie es auf einem Wagner SunGo XL aussehen muss.

Außerdem behaupte ich, dass ein "normales" 4x16 LCD von Ebay, Ali, etc. 1:1 passt.

Das ist das, was ich hoffe, das es nur am Display liegt. Ich halte euch auf jeden Fall auf dem Laufenden, wenn ich das Ali-Display bekommen habe.

Ich hatte bei einem anderen Display auch schon mal HF- / handempfindliche Allüren gehabt. Dass die Ansteuerung nur korrekt dargestellt wurde, wenn die Kabel "passend" verlegt waren. Wenn nicht waren alle Zeichen aktiviert.

Wobei es noch ungelöst ist, was an so einem Display nach und nach altert.

(Firma: Chipwerkstatt) #7808287
Lesenswert?

Cyblord -. schrieb:

Erst prüft man Versorgung direkt am LCD. Dann Kontrast.

Habe ich bereits geschrieben: Thomas S. schrieb im Beitrag #7807743:

Die Spannungen hast Du schon am Display selbst gemessen?

Cyblord -. schrieb:

Dann gibt man ein paar 4 Bit Muster aus und prüft direkt am LCD ob das korrekt ankommt. Dann prüft man RS/RW und E.

Und wie soll er das machen?

#7808298
Lesenswert?

Thomas S. schrieb:

Cyblord -. schrieb:

Erst prüft man Versorgung direkt am LCD. Dann Kontrast.

Habe ich bereits geschrieben: Thomas S. schrieb im Beitrag #7807743:

Die Spannungen hast Du schon am Display selbst gemessen?

Cyblord -. schrieb:

Dann gibt man ein paar 4 Bit Muster aus und prüft direkt am LCD ob das korrekt ankommt. Dann prüft man RS/RW und E.

Und wie soll er das machen?

Wenn er das im Code nicht hinbekommt, sollte er erstmal lernen Code zu lesen. Und das DB vom Display.

#7808301
Lesenswert?

Cyblord -. schrieb:

Thomas S. schrieb:

Cyblord -. schrieb:

Erst prüft man Versorgung direkt am LCD. Dann Kontrast.

Habe ich bereits geschrieben: Thomas S. schrieb im Beitrag #7807743:

Die Spannungen hast Du schon am Display selbst gemessen?

Cyblord -. schrieb:

Dann gibt man ein paar 4 Bit Muster aus und prüft direkt am LCD ob das korrekt ankommt. Dann prüft man RS/RW und E.

Und wie soll er das machen?

Wenn er das im Code nicht hinbekommt, sollte er erstmal lernen Code zu lesen. Und das DB vom Display.

Das Ding ist doch fix und fertig, was soll er denn da am Code machen oder warum sollte er sich selber was aufbauen? Es ist ja nicht sein Code oder Hardwareprojekt, das ist ne fertige Steuerung! Das Display wird doch angesteuert. Nochmal, das Hauptmenü wird angezeigt.

Er soll sich sein 4x16 LCD besorgen und dann läuft das auch wieder.

#7808303
Lesenswert?

Max B. schrieb:

Das Ding ist doch fix und fertig, was soll er denn da am Code machen oder warum sollte er sich selber was aufbauen? Es ist ja nicht sein Code oder Hardwareprojekt, das ist ne fertige Steuerung!

Fertig schon, aber das neue Display musste er trotzdem irgendwie anschließen. Dabei kann was schief laufen oder irgendwelche Pins gar nicht verbunden sein.

Das Display wird doch angesteuert. Nochmal, das Hauptmenü wird angezeigt.

Er soll sich sein 4x16 LCD besorgen und dann läuft das auch wieder.

Will er ja nicht. Wäre zu einfach. Dann muss man tiefer eintauchen.

#7808684
Lesenswert?

Wolf-Dietmar P. schrieb:

Ja, dieses für rund 5 Euro + Porto, nachdem man sich eingeloggt hat. https://de.aliexpress.com/item/1005005699263608.html?

Da werden vier verschiedene angeboten. Welches meinst du?

Es wäre eben noch interessant zu wissen, was an dem Display durch Alterung kaputt geht.

Am ehesten wohl die Kontaktierung zwischen Platine und Glas, z.B. weil die Oberflächen oxidieren oder im Fall von "Zebra"-Gummi, weil das Material spröde wird. Mein Tipp: Bau's auseinander und guck nach.

#7808735
Lesenswert?

Das gezeigte Fehlerbild, ist identisch wie vor der Zebra Reparatur? Wenn ja, is das Display kaputt und feddig³!
Wenn nich, schon versucht der RC-Oszillator mal langsamer zu machen? Das Busy-Bit wird sicher nicht ausgewertet, zB. ein Curry-Return könnte hier Ärger machen...

#7811421
Lesenswert?

Wolf-Dietmar P. schrieb:

Wie versprochen, hier das Ergebnis.

Es ist alles Pin-kompatbel und läuft auf Anhieb. Die Hintergrundbeleuchtung läuft auf 5V mit 2mA (510 Ohm Vorwiderstand) Betriebsstrom.

Besten Dank nochmal für eure Bemühungen.

Hallo Wolf-Dietmar,

Glückwunsch zur erfolgreichen Instandsetzung.

Es würde mich das Model und Marke interessieren und ob es dazu noch eine Doku mit Bedienungshinweisen gibt. Mich interessiert die Art der Bedienung und Parametrisierung.

Das Bild von Dir zeigt einen Encoder. Hat der auch eine Druckfunktion? Ist der Encoder das einzige Bedienungselement oder gibt es noch abgesteckte Schalter auf der nicht gezeigten Frontplatte?

Der Grund meiner Frage ist, daß ich immer Ausschau nach existierenden und ergonomischen Bedienungskonzepten halte.

Sollte es nur den Knopf geben, liegt es nahe, daß man zuerst die Zeile selektiert, drückt um zur nächsten Ebene zu gelangen und dann zum Schluß Werte mit dem Encoder stellen und mit Druck dann quittieren. Liege ich da richtig oder blamiere ich mich damit?

Hat das User Handbuch detaillierte Beispiele zum Bedienungskonzept?

Gruß, Gerhard

#7811919
Lesenswert?

Wolf-Dietmar P. schrieb:

Das Gerät ist ein fertiger Solarregler: Wagner Sungo XL

Das beleuchtete Display ist grösser, deswegen habe ich das Plastikgehäuse mit einer Miniflex noch nachgearbeitet.

Danke. Das Handbuch enthält die gesuchten Bedienungsdetails. In den Bildern konnte man die zwei Drucktaster nicht sehen.

Diese Steuerung ist ein interessantes Teil. Um hier zweckmässig parametrisieren zu können, muss man sich augenscheinlich recht gut mit der Anwendung und deren Möglichkeiten auskennen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren