Forum: Mikrocontroller und Digitale Elektronik 5V LCD an 3V Datenbus. Geht das?


von Roland (Gast)


Lesenswert?

Hallo

Frage:

möchte ein normales Charcater LCD(16x2) 5V, HD44780, 8Bit Datenbus usw.
in ein 3V System einbinden.

Das LCD kann ich mit 5V VCC versorgen.
Der Datenbus/Steuersignale machen mir Sorgen. Brauche ich einen 
Pegelwandler oder geht das direkt mit den 3V Datenbus?
Oder welchen Datenbustreiber ähnlich HCT244/245 würdet ihr empfehlen.


Danke für AW

mfg
Roland

von Bernd G. (Gast)


Lesenswert?

Wenn du Signale vom LCD rückwärts in den Controller holen willst, kommen 
da natürlich max. 5 V zurück.
Die meisten ATmega sind 5-V-tolerant, da geht das ohne Probleme.
Wenn du nur Schreiboperationen zum LCD machst, hast du auch keine 
Probleme, auch wenn dein Datenbus nicht 5-V-tolerant ist.

von B e r n d W. (smiley46)


Lesenswert?

Lesen muss man immer, zumindest das Busy Flag.

von Bernd G. (Gast)


Lesenswert?

Muss man nicht. Einfach warten.

von Michael U. (amiga)


Lesenswert?

Hallo,

seit wann sind die ATMega 5V-tolerant???
Das Datenblatt sagt doch eindeutig Vcc + 0,5V...

Mit einem Widerstand 2,2k in jeder Datenleitung kann man es machen, dann 
begrenzen die Schutzdioden im AVR ohne daß deren Maximalstrom 
überschritten wird.

Man muß nicht immer lesen, man kann auch einfach passend lange warten...

Wenn nicht gelesen werden soll, also R/W fest auf GND, geht es auch ohne 
Widerständen, der H-Pegel des AVR bei 3,3V sollte dem 5V-Display 
reichen.

Gruß aus Berlin
Michael

von Niels H. (monarch35)


Lesenswert?

Roland wrote:
> Der Datenbus/Steuersignale machen mir Sorgen. Brauche ich einen
> Pegelwandler oder geht das direkt mit den 3V Datenbus?

Kommt auf den Anwendungsfall an, würde ich sagen. Im professionellen 
(komerziellen) Bereich würde ich unbedingt einen Pegelwandler einsetzen. 
Für private Spielereien tuns auch ein paar Dioden, die dafür sorgen, daß 
die Bussignale nicht den uc "rückwärts" speisen.

von Michael E. (rince)


Lesenswert?

Bernd G. wrote:
> Muss man nicht. Einfach warten.

Genau. Bei einem 16x2 spielt eine hohe Uebertragungsrate sowieso keine 
Rolle, ausser vielleicht für Animationen und dergleichen. Ausserdem 
sieht es cool aus wenn die Buchstaben mit einer kleinen Verzögerung auf 
dem LCD erscheinen (à la newsticker).

Ich habe gerade ein Projekt aufgebaut bei dem ein AVR32 AP7000 mit einem 
16x2 LCD kommuniziert. Der AP7000 ist nicht 5V tolerant aber solange man 
den R/W pin vom LCD auf "W" hält sollte eigentlich nichts passieren. Die 
3,3V werden vom LCD ohne Probleme als high erkannt.

Ansonsten bietet sich ein Spannungsteiler auf den 4 bzw. 8 
Datenleitungen als einfachste Lösung an.

Michael

von Bernd G. (Gast)


Lesenswert?

Sorry, korrigiere mich, der ATmega xx-L kann zwar mit 5V betrieben 
werden,
hält aber bei 3 V Betriebsspannung auch bloß 3,5 V H-Pegel aus.
Ich habe das Busy nie gelesen und immer gewartet. R/W ist bei mir immer 
auf Masse.

von Roland (Gast)


Lesenswert?

Danke für die vielen Antworten.

Es ist schon für den prof. Bereich gedacht.

Was gibt es denn da für 8Bit Bustreiber 5V <-> 3V ?

Nur am Rande:
Das 5V LCD an 3V VCC Versorgung - NO GO!
Irgendwas mit OsziFreq zu langsam hab ich mal gelesen.
Ausserdem geht das Licht ja nicht.

mfg
Roland

von Niels H. (monarch35)


Lesenswert?

Roland wrote:

> Was gibt es denn da für 8Bit Bustreiber 5V <-> 3V ?

http://www.mikrocontroller.net/articles/Pegelwandler

von Michael H* (Gast)


Lesenswert?

Roland wrote:
> Es ist schon für den prof. Bereich gedacht.
warum dann kein ordentliches display mit 3V3?

von Benedikt K. (benedikt)


Lesenswert?

Roland wrote:
> Nur am Rande:
> Das 5V LCD an 3V VCC Versorgung - NO GO!

Warum? Das wäre eine ordentliche Lösung, wenn das Datenblatt 3V erlaubt 
(was eigentlich alle heutigen HD44780 kompatiblen LCDs auch tun 
sollten).

> Irgendwas mit OsziFreq zu langsam hab ich mal gelesen.

Dann pass deine Software an. Wenn du das Busy nicht abfragst, und nur so 
kurz wartest, dass sowas Probleme macht dann ist deine Software schon 
einfach nur schlecht und irgendwann fällst du damit auf die Nase.

von YOB (Gast)


Lesenswert?

Ich würde mir nen DC/DC nehmen und dann dazu nen 5V kompatiblen 
Bustreiber-IC. Dieser wir deine 3,3V (High) am Eingang als sauberes High 
erkennen und über seine Betriebsspannung bekommst du am Ausgangs saubere 
5V High mit genug Strom. Zudem hast du dann 5V auch anderswo auf der 
Platine zur Verfügung.

Yob.

von (prx) A. K. (prx)


Lesenswert?

3,0V AVR an 5V LCD funktioniert bei mir. Voraussetzung: R/W=0 wie schon 
beschrieben ohne Busy-Abfrage, und beim Timing vom E-Signal sollte man 
etwas Luft lassen, also 2µs high/low.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Ich habe auch ein 5V-Display im Write-Only-Modus an einer Testschaltung 
mit einem 3.3V Controller, geht ohne Probleme. Im professionellen 
Bereich nutze ich ein 3.3V spezifiziertes EA-DOG-LCD mit 3.3V 
kompatibler Hintergrundbeleuchtung. http://www.lcd-module.de

von Bernd G. (Gast)


Lesenswert?

Die technisch einwandfreie bidirektionale Pegelkonvertierung mit 
direction-autosensing:  http://www.ti.com/lit/gpn/txb0104

So geht es immer.

von Uwe .. (uwegw)


Lesenswert?

Roland wrote:
> Nur am Rande:
> Das 5V LCD an 3V VCC Versorgung - NO GO!
> Irgendwas mit OsziFreq zu langsam hab ich mal gelesen.
> Ausserdem geht das Licht ja nicht.

Ich hab mal testweise ein 5V-LCD mit Spannungen bis unter 3V betrieben. 
Das einzige Problem war die Kontrastspannung, die musste negativ sein. 
Ansonsten funktionierte es problemlos...
Eventuelle Timingprobleme lassen sich durch längeres Warten 
kompensieren, und die Beleuchtung ist ja sowieso unabhängig vom Rest, 
daher kann man sie einfach an eine andere Quelle hängen.

von Mike (Gast)


Lesenswert?

Alle neueren LCD's kann man meist problemlos mit 3.3V versorgen. Am 
besten mal schauen, welcher Chip auf dem LCD sitzt und im Datenblatt 
nachschlagen. 2 Punkte sind zu beachten:

1. Kontrastspannung beträgt meist ca. 4- 4.8 V unter Vcc, das heisst bei 
3.3V Versorgung 1.5V unter Masse. Sind zum Glück aber nur wenige 100 uA. 
Wenn sich auf der Platine schon eine negative Spannung findet (z.B. 
RS232 Pegelwandler) kann man meist die Spannung dort "zwacken", 
ansonsten Ladungspumpen IC (z.B. 7661) verwenden.

Der Oszillator des LCD-Controllers läuft langsamer bei 3.3V. 
Funktioniert zwar i.a. trotzdem, aber das Timing wird eventuell nicht 
mehr eingehalten. Man kann aber den Widerstand des RC-Oszillators auf 
dem LCD-Board suchen (meist cum die 91 kOhm) und durch einen kleineren 
ersetzen (->Datenblatt des Controllers).

Für eine professionelle Lösung würde ich aber eher zu einem modernen 
3.3V LCD-Modul raten.

Gruss
Mike

von Micha (Gast)


Lesenswert?

Es gibt verschiedene Pendant's vom 74xx245, z.B. xx8T245, xx3245, 
xx4245, xx16T245, xx164245, ... (u.a. von TI), die alle im 
Pegelwandler-Artikel nicht auftauchen. Den richtigen musst du dir selber 
suchen und du musst dich um die Signal-Richtung kümmern...

von Micha (Gast)


Lesenswert?

Natürlich muss es Pendants heißen... Verzeihung... ;)

von Nörgler (Gast)


Lesenswert?

Und Pendants zum :-)

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.