Forum: Mikrocontroller und Digitale Elektronik SSD1306 OLED an 5V I²C Bus?


von Stefan F. (Gast)


Lesenswert?

Es geht um folgendes Produkt: 
https://www.amazon.de/AZDelivery-Display-Arduino-Raspberry-gratis/dp/B01L9GC470 
(das ist die 128x64 Variante, es geht mir aber auch auch um den 
kleineren Bruder mit 128x32 Punkten).

Auf der Platine befindet sich ein 3,3V LDO für die Spannungsversorgung, 
jedoch scheinbar kein Pegelwandler.

Alle Anleitungen aus dem Arduino Umfeld und auch die von AZDelivery 
schließen den I²C Bus direkt an den Arduino Nano/Uno an. Ohne Pull-Up 
Widerstände, ohne Pegelwandler.

Gemäß Datenblatt https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf 
darf der I²C Bus aber nur mit 3,3V betrieben werden. So verstehe ich das 
jedenfalls. Andererseits kann es doch nicht sein, dass gefühlt hunderte 
Arduino Anleitungen im Netz alle lügen.

Oder etwa doch?

von Stefan F. (Gast)


Lesenswert?


von Arduinoquäler (Gast)


Angehängte Dateien:

Lesenswert?

Bei mir funktioniert es prächtig, also Display mit 3.3V versorgt
und die I2C Bus Signale direkt aus den Arduino Ports.

Auf meinen Displays sind auch nicht die Pegelanpasser à la
BSS138 drauf. Eine kurze Pegelmessung an den Lötanschlüssen
des Displays zeigt satte 5V Clock und Daten (trotz vorhandener
100 Ohm Längswiderstände), also das was der 328 hergibt. Also
keine Spannungsbegrenzung durch vermutete Schottky-Schutzdioden
- es funktioniert einfach.

YMMV

Vielleicht liegt es daran dass ich keine einzige Zeile Arduino-
Code verwendet habe ;-)

von Wahrheitsager (Gast)


Lesenswert?

Ja Stefanus. Auch wenn du es nicht glauben magst. Die SIND alle 
saublöde. Und nur weil man ein 3.3V Gerät mit 5V betreiben kann, ist das 
kein Grund, sich darüber zu freuen und ein Kündigungsgrund bei seriösen 
Herstellern.

Der xmega wird ja auch öfters mit 5V betrieben..... Basteleien halt.

Ich frage mich, wie hoch der Anteil der Geräte ist, die nach 2 Jahren 
kaputt sind. 10%? Oder vielleicht nur 5%? Sind bei einer Millionen 
Geräte doch grade mal läppische 50.000 Retouren. So what?

von M. K. (sylaina)


Lesenswert?

Stefanus F. schrieb:
> Auf der Platine befindet sich ein 3,3V LDO für die Spannungsversorgung,
> jedoch scheinbar kein Pegelwandler.

Das Schlüsselwort ist "scheinbar" ;)
Nur weil du sie nicht siehst bedeutet das nicht, dass sie nicht da sind. 
Den Controller selbst siehst du ja auch nicht, oder? ;)

von wurster (Gast)


Lesenswert?

Hat bei euch dieses kleine SSD1306 auch ein lästig hochfrequentes 
Geräusch des eingebauten Boost Converters?

von M. K. (sylaina)


Lesenswert?

wurster schrieb:
> Hat bei euch dieses kleine SSD1306 auch ein lästig hochfrequentes
> Geräusch des eingebauten Boost Converters?

Nö.

von Arduinoquäler (Gast)


Lesenswert?

M. K. schrieb:
> Nö.

Auch nö.

Aber das kann mit der Empfindlichkeitskurve des Gehörs für
hohe Frequenzen zusammenhängen die mit dem Älterwerden steil
nach unten geht.

von Stefan F. (Gast)


Lesenswert?

wurster schrieb:
> Hat bei euch dieses kleine SSD1306 auch ein lästig hochfrequentes
> Geräusch des eingebauten Boost Converters?

Nein

von Stefan F. (Gast)


Lesenswert?

M. K. schrieb:
> Den Controller selbst siehst du ja auch nicht, oder? ;)

Richtig, den sehe ich nicht. Es besteht die Möglichkeit, daß ein SSD1306 
kompatibler Controller drin ist, der im Gegensatz zum originalen SSD1306 
tatsächlich 5V erlaubt.

Das ist schon Sch***** wenn der Händler weder Datenblatt noch klare 
technische Daten mitliefert. Wenn man sich an den Fotos orientiert und 
es knallt, dann kann er Kackfrech antworten, dass der Arduino Nano in 
diesem Fall aber mit 3,3V betrieben wurde oder dass das Foto nicht 
maßgeblich sei.

von Jemand (Gast)


Lesenswert?

Ein bisschen spät meine Antwort, aber besser spät als nie:

I2C ist grundsätzlich Open Drain/Collector. Das heißt, sofern Pullups 
auf 3V3 im Modul verbaut sind, funktioniert jeder standardkonforme I2C 
Bus.

Man sollte hierbei aber sicherstellen, dass der Ausgang niemals auf 
Push/Pull geschalten wird.

von Jomand (Gast)


Lesenswert?

Jemand schrieb:
> I2C ist grundsätzlich Open Drain/Collector.

Jemand schrieb:
> Man sollte hierbei aber sicherstellen, dass der Ausgang niemals auf
> Push/Pull geschalten wird.

Das sind zwei Geheimnisse, die kanntest bisher nur du. Danke
dass du die Welt jetzt über den I2C Bus aufgeklärt hast.

von Xaver M. (priapos)


Lesenswert?

Das Datenblatt zu dem Display bei AZ-Delivery sagt:
The pins of 0.96 inch OLED display can be connected to either 3.3V or 5V 
logic and power supply without risk of damaging display.
https://cdn.shopify.com/s/files/1/1509/1638/files/0_96_Zoll_Display_Datenblatt_AZ-Delivery_Vertriebs_GmbH_241c4223-c03f-4530-a8c0-f9ef2575872f.pdf?v=1622442722

Ist auch mit 5V an VCC auf dem Bild angegeben (Seite 5), funktioniert 
auch mit mit 5V, wurde allerdings heiß bei mir (war ein sh1106), und 
funktioniert auch mit 3,3V tadellos, schon seit Wochen im Dauertest.
Unterschiedliche Angaben zu Bauteilen finde sind mir auch schon 
aufgefallen (zu einem Sensor), anscheinend schreibt da der eine vom 
Anderen ab, und baut (Flüchtigkeits)Fehler ein.

von Stefan F. (Gast)


Angehängte Dateien:

Lesenswert?

Xaver M. schrieb:
> The pins of 0.96 inch OLED display can be connected to either 3.3V or 5V
> logic and power supply without risk of damaging display.

Dieser Satz ist mindestens irreführend, eher falsch. Siehe Datenblatt 
des OLED (erstes Bild) und Datenblatt des SSD1306 (zweites Bild).

Für die Stromversorgung hat das Display-Modul einen LDO Spannungsregler. 
An den Signal-Leitungen hängen Pull-Up Widerstände auf die (3,3V) 
Versorgungsspannung des Displays.

Der direkte Anschluss an Arduino Boards ist deswegen möglich, weil die 
Logiksignale ihren HIGH Pegel aus diesen Pull-Up Widerständen beziehen 
und nicht aktiv mit 5V angetrieben werden. Der Betrieb an einem 5V I²C 
Bus ist nicht möglich.

von Hans (Gast)


Lesenswert?

Hallo
Leider scheint das bei diesen anbietern normal zu sein. Es gibt keine 
konkreten Angaben zu den Spannungen, in den Technischen Unterlagen sind 
auch keine Angaben drin.
Beispiel: AZ verkauft das GY-302, ist eine kleine Platine mit dem BH1750 
zur Helligkeitsmessung. Auf der Platine ist ein LDO von 5V auf 3,3V. 
Dazu 2 Widerstände von 3,3V zu SDA und SCL. Das Modul soll auch mit 5V 
laufen. Das stimmt schon, doch wenn der I2C Bus auf 5V läuft was 
passiert mit dem IC, den Widerständen und meiner gesamten Schaltung. 
Könnten ja noch andere Module z.B. Anzeige mit einem Bus von 5V drauf 
sein.
Leider gibt es von AZ nur das grosse Schweigen dazu. Da wird es wohl ein 
anderes Produkt werden was wirklich 5V verträgt.

von Stefan F. (Gast)


Lesenswert?

Hans schrieb:
> Leider gibt es von AZ nur das grosse Schweigen dazu.

Schaltpläne sind dort auch Mangelware, die muss man sich ergoogeln.

Als ich meine Displays kaufte, erwartete ich das versprochene Büchlein 
das als Anleitung dabei sein sollte. Bekommen habe ich aber nur einen 
Link auf eine Webseite, die nur sehr spärliche Informationen enthielt. 
Da war ich vor dem Kauf mit den ersten drei Google Ergebnissen bereits 
weiter gekommen.

von Xaver M. (priapos)


Lesenswert?

Stefan ⛄ F. schrieb:
> Als ich meine Displays kaufte, erwartete ich das versprochene Büchlein
> das als Anleitung dabei sein sollte.

Das ist bei AZ-Delivery zwar sehr gut beabsichtigt, dafür aber schlecht 
gemacht. Die ganzen Unterlagen bekommt man auf der Webseite von denen, 
die "kauft" man im Shop für 0 Euro, da gibt es dann gleich einen Link 
zum runterladen, und in einer Mail später noch einen.

Allerdings, und das muss ich auch sagen, sind die sehr Kulant. Ich habe 
mir mal bei Amazon ein 4 Relaismodul von denen gekauft wo eine LED nicht 
funktionierte, und es gab anstandslos eine Ersatzlieferung.

Als Newbee bin ich allerdings auch immer erschlagen von der Unmenge an 
Infos die es zu allem gibt. Auf der Herstellerseite des GY-21 Sensors 
erfährt man z.b. auch das der Sensor eine Heizung hat, was auch die 
meisten Wiederverkäufer unterschlagen.

von Olaf (Gast)


Lesenswert?

> Leider scheint das bei diesen anbietern normal zu sein.

Was erwartet ihr? Das sind selbst Bastler die sich selbstaendig gemacht 
habt.
Die wiederum verkaufen an andere Bastler wovon mindesten 50% zu doof 
oder zu faul sind das Datenblatt der ICs zu lesen.

Es gibt jede Menge Firmen die auch Industriequalitaet liefern. Aber da 
koenntet ihr dann sofort eine 0 an jeden Preis dran haengen.

Ihr koennte ja mal hier schauen:
https://www.lcd-module.de

Wuerde AZ-Delivery auf demselben Level liefern und dokumentieren waeren
sie auch aehnlich teuer.

Olaf

von Manfred (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Siehe Datenblatt
> des OLED (erstes Bild) und Datenblatt des SSD1306 (zweites Bild).

Damit hast Du Deine zwei Jahre alte Frage beantwortet!

Man kann es weiterdenken: Der Mastercontroller hat 
Open-Collector-Ausgänge, also kann ein 5V-µC das 3,3V-Display schadlos 
steuern, PullUps sind ja drauf.

Wenn ich nun eine weitere I2C-Baugruppe an den Bus klemme, die an 5 Volt 
läuft und ebenfalls PullUps hat, wird das kritisch und man verlässt den 
zulässigen Bereich. Sind beide PullUps gleich groß, würde ich am Knoten 
4,15V erwarten - oder auch nicht, wenn das 1306 Schutzdioden nach Plus 
hat und darüber evtl. seine Betriebsspannung unzulässig angehoben wird.

Bei den arduinotypischen Einzelstücken diskutiere ich nicht, da kommt 
für unter einem Euro ein Pegelwandlerplatinchen zwischen und gut 
gewesen.

von Stefan F. (Gast)


Lesenswert?

Manfred schrieb:
> Damit hast Du Deine zwei Jahre alte Frage beantwortet!

Ja stimmt, inzwischen weiß ich mehr über diese Displays als damals.

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.