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
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.
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
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.
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
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.
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
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.
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.
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.
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
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.
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
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...