Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » 0.96"-OLED-LCD 128x32 / SSD1306 I2C » Themenansicht

Autor Thread - Seiten: -1-
000
23.07.2020, 20:00 Uhr
srn

Avatar von srn

Hallo,

kennt sich jemand mit dieser Konstellation aus und kann mir Hilfestellung geben bzw. mir mein Brett vor dem Kopf wegnehmen?

Ich verwende dieses Display an einem AVR und der SSD wird per I2C betrieben. Das LCD gibt es mit weißer und mit blauer Schrift.
Zum Beispiel dieses:
https://www.ebay.de/itm/Mini-0-91-Zoll-128x32-OLED-SSD1306-Display-BLAU-I2C-IIC-Arduino-Raspberry/153898256891?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2060353.m2749.l2649

Nachfolgend ist die Initialisierungssequenz (BASCOM). Der Quellcode ist Eigentum von HKipnik (voller Name ist mir nicht bekannt). Er kann privat frei verwendet und abgeändert werden. Die Routine an sich funktioniert auch fehlerfrei.

Quellcode:

Sub Lcd_init()

    I2cstart
    I2cwbyte &H78
    I2cwbyte &H00
    I2cwbyte &HAE                        ' DISPLAYOFF
    I2cwbyte &HD5                        ' SETDISPLAYCLOCKDIV
    I2cwbyte &H80                        ' ratio 0x80
    I2cwbyte &HA8                        ' SETMULTIPLEX
    I2cwbyte &H1F                        ' 1F 128x32
    I2cwbyte &HD3                        ' SETDISPLAYOFFSET
    I2cwbyte &H00
    I2cwbyte &H40                        ' SETSTARTLINE
    I2cwbyte &H8D                        ' CHARGEPUMP
    I2cwbyte &H14                        ' vccstate 14
    I2cwbyte &H20                        ' MEMORYMODE
    I2cwbyte &H00
    I2cwbyte &HA1                        ' SEGREMAP A1
    I2cwbyte &HC8                        ' COMSCANDEC
    I2cwbyte &HDA                        ' SETCOMPINS#
    I2cwbyte &H02                        ' 02 128x32 12
    I2cwbyte &H81                        ' SETCONTRAST
    I2cwbyte &HFF                        ' FF 128x32
    I2cwbyte &HD9                        ' SETPRECHARGE
    I2cwbyte &HF1                        ' vccstate F1
    I2cwbyte &HDB                        ' SETVCOMDETECT
    I2cwbyte &HA4                        ' DISPLAYALLON_RESUME
    I2cwbyte &HA6                        ' NORMALDISPLAY
    I2cwbyte &HAF
    I2cstop
    Waitms 100

End Sub


Der AVR ist so programmiert, daß nach Spannungszuschaltung zunächst eine halbe Sekunde gewartet wird, bevor das LCD initialisiert wird. Danach wird ein Text angezeigt.
Das Display mit weißer Schrift zeigt den Text auch an. Das mit blauer Schrift bleibt dunkel.
Erst wenn ich die Wartezeit auf mehr als 2000 Millisekunden hochsetze, zeigt auch das "blaue" Display den Text an.
Ich habe das Datenblatt des SSD von vorn bis hinten durchforstet und kann (natürlich) keinen Hinweis auf diese lange Wartezeit finden. Dem SSD ist es ja auch Wurscht, welche Farbe es ist.

Daher ist meine Frage: Kennt sich jemand damit aus und hat eventuell schon ein ähnliches Phänomen bei sich gehabt?

Vielen Dank.
-SRN

PS: Wenn ich mich nicht verständlich ausgedrückt habe, einfach nachfragen. Dann versuche ich es anders zu erklären.
--
http://www.kc-und-atari.de/ --- M004

Dieser Beitrag wurde am 23.07.2020 um 20:00 Uhr von srn editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
23.07.2020, 20:28 Uhr
Buebchen



Hallo,
Meine Erfahrungen mit OLEDs. Bei häufigem Gebrauch sterben sie innerhalb von zwei Jahren. Erst verblassen sie, dann zeigen sie nur noch einzelne Segmente. Mehrfach erlebt mit unterschiedlichen Typen. Nehme sie nicht mehr und kaufe auch keine Geräte mehr mit OLEDs.
Wolfgang
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
23.07.2020, 21:14 Uhr
Andre.as



Hallo,

egal welche Farbe, bei mir geht es immer mit der gleichen Startsequenz.
Habe verschieden Farben im Einstz und sie gehen schon über Jahre, wenn man es mit der Gesamthelligkeit nicht übertreibt.

Schönen Abend

Andreas
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
23.07.2020, 21:15 Uhr
srn

Avatar von srn


Zitat:
Buebchen schrieb
Hallo,
Meine Erfahrungen mit OLEDs. Bei häufigem Gebrauch sterben sie innerhalb von zwei Jahren. Erst verblassen sie, dann zeigen sie nur noch einzelne Segmente. Mehrfach erlebt mit unterschiedlichen Typen. Nehme sie nicht mehr und kaufe auch keine Geräte mehr mit OLEDs.
Wolfgang


Wo ist in dieser Aussage eine Hilfestellung versteckt?
Bitte schreibt doch nur, wenn Ihr etwas wißt.
Herzlichen Dank.
--
http://www.kc-und-atari.de/ --- M004
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
23.07.2020, 22:12 Uhr
Buebchen



@Andre.as
Hallo!
Wenn bei dir die Lebensdauer größer ist wird warscheinlich bei Industriegeräten die Helligkeit zu groß gewählt. Leider ist sie bei meinen Pulsoximetern nicht einstellbar gewesen und ich konnte nach 1 1/2 bis zwei Jahren regelmäßig ein neues kaufen. Jedes mal 100,- bis zum letzten 50,-€. Das kann aber nicht mit dem Computer ausgewertet werden. Die Bedienung ohne Anzeige war nicht möglich. Die Überwachung und anschliessende Auswertung am Computer hätte funktioniert. Also wenn möglich die Helligkeit schwach eingestellt lassen. Dann verlängert sich die Lebensdauer nach deiner Erfahrung scheinbar. Ich betreibe das Gerät jetzt nur noch zur kurzzeitigen Überprüfung der Sauerstoffsättigung.
Gerade habe ich gelesen, das Fernseher mit OLED Anzeige nur ein fünftel der Lebensdauer von LED Fernsehern haben. 20000h zu 100000h. Ich hatte die Pulsoximeter insgesamt ungefähr 10 Stunden in Betrieb, ehe sie den Geist aufgaben.
Nach dem WIKI:
https://de.wikipedia.org/wiki/Organische_Leuchtdiode
haben blaue OLEDs die geringste Lebensdauer!
Es sind auch Artikel zu finden in denen auf die Lebensdauerverkürzung bei größerer Helligkeit hingewiesen wird.
Wolfgang

Dieser Beitrag wurde am 23.07.2020 um 22:55 Uhr von Buebchen editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
24.07.2020, 09:18 Uhr
DL




Zitat:
srn schrieb
... Kennt sich jemand damit aus und hat eventuell schon ein ähnliches Phänomen bei sich gehabt?...



Beim GOTEK gab es das Problem auch z.B. mit OLED-Modulen von diymore, da brauchte es teilweise mehrere Sekunden bevor die ansprechbar waren. Wahrscheinlich je nach Toleranz bei der R/C Beschaltung vom Reset oder vom Schwellwert. In der Konfiguration von FlashFloppy ist da 3000 als default eingestellt.


Wenn man 20000 Stunden durchgängig vor ner OLED Glotze gesessen hat verblasst da noch mehr, nicht nur die Helligkeit des Gerätes...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
24.07.2020, 10:01 Uhr
srn

Avatar von srn

Hallo Andre.as und DL,

vielen Dank für den Code und vor allem den Hinweis auf "diymore". Meine Vermutung ging auch in diese Richtung. Diese weichen in der Bestückung von anderen "baugleichen" OLED-Modulen etwas ab (es fehlt ein Widerstand).
Frage an DL: Weißt Du, ob durch das Nachrüsten den fehlenden Widerstandes bzw. Änderung der R/C-Beschaltung eine Besserung eintreten könnte?

Danke.
-SRN
--
http://www.kc-und-atari.de/ --- M004
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
24.07.2020, 13:09 Uhr
srn

Avatar von srn

Falsch geschaut. Beim diymore ist ein Kondensator nicht bestückt. Bringt aber auch keine Änderung. Also habe ich jetzt entsprechend DLs Empfehlung die Wartezeit auf 3000 ms erhöht. Mal sehen, ob das jetzt so funktioniert.

In der INIT-Routine weiter oben ist ein Fehler, den ich dank Andreas gefunden habe. Der hat aber nichts mit dem Problem zu tun.
--
http://www.kc-und-atari.de/ --- M004
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
24.07.2020, 15:40 Uhr
DL




Zitat:
srn schrieb
Weißt Du, ob durch das Nachrüsten den fehlenden Widerstandes bzw. Änderung der R/C-Beschaltung eine Besserung eintreten könnte?



Keine Gedanken drüber gemacht, es sollte angeblich gehen wenn man einen Widerstand änderte, müsste man dann ja jedes mal austesten, aber da es ja allgemein tauglich werden sollte war in dem Fall die Verzögerung der bessere Weg.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
24.07.2020, 16:04 Uhr
srn

Avatar von srn

Ja, da hast Du Recht. Bin ja jetzt auch diesen Weg gegangen.
Schon komisch, daß sich diese Module, obwohl sie sich auf den ersten Blick gleichen, so unterschiedlich verhalten.
Scheint jetzt auch zu passen. Nach 3 Sekunden erscheint nun "stabil" immer der Text.
--
http://www.kc-und-atari.de/ --- M004
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
26.07.2020, 16:18 Uhr
ralle



Hab hier eine Kleinigkeit endeckt: https://www.youtube.com/watch?v=0ZNhzXrhBVA
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
26.07.2020, 16:31 Uhr
srn

Avatar von srn

25 Minuten. Was wird denn da gezeigt?
--
http://www.kc-und-atari.de/ --- M004
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
27.07.2020, 15:19 Uhr
Andre.as



Verwendung von Displays und im besonderen OLED´s mit einem Treiber der eine langsame Ausgaberoutine hat :-(
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
27.07.2020, 15:28 Uhr
srn

Avatar von srn

Ah. Danke. Ich wollte mir die 25 min nicht antun

Wenn damit der Treiber der Programmiersprache gemeint ist, in meinem Fall BASCOM: Ich verwende die Hardware-I2C-Bibliothek. Kann aber ehrlich gesagt zum Software-I2C keinen direkt messbaren Unterschied feststellen.

Ich habe neben den ganzen diymore-Displays auch ein Einziges eines anderen Herstellers. Das benötigt gar keine Wartezeit. Ist aber auf der Rückseite mit Widerständen und Kondensatoren vollkommen gleich beschaltet, bis auf den einen Stützkondensator. Aber dessen Vorhandensein ist nicht die Problemlösung.

Wie gesagt: Die Wartezeit beträgt jetzt 3000 ms und es gibt seit dem keine Aussetzer mehr.
--
http://www.kc-und-atari.de/ --- M004
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
27.07.2020, 16:05 Uhr
Andre.as



Bei Hardware setzte die I2C Geschwindigkeit mal auf 400kHz, dann geht es schon etwas schneller.

Bei Software I2C geht es ja nach CPU fast so schnell wie bei SPI, was bei Symbolen schon relevant ist.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
015
27.07.2020, 16:28 Uhr
srn

Avatar von srn

Nee, bei BASCOM - jedenfalls laut Handbuch - wird entweder bei Software
I2CDelay = 2 -> entspricht 500 KHz
oder bei Hardware
Config Twi = 400000 -> entspricht 400 KHz
gesetzt.
Die CPU hat damit meiner Meinung nach zunächst nichts zu tun.
Und die Wartezeit bei Power-on ist unabhängig von der Busgeschwindigkeit.
--
http://www.kc-und-atari.de/ --- M004
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
016
27.07.2020, 16:41 Uhr
Andre.as



Mir ging es eher um die Bildaufbaugeschwindigkeit.
1,6s ist deutlich zu langsam, so wurde es im Video dargestellt.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
017
27.07.2020, 17:26 Uhr
srn

Avatar von srn

Ok Andreas, habe ich verstanden. Danke Dir.
--
http://www.kc-und-atari.de/ --- M004
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek