Zwei LED's an einem Port (ATmega16) - eine bei HIGH, eine bei LOW

Gast #2487886
Lesenswert?

Guten Tag,

ich habe eine kleine Frage bzgl. des Verhaltens des ATmega16, wenn man 
an einen Port zwei LED's hängt. Die Schaltbilder könnt ihr dem Bild Test 
entnehmen.

kurze Erklärung zu Schaltung 1:

Wenn der ATmega am Port ein HIGH hat, dann hat dieser 5 Volt und bringt 
dadurch LED 4 zum leuchten. Wenn der ATmega am PORT ein LOW hat, dann 
liegen an diesem 0V (in diesem Fall GND) und bringt dadurch LED 2 zum 
leuchten.

Für mich ist diese Schaltung murks, da es für mich nicht logisch ist, 
dass am ATmega wenn ein LOW anliegt, der Strom quasi in ihn 
"hineinfließt". Deswegen würde ich Schaltung 1 in den Müll kippen und 
dafür Schaltung 2 in Betracht ziehen.

Diese nimmt an, dass bei einem LOW-Signal 0V anliegen und kein GND. 
Dadurch lässt sich dann ein PNP-Transistor durchsteuern, welcher dann 
die "richtige" Masse vornehm nimmt.

Da ich und mein Kollege nicht die größte Erfahrung haben, würde ich 
gerne wissen, ob eine dieser Schaltungen funktionieren würde. Ich 
tendiere wie gesagt zur Schaltung 2, da der ATmega den Port bei LOW wohl 
nicht auf Masse schalten wird.

Vielen Dank an alle, die sich die Mühe machen, dass hier zu lesen,

Marco
Angehängte Dateien:
Gast #2487918
Lesenswert?

H.joachim Seifert schrieb:
> Arbeite an deiner Logik und alles ist gut.

Tut mir Leid, leider bin ich noch nicht lange mit der Materie bewandt 
und bin um jede Hilfe erfreut, da bringt mir diese Aussage leider 
nichts, da ich nicht weiß, ob der ATmega nur in eine Richtung schalten 
kann...

Jeder fängt mal klein an !

holger schrieb:
> 1. funktioniert doch wunderbar.

Gut, dann ist wunderbar, beantwortet meine Frage genau auf den Punkt ;)
Bedeutet also, dass der ATmega in zwei Richtungen schalten kann.

SNR schrieb:
> War das früher nicht so, das die uC keine Push-Pull-Stufen hatten und
> deshalb nur gegen eine Seite schalten konnten?

Das ist in etwa meine Frage, nur beantwortet dieses sogar meine Frage 
und sagt mir, dass der ATmega die Schaltung 1 beschalten kann.
Gast #2487930
Lesenswert?

Pink Shell schrieb:
> Die Schaltung 2 ist "Murks", denn
> - es fehlt der Vorwiderstand an der Basis
> - der Transistor muss ein npn sein
>
> Schaltung 1 ist OK, die ATMega-Ports können >20mA in beide Richtungen
> leiten.

Oha, den Vorwiderstand hab ich echt vergessen =/

Wieso sollte der Transistor denn ein NPN-Transistor sein?

Wenn 0V (LOW) anliegen, schaltet der PNP-Transistor durch, dadurch ist 
es LED1 möglich zu leuchten, da dadurch die direkte Verbindung zu GND 
hergestellt wird. LED3 kann nicht leuchten, da diese nirgends eine 
Spannungsversorgung hat.
Wenn 5V (HIGH) anliegen, dann sperrt der Transistor, LED1 kann nicht 
leuchten, jedoch kann LED3 leuchten, da in diesem Fall die Spannung vom 
ATmega an der LED anliegt.

Oder bin ich nun total verwirrt?
Moderator #2487974
Lesenswert?

Marco M. schrieb:
> Wieso sollte der Transistor denn ein NPN-Transistor sein?

PNP ist schon richtig, du solltest aber Kollektor und Emitter
vertauschen. Den Basisvorwiderstand hast du zurecht weggelassen.

> Wenn 0V (LOW) anliegen, schaltet der PNP-Transistor durch,

Und warum tut er das? Richtig, weil ein Strom aus der Basis des
Transistors hinaus und hinein in den µC-Ausgang fließt. Da kannst du
auch gleich den kompletten LED-Strom hineinfließen lassen, der µC hält
das aus.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren