Forum: Mikrocontroller und Digitale Elektronik Hilfe um 5V LCD mit 3.3V zu betreiben


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Manuel B. (desteini)


Lesenswert?

Hi Leute,

ich hab hier folgendes LCD 
(https://www.displaytech-us.com/20x4-character-lcd-displays-a) 
rumliegen, und versuche es mit einem LPC2919 Evaluation Board zu 
betreiben. Auf dem Board hab ich zugriff auf 5V,3.3V und GND. Der uC 
liefert als Ausgang 3.3V. Meine Routine hat auf dem PIC mit 5V 
funktioniert, jetzt geht das LCD nur an, und zeigt 2 zeilen komplett 
hell an, und die anderen 2 Zeilen blau.

Ich nehm an es liegt daran, dass der High-Pegel des LCDs 0.8*Vcc ist und 
deshalb die 3.3V nicht ausreichen um das Display richtig zu 
initialisieren.

Falls dies stimmt, was wäre eine passende lösung? zwischen uC und LCD 
relais schalten, die 5V/0V schalten?
Oder gibt es da bessere Lösungen?

Angeschlossen Habe ich das LCD bisher so:
Pin 1: GND
Pin 2: 5V
Pin 3: GND (Hat beim letzten mal so gut hingehaun)
pin 4-14 uC (nur die für 4 Bit modus)
pin 15: 3.3V
pin 16: GND

Dank euch für die Hilfe ;)

von holger (Gast)


Lesenswert?

>Ich nehm an es liegt daran, dass der High-Pegel des LCDs 0.8*Vcc ist und
>deshalb die 3.3V nicht ausreichen um das Display richtig zu
>initialisieren.

3.3V reicht meist auch aus. Wenn man das Display zu schnell
ansteuert wird es nicht richtig initialisiert.

>Falls dies stimmt, was wäre eine passende lösung?

Zwei 74HCT125 als Pegelwandler. Oder das Display auch mit
3.3V betreiben und eine negative Kontrastspannung anlegen.
Kann man z.B. von einem MAX232 abgreifen falls einer vorhanden ist.

von Falk B. (falk)


Lesenswert?

@ Manuel Bali (desteini)

>Ich nehm an es liegt daran, dass der High-Pegel des LCDs 0.8*Vcc ist und
>deshalb die 3.3V nicht ausreichen um das Display richtig zu
>initialisieren.

Ja.

>Falls dies stimmt, was wäre eine passende lösung?

Entweder Pegelwandler für die Signale, sind ja nur unidirektional. 
74HCT244 & Co.
Oder das LCD mit 3,3v betreiben und eine negative Kontrastspannung 
generieren.

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

>pin 15: 3.3V
>pin 16: GND

Das macht man aber nicht. Dort hängen meist die LEDs der 
Hintergrundbeleuchtung DIREKT dran, da fehtl der Vorwiderstand. Zum 
Glück sind 3,3V zu wenig, meist haben die LEDs 4,2V Flußspannung ;-)

von Max H. (hartl192)


Lesenswert?

Hier habe ich unter anderem was zum Betrieb von HD44780 kompatiblen LCDs 
mit 3.3V geschrieben: Beitrag "[ASM & C] HD44780 an PIC24 (3.3V oder 5V)"

von Frank K. (fchk)


Lesenswert?

Liest Du Daten vom Display zurück? ZB das Busy Flag? Wenn nicht, dann 
nimm einfach ein 74HCT541 oder 74HCT244 (ungünstigeres Layout gegenüber 
dem 541). Die Eingänge der HCT-Serie haben die für 3.3V CMOS passenden 
Schaltschwellen.

Alternative: Viele Textmodus-Displays funktionieren auch mit Vcc=3.3V 
einwandfrei. Du brauchst dann aber eine negative Kontrastspannung, die 
Du am einfachsten mit einem ICL7660 und zwei 10µ Kondensatoren erzeugst. 
Dann 10k Poti zwischen Vcc und Vneg vom 7660 und den Schleifer an Pin 3 
des Displays. Du kannst auch mit einem Rechtecksignal vom Prozessor und 
einigen Dioden und Kondensatoren eine negative Spannung erzeugen, aber 
der Weg mit dem 7660 ist idiotensicherer und funktioniert auch ohne 
Prozessor.

Mit 3.3V sind die Textmodus-Displays langsamer, gegenüber der 5V 
Implementation musst Du also die Delays so ca. 30-50% größer wählen.

fchk

von Ein (Gast)


Lesenswert?

Manuel Bali schrieb:
> zwischen uC und LCD relais schalten, die 5V/0V schalten?
Ein Relais ist einen Faktor 10000 zu langsam und klappert zu sehr, i.e. 
wenn es "klack" macht, wird der Kontakt meist mehrere Male auf und zu 
gemacht. Das ist nichts für eine digitale Datenübertragung.

von Manuel B. (desteini)


Lesenswert?

Das ging mal schnell, danke!

>Ein Relais ist einen Faktor 10000 zu langsam und klappert zu sehr, i.e.
>wenn es "klack" macht, wird der Kontakt meist mehrere Male auf und zu
>gemacht. Das ist nichts für eine digitale Datenübertragung.

Ja das mit der Geschwindigkeit dacht ich mir schon...

>Liest Du Daten vom Display zurück? ZB das Busy Flag? Wenn nicht, dann
>nimm einfach ein 74HCT541 oder 74HCT244 (ungünstigeres Layout gegenüber
>dem 541). Die Eingänge der HCT-Serie haben die für 3.3V CMOS passenden
>Schaltschwellen.

Ich lese nur, also werd ich wohl zu den Pegelwandlern greifen. 
(Idiotensicher)

>Zwei 74HCT125 als Pegelwandler.

Wieso denn nur 2 Pegelwandler? Versteh ich was falsch, oder muss ich die 
Pegelwandler nich zwischen jede Datenleitung und Display haun? sprich 6 
Pegelwandler?

Als erstes werd ich Morgen mal die Wartezeit verdoppeln, um zu schauen 
ob es vllt doch ohne funktioniert.

Danke für die schnelle Hilfe ;)

von holger (Gast)


Lesenswert?

>>Zwei 74HCT125 als Pegelwandler.
>
>Wieso denn nur 2 Pegelwandler?

Da sind jeweils vier Gatter drin.

von Manuel B. (desteini)


Lesenswert?

alles klar, dann hab ich das auch kapiert =)

von Max H. (hartl192)


Lesenswert?

Ich persönlich verwende als Pegelwandler immer 74HCT245. Von dem reicht 
ein IC und er ist leichter zu Routen.

Manuel Bali schrieb:
> Als erstes werd ich Morgen mal die Wartezeit verdoppeln, um zu schauen
> ob es vllt doch ohne funktioniert.
Wenn das LCD an 5V hängt, wir des nicht viel bringen nur die Delays zu 
verdoppeln.

: Bearbeitet durch User
von Teo D. (teoderix)


Lesenswert?

Hast Du es schon mit einer sehr kurzen Verbindung, zwischen LCD u. µC, 
versucht?
Ka ob das was bringt, interessiert mich nur.

: Bearbeitet durch User
von Manuel B. (desteini)


Lesenswert?

>Wenn das LCD an 5V hängt, wir des nicht viel bringen nur die Delays zu
>verdoppeln.
Also besser an 3.3 V hängen und dann doppeln?

>Hast Du es schon mit einer sehr kurzen Verbindung, zwischen LCD u. µC,
>versucht?

Naja sie Kabel sind nur 10cm lang, weiß nich obs nen großen Unterschied 
machen würde, außerdem brauch ich die Länge, von daher ist das kaum ein 
Versuch wert für mich.

von holger (Gast)


Lesenswert?

>>Wenn das LCD an 5V hängt, wir des nicht viel bringen nur die Delays zu
>>verdoppeln.
>Also besser an 3.3 V hängen und dann doppeln?

Nein. Vieleicht sind deine Delays so schon zu kurz.
Hast du da mal nachgemessen? Zu lang geht immer.
Also mal ordentlich was draufpacken.

von Teo D. (teoderix)


Lesenswert?

Manuel, danke. 10cm sind mir kurz genug :)

von Manuel B. (desteini)


Lesenswert?

>Nein. Vieleicht sind deine Delays so schon zu kurz.
>Hast du da mal nachgemessen? Zu lang geht immer.
>Also mal ordentlich was draufpacken.

Das LCD dass schon auf dem Evoboard ist (ist für meinen Zweck aber nicht 
ausreichend) läuft mit diesen Delays. Trotzdem werd ichs mal mit 
ordentlich mehr versuchen ;)

>Manuel, danke. 10cm sind mir kurz genug :)

Gern geschehen =)

von holger (Gast)


Lesenswert?

>Das LCD dass schon auf dem Evoboard ist (ist für meinen Zweck aber nicht
>ausreichend) läuft mit diesen Delays.

Da könnte man ja glatt auf die Idee kommen das das andere
Display nicht korrekt angeschlossen ist;)

>Trotzdem werd ichs mal mit
>ordentlich mehr versuchen ;)

Ja, mach das. Schaden tut es jedenfalls nichts.

von Manuel B. (desteini)


Lesenswert?

>Da könnte man ja glatt auf die Idee kommen das das andere
>Display nicht korrekt angeschlossen ist;)

Zum Glück hat ich die Idee auch schon ;) Glaub mir ich hab einiges 
probiert bevor ich überhaupt draufgekommen bin, dass es an den 3,3V 
liegen könnte.
Das andere Display wird wohl ein 3.3V sein, oder hat eben nen 
entsprechenden Schaltplan =)

von Manuel B. (desteini)


Lesenswert?

So auf der Suche nach dem IC bin ich auf den hier gestoßen:
74HCT541N. Für was steht das N? die Bauform? Hab en haufen Abwandlungen 
gefunden mit nem SN davor, oder ein D am Ende, kann mir kurz jemand 
erklären, was der Unterschied ist?

Und zum Betrieb, OE1 und OE2, (output enable input LOW), werden einfach 
an Masse gehängt oder versteh ich da was falsch? Versteh nicht wirklich 
für was die da sind.

Ansonsten gibts ja nur noch GND und Power, und die einzelnen in und 
outputs =)

von Frank K. (fchk)


Lesenswert?

Manuel Bali schrieb:
> So auf der Suche nach dem IC bin ich auf den hier gestoßen:
> 74HCT541N. Für was steht das N? die Bauform? Hab en haufen Abwandlungen
> gefunden mit nem SN davor, oder ein D am Ende, kann mir kurz jemand
> erklären, was der Unterschied ist?

Das Datenblatt des entsprechenden Herstellers sagt es Dir. SN weist auf 
TI als Hersteller hin. Das Suffix steht meist für die Gehäuseform, 
N=DIP, D,DW=SOIC(W), PW=TSSOP und kann von Hersteller zu Hersteller 
verschieden sein. Schau ins passende Datenblatt, da stehts drin.

> Und zum Betrieb, OE1 und OE2, (output enable input LOW), werden einfach
> an Masse gehängt oder versteh ich da was falsch? Versteh nicht wirklich
> für was die da sind.

Auch das steht im Datenblatt drin. Lesen bildet. Wirklich!

"The Output Enables (!OE1) and (!OE2) control the Three-State Outputs. 
If either !OE1 or !OE2 is HIGH the outputs will be in the high impedance 
state. For data output !OE1 and !OE2 both must be LOW.!

fchk

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.