Forum: Mikrocontroller und Digitale Elektronik mein Display spinnt


von Roland K. (rolki)


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.

: Verschoben durch Moderator
von Johannes T. F. (jofe)


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 ...

von Roland K. (rolki)


Lesenswert?

Jau, das Teil hier->
https://www.az-delivery.de/en/products/serielle-schnittstelle?variant=27476225289

Weis nicht wie verschieben, bitte verschieben, danke.

von Christoph db1uq K. (christoph_kessler)


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

: Bearbeitet durch User
von Christian S. (roehrenvorheizer)


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

: Bearbeitet durch User
von Kilo S. (kilo_s)


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.

: Bearbeitet durch User
von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Christian S. schrieb:
> 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.

Yep.
LEDs dran und gucken.

ciao
gustav

von Roland K. (rolki)



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.

: Bearbeitet durch User
von Kilo S. (kilo_s)


Lesenswert?

Hast du Alternativ einen Spindeltrimmer mit 10K?

Vielleicht hilft es schon den Kontrast genauer einstellen zu können.

von Hugo H. (hugo_hu)


Lesenswert?

Hier mal geschaut?

https://www.arduino-projekte.de/index.php?n=77

Ein(en) Poti / Trimmer für den Kontrast solltest Du schon einsetzen ...

von Kilo S. (kilo_s)


Lesenswert?

Hugo H. schrieb:
> Ein(en) Poti / Trimmer für den Kontrast solltest Du schon einsetzen ...

Ist doch auf der PCF Platine drauf, nur eventuell nicht genau genug.
Die Kontrasteinstellung kann Durchaus ein wenig fummelig sein. Selbst 
erlebt bei billigen potis.

: Bearbeitet durch User
von H. H. (Gast)


Lesenswert?

Kilo S. schrieb:
> Selbst erlebt bei billigen potis.

Nicht selten DOA.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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.

: Bearbeitet durch Moderator
von Roland K. (rolki)


Angehängte Dateien:

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 😊

: Bearbeitet durch User
von Joachim B. (jar)


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.

: Bearbeitet durch User
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.