Ansteuerung I2C-LCD Modul

Hi,

wenn ich mit einem 3,3V Arduino ein I2C-LCD Modul ansteuern will:
Also so wie in dem Bild mit einem 5V-UNO gezeichnet.
Kann ich dann die I2C-Signale (SCL,SDA) direkt verbinden, oder muss da noch ein Levelshifter dazwischen?

i2c.jpg

Was ist bei dir VCC? Wenn du das I2C Modul mit 3V3 versorgst, kannst du das ganze so betreiben. Es dürfen aber keine Buskomponenten mit 5V Pegeln daran angeschlossen werden.

Jedoch kann es bedingt zu Problemen mit dem Display kommen. Das möchte gerne in den meisten fällen ~5V für den Kontrast haben. Hatte mir auch schonmal entsprechende 3V3 LCD Displays geordert. Leider liefen die nicht ganz so prinkeln (Kontrast recht schwach). Abhilfe hat soweit ich mich erinnere eine Konstantsstromquelle (1mA) gebracht. Da bin ich mir gerade nicht sicher und hab die Unterlagen nicht parat.

Ich bastel gerade an einen kleiner Platine für die Displays, welche über I2C/SPI/UART angesteuert werden kann. Auf dem sitzt dann ein Attiny841 der alle Ansteuerungsaufgaben komplett übernehmen soll.

Lediglich die Versorgungsspannung ist noch nicht erledigt.
Geplant ist eine Eingangsspannung von 2,5V - 5,5V. Sollte die Konstantstromquelle ausreichend funktionieren, sollte das Display auch mit der niedrigeren Spannung laufen.

Ich hatte irgendwo die Information gefunden, dass die Displays deutlich unter 5V laufen können. Zwar nimmt dann die interne Takt des HD44870 ab, jedoch hat dieses keine ersichtlichen Auswirkungen.

sschultewolter:
Was ist bei dir VCC?

5V

Eben darum mach ich mir ja Gedanken

Wenn VCC 5 Volt ist, ist es doch kein 3,3 Volt Arduino.
Oder versteh ich da etwas falsch.

Wenn ja, warum nimmst du keinen 5 Volt Arduino?

VCC-Arduino ist 3,3V
VCC-I2C-LCD-Modul und damit VCC-LCD-Display ist 5V

Ich glaub ich klemm noch so was dazwischen:
Klick mich

Könnte man dann eigentlich vor dem Levelshifter noch auf 3,3V I2C-Module abzweigen?

hk007:
VCC-Arduino ist 3,3V
VCC-I2C-LCD-Modul und damit VCC-LCD-Display ist 5V

Ok, verstanden
Nochmal die Frage: Warum setzt du keinen 5 Volt Arduino ein?

HotSystems:
Nochmal die Frage: Warum setzt du keinen 5 Volt Arduino ein?

Wäre dann die Alternative.

hk007:
Wäre dann die Alternative.

War das deinerseits eine Frage?

Nö,
ne Feststellung.

Ok, aus meiner Sicht, macht es keinen Sinn, einen 3,3 V Ardu mit einem 5 V LCD zu verbinden. Der Stromverbrauch kann ja nicht der Grund sein.
Also ist doch der Einsatz eines 5 V Ardus einfacher, weil keine Spannungsanpassung nötig ist.

Sorry, habe dein Edit mit dem Levelshifter jetzt erst gesehen.
Das geht damit natürlich auch und du kannst auf jeder Seite entsprechende i2c-Clients die der Spannung entsprechen, anschliessen. Nur finde ich das Teil recht teuer. Aber ok, es soll ja einfach sei. :wink:

HotSystems:
Nur finde ich das Teil recht teuer.

Der Link war ja nur ein Beispiel.
Aber hast Recht, für 5 Teuros würd ichs auch nicht kaufen. Aber ich hab mich ja schon vor einiger Zeit beim Chinamann damit eingedeckt. :slight_smile:

Das funktioniert bei mir problemlos, I2C am 3.3V uC, Versorgungsspannung des Display 5 V, gemeinsame Masse. Beim von mir verwendeten uC waren nicht mal Pullups nötig.

Kann aber sein, dass andere uC nicht so tolerant sind, da ist der Levelshifter keine schlechte Idee.

Praktische Erfahrung habe ich mit dieser Konstellation nicht.

Diese Seite ist Dir sicherlich bekannt.

Wenn das 5V-LCD-Display interne Pullup-Widerstände hat, müßte man diese unwirksam machen. Wenn die Pullup-Widerstände intern beim Arduino oder extern an 3,3 V hängen, kann es lt. Link funktionieren, wenn die Logik des LCD-Displays 3,3 V als High erkennt. Möglicherweise könnten kleinere Pullup-Widerstände parallel zu den internen des Arduino helfen.

Wenn mehrere "Verbraucher" am Bus hängen, ändern sich die Verhältnisse.

mess doch einfach nach, welche Spannung am I2c Bus anliegt.

Falls es durch Pullups auf 5V ist, kann mann dann nicht mit geeigneten externen Pulldowns die auf 3,3V runterziehen ?

Oder grosse Widerstände in die Busleitungen?

Eine Alternative wäre es, die PullUps vom I2C Modul zu entfernen und am Pro Mini diese anzulöten. Auf den orginalen Pro Minis sind die Pullups auf der Rückseite neben A4/A5 anzulöten. Der PCF sollte bei 3V3 noch problemlos High erkennen können.