Forum: Mikrocontroller und Digitale Elektronik LDC 5V <-- µC --> ADC 3,3V - wie verbinden?


von HaraldDräger (Gast)


Lesenswert?

Hallo,

für ein Hobbyprojekt möchte ich drei Komponenten miteinander verbinden:

* einen Atmega32 (3,3V bis 5V, je nachdem)

* ein Grafik-LCD (5V)

* ein ADC mit Parallel-Ausgabe (3,3V - PEGEL: LVTTL)


Wenn ich den AVR mit 3,3V betreibe, muss die Datenübertragungsrate zum 
LCD ziemlich gedrosselt werden, damit keine Grafikfehler entstehen.
Deshalb sollte der AVR mit 5V laufen.

Die 3,3V-Pegel vom ADC-Parallelportausgang werden vom AVR (5V) 
wahrscheinlich problemlos als HI erkannt.


Meine Sorge ist eher, dass die 5V-Pegel vom AVR die Steuereingänge vom 
ADC überlasten (maximal erlaubte Spannung an den Steuereingängen vom 
ADC: Vd + 0,3V).
Wie könnte man dieses Problem auf einfache Weise lösen? Kann man einfach 
jeweils einen Spannungsteiler von den AVR-Ausgängen aufbauen und das 
Signal vom Abgriff zu den ADC-Steuereingängen leiten?
(z.B. AVR -> 1,8k/3,3k -> GND)


Noch eine Frage, bleiben beim Atmega32 alle Portpins beim Einschalten 
auf LO, bis das Programm eine Verwendung definiert?

von Michael (Gast)


Lesenswert?

HaraldDräger schrieb:
> Noch eine Frage, bleiben beim Atmega32 alle Portpins beim Einschalten
> auf LO, bis das Programm eine Verwendung definiert?

Nein, das sind dann Eingänge (also hochohmig) ohne Pullup.

von Max H. (hartl192)


Lesenswert?

74HCT245 (wichtig mit T) als Pegelwandler von 3.3V auf 5v. 74HC4050 
von 5V auf 3.3V.

: Bearbeitet durch User
von W.S. (Gast)


Lesenswert?

Deswegen ein zusätzlicher TTL-IC? Igitt.
Variante 1: ein paar Widerstände in die Leitungen zum ADC (so 1k sollte 
ok sein)
Variante 2: alles mit 3.3V betreiben und die Kontastspannung des LCD auf 
etwas unter 0 Volt bringen, damit man was sehen kann (ausprobieren..)
Variante 3: anderer ADC mit seriellem Ausgang

W.S.

von HaraldDräger (Gast)


Lesenswert?

Michael schrieb:
> Nein, das sind dann Eingänge (also hochohmig) ohne Pullup.

Danke für die Info!


Max H. schrieb:
> 74HCT245 (wichtig mit T) als Pegelwandler von 3.3V auf 5v. 74HC4050
> von 5V auf 3.3V.

74HCT245 habe ich da, fragt sich nur, ob der wirklich benötigt wird.

Habe aber leider keinen 74HC4050. Spricht etwas gravierendes gegen einen 
Spannungsteiler als "Pegelwandler" von 5V nach 3,3V

von Max H. (hartl192)


Lesenswert?

W.S. schrieb:
> Deswegen ein zusätzlicher TTL-IC?
Nein, 74HCTxxx ist CMOS...

HaraldDräger schrieb:
> Spricht etwas gravierendes gegen einen
> Spannungsteiler als "Pegelwandler" von 5V nach 3,3V
Bei niedrigen Frequenzen nicht. Der Spannunsteiler bilder zusammen mit 
parasitären Kapazitäten einen Tiefpass der bei höheren Frequenzen stören 
kann.

: Bearbeitet durch User
von HaraldDräger (Gast)


Lesenswert?

W.S. schrieb:
> Variante 1: ein paar Widerstände in die Leitungen zum ADC (so 1k sollte
> ok sein)

Die Eingänge vom ADC sind CMOS-kompatibel. Leiten die internen Dioden 
die Überspannung gegen +Vd ab?

W.S. schrieb:
> Variante 2: alles mit 3.3V betreiben und die Kontastspannung des LCD auf
> etwas unter 0 Volt bringen, damit man was sehen kann (ausprobieren..)
> Variante 3: anderer ADC mit seriellem Ausgang

GraLCD ist 5V-Version, V2 fällt aus.

V3 fällt auch aus, der ADC ist schon der richtige!
(das wär ja wie: Andere Melodie, anderen Text bitte! ;O))


Max H. schrieb:
> Bei niedrigen Frequenzen nicht. Der Spannunsteiler bilder zusammen mit
> parasitären Kapazitäten einen Tiefpass der bei höheren Frequenzen stören
> kann.

Ok, das wollte ich wissen! Danke!!!

von Max H. (hartl192)


Lesenswert?

Zusätzlich kannst du noch im Datenblatt des uCs und des LCDs 
nachschlagen ob sie bei Ub=5V 3.3V am Eingang zuverlassig als high 
erkennen. Dann kannst du dir den 74HCT245 sparen.

von Charly B. (charly)


Angehängte Dateien:

Lesenswert?

das Zauberwort : Levelshifter

bei ein oder 2 Signalen mit Mosfet wie im Bild
bei mehr nehme ich z.B. 74lvx125

die version mit Widerstaenden aleine ergeben immer
einen Tiefpass d.h. 'langsam'

vlG
Charly

von Felix L. (flex)


Lesenswert?

Oder diesen Bautein: TXB0101

von HaraldDräger (Gast)


Angehängte Dateien:

Lesenswert?

Danke für das Schaltbild und die Typenbezeichnungen für brauchbare 
Level-Shifter!

Charly B. schrieb:
> das Zauberwort : Levelshifter
>
> bei ein oder 2 Signalen mit Mosfet wie im Bild


Dann sollte die Schaltungim Anhang aber auch funktionieren!?

von Max H. (hartl192)


Lesenswert?

HaraldDräger schrieb:
> Dann sollte die Schaltungim Anhang aber auch funktionieren!?
Nein, die High Ausgangsspannung wird ca. 4.3V sein, Vbe=0.7v
Welchen ADC und LCD hast du eigentlich?

: Bearbeitet durch User
von HaraldDräger (Gast)


Lesenswert?

Max H. schrieb:
>> Dann sollte die Schaltungim Anhang aber auch funktionieren!?
> Nein, die High Ausgangsspannung wird ca. 4.3V sein, Vbe=0.7v

Oh, dtimmt, BE-Diode! Was kann man denn machen, damit man ca. 3,3V am 
Ausgang erhält? Den Basiswiderstand deutlich vergrößern?

von HaraldDräger (Gast)


Lesenswert?

Die genauen Typenbezeichnungen muss ich noch mal nachschauen.

von Max H. (hartl192)


Lesenswert?

Den Basiswiderstand durch 680Ω ersetzen, Basis und Emitter verbinden und 
den Transistor weglassen --> Spannungsteiler. Wieso willst du den 5v --> 
3.3V Wandler mit einem Transistor bauen?
Beim Spannungsteiler hast du einen Ausgangswiderstand von 440Ω, mit der 
Transistorschaltung hast du einen Ausgangswiderstand von 1kΩ bei Low und 
einem sehr kleinen bei High.

HaraldDräger schrieb:
> Die genauen Typenbezeichnungen muss ich noch mal nachschauen.
Dann kannst du das auch nachschlagen:
Max H. schrieb:
> Zusätzlich kannst du noch im Datenblatt des uCs und des LCDs
> nachschlagen ob sie bei Ub=5V 3.3V am Eingang zuverlässige als high
> erkennen. Dann kannst du dir den 74HCT245 sparen.
Könnte einiger Probleme lösen.

: Bearbeitet durch User
von Charly B. (charly)


Lesenswert?

HaraldDräger schrieb:
> Dann sollte die Schaltungim Anhang aber auch funktionieren!?

leider so nicht, und ist auch nur unidirektional, die schaltung
mit dem FET ist Bidirektional

vlG
Charly

: Bearbeitet durch User
von Mike (Gast)


Lesenswert?

Max H. schrieb:
> Den Basiswiderstand durch 680Ω ersetzen, Basis und Emitter verbinden und
> den Transistor weglassen --> Spannungsteiler.

Die Low-Power-Variante ist das aber nicht ;-(

von Max H. (hartl192)


Lesenswert?

Mike schrieb:
> Die Low-Power-Variante ist das aber nicht ;-(
Dann nimm den 74HC4050, der brauch in statischen Zustand nur ein paar 
µA, einen hochohmigeren Spannungsteiler (z.B. 2.2k und 3.3k), wenn das 
Signal nicht zu schnell ist oder ein LCD das mit 3.3V arbeitet.

Der Spannungsteiler aus 3.3k und 2.2k würde auch weniger verbrauchen als 
die Transistorschaltung in diesem Post 
Beitrag "Re: LDC 5V <-- µC --> ADC 3,3V - wie verbinden?"

Charly B. schrieb:
> leider so nicht, und ist auch nur unidirektional, die schaltung
> mit dem FET ist Bidirektional
Muss der Levels-Shifter überhaupt bidirektional sein?

: Bearbeitet durch User
von Klaus D. (kolisson)


Lesenswert?

du könntest ja mal ausprobieren ab wieviel Volt dein LCD schon etwas 
anzeigt. (bezüglich Kontrastspannung).

Ich komme meist so mit ca. 3,6Volt zurecht. Unter Umständen verträgt 
dein ADC auch noch diese leichte Überspannung.

Dann wäre die Sache ganz einfach unter einen Hut zu bringen.

Gruss Klaus

: Bearbeitet durch User
von HaraldDräger (Gast)


Lesenswert?

Hallo,

Danke für die Antworten!

Also, der AVR läuft derzeit auf 3,5V und das GraLCD auf 5V. Bei halbwegs 
akzeptabler Geschwindigkeit der Grafikdatenübertragung entstehen hier 
hin und wieder Fehlpixel.

Vdd - Vss des GraLCDs ist 4,75V bis 5,25V. Als H-Pegel werden 0,8V 
erkannt.

Um die 5V für den AVR werde ich vermutlich nicht herumkommen, wenn das 
Display ordentlich und schnell laufen soll.

Die drei unidirektionalen Datenleitungen vom AVR zum ADC sind zum Glück 
weitgehend zeitunkritisch, da müsste ein Spannungsteiler ausreichen.

3,3V als H-Pegel vom ADC zum AVR wird bei moderater 
Übertragungsgeschwindigkeit auch funktionieren, denke ich.

Werde es bald ausprobieren und berichte dann...

von Charly B. (charly)


Lesenswert?

Max H. schrieb:

> Muss der Levels-Shifter überhaupt bidirektional sein?

in dem Fall hier muessete man die Kristallkugel befragen......

wenn z.B. I²C zum einsatz kommt, JA!


vlG
Charly

: Bearbeitet durch User
von Max H. (hartl192)


Lesenswert?

HaraldDräger schrieb:
> Als H-Pegel werden 0,8V
> erkannt.
Sicher nicht 0.8*Vdd?

> Also, der AVR läuft derzeit auf 3,5V und das GraLCD auf 5V. Bei halbwegs
> akzeptabler Geschwindigkeit der Grafikdatenübertragung entstehen hier
> hin und wieder Fehlpixel.
Hast du mal Probiert ob der 74HCT245 was ändert, falls das LCD einen 
unidirektionalen Dateneingang hat.
Welches LCD hast du?

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