Forum: Mikrocontroller und Digitale Elektronik 5V Display an Atmega mit 3.3V


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 amplifier (Gast)


Lesenswert?

Hi,

was kann ich tun, um bei der oben genannten Konstellation zu verhindern, 
dass der Atmega kaputt geht, wenn er 5V Logiksignale vom LCD bekommt? 
Reichen da Zenerdioden schon aus (wollte 3.6V Zenerdioden nehmen, weil 
der Atmega VDD+0.5V also maximal 3.8V verträgt) oder muss ich auf 
bidirektionale Levelshifter umsteigen?

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Wenn die Frequenz nicht zu hoch wird und das Display 3,3V schon als 1 
erkennt, reicht nen Spannungsteiler oder Z Diode und Widerstand.

von amplifier (Gast)


Lesenswert?

Spannungsteiler geht ja nicht...das Display muss in einigen Fällen auf 
den Datenleitungen 3.3V hinsenden und das Display muss diese erkennen. 
Im anderen Fall werden dieselben Datenleitungen gelesen und das Display 
sendet 5V. Und diese 5V müssen runter ohne das die 3.3V auf dem Hinweg 
beeinflusst werden.

von Krapao (Gast)


Lesenswert?

Um welches Display handelt es sich genau und was/wann muss das Display 
an den AVR senden?

Angenommen es ist ein übliches TEXT-LCD kann die Software so mit fixen 
Delays geschrieben werden, dass keine Daten (Busy-Abfrage, LCD Readout) 
vom LCD zum AVR fliessen.

Den Artikel Pegelwandler kennst du?

von amplifier (Gast)


Lesenswert?

Ja den Artikel kenn ich.
Es ist das Display: http://www.pollin.de/shop/downloads/D120423D.PDF

von Krapao (Gast)


Lesenswert?

Yo, im Datenblatt steht das 0.7*VDD als Min. Input High Voltage drin; 
das sind bei LCD-Vcc 5.0V dann 3.5V und die packt der µC bei seiner 
µC-Vcc von 3.3V nicht. Ich würde Pegelwandler-ICs installieren z.B. 2 
aus der HCT Serie 74xx wie den 74HCT244 und mit Vcc 5.0V 
versorgen.

von Krapao (Gast)


Lesenswert?

IMHO gibt es keinen Bedarf für "bidirektionale Levelshifter". Ich sehe 
die Datenrichtung unidirektional vom AVR zum LCD.

von Klaus D. (kolisson)


Lesenswert?

du kannst auch das Display direkt mit 3,3V betreiben.
Allerdings benötigst du dann für Kontrast eine leicht negative Spannung,
die mit einer Ladungspumpe erzeugt werden kann.

Gruss k.

von Krapao (Gast)


Lesenswert?

Braucht man bei diesem Display die negative Vee nicht immer, damit man 
auf VDD-VO 9V kommt? IMHO gilt: Angenommen VDD ist typ. 5V und VDD-VO 
typ. 9V, dann braucht man Vee <= -4V. Ob die Logik mit VDD 3.3V arbeitet 
weiss ich nicht, bin nach Datenblattspecs gegangen. Versuchen würde ich 
es aber :)

von (prx) A. K. (prx)


Lesenswert?

Obacht - das ist kein übliches HD44780A Text-LCD. Es scheint eine eigene 
negative Spannungsversorgung zu enthalten, denn die Displayspannung ist 
sowieso schon negativ. Das Display benötigt laut Datasheet ca. 8,5V 
(5V..-3,5V) und eine darauf optimierte Ladungspumpe wird das bei 3,3V 
vermutlich nicht schaffen.

von Krapao (Gast)


Lesenswert?

So etwas wie eine integrierte Ladungspumpe mit Ausgang an Vee. Möglich 
und und wahrscheinlich. Das habe ich in ausführlicheren Datenblättern 
von anderen GLCDs schon gesehen. Müsste sich aber leicht mit einem 
Voltmeter ausmessen lassen.

von amplifier (Gast)


Lesenswert?

Genau die negative Spannung kommt schon aus dem LCD.

Ich habe mir die SN74HCT245 angesehen, aber ich habe es so verstanden 
das je nach Richtung nur von 3.3V also kleinerer Spannung auf %V also 
hohe Spannung geshiftet werden kann, er aber nicht auch noch runter 
konvertiert. Deswegen wollte ich den für die unidirektionalen 
Verbindungen wie RW, RS, E, RESET#, CS0, CS1 benutzen und für die 
bedirektionale Verbindung wollte ich dann einen MAX3000 nehmen. Der 
sollte in der Lage sein, wenn ich das Datenblatt richtig verstehe und 
ich brauch nichtmal diesen Direction PIN der ist quasi 
echt-bidirektional-fähig ohne manuelles umschalten.

von (prx) A. K. (prx)


Lesenswert?

Da auch das Timing der Befehle nicht definiert ist muss wohl wirklich 
gelesen werden. Allerdings reicht D7 für Busy, wenn man auf den 
Displayspeicher nicht lesend zugreifen muss. Dafür reicht also notfalls 
auch ein unidirektionaler Pegelwandler (z.B. 74HCT541), und ein 
Spannungsteiler an D7 retour zum AVR fürs Busy.

von Tobi (Gast)


Lesenswert?

Muss man überhaupt vor Überspannung schützen?

Wenn ich die Appnote richtig verstehe, dann haben AVR intern bereits 
einen Schutz verbaut. Jedenfalls schließen die hier wohl 230VAC direkt 
an einem Portpin an. Fehlt nur ein Widerstand zur Strombegrenzung.

http://www.atmel.com/Images/doc2508.pdf

von (prx) A. K. (prx)


Lesenswert?

Kann man machen, aber dann muss man hoffen, dass der 3,3V Pegel 
zuverlässig ausreicht, um das Display mit Vih(min)=3,5V zu bedienen. 
Wird üblicherweise funktionieren, wenn man der Leitung deutlich mehr 
Zeit lässt als das Datasheet verlangt, ist aber unsauber.

Ausserdem muss man bei insgesamt 8 Leitungen D0-D7 drauf achten, dass 
der rückfliessende Strom von den Komponenten an 3,3V stets abverbraucht 
wird, sonst bleiben das keine 3,3V.

von Frank K. (fchk)


Lesenswert?

amplifier schrieb:
> Hi,
>
> was kann ich tun, um bei der oben genannten Konstellation zu verhindern,
> dass der Atmega kaputt geht, wenn er 5V Logiksignale vom LCD bekommt?
> Reichen da Zenerdioden schon aus (wollte 3.6V Zenerdioden nehmen, weil
> der Atmega VDD+0.5V also maximal 3.8V verträgt) oder muss ich auf
> bidirektionale Levelshifter umsteigen?

Standardantwort: 2*74LVCC3245A
Sind wie für Dich gemacht.

fchk

von amplifier (Gast)


Lesenswert?

Danke den kannte ich noch nicht. So einen hatte ich gesucht um dann den 
RW Pin an den Direction Pin anzuschließen. Ich hatte noch einen anderen 
Gefunden, bei dem die 5V und die 3.3V Seite leider festdefiniert waren 
und ich hätte bei dem noch einen Inverter vor dem Direction Pin 
gebraucht, aber der scheint ja die 5V und 3.3V frei definiefrbar zu 
haben.

von Frank K. (fchk)


Lesenswert?

amplifier schrieb:
> Danke den kannte ich noch nicht. So einen hatte ich gesucht um dann den
> RW Pin an den Direction Pin anzuschließen. Ich hatte noch einen anderen
> Gefunden, bei dem die 5V und die 3.3V Seite leider festdefiniert waren

Das ist beim 74LVCC3245A auch der Fall:
1
74LVCC3245A         min typ max Unit
2
VCCA Supply voltage 2.3 3.3 3.6 V
3
VCCB Supply voltage 3.0 5.0 5.5 V
DIR und /OE werden von VCCA betrieben.

Die andere Richtung gibts auch, das ist dann der 74LVCC4245A:
1
74LVCC4245A         min typ max Unit
2
VCCA Supply voltage 4.5 5.0 5.5 V
3
VCCB Supply voltage 2.7 3.3 5.5 V
DIR und /OE werden von VCCA betrieben.

Also Augen auf!

fchk

von amplifier (Gast)


Lesenswert?

Ich werde jetzt für die bidirektionale Verbindung den MAX3002 benutzen 
bzw. MAX3000 wenn ich den irgendwo zu kaufen finde. Der scheint extrem 
komfortabel zu sein, weil man sich um quasi nichts kümmern braucht.

von Bastler (Gast)


Lesenswert?

Wäre es nicht einfacher, einen µC mit 5 V zu verwenden?

von amplifier (Gast)


Lesenswert?

Ja, sofern ich nur das LCD und weitere 5V Komponenten ansteuern müsste. 
Ich habe aber einen DDS der nur 3.3V verträgt. Und da ich mehr Leitungen 
zwischen DDS und Atmega habe als zwischen Atmega und LCD, bau ich lieber 
da Levelshifter ein, wo weniger Leitungen sind, als den Atmega mit 5V zu 
versorgen und zwischen DDS und Atmega Levelshifer einzubauen.

von Jens G. (jensig)


Lesenswert?

Wieviel Strippen brauchste denn zw. µC und DDS? Der 74ALVC164245 hätte 
schonmal 16bit zu bieten.

von amplifier (Gast)


Lesenswert?

Ne das ist noch aufwendiger, da sind allein schon 16 Leitungen für den 
Parallel Bus und dann kommen bestimmt nochmal 10 Steuerleitungen dazu 
und die sind nicht alle unidirektional. Wenn ich nur die 8 
Datenleitungen und die wenigen Steuerleitungen vom LCD shiften muss ist 
das am einfachsten.

von Jens G. (jensig)


Lesenswert?

war ja nur ein Vorschlag ... ;-)

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.