Forum: Mikrocontroller und Digitale Elektronik 5-V-Display an 3,3-V-µC betreiben


von André R. (andr_r619)


Lesenswert?

Hallo,

ich verwende einen ESP8266 und frage mich, ob es daran ohne weiteres 
möglich ist, ein 5-V-Display anzuschließen.

Eine Versorgung mit 3,3 V ist nicht möglich – da bleibt das Display aus. 
Da ich das NodeMCU V3 habe, kann ich ohne weiteres auch die 5V der 
USB-Stromversorgung abzapfen, um damit VCC zu versorgen.

Allerdings frage ich mich, ob ich dann die Steuerungsleitungen trotzdem 
ohne weiteres direkt an den µC klemmen kann. Zum Einen frage ich mich, 
ob da u.A. dann auch ein Rückfluss stattfindet, der das Gerät 
beschädigen könnte. Zum Anderen frage ich mich, ob und wie man den 
Ausgangspegel des µC möglichst einfach von 3,3 V auf 5 V anheben kann.

Über einen Level Shifter geht das natürlich ganz einfach, aber ist der 
Aufwand wirklich notwendig?

Hier meine Hardware:
https://www.amazon.de/gp/product/B06Y1ZPNMS
https://www.amazon.de/gp/product/B00A8CWDYQ

Vielen Dank bereits im Voraus!

von Jim M. (turboj)


Lesenswert?

Probleme machen die Steuerleitungen, die vom Display zum ESP gehen, wo 
also das Display den Output macht. Nicht jedes Display hat solche 
Leitungen.

Die 3,3->5V Richtung ist unkritisch, da praktisch alle 5V Eingänge die 
3,3V als high akzeptieren.

von Andrew T. (marsufant)


Lesenswert?

Oder anders ausgedrückt: Sind die Eingänge des ESP 5V-Tolerant?  Wenn 
nein, dann wird der ESP beschädigt.

Die Angaben (5V tolerant ja/nein) solltest Du im Datenblatt des ESP 
finden.

von André R. (andr_r619)


Lesenswert?

Danke für die prompte Antwort. Ich weiß leider selbst nicht so genau, 
was das für ein Interface ist und ob Leitungen davon auch Rückleitungen 
sind.

Ich verwendete bisher auf dem Arduino immer den sechspoligen Anschluss 
rechts (siehe Produktbild). Davon sind drei Leistungen für die 
Stromversorgung, also unproblematisch. Ansonsten gibt es noch SID, CS 
und SCK.

von André R. (andr_r619)


Lesenswert?

@Andrew Taylor Nein, sie sind leider nicht 5-V-tolerant.

Daher auch die Frage, ob von den drei genannten Leitungen überhaupt eine 
vom Display geschaltet wird, oder ob die einzig vom µC betätigt werden 
und das Display nur lesend zugreift.

von Boris O. (bohnsorg) Benutzerseite


Lesenswert?

Welches Display? LCD-Displays benötigen oft eine (neg.) 
Kontrastspannung. Ein Poti teilt die 5V auf und die Anzeige wird 
sichtbar. Der Logik/ dem Controller ist es ziemlich gleich, ob 3 oder 
5V.

Die Kontrastspannung von 4V kann auch bereitgestellt werden, in dem der 
Kontrastspannungseingang 1V unter die 3,3V VCC gebracht wird, es braucht 
also einen Inverter. Da reicht eine einfache Ladungspumpe, weil keine 
großen Ströme erforderlich sind. Gibt genügend Anleitungen für 
handelsübliche 16x2-Anzeigen, mal mit ICL766*, mal mit CMOS-Variante des 
NE555.

von dummschwaetzer (Gast)


Lesenswert?

>Die 3,3->5V Richtung ist unkritisch, da praktisch alle 5V Eingänge die
>3,3V als high akzeptieren.
siehe Datenblatt Display,
einige IC haben als high 0,7VCC, da wird es mit 3,3V knapp
0,7 * 5V = 3,6V

von Adam P. (adamap)


Lesenswert?

dummschwaetzer schrieb:
> siehe Datenblatt Display,
> einige IC haben als high 0,7VCC, da wird es mit 3,3V knapp
> 0,7 * 5V = 3,6V

Hallo zusammen,

ich stehe vor gleichem Problem - und ja - der KS0108 hat ebenfalls 
0,7*VDD.
Beim S1D13305 sinds für TTL 0,5*VDD und CMOS 0,8*VDD.
Alles nicht so zufriedenstellend.

Gibts eine einfache Lösung oder vllt. Vorschläge für Level-Shifter.

: Bearbeitet durch User
von André R. (andr_r619)


Lesenswert?

@Boris Ohnsorg
Display ist oben verlinkt. Hier auch noch einmal direkt beim Hersteller: 
https://www.sainsmart.com/sainsmart-spi-128x64-graphic-yellow-lcd-display-module-backlight-for-arduino-uno-r3-duemilanove-mega2560-mega1280-avr.html?___store=en&nosto=nosto-recommendations 
Auf dem Display ist der Controller ST7920 verbaut.

Die Ansteuerung erfolgt in meinem Fall über ein 3-Wire-Interface.

Wenn ich den Wikipedia-Artikel richtig gelesen habe, sollten wohl alle 
drei Pins nur lesens arbeiten und daher nicht vom Display auf 5 V hoch 
gezogen werden. Kann das jemand bestätigen?


@dummschwaetzer
Wenn ich das Datenblatt richtig lese, dann hat der Controller eine 
Betriebsspannung zwischen 2,7 und 5,5 V. Allerdings bleibt zumindest die 
Hintergrundbeleuchtung des Displays dunkel, wenn ich es an 3,3 V 
anschließe.

http://www.lcd-module.de/eng/pdf/zubehoer/st7920_chinese.pdf

von Frank K. (fchk)


Lesenswert?

André R. schrieb:
> Die Ansteuerung erfolgt in meinem Fall über ein 3-Wire-Interface.
>
> Wenn ich den Wikipedia-Artikel richtig gelesen habe, sollten wohl alle
> drei Pins nur lesens arbeiten und daher nicht vom Display auf 5 V hoch
> gezogen werden. Kann das jemand bestätigen?

Ja, das sollte so sein. Nimm einfach einen 74HCT125, den Du an 5V 
betreibst. Der hat die passenden Schaltschwellen am Eingang und liefert 
saubere 5V-Signale am Ausgang. Billiges Allerweltszeugs.

fchk

von André R. (andr_r619)


Lesenswert?

Danke für den Rat. Was ist das denn für ein Teil? Die Erklärseite ist 
leider kaputt und aus dem gefundenen Datenblatt werde ich nicht so recht 
schlau. Ist das ein Level Shifter, oder wie?

von fchk (Gast)


Lesenswert?

Das ist ein Vierfach-Puffer mit Enable-Eingängen. Wenn der Enable (G) 
auf GND liegt, dann kommt am Ausgang des Gatters der Logikwert des 
Eingangs raus. Wenn Enable (G) auf VCC liegt, ist der Ausgang hochohmig.

Das ganze gibts viermal in dem Chip.

Der Trick ist das HCT. Das T ist wichtig und steht für eine andere 
Schaltschwelle. Schon bei 2.3V (?, schau nach) wird sicher eine logische 
1 erkannt, eine logische 0 bis max 0.8V. Damit sind die HCT-Gatter gut 
für 3.3->5V Pegelwandlung geeignet.

Du könntest auch einen 74HCT08 oder einen 74HCT32 nehmen. Das sind Und 
bzw Oder-Gatter mit je zwei Eingängen, die du jeweils verbindest. Geht 
auch.

fchk

von Falk B. (falk)


Lesenswert?

Lernt vom Meister aus dem fernen Osten.

http://elm-chan.org/docs/lcd/lcd3v.html

von Bernd S. (wirrer_haarschopf)


Lesenswert?

Falk B. schrieb:
> Lernt vom Meister aus dem fernen Osten.

Der redet aber darüber, den LCD controller gleich mit 3V zu betreiben. 
Dafür erzeugt er an Vo eine negative Spannung und er benötigt auch einen 
100kHz Takt irgendwoher.

Dazu schreibt er noch:

When the supply voltage is lowered, the oscillation frequency of the 
built-in clock oscillator falls down. The Rosc should be changed to 
proper value for that supply voltage when the extension of command 
execution time cannot be accepted. The Rosc is the resister of 91k ohms 
on the LCD module (it may be different value).

Als mir scheinen die anderen Lösungen doch irgendwie einfacher, wenn man 
5V zur Verfügung hat.

von André R. (andr_r619)


Lesenswert?

Das denke ich auch. Zumal er sich auf den HD44780 konzentriert. Ich 
möchte jedoch ein Pixel-LCD mit einem ST7920 beschicken.

Kann man eigentlich irgendwie "sicher" prüfen, ob das Display die drei 
Datenleitungen nicht doch irgendwie auf 5 V zieht? Nach meinem 
Verständnis sollte das zwar nicht der Fall sein, da diese nur gelesen 
werden, aber wer weiß …

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

André R. schrieb:
> Kann man eigentlich irgendwie "sicher" prüfen, ob das Display die drei
> Datenleitungen nicht doch irgendwie auf 5 V zieht?

Nö, warum sollte es das tun? Das sind lediglich Eingänge, und selbst 
wenn ein Pullup gegen 5V auf den Leitungen liegen sollte, ist der Strom 
so gering, das es den MC nicht kratzt.
Du kannst auch Widerstände in die Leitungen legen (100-330 Ohm), aber 
wirklich nötig ist das nicht.
Bestrome das Display mit 5V ohne den MC und miss den Strom, den es 
erfordert, die Leitungen auf 0V zu ziehen. Das sollte alles sehr gering 
sein und unter 1mA sein, eher im -zig µA Bereich.

von André R. (andr_r619)


Lesenswert?

Ich will jetzt nicht als Idiot dastehen, aber wie messe ich das denn? 
Multimeter auf Ampere stellen und dann zwischen Port und Masse 
kontaktieren, oder wie geht das?

von Joachim B. (jar)


Lesenswert?

dummschwaetzer schrieb:
>>Die 3,3->5V Richtung ist unkritisch, da praktisch alle 5V
> Eingänge die
>>3,3V als high akzeptieren.
> siehe Datenblatt Display,
> einige IC haben als high 0,7VCC, da wird es mit 3,3V knapp
> 0,7 * 5V = 3,6V

es gibt auch IC die 0,8 * VCC für high wünschen

ABER die meisten Displays die mit 5V arbeiten verstehen auch 4,5V, eine 
Diode 1N4148 oder 1-2 BAT 42 in die VCC Leitung senken die high Schwelle 
0,7 * 5V = 3,5V auf 0,7* 4,5V = 3,15V das könnte besser gehen.

von Frank K. (fchk)


Lesenswert?

André R. schrieb:
> Kann man eigentlich irgendwie "sicher" prüfen, ob das Display die drei
> Datenleitungen nicht doch irgendwie auf 5 V zieht? Nach meinem
> Verständnis sollte das zwar nicht der Fall sein, da diese nur gelesen
> werden, aber wer weiß …

Wenn Du 74HCT-Gatter dazwischen schaltest wie von mir empfohlen, dann 
ist selbst dieses geringe Restrisiko auf 0 gesenkt.

fchk

von Christian B. (luckyfu)


Lesenswert?

Joachim B. schrieb:
> ABER die meisten Displays die mit 5V arbeiten verstehen auch 4,5V, eine
> Diode 1N4148 oder 1-2 BAT 42 in die VCC Leitung senken die high Schwelle
> 0,7 * 5V = 3,5V auf 0,7* 4,5V = 3,15V das könnte besser gehen.

Das kann funktionieren, wenn die Leitung zwischen MC und Display sehr 
kurz ist und der MC eine stabile 3,3V hat. Wenn die Leitung länger wird 
ist nicht sicher, daß die 3,15V auch noch ankommen, die Schaltschwellen 
sind ja nicht umsonst so weit gefächert.

Das sicherste ist ein Levelshifter dazwischen. Vorschläge dafür wurden 
schon gemacht.

von Axel R. (Gast)


Lesenswert?

Mit den Textdisplay-Controller hab ich das jetzt schon n paarmal 
gemacht, wie Elm Chan es beschrieb. Geht sehr gut. Auch ohne Änderung 
des Widerstandes.(Timer2 für die kleine Kaskade für die neg. 
Kontrastspannung)
Evtl. läuft dein og Display ja bei 3.3V auch. Wenn da steht, es ginge 
nur die Hintergrundbeleuchtung nicht, würde es evtl. reichen, diese 
separat zu versorgen? Die DOGMs zB. müssen dann allerdings anders 
initialisiert werden. Diese erzeugen die Kontrastspannung(en) intern. 
Hier wird dann wohl die Ladungspumpe von "doppeln" auf "verdreifachen" 
umgeschaltet (oderso).

HCT-Pegelwandler ist natürlich "einfach geradeaus". Mach disss.

StromTuner

von Axel R. (Gast)


Lesenswert?

StromTuner

André R. schrieb:
> @dummschwaetzer
> Wenn ich das Datenblatt richtig lese, dann hat der Controller eine
> Betriebsspannung zwischen 2,7 und 5,5 V. Allerdings bleibt zumindest die
> Hintergrundbeleuchtung des Displays dunkel, wenn ich es an 3,3 V
> anschließe.
>
> http://www.lcd-module.de/eng/pdf/zubehoer/st7920_chinese.pdf

Hier (Seite 8 im verlinkten Dokument) wäre dann der Widerstand an den 
"OSC1/2-Pins" von 33K auf 18K zu ändern. Die Ladungspumpe (entsprechend 
stärker dimensioniert) braucht man dann für's Backlight. Hat man auch 
nichts gewonnen. Es sei denn, die 5V stehen separat zur Verfügung, wovon 
ich mal ausgehe.

Viel Spaß noch
Äxl

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

André R. schrieb:
> Multimeter auf Ampere stellen und dann zwischen Port und Masse
> kontaktieren, oder wie geht das?

Ampere ist ein wenig zu hoch, nimm den kleinen mA Bereich. Ansonsten ja, 
Masse des Multimeters an GND und dann an den Display Pins mit der 
positiven Strippe messen. MC sollte dabei nicht gesteckt sein, wir 
wollen den ja nicht mit Gewalt auf low ziehen.

: Bearbeitet durch User
von André R. (andr_r619)


Lesenswert?

Frank K. schrieb:
> Wenn Du 74HCT-Gatter dazwischen schaltest wie von mir empfohlen, dann
> ist selbst dieses geringe Restrisiko auf 0 gesenkt.

Glaube ich. Nur komme ich da auf die Schnelle nicht ran. Bleibt ja nur 
entweder teurer Apothekenkauf oder zwei Monate warten, bis die Ware aus 
Fernost kommt.

Gibt es eigentlich irgendwo eine Zusammenstellung an Sachen, die man 
unbedingt zu Hause haben sollte zum Basteln? So ein Grundstock an 
preiswerten Komponenten, wo die Gesamtkosten noch im erträglichen 
Bereich bleiben? Vielleicht sogar als vorsortiertes Sortiment?

@Axel R.

Danke für den Vorschlag. Das ganze Display ist allerdings eine fertige 
Platine als Entwicklungssatz. Da will ich ohne Not nicht dran 
herumlöten, da es nur zum experimentieren gedacht ist. Und für den 
Arduino brauche ich ja die 5 V.

@Matthias S.

Danke, soweit habe ich mir das schon gedacht. MC abstecken ist 
allerdings nicht so einfach. Ist ein NodeMCU. Da ist alles fest verbaut 
und man kommt nur an die Pins ran. Da ich kein externes Netzteil habe, 
mit dem ich die erforderlichen 5V erzeugen kann, habe ich das jetzt 
einfach mal riskiert:

Ergebnis: Mit dem „billigen“ Multimeter war gar nichts zu holen. Mit dem 
teuren konnte ich immerhin 0,015 µA messen. Aber auch nur auf einer der 
drei Leitungen. Die anderen blieben stumm. Sollte also kein Problem 
sein, oder?

von Frank K. (fchk)


Lesenswert?

André R. schrieb:
> Frank K. schrieb:
>> Wenn Du 74HCT-Gatter dazwischen schaltest wie von mir empfohlen, dann
>> ist selbst dieses geringe Restrisiko auf 0 gesenkt.
>
> Glaube ich. Nur komme ich da auf die Schnelle nicht ran. Bleibt ja nur
> entweder teurer Apothekenkauf oder zwei Monate warten, bis die Ware aus
> Fernost kommt.

Hä?

https://www.reichelt.de/ICs-74HCT-DIL/74HCT-125/3/index.html?ACTION=3&GROUPID=2932&ARTICLE=3314&SEARCH=74hct125&OFFSET=16&;

30 cent sind für Dich ein Problem?

fchk

von André R. (andr_r619)


Lesenswert?

Zugüglich 5,60 € Versandkosten. Oder täusche ich mich da?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

André R. schrieb:
> Sollte also kein Problem
> sein, oder?

So isses. Schliesse das Display direkt an und vergiss jegliche 
Pegelwandler.

Frank K. schrieb:
> 30 cent sind für Dich ein Problem?

+5,60 Euro Versand. Wenn man sonst nichts braucht, wäre das ein sehr 
teurer 'HC125. Er ist aber auch nicht nötig.

von Heinz (Gast)


Lesenswert?

Selbst wenn doch, warum auch immer, 5V an den ESP-IOs käme, es macht dem 
ESP nichts aus.
Hierzu gab es sogar mal irgendwo ein offizielles Statement vom 
Hersteller Espressif.
Einzig die Versorgungsspannung muss unbedingt 3.3V sein

von André R. (andr_r619)


Lesenswert?

Danke für den Rat!

Das mit den Versandkosten sehe ich auch so. Da müsste ich mich echt mal 
hinsetzen, und so im Bereich von bis zu 50 € Komponenten zu einem Paket 
zusammenstellen, dass sich die Kosten für den Versand auch wirklich 
lohnen. Leider findet man so wenig Infos darüber, welche Komponenten zum 
Grundstock gehören, und auf was man verzichten kann. Ich meine, 
beispielsweise ein paar Logikgatter, Pin-Expander usw. können nie 
schaden, oder?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

André R. schrieb:
> ch meine,
> beispielsweise ein paar Logikgatter, Pin-Expander usw. können nie
> schaden, oder?

Kommt drauf an. Obwohl ich kein untätiger Bastler bin, sondern etwa jede 
Woche was baue, brauche ich nur äusserst selten irgendwelche Logikgatter 
oder so.
Widerstände und Kondensatoren gerne immer, aber ansonsten eher einen 
Haufen IC Fassungen und frische AVRs/PICs sowie Lochrasterplatten und 
Fädeldraht. (Fädeln mache ich am liebsten, geht schnell und ist robust).
Frische Elkos sind immer gut und ein Schwung 100nF Abblocker.
Bei den Widerständen reicht m.M.n. erstmal sowas wie 100 Ohm, 470 Ohm, 
1k, 4k7, 10k, 47k, 100k, 470k und 1MOhm.
Das Leuchtweiten-Stellmotor-Projekt letzte Woche war etwas aus der 
Reihe, da brauchte es mal einen BA6208 und Subminiatur-Relais - aber so 
isses nun mal in einem alten Nissan.

: Bearbeitet durch User
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.