Pages: [1]   Go Down
Author Topic: Probleme mit LCD-Initialisierung (I2C-LCD)  (Read 769 times)
0 Members and 1 Guest are viewing this topic.
Chemnitz/Saxony/Germany
Offline Offline
Full Member
***
Karma: 0
Posts: 107
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo zusammen,

ich habe eine 16x2-LCD (HD44780), welches ich via I2C-LCD-Adapter (der übliche PCFxxxx-Decoder) an einem Arduino Leonardo betreibe. Montiert ist das LCD samt Adapter auf nen Protoshield, also kurze Kabelwege (2-3cm).

Im Wesentlichen funktioniert das Ganze auch zufriedenstellend, wenn denn der Anlauf geklappt hat. Ich habe oftmals nach Anlegen der Versorgungsspannung das Problem, das wirre Zeichen auf dem LCD stehen und auch bei Zuweisung anderer Anzeigewerte nur andere wirre Zeichen dargestellt werden. Ein Resetten des Arduino bringt meistens Abhilfe, manchmal aber auch erst der 2. oder 3. Reset. Danach läuft alles ohne weitere Macken.

Mir fehlt grad der Ansatz, wie ich das in den Griff bekommen könnte.

Logged

Germany
Offline Offline
Full Member
***
Karma: 3
Posts: 126
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

nach welcher Schaltung hast Du das aufgebaut?

Denke daran, dass der PCF8574 'Open Collector'-Ausgänge hat, d.h. es müssen alle Ausgänge auf logisch '1' gesetzt werden, damit sie auf GND gezogen werden.
Evtl. werden hier auch noch Pull-Up-Widerstände (z.B. 10 K-Ohm) benötigt.

Pull-Up-Widerstände für SDA und SCL vorhanden?


Gruß

Martin
Logged

Germany, Dresden
Offline Offline
Sr. Member
****
Karma: 14
Posts: 385
30 Jahre Elektronikbastelei, Programmieren null Ahnung!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Die China I2C Adapter haben auch keinerlei Pufferkondensator. Parallel zwischen 5V und Masse auf der Adapterplatine gehört noch ein 100nF Keramik-C und ein 47µF Elko. Kostet fast nix und erspart einem u.U. eine umständliche Fehlersuche.
Auf den Chinaplatinen ist nicht mehr, als zur unbedingten Funktion notwendig ist - also nicht zur sicheren Funktion  smiley

Gruß Gerald
Logged

rot ist blau und Plus ist Minus

Offline Offline
Edison Member
*
Karma: 30
Posts: 2164
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Mit welchem Sketch bekommst du die Probleme? Was hast du noch am I2C angeschlossen? Mein Panel läuft ohne 100nF sehr gut und fehlerfrei, selbst mit 4 Einzeladern ohne Schirm bei 50cm Länge
Logged

Kein technischer Support über die Private Nachricht!

Germany S-H
Offline Offline
Faraday Member
**
Karma: 135
Posts: 2862
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ein Resetten des Arduino bringt meistens Abhilfe, manchmal aber auch erst der 2. oder 3. Reset. Danach läuft alles ohne weitere Macken.

Mir fehlt grad der Ansatz, wie ich das in den Griff bekommen könnte.

Es gibt ja mittlerweile so ungefähr eine handvoll verschiedener I2C-Libraries zur Ansteuerung von LCDs über I2C. Mit Standard-Pinbelegung, für abweichende Pins an den Adaptern, Libraries mit erweiterten Funktionen, Libraries die besonders schnell sein sollen, Libraries die außer Arduino noch andere Mikrocontroller unterstützen, ich weiß gar nicht was alles.

Hast Du alle diese verschiedenen Liquidcrystal-I2C-Libraries ausprobiert und alle Libraries zeigen dieselben Fehler mit Deinem LCD?

Ich selbst verwende diese Library, die einfach nur die Standard-Liquidcrystal-Library von 2009 ist, umgeschrieben auf I2C:
http://hmario.home.xs4all.nl/arduino/LiquidCrystal_I2C/LiquidCrystal_I2C.zip
Bei mir funktioniert diese Library mit zwei verschiedenen Adaptern und verschiedenen billigen China-Modulen mit schwarz-grün und weiß-blau Darstellung völlig einwandfrei.
Logged

Chemnitz/Saxony/Germany
Offline Offline
Full Member
***
Karma: 0
Posts: 107
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich selbst verwende diese Library, die einfach nur die Standard-Liquidcrystal-Library von 2009 ist, umgeschrieben auf I2C:
http://hmario.home.xs4all.nl/arduino/LiquidCrystal_I2C/LiquidCrystal_I2C.zip
Bei mir funktioniert diese Library mit zwei verschiedenen Adaptern und verschiedenen billigen China-Modulen mit schwarz-grün und weiß-blau Darstellung völlig einwandfrei.

SainSmart liefert genau diese Lib mit aus, nur ein paar Konstanten in der Header-File sind anders deklariert.

Ich werde erst mal die Puffer-Cs ergänzen, dann sehen wir weiter.
Logged

Offline Offline
God Member
*****
Karma: 14
Posts: 541
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Denke daran, dass der PCF8574 'Open Collector'-Ausgänge hat, d.h. es müssen alle Ausgänge auf logisch '1' gesetzt werden, damit sie auf GND gezogen werden.

Hallo,

ich habe gerade mal im Datenblatt geschnüffelt, hab' aber keine Erwähnung von Open-Collector-Ausgängen gesehen. Lediglich der Reset-Pin hat einen Open-Drain-Ausgang. Habe ich da was übersehen? Auf dem Breadboard schaltet der Chip einen Pin auf 5V, wenn ich ein HIGH sende (also das entsprechende Bit auf 1), und auf GND, wenn ich ein LOW (das entsprechende Bit auf 0) sende. Lediglich, wenn ein Pin als Eingang verwendet wird, benötigt er einen Pull-Up-Widerstand. Benutzt habe ich folgendes Datenblatt: http://www.ti.com/lit/ds/symlink/pcf8574.pdf

Gruß,
Ralf

PS. Habe ich gerade vergessen - Ich habe auch ein I²C-Display in Benutzung. Bei mir funktioniert folgende Lib: https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads. Vielleicht hilft die ja auch dem TO weiter.
« Last Edit: August 28, 2013, 03:26:32 pm by Schachmann » Logged

Es gibt 10 Arten von Menschen, die einen verstehen Binär, die anderen nicht...

Offline Offline
Faraday Member
**
Karma: 98
Posts: 3538
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Die I/Os sind bi-direktional. Können daher gar nicht OC sein. Auf Seite 3 ist ein Port skizziert. Ganz normale CMOS Technik mit zwei komplementären FETs.

Und es ist der Interrupt-Ausgang der Open Drain ist.
Logged

Offline Offline
God Member
*****
Karma: 14
Posts: 541
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ja klar, sorry, hab' mich ver"sprochen", natürlich ist es der Interrupt-Pin.

Gruß,
Ralf
Logged

Es gibt 10 Arten von Menschen, die einen verstehen Binär, die anderen nicht...

Pages: [1]   Go Up
Jump to: