Forum: Mikrocontroller und Digitale Elektronik PNP-Transistor an ATMega328 - LED glimmt?


von Stefan T. (tommie)


Lesenswert?

Hallo,
ich habe hier einen PNP-Transistor an einem Beinchen meines ATMega328, 
der eine (bzw. später mehrere) LED schalten soll. Das ganze sieht 
skizziert so aus:
1
             X
2
             | VCC
3
             |
4
           |<
5
 PC0 -[R1]-|
6
           |\          //
7
             '--[R2]--->|--,
8
                          ___ GND
9
10
R1: 30 kOhm
11
R2: 80  Ohm

Das ganze funktioniert auch eigentlich, PC0 schaltet brav über den 
Basiswiderstand und den Transistor die LED ein. Wenn die LED aber 
eigentlich
dunkel sein sollte (PORTC |= 1<<PC0), glimmt sie ganz leicht, sie geht 
also
nie ganz aus. Das passiert, sobald der Pin im Output-Modus ist (DDRC |= 
1<<PC0).
Woran liegt das, und wie kann ich es abstellen?

von Jens G. (jensig)


Lesenswert?

Sind am Vcc des Transistors (Emitter) auch die selben Volts dran, die 
auch der µC bekommt?

von Karl H. (kbuchegg)


Lesenswert?

Schnellschuss

> R1: 30 kOhm

Ist ein bischen viel. Nimm mal weniger. 1k

von Georg G. (df2au)


Lesenswert?

Pullup nicht eingeschaltet?

von Stefan T. (tommie)


Lesenswert?

Jens G. schrieb:
> Sind am Vcc des Transistors (Emitter) auch die selben Volts dran, die
> auch der µC bekommt?

Ja, alles 5V.

von Stefan T. (tommie)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Schnellschuss
>
>> R1: 30 kOhm
>
> Ist ein bischen viel. Nimm mal weniger. 1k

Den Basiswiderstand zu verkleinern sceint das Problem eher noch zu 
verstärken, die LED wird heller, wenn ich einen zweiten Widerstand
parallel zum vorhandenen schalte.

von Dietrich L. (dietrichl)


Lesenswert?

Stefan Tomanek schrieb:
> Woran liegt das, und wie kann ich es abstellen?

Hardwaremäßig ist die Schaltung OK. Bleibt als Ursache für mich nur:
- SW schaltet die LED doch mal kurz ein
- Transistor defekt
- die reale Schaltung ist anders (falsch verdrahtet, Kriechstrom, ...)

Mess doch mal die Spannungen am Port, an der Basis und ...

Gruß Dietrich

von Stefan T. (tommie)


Lesenswert?

Dietrich L. schrieb:
> Stefan Tomanek schrieb:
>> Woran liegt das, und wie kann ich es abstellen?
>
> Hardwaremäßig ist die Schaltung OK. Bleibt als Ursache für mich nur:
> - SW schaltet die LED doch mal kurz ein
> - Transistor defekt
> - die reale Schaltung ist anders (falsch verdrahtet, Kriechstrom, ...)
>
> Mess doch mal die Spannungen am Port, an der Basis und ...

Gegen GND messe ich am Ausgangsport etwa 4,4V, wenn der Port eigentlich 
auf HIGH stehen sollte. In den µC laufen auch überall die 5V rein. Ich 
habe dazu auch mal alle peripherie vom Pin abgelötet, dennoch steigt die 
Spannung nicht auf VCC; die Software habe ich inzwischen auch schon auf 
die Initialisierung des Pins abgerüstet, ohne Erfolg...

von spontan (Gast)


Lesenswert?

Die 0.6 Voltsind doch ok, die schalten den Transistor durch, die LED an.
Das Problem liegt doch auf der anderen Seite der logik, d.h. wenn das 
Port High ausgibt.

Welche Spannung liegt dann an??????

R1 mit 1k für den Basiswiderstand ist nix, 30k passen eher.

Spannung messen, hier berichten, Problem selbst oder hier lösen.


Nebenbei: Ein PNP mit Emitter auf GND ist universeller in der Schaltung, 
da hat die Spannung im LED-Zweig keinen Einfluß auf das Schaltverhalten.

von spontan (Gast)


Lesenswert?

Zu spät gelesen.

4,4 Volt sperren den PNP nicht, das kannst Du vergessen.

Hilf dem Port, ein Widerstand von 10 kOhm zwischen Portausgang und VCC 
wird die Spannung raufziehen, der PNP wird sperren.

von Martin S. (sirnails)


Lesenswert?

Zieh mal versuchsweise die Basis am Transistor gegen Masse (100k).

von Stefan T. (tommie)


Lesenswert?

spontan schrieb:
> Zu spät gelesen.
>
> 4,4 Volt sperren den PNP nicht, das kannst Du vergessen.
>
> Hilf dem Port, ein Widerstand von 10 kOhm zwischen Portausgang und VCC
> wird die Spannung raufziehen, der PNP wird sperren.

Klar, das wäre die (Not)lösung, aber ich frage mich viel eher, warum der 
AVR nur 4,4V ausspuckt?

von spontan (Gast)


Lesenswert?

Kenn die AVRs nicht, was sagen die Specs??

Generell ist es keine gute Idee, auch bei anderer Digitallogik, High mit 
fast Versorgungsspannung anzunehmen, das hat schon bei CMOS nicht so 
recht gefunzt (2/3 VCC waren garantiert).

von Austausch (Gast)


Lesenswert?

Stefan Tomanek schrieb:
> Klar, das wäre die (Not)lösung, aber ich frage mich viel eher, warum der
> AVR nur 4,4V ausspuckt?

Kannst Du mal den Professor tauschen?

Gruß

von Peter D. (peda)


Lesenswert?

Stefan Tomanek schrieb:
> Gegen GND messe ich am Ausgangsport etwa 4,4V

Tippe mal auf: AVCC nicht angeschlossen.
Dann zieht sich PORTC seine VCC über die Pins.


Peter

von Andreas B. (bitverdreher)


Lesenswert?

Stefan Tomanek schrieb:
> Klar, das wäre die (Not)lösung, aber ich frage mich viel eher, warum der
> AVR nur 4,4V ausspuckt?

Ganz einfach:
Weil im Datenblatt drinsteht, daß nur 4,2V garantiert sind.

Gruß
Andreas

von Stefan T. (tommie)


Lesenswert?

Peter Dannegger schrieb:
> Stefan Tomanek schrieb:
>> Gegen GND messe ich am Ausgangsport etwa 4,4V
>
> Tippe mal auf: AVCC nicht angeschlossen.
> Dann zieht sich PORTC seine VCC über die Pins.

Hatte ich auch vermutet, AVCC ist aber angeschlossen und liegt
brav auf 5V.

von Stefan T. (tommie)


Lesenswert?

Andreas B. schrieb:
> Stefan Tomanek schrieb:
>> Klar, das wäre die (Not)lösung, aber ich frage mich viel eher, warum der
>> AVR nur 4,4V ausspuckt?
>
> Ganz einfach:
> Weil im Datenblatt drinsteht, daß nur 4,2V garantiert sind.

D.h. man sollte für Schaltaufgaben mit dem AVR lieber NPNs nehmen, wenn 
man keine zusätzlichen Pullups verbauen möchte?

von Andreas B. (bitverdreher)


Lesenswert?

Ganz genau! ;-)

von Peter D. (peda)


Lesenswert?

Andreas B. schrieb:
> Ganz einfach:
> Weil im Datenblatt drinsteht, daß nur 4,2V garantiert sind.

Er belastet aber nicht gegen GND, sondern gegen VCC. Und da muß high = 
VCC sein.


Peter

von Bussard (Gast)


Lesenswert?

spontan schrieb:
> Nebenbei: Ein PNP mit Emitter auf GND ist universeller in der Schaltung,
> da hat die Spannung im LED-Zweig keinen Einfluß auf das Schaltverhalten.

Nein, hier falsch, denn die Betriebsspannung ist positiv gegenüber GND.

von Peter D. (peda)


Lesenswert?

Stefan Tomanek schrieb:
> D.h. man sollte für Schaltaufgaben mit dem AVR lieber NPNs nehmen, wenn
> man keine zusätzlichen Pullups verbauen möchte?

Nein, das macht keinen Unterschied.


Peter

von Andreas B. (bitverdreher)


Lesenswert?

Peter Dannegger schrieb:
> Er belastet aber nicht gegen GND, sondern gegen VCC. Und da muß high =
> VCC sein.

Prinzipiell hast Du Recht (wenn man davon ausgeht, daß die Ausgangsstufe 
ein npn Transistor mit einem Widerstand von C gegen Vcc ist), aber da 
das Datenblatt sich dazu ausschweigt, würde ich es nicht so machen.

Gruß
Andreas

von Jens G. (jensig)


Lesenswert?

Hat der Port auch ohne Beschaltung nur 4,4V?
Nächster Schritt wäre, mit einem Oszi den Port betrachten - vielleicht 
sind da wirklich negative Pulse mit Tastverhältnis 1:9 zu sehen, was die 
Sache erklären würde.

von Jens G. (jensig)


Lesenswert?

>Prinzipiell hast Du Recht (wenn man davon ausgeht, daß die Ausgangsstufe
>ein npn Transistor mit einem Widerstand von C gegen Vcc ist), aber da

Wieso soll da ein npn als Ausgangsstufe drin sein? Das ist doch CMOS, 
und da sollte man ohne Last praktisch Uout=Vcc messen können.

von Andreas B. (bitverdreher)


Lesenswert?

Jens G. schrieb:
>>Prinzipiell hast Du Recht (wenn man davon ausgeht, daß die Ausgangsstufe
>>ein npn Transistor mit einem Widerstand von C gegen Vcc ist), aber da
>
> Wieso soll da ein npn als Ausgangsstufe drin sein? Das ist doch CMOS,
> und da sollte man ohne Last praktisch Uout=Vcc messen können.

Meinentwegen CMOS, aber am Prinzip ändert sich nichts daran. Es sei 
denn, es sind komplementäre Ausgangsstufen.
Weiß Du das?
Wenn ja, habt ihr Recht, dann nehme ich alles zurück.

Gruß
Andreas

von Peter D. (peda)


Lesenswert?

Andreas B. schrieb:
> aber da
> das Datenblatt sich dazu ausschweigt, würde ich es nicht so machen.

Es schweigt sich nicht aus.

Seite 494:
Figure 29-306.ATmega328: I/O Pin Output Voltage vs. Source Current (VCC 
= 5 V)

Bei 5mA sind es 4,87V und bei nahe 0mA sind es auch genau 5,0V.
Ein CMOS-Ausgang verhält sich wie ein Widerstand, bei 0A fällt 0V ab.


Wieviel Strom nimmt denn der AVR auf?
Wenn ein anderer Ausgang nen Schluß gegen GND hat, dann fällt Spannung 
an dem internen Bonddraht zu AVCC ab.


Peter

von Stefan T. (tommie)


Lesenswert?

Argh, ich muss alles zurückziehen, offenbar habe ich (mehrfach) mich 
beim
Abzhälen der Beinchen nach dem Umdrehen dre Platine verzählt; statt AVCC
hatte ich AREF mit VCC verbunden.

Kaum war AVCC angebunden, steigt die Spannung auch brav auf Werte, die 
den PNP sperren. Danke an alle für die Hinweise, die mich dann nochmal 
konzentriert haben nachzählen lassen :-)

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.