Forum: Mikrocontroller und Digitale Elektronik 2 LEDs in Reihe trotz Transistor schwach wenn am AVR


von Daniel S. (schuballaa)


Lesenswert?

Hallo, ich bin mit meinen Latain am ende,
ich habe auf einem attiny45 ein einfaches Blink Programm geladen.

Ursprunglich wollte ich sie mit 3 Volt betreiben, es soll aber nun eine 
2. LED hinzukommen.

Also erweiterte ich die Schaltung um 2 AAs insgesammt also 4,8 Volt.

Direkt mit entsprechenden Vorwiederstand an den Akkus = superhell rot 
14.000mcd ...

Auch mit nur einer LED funktionierte alles normal...

Da man den attiny ja nicht mit 2 ultrahellen LEDs belasten sollte, habe 
ich natürlich erstmal einen Transistor genommen BC547C den ich mit 
Vorwiderstand an den AVR anschloss...

später dann auch ohne vorwiederstand da ich dachte evtl schaltet er 
nicht ganz durch...

dann habe ich das selbe mit optokoppler PC123 versucht...


In allen Fällen leuchteten die LEDs auch bei anstieg mit netzteil auf 5 
Volt sehr schwach...

Interessant: lege ich direkt die Spannung an die Base an (umgehe ich 
also den avr), leuchten die LEDS so hell wie es sein sollte...

Demnach liefert der AVR nicht genug spannung um den Transistor voll 
durchzuschalten?

Habe den Pin logischerweise als output...

Hat jemand eine Idee was ich falsch mache?

habe schon überlegt, ob ich evtl was erreiche wenn ich einen 2. port auf 
output konfiguriere und beide an die base lege, aber selbst wenn das 
funktionieren würde, wäre das nicht das gelbe vom ei, außerdem will ich 
ja was lernen...

von spess53 (Gast)


Lesenswert?

Hi

>Habe den Pin logischerweise an output...

Sicher? Sieht danach aus, als ob du den Transistor nur mit dem internen 
Pull-Up-Widerstand betreibst.

MfG Spess

von Daniel S. (schuballaa)


Lesenswert?

spess53 schrieb:
> Hi
>
>>Habe den Pin logischerweise an output...
>
> Sicher? Sieht danach aus, als ob du den Transistor nur mit dem internen
> Pull-Up-Widerstand betreibst.
>
> MfG Spess

hi danke für die schnelle Antwort,
ja das war auch mein erster Gedanke...

$regfile = "ATtiny45.DAT"
$crystal = 16000
$hwstack = 2

Dim Statusmerker As Integer
Dim Bewegung As Integer
Dim Erschuetterungsgszaehler As Integer

Enable Interrupts

Led Alias Portb.4
Config Led = Output

Debugled Alias Portb.0
Config Debugled = Output

Vibsensor Alias Pinb.3
Config Vibsensor = Input

--------

wenn ich eine led direkt an den pin anschließe, den ich dann später an 
die base anschließe, blinkt diese sehr hell (also definitiv als output 
konfiguriert

von Luca E. (derlucae98)


Lesenswert?

> Da man den attiny ja nicht mit 2 ultrahellen LEDs belasten sollte, > habe
> ich natürlich erstmal einen Transistor genommen BC547C den ich mit
> Vorwiderstand an den AVR anschloss...

Bei einer Reihenschaltung von gleichen LEDs erhöht sich nur die 
Flussspannung, der Strom bleibt gleich.

> später dann auch ohne vorwiederstand da ich dachte evtl schaltet er
> nicht ganz durch...

Keine gute Idee...


Benutzt du den Transistor in Kollektor- oder Emitterschaltung?
Richtig wäre: Emitter auf Masse, LEDs samt Vorwiderstand an den 
Kollektor und die Basis mit Vorwiderstand an den AVR. Grob 
überschlagener Wert: 6k8

Mache doch mal einen Schaltplan.

von Daniel S. (schuballaa)


Lesenswert?

da die ultrahellen LEDs "nur ca 40 ma" ziehen und nur 16 ms an sind, 
könnte ich die demnach direckt an den AVR Port schalten?

Der kann auf dauer aber nur 20 ma ab oder? 40 war glaube ich max. muss 
ich nochmal im Datenblatt gugen...

Werde mich tatsächlich noch mit der Richtigen Transistor handhabung 
beschäftigen müssen... zurzeit habe ich:

                                    LED
                                   |_=|
                                  /    \
                                 /      \
                                /        \
                               /          \
                              /            \
                         LED +              LED -
                  -E------                  -
                 /                          -
avr ------------|B                          -
                 \                          -
                  -C----- Batt +            - Batt -

unterbreche also mit dem Transistor den Stromkreis... (benutze ihn als 
schalter)

hier wird der fehler liegen, ich werde mich erstmal besser informieren, 
vielen dank für den Schups in die Richtige Richtung

von Peter D. (peda)


Lesenswert?

Daniel St. schrieb:
> Da man den attiny ja nicht mit 2 ultrahellen LEDs belasten sollte

Die Helligkeit ist dem AVR sowas von schnurz. Ihn interessiert nur der 
Strom. Bei 3V sind mindestens 5mA garantiert.

von 6A66 (Gast)


Lesenswert?

Daniel St. schrieb:
> da die ultrahellen LEDs "nur ca 40 ma" ziehen und nur 16 ms an
> sind,
> könnte ich die demnach direckt an den AVR Port schalten?
>
> Der kann auf dauer aber nur 20 ma ab oder? 40 war glaube ich max. muss
> ich nochmal im Datenblatt gugen...
>
> Werde mich tatsächlich noch mit der Richtigen Transistor handhabung
> beschäftigen müssen... zurzeit habe ich:
>
>                                     LED
>                                    |_=|
>                                   /    \
>                                  /      \
>                                 /        \
>                                /          \
>                               /            \
>                          LED +              LED -
>                   -C------                  -
>                  /                          -
> avr ------------|B                          -
>                  \                          -
>                   -E----- Batt +            - Batt -
>
> unterbreche also mit dem Transistor den Stromkreis... (benutze ihn als
> schalter)
>
> hier wird der fehler liegen, ich werde mich erstmal besser informieren,
> vielen dank für den Schups in die Richtige Richtung

Batt + und Batt - vertauscht? Und bitte LEDs NIE ohne Vorwiderstand, 
auch beim Pulsen mit höherer Spannung nicht.
Es bleibt Dir aber nicht viel Luft:
4,8v - (2x 1,5...2,0V) = 1,8...0,8V die Du für den transistor UND den 
Vorwiderstand hast.

Warum nimmts Du nicht für jede LED einen Transistor, ist zwar 
aufwendiger aber dann kannst Du den Strom besser einstellen. Und 40mA 
aus dem Port des Prozessors halte ich für unwahrscheinlich dass das - 
wenn überhaupt - auf Dauer gutgeht.

rgds

von Schimanski (Gast)


Lesenswert?

Soll ich mal prollen?
Due hast sowas von keine Ahnung!
Ne Spaß beiseite.
Die LEDs bekommen die Spannung, die der AVR liefert (3.3V?) minus 0.7V. 
Beide hinternander? Bleibt nicht viel übrig. dabei ists egal, wie hoch 
dein Netzteil steht...

von Daniel S. (schuballaa)


Lesenswert?

6A66 schrieb:
> Warum nimmts Du nicht für jede LED einen Transistor, ist zwar
> aufwendiger aber dann kannst Du den Strom besser einstellen. Und 40mA
> aus dem Port des Prozessors halte ich für unwahrscheinlich dass das -
> wenn überhaupt - auf Dauer gutgeht.

genau das werde ich machen ;)

Vertauscht? schaltet man mit dem Transistor eher die masse oder was 
meinst du mit vertauscht? habe den + pol unterbrochen...

ich weiß nun, dass man eher die masse unterbricht wie oben schon 
hingewiesen wurde

von Schimanski (Gast)


Lesenswert?

nimmst Du einen npn oder pnp?

von spontan (Gast)


Lesenswert?

DIe Schaltung ist etwas ungünstig.

Am Emitter wird sich eine Spannung einstellen, die um ca. 0,7 Volt 
kleiner ist als die Ausgangsspannung des AVR. Egal wie hoch die 
Batteriespannung ist.

Schau doch mal im Tutorial wie man es richtig macht.

von Schimanski (Gast)


Lesenswert?

sitzt die Basis bei deinem Transistor zufällig aussen?

von Schimanski (Gast)


Lesenswert?


von Daniel S. (schuballaa)


Lesenswert?

Schimanski schrieb:
> Soll ich mal prollen?
> Due hast sowas von keine Ahnung!
> Ne Spaß beiseite.
> Die LEDs bekommen die Spannung, die der AVR liefert (3.3V?) minus 0.7V.
> Beide hinternander? Bleibt nicht viel übrig. dabei ists egal, wie hoch
> dein Netzteil steht...

Deswegen suche ich als Anfänger die, die Ahnung haben damit ich dazu 
lerne

von Daniel S. (schuballaa)


Lesenswert?

Schimanski schrieb:
> nimmst Du einen npn oder pnp?

BC547C also NPN

von Daniel S. (schuballaa)


Lesenswert?

Schimanski schrieb:
> sitzt die Basis bei deinem Transistor zufällig aussen?

ne mitte BC547C

von Daniel S. (schuballaa)


Lesenswert?

Schimanski schrieb:
> ganz unten
> http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen
> http://www.mikrocontroller.net/articles/Transistor

Vielen Dank, werde mal das TUT durchspielen ;) dann wird vieles klarar 
;)

dachte hätte es begriffen war aber nicht so, muss mir ja alles selbst 
beibringen ;)

mal gugen ob es in bremen basic schulungen gibt

von Düsendieb (Gast)


Lesenswert?


von Daniel S. (schuballaa)


Lesenswert?

Düsendieb schrieb:
> http://www.mikrocontroller.net/articles/Transistor...
>
> davon nimmst Du also die linke Schaltung.

super vielen Dank :)

von Udo S. (urschmitt)


Lesenswert?

Daniel St. schrieb:
> Düsendieb schrieb:
>> http://www.mikrocontroller.net/articles/Transistor...
>>
>> davon nimmst Du also die linke Schaltung.
>
> super vielen Dank :)

Und den Basisvorwiderstand zwischen Ausgang µC und Basis des Transistors 
nicht vergessen!

von Daniel S. (schuballaa)


Lesenswert?

Hehe klasse :) das habe ich ja jetzt gelernt :)

von Daniel S. (schuballaa)


Lesenswert?

Udo Schmitt schrieb:
> Daniel St. schrieb:
>> Düsendieb schrieb:
>>> http://www.mikrocontroller.net/articles/Transistor...
>>>
>>> davon nimmst Du also die linke Schaltung.
>>
>> super vielen Dank :)
>
> Und den Basisvorwiderstand zwischen Ausgang µC und Basis des Transistors
> nicht vergessen!

So Schaltung entsprechend nachgebaut - funktioniert auch super, 
allerdings leuchten die LEDs immer noch schwach...

wenn ich am Port.0 5 Volt manuell anlege leuchtet alles hell so wie es 
sein soll...

Also liegt es am AVR... da scheint nicht die Betriebsspannung 
rauszukommen... dabei habe ich die internen Pullups doch mit:

Config Debugled = Output

als Output definiert... (die led die vorher dran war war ja auch hell)

Hat jemand noch ne Idee?

Ich glaube ich löte den Chip nochmal aus und programmiere auf dauer an 
damit ich mal messen kann was da raus kommt

von Luca E. (derlucae98)


Lesenswert?

> wenn ich am Port.0 5 Volt manuell anlege leuchtet alles hell so wie es
> sein soll...

> Also liegt es am AVR... da scheint nicht die Betriebsspannung

Dann mess doch mal die Spannung am AVR-Output...


> dabei habe ich die internen Pullups doch mit:
> Config Debugled = Output
> als Output definiert... (die led die vorher dran war war ja auch hell)

Du hast den Pin als Ausgang definiert, nicht den Pullup.

Im Programm musst du die LED dann mit

Debugled = 1

einschalten.

von Daniel S. (schuballaa)


Lesenswert?

Es blinkt ja auch, aber wie gesagt schwach... wenn ich an pinb.0 5 Volt 
manuell anlege - alles hell...

von Daniel S. (schuballaa)


Lesenswert?

Interessant...

Die 16 MS Led an waren nicht ausreichend...

'Blinken start
Led = 1
Wdtcr = &B11010000     Watchdog auf 16ms einstellen
Reset Watchdog
Powerdown
Led = 0

Auf Dauer an gestellt alles hell :)

Jetzt versuche ich verschiedene andere WD Zeiten...

Ist jetzt der Basiswiederstand mit 10 K in Ordnung?

Habe keinen anderen zur Hand gehabt...

von Luca E. (derlucae98)


Lesenswert?

Daniel St. schrieb:
> Ist jetzt der Basiswiederstand mit 10 K in Ordnung?

Ja.

von Daniel S. (schuballaa)


Lesenswert?

super, vielen dank an alle ;)

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.