mein Display spinnt

OP #7366811
Lesenswert?

Hallo zusammen, hoffe auf Eure Hilfe.

Habe endlich mal mein Display, was ich mir vor Jahren gekauft hatte aktiviert. Das Teil hat mir echt Probleme bereitet. Zunächst mal das Raster im 2,0 mm Format und nicht Steckboard Kompatibel. Habe mir dann einen Adapter gefräst und mit Arduino Nano dann auf Steckboard zusammen gesteckt und angesteuert.

Obwohl alle Kontakte richtig angeschlossen waren, wollte es einfach nicht klappen. Dann lass ich hier irgend wo im Forum einen alten Thread und da schrieb jemand von Zeilen Initialisierung. Also man muss dem Teil sagen das es ein 4 Zeiliges Display ist. Habe mich noch niemals um so etwas gekümmert. Jedes Display was ich hatte, habe ich einfach Standard mäßig angesteuert mit dem 51er Assembler Code. Das hat immer sehr gut geklappt. Ok nun gut, also habe ich dieses Bit für die 4 Zeilen gesetzt und bums sofort waren die 4 Zeilen da und das Teil funktioniert einwandfrei.

Dann dachte ich, jetzt will ich mein altes Blau/weiß Display auch gleich mal testen und kaufte mir eine kleine Platine zum Ansteuern per Serial um die vielen Pins zu sparen.

Leider vergaß ich dieses Bit wieder zu entfernen (vorher funzte das Display nämlich ohne was an der Lybrary zu ändern)

Aber kurz und gut es zeigt nur noch die erste und die dritte Zeile oder gar nichts, sobald ich das Zeilen Bit nach dem Datenblatt setze.🤣🤣🤣

Hat jemand ne Ahnung was das sein könnte oder was ich da falsch mache?

Bei dem Display handelt es sich um ein 4x20 Zeichen Display mit blauem Hintergrund und weißer Schrift. EA W204B-NLW von Electronic Assembly

Hier das Datenblatt-> https://files2.elv.com/public/10/1072/107266/Internet/107266_blueline-w_data.pdf

Verwendet habe ich die neuste LiquidLCDlybrary_I2C für Arduino.

Dann natürlich ganz normal Init und Prints, falls Code gewünscht poste ich den - Aber es liegt nicht daran, sondern an dem Init. Irgend etwas habe ich da im Display überschrieben, was nicht flüchtig gespeichert ist k.A.

#7366872
Lesenswert?

Roland K. schrieb:

Hier das Datenblatt-> https://files2.elv.com/public/10/1072/107266/Internet/107266_blueline-w_data.pdf

Da scheint ein HD44780-kompatibler Controller verbaut zu sein. Der hat nur flüchtige Speicher a.k.a. RAM.

Roland K. schrieb:

und kaufte mir eine kleine Platine zum Ansteuern per Serial um die vielen Pins zu sparen.

Was für eine? Mit einem PCF...?

@Admins, bitte in das Forum „µC & Elektronik“ verschieben ...

#7366954
Lesenswert?

LiquidLCDlybrary_I2C für Arduino dem Datenblatt nach hat der keinen I2C-Bus, sondern den normalen 4/8 Bit Bus Ansteuern per Serial auch das ist nicht die übliche Bezeichnung für einen I2C-Bus, also auch kein PCF...

Aber die verlinkte Platine hat einen I2C-Bus und einen PCF8574T, also tatsächlich ein I2C-Bus, https://www.arduinolibraries.info/libraries/liquid-crystal-i2-c https://cdn.shopify.com/s/files/1/1509/1638/files/Serielle_Schnittstelle_I2C_fur_LCD_Displays_Datenblatt.pdf?1765968751774050831

for LCD Display 1602 and 2004

#7366994
Lesenswert?

Roland K. schrieb:

Also man muss dem Teil sagen das es ein 4 Zeiliges Display ist.

Das Display ist dumm und muß vom Anweder die Schlauheit einprogrammiert bekommen. Andererseits sind die verwendeten Controller für unterscheidliche Gläser oder Anzeigen vielfältig umschaltbar ausgestaltet.

Habe mich noch niemals um so etwas gekümmert.

Das wäre eigentlich die Grundlage aller Kenntnisse zur Ansteuerung von Displays gewesen.

Roland K. schrieb:

Irgend etwas habe ich da im Display überschrieben, was nicht flüchtig gespeichert ist

Normalerweise haben die Displays keinen nichtflüchtigen Speicher. Also alles muß bei der Initialisierung eingestellt werden oder im Nachgang für unterschiedliche Modi neu eingestellt werden.

Roland K. schrieb:

und kaufte mir eine kleine Platine zum Ansteuern per Serial um die vielen Pins zu sparen.

Wenn du nicht weißt oder am Quellcode erkennst, welche Pins wie angesteuert werden, kannst Du dies auch schrittweise durch Beobachtung der Pegel an den Ausgangspüins heraus finden. Anscheinend paßt das Verhalten der seriellen Platine nicht zu dem Verhalten, das die Lib erwartet oder man kann an der Lib noch Einstellungen vornehmen.

mfg

#7367017
Lesenswert?

Das kommt mir bekannt vor.

Ich hab anfangs auch Probleme mit solchen Displays gehabt. Beim letzten durch einen Sturz sogar ein neu justieren der leitgummis und des Anpressdruck des Rahmen damit das Dingen wieder funktioniert!
Das hat ähnliche Symptome (nur halb, bestimmte Reihen oder Zeilen) gehabt obwohl das Programm selbst in Ordnung war.

Schreibe in einer einfachen Loop immer wieder das ganze Display vollständig voll und drück mal vorsichtig in alle Richtungen auf den Rahmen des Display. Wenn sich dadurch irgendwann eine Stelle findet an der das Display komplett geschrieben und angezeigt wird oder sich die stellen Verschieben liegt's an verrutschen oder nicht stark genug angepressten leitgummis.

Das kann(!) schon durch das anlöten des PCF Passieren, beispielsweise wenn man durch Zufall zu fest mit dem Finger auf die leitgummis (Bein festhalten zb.) drückt.

OP #7367563
Lesenswert?

Hi Leute, gestern Abend habe ich noch mal alles nach gesehen und konnte nichts feststellen alle Drähte stecken wo sie sollen. Es hatte ja auch schon gefunzt.

Dann habe ich am Poti an der angelöteten PCF Platine rum gedreht und putzig, ganz schwach zuerkennen, sind alle Prints in der richtigen Zeile.

Nur der Kontrast geht bei 4 Zeilen fast weg und lässt sich nicht heller regeln nur ganz weg.

Habe mal den inoffizillen Befehl >>SetContrast(0-255)<< getestet - aber keine Reaktion.

Wenn ich Bit 5 von Funktion Set wieder auf Null setze, gehen wieder nur die 1te und die 3te Zeile - aber der Kontrast geht wieder normal ?!?😍?!?

Hänge mal Bilder an.

Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #7367834
Lesenswert?

Roland K. schrieb:

gehen wieder nur die 1te und die 3te Zeile - aber der Kontrast geht wieder normal

Ich würde einfach mal in beiden Fällen die Spannung am Kontrastspannungsanschluss des Displays messen.

Und miss auch mal die Versorgungsspannung. Wenn die zu niedrig ist, kannst du auch mit GND am Kontrastspannungsanschluss nicht die nötige "negative Spannung gegenüber Vcc" (so ist die Kontrastspannung üblicherweise definiert) aufbringen.

OP #7368794
Lesenswert?

Des Rätzels Lösung: die Spannung war der richtige Tipp! 😊

Habe erstmal am Kontrasteingang gemessen und da war die Spannung nahe NULL Volt. Poti in die andere Richtung bis Anschlag gedreht und 3,6 V gemessen, kratz Kopf ?!?

Dann habe ich alle Verbraucher zusammen gerechnet und da war es 2 x ein Display und 2 x ein PCF und der kleine König, der wahrscheinlich nur 100mA angefordert hatte über USB.

Dann habe ich gleichmal die Polyswitch (selbst heilende Sicherung) aus getauscht in eine 250er und ein Elko 25V/500µF eingesteckt. Aber an der Spannung hat sich trotzdem nicht viel geändert.

Dann habe ich ein Netzteil 5V/1000mA eingesteckt und da war das Display gleich am Leuchten, hänge mal Foto an.

Im Nachhinein, grenzt es an ein Wunder, das da überhaupt was geleuchtet hat.

Wahrscheinlich war es aber so, das 2 Zeilen des Displays gerade soviel Strom verbrauchten, das es gerade noch ging mit dem Kontrast aber vier Zeilen einfach zu viel waren.

Die falsche Fährte war gelegt, weil ich mich darauf verlassen hatte, das da Spannung und Strom genug vom USB rein kommt.

Und anscheinend nur das Umschalten von 2 auf 4 Zeilen auf ein Software Problem hinzuweisen schien. Aber dem war nicht so !

Vielen Dank für Eure Hilfe 😊

Angehängte Dateien:
#7368812
Lesenswert?

Roland K. schrieb:

Die falsche Fährte war gelegt, weil ich mich darauf verlassen hatte, das da Spannung und Strom genug vom USB rein kommt.

das mag ja auch reichen, nur deine Kabel auf dem Steckbrett sehen nach den typischen Eisenkabeln aus, einfach mal mit Magnet testen. Die haben viel mehr Widerstand und dann noch Kontaktübergangswiderstände, da dürfte die Spannung recht schnell nicht ausreichend am Ziel ankommen. Ganz oft wird auch bei USB Kabel am Kupfer gespart, wenn da schon 1V abfällt von den erwarteten 5V wirds schnell unlustig.

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