Forum: Mikrocontroller und Digitale Elektronik ATMega 8 /3,3V Pin 5V


von Andreas (Gast)


Lesenswert?

Hallo

Ich betreibe einen ATMega 8 mit 3,3V weil ich direkt daran ein ZigBee 
Modul mit 3,3V betreibe.

Jetzt soll noch eine Lichschranke mit integrierten Schmitttrigger 
angeschloßen werden. Die Lichschranke braucht mindestens 4,5V also nehme 
ich die 5V die ich noch auf dem Board habe.

Jetzt soll der Ausgang der Lichtschranke an den Eingang des ATMega8 and 
den Int0. Der Int0 ist als Eingang mit aktivierten Pullup Widerstand 
konfiguriert.

Da ja der ATMega selbst mit 3,3V rennt, kann ich die Lichtschranke 
direkt an den Eingang anschließen oder muss ich erst den Pegel auf 3,3V 
senken?

Kurzfristig geht das bestimmt aber geht das auch langfristig oder ist 
der Eingang auch 5V kompatibrl wenn die Versorgungsspannung nur 3,3V 
beträgt?

von guest (Gast)


Lesenswert?

Andreas schrieb:
> ist
> der Eingang auch 5V kompatibrl wenn die Versorgungsspannung nur 3,3V
> beträgt?

Nein! Steht aber auch eindeutig im Datenblatt.

Wenn Deine Lichtschranke einen OC-Ausgang hat, kanst Du ihn direkt 
anschließen. Wenn nicht brauchst Du mindestens einen Spannungsteiler.

von Mike J. (linuxmint_user)


Lesenswert?

1. Möglichkeit:
Wenn das Signal relativ langsam sein kann, dann verbindest du den 
Lichtschrankenausgang einfach über einen großen Widerstand mit dem 3.3V 
I/O-Pin.

Das bedeutet dass ein Strom in die 3.3V Versorgung über den Widerstand 
fließt.

Du musst es jetzt so machen dass der Stromverbrauch deines Controllers 
(oder allgemein der 3.3V Verbraucher) höher ist als der Strom der über 
den PullUp in die Versorgung fließt.

Wenn dein AVR 1mA verbraucht, dann kann der Widerstand einen Wert von 
1,7kOhm (oder mehr) haben.

Wenn dein AVR jetzt aber nur 1µA zieht weil er in den Stromsparmodus 
schaltet um Energie zu sparen, dann würde über den 1,7kOhm Widerstand 
ein Strom in die Versorgung fließen und die Kondensatoren auf 4,5V 
aufladen.

Also bei 1µA darfst du dann nur noch einen (5-3,3)/0,000001=1,7MOhm 
Widerstand nutzen.


2. Möglichkeit:
zwei Widerstände und einen kleinen Transistor

Der Strom fließt von den 5V der Lichtschranke über einen Widerstand in 
die Basis des NPN-Transistors (dessen Emiter liegt auf GND) und der 
Collektor ist an einem Widerstand der zu den 3.3V führt.
Den I/O-Pin legst du jetzt einfach an den Collektor.

Also wenn jetzt 5V anliegen bekommst du jetzt ein Low und wenn weniger 
als 0.6V anliegen bekommst du ein High.
Das Signal ist also invertiert, aber das kann man ja leicht durch eine 
Bitoperation wieder im AVR invertieren.

von Frank K. (fchk)


Lesenswert?

Andreas schrieb:

> Kurzfristig geht das bestimmt aber geht das auch langfristig oder ist
> der Eingang auch 5V kompatibrl wenn die Versorgungsspannung nur 3,3V
> beträgt?

Grundsätzlich gilt bei allen ICs, dass die Eingangssignale nicht größer 
als die positive und nicht kleiner als die negative Versorgungsspannung 
sein dürfen, oder wenn überhaupt, dann allerhöchstens mit einer 
Diodenspannung (0.3-0.5V) Unterschied. Ansonsten gibts Bruch, wenn Du 
nicht besondere Maßnahmen getroffen hast.

74LVC und 74AHC ICs (AHC, aber nicht HC) sind 5V-tolerant, auch wenn sie 
mit einer niedrigeren Spannung betrieben werden. Es gibt auch spezielle 
Pegelwandler-ICs wie 74LVC1T45, die zwei Vcc-Pins haben, einen für das 
Eingangssignal, einen für das Ausgangssignal.

Eine Transistorstufe ist eine andere Möglichkeit. Oder 
Strombegrenzungswiderstand plus 3.3V Zener-Diode gegen GND. Die 
Zener-Diode begrenzt die Spannung auf 3.3V, der Widerstand sorgt dafür, 
dass nur der zulässige Strom durch die Zenerdiode fließt.

Das sind nur Beispiele. Irgend etwas musst Du machen. Und das sind 
Grundlagen, das gilt nicht nur für AVRs, sondern allgemein.

fchk

von guest (Gast)


Lesenswert?

Mike J. schrieb:
> 1. Möglichkeit:

Auweia, wer macht denn sowas.

Mike J. schrieb:
> 2. Möglichkeit:

Hier ist entweder ein Widerstand oder der Transistor zuviel.
Also entweder ein normaler Spannungsteiler 
(Lichschranke-Widerstand-AVR-Widerstand-Masse). Oder die Variante mit 
dem Transistor, dann aber ohne "Collektor ist an einem Widerstand der zu 
den 3.3V führt", der AVR hat interne Pullup.

von Clemens L. (c_l)


Lesenswert?

guest schrieb:
> Auweia, wer macht denn sowas.

Z.B. Texas Instruments in http://www.ti.com/lit/pdf/spna087, allerdings 
mit einem TTL-Ausgang, der eine relativ kleine Spannungsdifferenz zu 3V 
hat. Bei einem CMOS-Ausgang, der wirklich bis 5V geht, wäre es eine 
bessere Idee, den überflüssigen Strom mit einem PNP-Transistor zur Masse 
abzuleiten (Tip 11 in "3V Tips 'n Tricks": 
http://ww1.microchip.com/downloads/en/DeviceDoc/chapter%208.pdf).

> der AVR hat interne Pullup.

Die könnten zu schwach (langsam) sein.

von M. K. (sylaina)


Lesenswert?

Also ich frag mich grad warum man nicht einen einfachen Spannungsteiler 
benutzt:

Sensorausgang - Widerstand 5k1 - Widerstand 10k - Masse
                               |
                          Atmega-Pin

Ist das zu einfach?

von Ulrich F. (Gast)


Lesenswert?

guest schrieb:
> Auweia, wer macht denn sowas.
;-)

Michael K. schrieb:
> Ist das zu einfach?
Zu kompliziert.

Den 10K kannste weglassen.
Die im ATMega steckenden Dioden leiten das gerne gegen dessen Vcc ab.

So manch einem ARM würde es vermutlich dabei zerreißen.
Aber bis auf den Reset Pin macht den AVR das eigentlich nix aus.

von (prx) A. K. (prx)


Lesenswert?

Ulrich F. schrieb:
> Den 10K kannste weglassen.

Würde ich nur weglassen, wenn an der 3,3V Versorgung garantiert genug 
Last dranhängt, um einen Anstieg von VCC durch parasitäre Versorgung zu 
verhindern. Bei Sleep-Modi diverser Komponenten ist das nicht 
zwangsläufig der Fall.

: Bearbeitet durch User
von Frank K. (fchk)


Lesenswert?

Michael K. schrieb:
> Also ich frag mich grad warum man nicht einen einfachen Spannungsteiler
> benutzt:
>
> Sensorausgang - Widerstand 5k1 - Widerstand 10k - Masse
>                                |
>                           Atmega-Pin
>
> Ist das zu einfach?

Für LANGSAME Signale geht das noch. Für schnelle Signale ist diese 
Lösung ungeeignet.

fchk

von M. K. (sylaina)


Lesenswert?

Frank K. schrieb:
> Für LANGSAME Signale geht das noch. Für schnelle Signale ist diese
> Lösung ungeeignet.

Na da bin ich mal auf die Erklärung gespannt. Also für 10 MHz Signale 
ist das noch mehr als ausreichend. Also, was verstehst du unter 
"Langsame Signale"?

von Clemens L. (c_l)


Lesenswert?

Michael K. schrieb:
> was verstehst du unter "Langsame Signale"?

Alles, was aus einer Lichtschranke herauskommt.  :D

Und wir wissen immer noch nicht, ob dieses Modell nicht vielleicht doch 
einen Open-Collector-Ausgang hat ...

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.