Forum: Mikrocontroller und Digitale Elektronik OLED Display 2.42'' SSD1309 SPI mit oder ohne Level Shifter


von Andreas S. (igel1)



Lesenswert?

Liebe Forengemeinde,

ich habe folgendes einfarbige OLED Display 2.42'' in der SPI-Version: 
https://de.aliexpress.com/item/1005006473260235.html

Wenn ich alles richtig verstehe, so ist dort neben dem Display ein 
SSD1309-Controller mit ein wenig Hühnerfutter verbaut.

Das Datenblatt des SSD1309 Controllers lese ich so, dass der an seinen 
Logik-Eingängen (D0, .... D7, CS, D/C, RES, ...) eigentlich nur 3,3V 
verträgt, siehe S.52: https://www.buydisplay.com/download/ic/SSD1309.pdf

Auch sehe ich im Schaltplan meines OLED Displays keinen eingebauten 
Level Shifter, siehe ersten Link oder angehängtes Bild.

Trotzdem scheint alle Welt diese Displays direkt mit den 5V Ausgängen 
von Arduinos & Co anzusteuern.

Wo ist mein Denkfehler?

Außerdem scheint mir der VDD-Pin des Moduls eingangsseitig an einem 
XC6206 Spannungsregler zu hängen. Daher nehme ich an, dass ich das Teil 
mit 3,6V ... 6V versorgen muss - auch dort finde ich Schaltbilder im 
Internet, die Ihre Module mit 3.3V versorgen.

Was ist richtig?  Habt Ihr Erfahrungen mit diesen Display-Modulen?

Viele Grüße

Igel1

PS: Bitte nicht irritieren lassen, die Bezeichnungen der Pins VDD und 
VSS auf der Platine scheinen falsch zu sein (passt jedenfalls nicht so 
recht zu Schaltplan). Es müsste Vcc und GND heißen, also einfach im Kopf 
ersetzen: VDD->Vcc und VSS->GND.

: Bearbeitet durch User
von Harald K. (kirnbichler)


Lesenswert?

Abgesehen davon, daß der (wirklich lausige) "Schaltplan" die I2C-Version 
zeigt (Pullups an SCL und SDA), sehe ich Deine Einwände genauso.

Du solltest also entweder Deinen Arduino auch einfach mit 3.3V betreiben 
oder aber einen Widerstandsteiler in die vom Arduino zum Display 
gehenden SPI-Leitungen einsetzen. Sollte das Display auch Daten 
zurücksenden, könnte es sein, daß Du einen Levelshifter von 3.3V->5V für 
diese einzelne Leitung benötigst.

von Wulf D. (holler)


Lesenswert?

Ich würde auch die Betriebsspannung des Arduino auf 3,3V senken, wenn 
der auf AVR-Basis aufgebaut ist, funktioniert das mit Sicherheit.
Hatte auch gerade ein SSD1309-OLED Display mit dieser Auflösung verbaut, 
allerdings direkt mit einem AVR (ohne Arduino-Umgebung) und mit 
kleinerer Display-Größe bei gleicher Auflösung, auch via I2C angebunden.

Mich würde die Helligkeit deines Displays interessieren, ist das 
tageslicht-tauglich?
Meine 0.96" Displays sind ziemlich dunkel, haben aber auch fast nichts 
gekostet. In Innenräumen aber gut verwendbar.

von Andreas B. (bitverdreher)


Lesenswert?

Andreas S. schrieb:
> Trotzdem scheint alle Welt diese Displays direkt mit den 5V Ausgängen
> von Arduinos & Co anzusteuern.

Willkommen in der Arduino Welt. Da jucken Specs und Datenblätter wenig.

Harald K. schrieb:
> Du solltest also entweder Deinen Arduino auch einfach mit 3.3V betreiben
+1

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

Ah - prima:   danke erst einmal, dass Ihr Euch die Mühen gemacht habt, 
meine Gedanken/Bedenken nachzuvollziehen!

Dann lag ich also richtig mit meiner Vermutung, dass all diejenigen, die 
die Datenleitungen Ihres 5V - Arduinos direkt mit so einem 
SSD1309-basierten Display verbinden, das Teil außerhalb der Spec 
betreiben.

Ich habe bei meiner Internet-Suche wirklich niemanden gefunden, der 
einen Level Shifter dazwischengeschaltet hatte - daher war ich so 
irritiert.
Daher hat Bitverdreher wohl recht, wenn er schreibt:

> Willkommen in der Arduino Welt. Da jucken Specs und Datenblätter wenig.

Weiterhin schrieb
Harald K. im Beitrag #7641638:
> Abgesehen davon, daß der (wirklich lausige) "Schaltplan" die I2C-Version
> zeigt (Pullups an SCL und SDA), sehe ich Deine Einwände genauso.

Die Pullups sind auf auf dem Modul - genau so wie im Schaltplan 
eingezeichnet verbaut - hab's gerade durchgemessen. Dürften da Eurer 
Meinung nach bei einer SPI-Schnittstelle keine Pullups sein?

> Du solltest also entweder Deinen Arduino auch einfach mit 3.3V betreiben

Ah, interessant - wusste gar nicht, dass man das machen kann.
Danke für den Tipp!

Das wäre in der Tat eine Möglichkeit, dann müsste ich mir allerdings 
noch eine zusätzliche Spannungsquelle für die 5V Versorgung des Moduls 
basteln, denn ich kann ja schlecht 3.3V an den VDD-Pin des Moduls 
anlegen, weil dahinter ja der besagte XC6206 Spannungsregler sitzt, der 
gerne seine 3,6V ... 6V sehen möchte.

Oder ich brücke einfach den eingebauten XC6206 und speise meine 3.3V, 
mit denen ich den Arduino betreibe, dort direkt ein (gefällt mir gerade 
nicht so gut, weil ich eigentlich das Modul nicht verändern wollte).

> oder aber einen Widerstandsteiler in die vom Arduino zum Display
> gehenden SPI-Leitungen einsetzen.

Na das ist gar nicht mal so unkritisch, weil im Modul ja 4,7k 
Pullup-Widerstände sitzen, die einen Spannungsteiler arg nach oben 
ziehen.

Um die High- bzw. Low-Level des SSD1309 Datenblatts mal gerade so eben 
zu erreichen (Vlow = 0,1xVDD und Vhigh = 0,9xVDD) müsste ich eine Teiler 
aus 470 Ohm + 820 Ohm einbauen. Und das schmeckt mir  auch nicht so 
recht, weil der recht niederohmig ist und zudem die High- und Low-Level 
nur so gerade eben einhält - und das auch nur, wenn wirklich 5V aus den 
Arduino -Ausgängen rauspurzeln.

Ich glaube, ich nehme da eher einen aktiven Level Shifter mit MOSFET.
So etwas hier: Beitrag "BSS138 Level shifter".
Ärgerlich nur, dass ich meine Level Shifter gerade in meinem Chaos nicht 
wiederfinde ...

> Sollte das Display auch Daten
> zurücksenden, könnte es sein, daß Du einen Levelshifter von 3.3V->5V für
> diese einzelne Leitung benötigst.

Yep, diese MOSFET-Patentlösung ist bidirektional.
Allerdings habe ich bislang keinen Rückkanal vom Display ausgemacht.

Außerdem schrieb
Wulf D. im Beitrag #7641683:
> Ich würde auch die Betriebsspannung des Arduino auf 3,3V senken, wenn
> der auf AVR-Basis aufgebaut ist, funktioniert das mit Sicherheit.

... wie schon geschrieben: mir fehlt dann eine 5V Speisung für den 
XC6206.

> Hatte auch gerade ein SSD1309-OLED Display mit dieser Auflösung verbaut,
> allerdings direkt mit einem AVR (ohne Arduino-Umgebung) und mit
> kleinerer Display-Größe bei gleicher Auflösung, auch via I2C angebunden.

"auch via I2C angebunden" passt nicht ganz, denn ich werde mein Display 
ja via SPI anbinden.

> Mich würde die Helligkeit deines Displays interessieren, ist das
> tageslicht-tauglich?

Keine Ahnung - solange ich die Level Shifter noch nicht habe, möchte ich 
es noch nicht in Betrieb nehmen.

> Meine 0.96" Displays sind ziemlich dunkel, haben aber auch fast nichts
> gekostet. In Innenräumen aber gut verwendbar.

Ich schreibe hier, wenn meine Lösung läuft.

Viele Grüße

Igel1

von Wulf D. (holler)


Lesenswert?

Andreas S. schrieb:
> Dürften da Eurer
> Meinung nach bei einer SPI-Schnittstelle keine Pullups sein?

SPI benötigt keine Pull-up Widerstände.
Die XC6206 gibt es anscheinend in jeder erdenklichen Spannung von 
1.2-5.0 V.
Könntest auch einen 3,3V reinlöten, falls bestellbar.
Und richtig, die SSD1309 Display brauchen keinen Rückkanal.

von Andreas S. (igel1)


Lesenswert?

Wulf D. schrieb:
> Andreas S. schrieb:
>> Dürften da Eurer
>> Meinung nach bei einer SPI-Schnittstelle keine Pullups sein?
>
> SPI benötigt keine Pull-up Widerstände.

Ah - good to know ...

> Die XC6206 gibt es anscheinend in jeder erdenklichen Spannung von
> 1.2-5.0 V.

Yep - der auf dem Modul verbaute XC6206-Spannungswandler (also 
derjenige, der auch oben im Schaltbild meines Eingangsposts abgebildet 
ist) macht aus eingangsseitigen 5V ausgangsseitig 3,23V (hab's soeben 
gemessen).

Es scheint also ein 3,3V-Typ zu sein - das war zu erwarten, wo der ja 
den SSD1309 versorgt und der wiederum 3,3V benötigt (wenn ich das 
Datenblatt richtig gelesen habe).

> Könntest auch einen 3,3V reinlöten, falls bestellbar.

Ist schon drin :-)

> Und richtig, die SSD1309 Display brauchen keinen Rückkanal.

Yep.

von Heinz R. (heijz)


Lesenswert?

Andreas S. schrieb:
>> Du solltest also entweder Deinen Arduino auch einfach mit 3.3V betreiben
>
> Ah, interessant - wusste gar nicht, dass man das machen kann.
> Danke für den Tipp!

Dann aber mit 8MHz statt 16MHz betreiben

Hast Du generell mal darüber nachgedacht statt einem Arduino einen 
ESP8266 zu nehmen?  Dann bist direkt bei den 3,3V

von Andreas S. (igel1)


Lesenswert?

Heinz R. schrieb:
> Andreas S. schrieb:
>>> Du solltest also entweder Deinen Arduino auch einfach mit 3.3V betreiben
>>
>> Ah, interessant - wusste gar nicht, dass man das machen kann.
>> Danke für den Tipp!
>
> Dann aber mit 8MHz statt 16MHz betreiben

Au richtig - das hätte ich total vergessen!

> Hast Du generell mal darüber nachgedacht statt einem Arduino einen
> ESP8266 zu nehmen?  Dann bist direkt bei den 3,3V

Ja, schon, aber in diesem Fall möchte ich die Schaltung von Frank O. in 
einem anderen Thread 
(Beitrag "Induktiver Positionssensor - Fragen dazu") möglichst 
genau nachbauen, damit wir uns austauschen können.
Und Frank O. benutzt nun mal Arduinos.

Ich selber habe zwar auch schon mit ESP8266 gebastelt, habe davon aber 
immer noch einen Albtraum - hat mich damals viele, viele Stunden (oder 
gar Tage) gekostet um herauszufinden, dass das WLAN-Modul auf dem Chip 
den ADC beeinflusst und ich daher sporadische Messabweichungen hatte!

Danach hatte ich - bitte seht's mir nach - erst einmal die Nase voll von 
diesem Chip.

Wenn ich eine 3,3V Alternative einsetzen wollte, so würde ich vermutlich 
einen STM32 nehmen. Allerdings hätte ich dann wieder das Problem, dass 
mein Display-Modul ja gerne an Pin VDD +5V sehen möchte ...

Aber einen Tod werde ich wohl sterben müssen: entweder Level Shifter 
oder eine zusätzlich Spannungsversorung einbauen.

Viele Grüße

Igel1

von Vanye R. (vanye_rijan)


Lesenswert?

> Mich würde die Helligkeit deines Displays interessieren, ist das
> tageslicht-tauglich?
> Meine 0.96" Displays sind ziemlich dunkel, haben aber auch fast nichts
> gekostet. In Innenräumen aber gut verwendbar.

Ausschliesslich transreflektive Displays sind tageslichttauglich. Gegen 
die Fusionslampe am Himmel kommt sonst nix an.

Ausserdem beachten das die Oleds nur eine begrenzte Lebensdauer haben. 
Nach 3Monaten Dauerbetrieb kann man Alterung sehen, nach sechs Monaten 
ist es so schlimm das es man es nicht mehr sehen moechte und nach etwa 
einem Jahr hat man Schwierigkeiten Sinn entnehmend zu lesen.

Vanye

von Helmut -. (dc3yc)


Lesenswert?

Andreas S. schrieb:
> Die XC6206 gibt es anscheinend in jeder erdenklichen Spannung

Hast du mal gemessen, was aus dem Spannungsregler herauskommt, wenn du 
direkt 3.3V einspeist? Vielleicht sind's ja noch 3V und du musst nichts 
ändern. Aber das ist ein Gehacke, genauso wie die Daten mit 5V zu 
treiben.

von Harald K. (kirnbichler)


Lesenswert?

Andreas S. schrieb:
> Wenn ich eine 3,3V Alternative einsetzen wollte, so würde ich vermutlich
> einen STM32 nehmen. Allerdings hätte ich dann wieder das Problem, dass
> mein Display-Modul ja gerne an Pin VDD +5V sehen möchte ...

Ja und? Nichts hindert Dich daran, Deinen µC trotzdem mit 3.3V zu 
versorgen.

Und wenn Du kein großes Fass aufmachen willst, nimmst Du halt einen 
etwas neueren AVR - der 328PB sollte bei 3.3V auch mit 16 MHz betrieben 
werden können.

von Andreas S. (igel1)


Lesenswert?

Helmut -. schrieb:
> Andreas S. schrieb:
>> Die XC6206 gibt es anscheinend in jeder erdenklichen Spannung
>
> Hast du mal gemessen, was aus dem Spannungsregler herauskommt, wenn du
> direkt 3.3V einspeist? Vielleicht sind's ja noch 3V und du musst nichts
> ändern. Aber das ist ein Gehacke, genauso wie die Daten mit 5V zu
> treiben.

3,326V ->  In XC6206 Out -> 3,233V     (DISPLAY AUS!!)

Im unbelasteten Zustand gerade mal ~100mV Drop - das ist nicht schlecht, 
sagt aber leider nix über einen möglichen Spannungsabfall im belasteten 
Zustand aus. Und den kann ich erst messen, wenn ich ... die Level 
Shifter habe ...

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas, da sind noch ganz anderes Spannungen.

Guck mal, nur ein Teil aus dem Datenblatt:

Since the voltage at IREF pin is VCC – 3V, the value of resistor R1 can 
be found as below:
For IREF = 10uA, VCC =12V:
R1 = (Voltage at IREF – VSS) / IREF
≈ (12 – 3) / 10uA
= 900kΩ


FEATURES
• Resolution: 128 x 64 dot matrix panel
• Power supply
o VDD = 1.65V ~ 3.3V for IC logic

o *VCC = 7.0V ~ 16.0V* for Panel driving
• For matrix display

o OLED driving output voltage, 16V maximum
o Segment maximum source current: 320uA
o Common maximum sink current: 40mA
o 256 step contrast brightness current control
• Embedded 128 x 64 bit SRAM display buffer
• Pin selectable MCU Interfaces:
o 8-bit 6800/8080-series parallel interface
o 3 /4 wire Serial Peripheral Interface
o I2C Interface
• Screen saving infinite content scrolling function
• Programmable Frame Rate
• Programmable Multiplexing Ratio
• Row Re-mapping and Column Re-mapping
• On-Chip Oscillator
• Chip layout for COG , COF
• Wide range of operating temperature: -40°C to

Während der Ingenieur noch rätselt, ist der Monteur längst fertig.
SCNR

: Bearbeitet durch User
von Crazy Harry (crazy_h)


Lesenswert?

Kannst doch umschalten mit R8 von I2C nach SPI. siehe auch links neben 
dem Folienleiter.

von Frank O. (frank_o)


Lesenswert?

Für mich ist das eigentlich ziemlich klar. Der XC6206 ist stellt die 
Spannungsversorgung für das Modul sicher.
"Input Voltage VIN 1.8 - 6.0 V"
Deshalb ist es egal, ob du mit 3,3V oder 5V versorgst.
Der SSD1309 erzeugt intern die Spannung für das Display.

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

Ah - hold on ... wer lesen kann ist klar im Vorteil:

Im Datenblatt vom XC6206 steht, dass der nur 250mV Drop bei 100mA Last 
hat (Aussage gilt für den 3V - Typen).

Daraus entnehme ich, dass ich bei voller Display-Beleuchtung (sagen wir 
mal, 200mA) trotz "nur" 3,3V Input am XC6206 vermutlich immer noch 
hinreichend Spannung hinten am XC6206 herausbekomme, um den SSD1309 zu 
betreiben - Letzterer ist nämlich für 1,65V ... 3,3V spezifiziert.

Der XC6206 regelt dann zwar nix mehr (ist also "Gehacke", wie Helmut 
sagen würde), aber es könnte funktionieren.

Trotzdem muss ich mich selber gerade einmal rückbesinnen, was ich 
überhaupt will:  Ich bin an einen +5V Arduino "gebunden", weil ich Frank 
O.'s Schaltung in einem anderen Thread nachbauen will. Also kann ich 
getrost die 5V vom Arduino in den XC6206 einspeisen. Die Kröte "Level 
Shifter" muss ich dann tatsächlich fressen - genau das war's eigentlich, 
was ich hier in diesem Thread klären wollte.

Viele Grüße

Igel1

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Für mich ist das eigentlich ziemlich klar. Der XC6206 ist stellt die
> Spannungsversorgung für das Modul sicher.

> "Input Voltage VIN 1.8 - 6.0 V"

Wo hast Du diese Zeile her? Würde mich wirklich interessieren.
Bei meinem Modul (oder zumindest bei dem Verkäufer, fehlte genau diese 
Angabe). Was mir oftmals helfen würde, wenn Du Deine Quellen angibst - 
ich rätsel oft, woher Du die Dinge hast, die Du zitierst.

> Deshalb ist es egal, ob du mit 3,3V oder 5V versorgst.
> Der SSD1309 erzeugt intern die Spannung für das Display.

Wenn ich das Zeugs innerhalb seiner Specs betreiben möchte, ist das 
m.M.n. nicht egal. Oder weisst Du, was passiert wenn Du den XC6206 (der 
ja hier ein Typ mit 3.3V Ausgangsspannung ist) unterhalb seiner 
minimalen Eingangsspannung betreibst?

Jetzt kannst Du sagen: machen doch super viele Leut so und bei denen 
geht das ja auch gut. Yep, kann man so machen - ist dann aber eher §3 
vom Rheinischen Grundgesetz** als seriöse Entwicklung (jedenfalls meiner 
Meinung nach - kann aber gerne jeder so halten wie er will - zumindest 
im Hobbybereich - im Flugzeug-, Brücken- oder Autobau bitte nicht).

Viele Grüße

Andreas


PS: ** für alle Mitleser, die südlich des Weißwurstäquators leben, hier 
ein wenig Rechtsbeihilfe: 
https://de.wikipedia.org/wiki/Das_Rheinische_Grundgesetz

von Andreas S. (igel1)


Lesenswert?

Crazy Harry schrieb:
> Kannst doch umschalten mit R8 von I2C nach SPI. siehe auch links neben
> dem Folienleiter.

Ist bekannt, aber ich wollte hier explizit erst einmal mit SPI starten.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas, da sind noch ganz anderes Spannungen.
>
> Guck mal, nur ein Teil aus dem Datenblatt:
>
> Since the voltage at IREF pin is VCC – 3V, the value of resistor R1 can
> be found as below:
> For IREF = 10uA, VCC =12V:
> R1 = (Voltage at IREF – VSS) / IREF
> ≈ (12 – 3) / 10uA
> = 900kΩ

Was möchtest Du mir damit sagen?
Hat das etwas mit meiner Fragestellung zu tun?

> FEATURES
> • Resolution: 128 x 64 dot matrix panel
> • Power supply
> o VDD = 1.65V ~ 3.3V for IC logic
>
> o *VCC = 7.0V ~ 16.0V* for Panel driving
> • For matrix display
>
> o OLED driving output voltage, 16V maximum
> o Segment maximum source current: 320uA
> o Common maximum sink current: 40mA
> o 256 step contrast brightness current control
> • Embedded 128 x 64 bit SRAM display buffer
> • Pin selectable MCU Interfaces:
> o 8-bit 6800/8080-series parallel interface
> o 3 /4 wire Serial Peripheral Interface
> o I2C Interface
> • Screen saving infinite content scrolling function
> • Programmable Frame Rate
> • Programmable Multiplexing Ratio
> • Row Re-mapping and Column Re-mapping
> • On-Chip Oscillator
> • Chip layout for COG , COF
> • Wide range of operating temperature: -40°C to


> Während der Ingenieur noch rätselt, ist der Monteur längst fertig.
> SCNR

Ich rätsele gerade eher darüber, was Du mir mit den obigen 
Zitaten/Datenblattauszügen sagen willst ... ??? ...

Viele Grüße

Igel1

von Harald K. (kirnbichler)


Lesenswert?

Andreas S. schrieb:
> Die Kröte "Level Shifter" muss ich dann tatsächlich fressen
> - genau das war's eigentlich, was ich hier in diesem Thread
> klären wollte.

Wenn da tatsächlich Pullups sind, mach die weg, und verwende simple 
Spannungsteiler. Zwei Widerstände pro Signal, fertig.

Als "Level Shifter" bezeichnet man eher das Gegenteil, aktive 
Elektronik, die aus einem niedrigeren einen höheren Spannungspegel 
erzeugt.

Sowas würdest Du brauchen, wenn Du ein Display, das 5V-Signalpegel 
braucht, mit einem µC ansteuern willst, der mit 3.3V oder noch weniger 
betrieben wird.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Für mich ist das eigentlich ziemlich klar. Der XC6206 ist stellt die
> Spannungsversorgung für das Modul sicher.
> "Input Voltage VIN 1.8 - 6.0 V"

Habe gerade nochmals nachgeschaut: der auf dem Modul nachgeschaltete 
HM1308 DC/DC-Converter benötigt lt. Datenblatt eine minimale Spannung 
>2,7V.

Daher wundere ich mich gerade etwas, wie jemand den vorgeschalteten 
XC6206 mit 1,8V betreiben möchte. Mal abgesehen davon, dass das 
außerhalb der Spec des XC6206 liegt - wo sollen dann die 2,7V für den 
nachfolgenden HM1308 herkommen?

Aber vielleicht kann auch der HM1308 außerhalb seiner Spec betrieben 
werden, denn er muss ja nicht die 22V seiner Spec liefern, sondern nur 
irgendetwas zwischen 7V-16V - das genügt dem SSD1309 für seine 
OLED-Lämpchen.

Interessant - alles außerhalb der Spec, könnte aber trotzdem 
funktionieren.
Solange niemand damit die Landeanflugsmarkierungen auf dem Flugplatz 
betreibt, bin ich da ganz entspannt ...

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
>> "Input Voltage VIN 1.8 - 6.0 V"

https://product.torexsemi.com/system/files/series/xc6206.pdf
Seite 4.

Andreas S. schrieb:
> o *VCC = 7.0V ~ 16.0V* for Panel driving
>> • For matrix display

Sollte eigentlich fett gedruckt dargestellt werden.
Aber jetzt, beim zweiten Hinsehen, werde ich auch stutzig. VCC ist mit 
7-16V angegeben.
Da muss noch was sein, dass nicht verzeichnet ist. VCC für den SSD1309 
muss mindestens 7V sein.
Andreas, ich mag dich sehr gern, aber du bringst mein "einfaches Leben" 
durcheinander. Ich wollte eigentlich nicht dieses Display analysieren, 
zumal ich das große wohl doch nicht nehmen werde.
War heute in der Niederlassung und hatte das kleine einigen Kollegen 
vorgeführt. Sie meinten alle, dass man es gut lesen kann.
Im Moment analysiere ich alle Stromsensoren (und meine Programmierung 
(man,man,man)). Ich habe noch ein paar bestellt. Aber ich werde auch 
noch mit einem richtigen Shunt messen und mit einem OP verstärken.

Nachtrag: So ein Mist! Jetzt lässt mich das nicht in Ruhe.
Da ist ein Schaltregler drauf. Boost.
1.8-V to 6-V Input Voltage Range
• Adjustable Output Voltage Range up to 28 V
• 400-mA (TPS61040) and 250-mA (TPS61041)
https://www.ti.com/lit/gpn/tps61040

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>>> "Input Voltage VIN 1.8 - 6.0 V"
>
> https://product.torexsemi.com/system/files/series/xc6206.pdf
> Seite 4.

Ah sooo.
Kaum referenziert Du die Quelle, schon habe ich eine Vermutung, wo Du 
gedanklich evtl. falsch abgebogen bist.

Diesen XC6206 kannst Du nämlich für die unterschiedlichsten 
Ausgangsspannungen bestellen - siehe Seite 1:

"Output voltages are internally by laser trimming technologies. It is 
selectable in 0.1V increments within a range of 1.2V to 5.0V."

Entsprechend muss/darf das Datenblatt auch all die möglichen Variationen 
abdecken. Und weil die minimale, feste Ausgangsspannung eines solchen 
XC6206 halt eben 1.2V ist, so beträgt der minimale Vdrop bei einem Strom 
von gerade einmal  30mA lt. Seite 5, Fall E-2 gerade einmal 460-760mV.
Zzgl. der 1,2V Ausgangsspannung landen wir bei 1,66 - 1,96V.
Warum der Hersteller dann exakt 1,8V auf S.4 schreibt, bleibt sein 
Geheimnis.

In meinem Fall ist jedoch ganz klar ein 3,3V Typ verbaut und der 
benötigt halt nun mal 250-680mV Dropout Spannung bei größeren Strömen - 
am Eingang hätte er also bitte 3,55V - 3,98V minimaler Eingangsspanung 
(abhängig vom Laststrom bei Strömen >100mA gemäß Fall E-3).

> Andreas S. schrieb:
>> o *VCC = 7.0V ~ 16.0V* for Panel driving
>>> • For matrix display
>
> Sollte eigentlich fett gedruckt dargestellt werden.
> Aber jetzt, beim zweiten Hinsehen, werde ich auch stutzig. VCC ist mit
> 7-16V angegeben.
> Da muss noch was sein, dass nicht verzeichnet ist. VCC für den SSD1309
> muss mindestens 7V sein.
> Andreas, ich mag dich sehr gern, aber du bringst mein "einfaches Leben"
> durcheinander. Ich wollte eigentlich nicht dieses Display analysieren,
> zumal ich das große wohl doch nicht nehmen werde.

Brauchst Du Dich wirklich nicht drum zu kümmern - ist ja mein Display, 
was ich gerne korrekt ansteuern möchte. Hätte ich eher erfahren, dass Du 
das andere Display nimmst, so hätte ich dieses hier gar nicht erst 
gekauft, sondern nur das andere. Aber jetzt, da es nun mal da ist, 
möchte ich es auch ans Fliegen bekommen - und das im Rahmen seiner 
Spezifikationen.

> War heute in der Niederlassung und hatte das kleine einigen Kollegen
> vorgeführt. Sie meinten alle, dass man es gut lesen kann.
> Im Moment analysiere ich alle Stromsensoren (und meine Programmierung
> (man,man,man)). Ich habe noch ein paar bestellt. Aber ich werde auch
> noch mit einem richtigen Shunt messen und mit einem OP verstärken.
>
> Nachtrag: So ein Mist! Jetzt lässt mich das nicht in Ruhe.

Uppps - das wollte ich nicht - sorry.

Für mich ist der Fall hier schon gelöst.

Viele Grüße

Igel1

von Andreas S. (igel1)


Lesenswert?

So - danke nochmals an alle für Eure Hilfen und Einschätzungen.

Ich werde das Display also an meinem 5V-Arduino hinter dessen 
5V-Spannungsregler hängen und die Dateneingänge über Level Shifter / 
Pegelwandler (5V -> 3,3V) ansteuern:
https://www.ebay.de/itm/152409796871

Bestellung der Pegelwandler ging gerade raus.

Damit werde ich der erste Mensch auf der Welt sein, der dieses Display 
innerhalb seiner Spezifikationen betreibt - ich bin sehr stolz auf Euch 
und mich :-)

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Damit werde ich der erste Mensch auf der Welt sein,

Andreas, der einzige Mensch ...
SCNR

(Ich muss so über dich lachen, aber eigentlich über dieses Verhalten. 
Das war ich noch vor ein paar Jahren.)

von Harald K. (kirnbichler)


Lesenswert?

Andreas S. schrieb:
> und die Dateneingänge über Level Shifter /
> Pegelwandler (5V -> 3,3V) ansteuern:
> https://www.ebay.de/itm/152409796871

Warum nur? Was spricht gegen simple Widerstandsteiler?

von Frank O. (frank_o)


Lesenswert?

Harald K. schrieb:
> Warum nur? Was spricht gegen simple Widerstandsteiler?

Ist eigentlich gar nicht nötig. Macht das Modul selbst.

von Andreas S. (igel1)


Lesenswert?

Harald K. schrieb:
> Andreas S. schrieb:
>> und die Dateneingänge über Level Shifter /
>> Pegelwandler (5V -> 3,3V) ansteuern:
>> https://www.ebay.de/itm/152409796871
>
> Warum nur? Was spricht gegen simple Widerstandsteiler?

Liest Du hier:
https://www.mikrocontroller.net/articles/Pegelwandler#5_V_%E2%87%92_3,3_V

... und guckst Du da (insbesondere im letzten Drittel):
https://www.youtube.com/watch?v=t-yuYasIKtY

von Harald K. (kirnbichler)


Lesenswert?

Andreas S. schrieb:
> Liest Du hier:
> https://www.mikrocontroller.net/articles/Pegelwandler#5_V_%E2%87%92_3,3_V

Ja, und? Da sind Widerstandsteiler beschrieben.

Ich seh' mir jetzt kein Youtube-Filmchen an, wenn Du noch nicht mal mit 
drei Wörtern die Kernaussage beschreiben kannst, die das 
Youtube-Filmchen rüberbringen soll.

Geht es um Geschwindigkeit? Hier wird ein AVR eingesetzt, und niemand 
zwingt den Threadstarter, seine SPI-Schnittstelle mit dem allerhöchsten 
denkbaren Takt zu betreiben.

Da funktionieren Widerstandsteiler. Der AVR hat auch ausreichend 
leistungsfähige Ausgänge, um relativ niederohmige Widerstandsteiler zu 
bespaßen, immerhin hängt fast jeder Maker direkt LEDs an diese Ausgänge 
und versucht sie mit 20 mA zu bestromen.

von Andreas S. (igel1)


Lesenswert?

Wulf D. schrieb:
> Mich würde die Helligkeit deines Displays interessieren, ist das
> tageslicht-tauglich?

Ich habe das Display inzwischen in die Gänge bekommen.
Ist es tageslicht-tauglich?

Ich hatte Dir ja noch eine Antwort auf Deine Frage versprochen:

Bin gerade mit dem OLED-Display extra in die Sonne getapert.

Bei vollem Sonnenschein wäre mir persönlich das Ablesen zu anstrengend - 
man kann es schlichtweg nicht gut lesen. Mit etwas Mühe geht es aber.

Bei bedecktem Himmel oder im Halbschatten (das wechselte hier gerade 
alle 10 Minuten - somit optimale Testbedingungen) konnte ich das Display 
gut ablesen. In Innenräumen sowieso.

Verglichen mit billigen TFT-Displays hat das OLED-Display einen deutlich 
höheren Kontrast - so jedenfalls mein persönlicher Eindruck.

An "brilliante" Bilder ist wegen der geringen dpi's natürlich nicht zu 
denken. Schrift und Bilder sind daher alle recht pixelig, aber das war 
ja nicht Deine Frage.

Viele Grüße

Igel1

von Andreas S. (igel1)


Lesenswert?

Harald K. schrieb:
> Andreas S. schrieb:
>> Liest Du hier:
>> https://www.mikrocontroller.net/articles/Pegelwandler#5_V_%E2%87%92_3,3_V
>
> Ja, und? Da sind Widerstandsteiler beschrieben.

Zwar kurz, aber ja - sonst hätte ich den Artikel nicht verlinkt.

> Ich seh' mir jetzt kein Youtube-Filmchen an, wenn Du noch nicht mal mit
> drei Wörtern die Kernaussage beschreiben kannst, die das
> Youtube-Filmchen rüberbringen soll.

Hui, jui, jui - rauher Ton hier.
Das Video erklärt es viel besser, als ich es in 3 Worten sagen könnte.
Wenn Du es eilig hast, so schau Dir die Sequenz von 8:42 bis ca. 11:42 
an.

Hätte ich es 3 Worte sagen sollen, so wären die gewesen:
Widerstandsteiler + Kapazitäten -> Tiefpass
(gut, ich habe jetzt etwas gefudelt und noch zusätzliche Zeichen benutzt 
- ich hoffe, das war okay für Dich)

> Geht es um Geschwindigkeit? Hier wird ein AVR eingesetzt, und niemand
> zwingt den Threadstarter, seine SPI-Schnittstelle mit dem allerhöchsten
> denkbaren Takt zu betreiben.

Ich nutze eine Lib (U8g2 von Oliver Kraus) und wollte mich um solche 
Dinge wie SPI-Taktfrequenz eigentlich gar nicht kümmern. Daher gehe ich 
lieber mit einem MOSFET Level Shifter auf die sichere Seite (zumal der 
nur 1 Bauteil mehr hat als ein Widerstandsteiler und m.M.n. ein wirklich 
genialer Schaltungskniff ist).

> Da funktionieren Widerstandsteiler. Der AVR hat auch ausreichend
> leistungsfähige Ausgänge, um relativ niederohmige Widerstandsteiler zu
> bespaßen, immerhin hängt fast jeder Maker direkt LEDs an diese Ausgänge
> und versucht sie mit 20 mA zu bestromen.

Yep - es würde vermutlich sogar auch mit dem Widerstandsnetzwerk 
funktionieren, mit dem MOSFET-Level Shifter bin ich aber auf der "noch 
sichereren Seite" - so jedenfalls meine Einschätzung.

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> An "brilliante" Bilder ist wegen der geringen dpi's natürlich nicht zu
> denken. Schrift und Bilder sind daher alle recht pixelig, aber das war
> ja nicht Deine Frage.

Moin Andreas!
Wie schön, dass du hier auch alles genau austesten willst.
Vom großen Display bin ich deshalb abgekommen.
Es ist einfach zu grob. Man kann es nah nicht gut lesen.

Habe gerade deinen Test mit dem Licht hier wiederholt. Im direkten 
Sonnenlicht fällt es schwer etwas gut zu erkennen.

von Manfred P. (pruckelfred)


Angehängte Dateien:

Lesenswert?

Andreas S. schrieb:
> Daher gehe ich
> lieber mit einem MOSFET Level Shifter auf die sichere Seite (zumal der
> nur 1 Bauteil mehr hat als ein Widerstandsteiler und m.M.n. ein wirklich
> genialer Schaltungskniff ist).

.. vom Erfinder des I2C.

von Andreas S. (igel1)


Lesenswert?

Manfred P. schrieb:
> Andreas S. schrieb:
>> Daher gehe ich
>> lieber mit einem MOSFET Level Shifter auf die sichere Seite (zumal der
>> nur 1 Bauteil mehr hat als ein Widerstandsteiler und m.M.n. ein wirklich
>> genialer Schaltungskniff ist).
>
> .. vom Erfinder des I2C.

Danke, dass Du die Original-Quelle verlinkt hast!

Ehre wem Ehre gebührt - ich verneige mich auch 27 Jahre nach 
Veröffentlichung dieser Application Note noch immer vor so viel 
Genialität.

Viele Grüße

Igel1

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.