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
Marco M. schrieb:> 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".
Arbeite an deiner Logik und alles ist gut.
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.
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.
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?
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.