2 LEDs in Reihe trotz Transistor schwach wenn am AVR

#3760989
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...
#3760997
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
#3760998
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.
#3761026
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
Gast #3761031
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
Gast #3761034
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...
#3761038
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
Gast #3761040
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.
#3761909
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
#3761920
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.
#3761964
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...

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