LED im Emitterkreis

Gast #1376040
Lesenswert?

Guten Morgen,

ich möchte LEDs mit einem NPN-Transistor steuern. Ich verwende 
verschiedene Basiswiderstände um die Helligkeit zu varieren. Alle drei 
LED-Stromkreise sollen von je einem Transistor gesteuert werden. Daher 
habe ich die Masse aller LEDs gebrückt und im Emitterkreis eingebaut. Am 
Kollektor habe ich nur meine Spannungsversorgung.

Leider geht das so nicht, da mein Emitterpotential höher ist als das 
Basispotential (rund 5V). Wie bekomme ich das hin, das ich trotzdem den 
Transistor durchschalten kann? Fall das Problem nicht genügend 
beschrieben ist, kann ich den Schaltplan noch in den Anhang packen.

Fall alle Stricke reißen, muss ich zu jeder LED eine Masseleitung 
führen, un die LED dann mit in den Kollektorkreis packen.
Gast #1376059
Lesenswert?

Ich steuere die Transistoren mit nem Atmega8 an. PWM ist das einfachste, 
aber ich habe keine Timer mehr übrig. Deswegen der Ausweg über die 
Basiswiderstände. Die Streuung der Bauteiltoleranzen ist nicht ganz so 
wichtig.
(Firma: TravelRec.) Persönliche Seite #1376086
Lesenswert?

Mach eine Software-PWM, die Du in den Timer-Interrupt eines bereits 
laufenden Timers einbaust. Ist echt kein Ding: Zählvariable in der ISR 
hochzählen, für jeden Ausgangspin eine eigene PWM-Variable anlegen. Die 
Jeweilige PWM-Variable mit der Zählvariable vergleichen, wenn kleiner, 
dann LED-Ausgang an, wenn größer/gleich dann LED-Ausgang an.
Gast #1376087
Lesenswert?

du brauchst doch für PWM nicht unbedingt weitere Timer nutze doch 
einfach einen vorhandenen timer und lasse über dessen interrupt ein 
register inkrementieren über 2werte kannst du nun den einschalt- und den 
auschaltmoment festlegen z.b.

timer0_overflow:
out    portb,    output
inc    counter
cp    counter,  tcounter
breq  setbit
cpi    counter,  0xE0
breq  clrbit

setbit:
cbr    output,    0x01
reti

clrbit:
sbr    output,    0x01
reti

tcounter - variable für die einschaltzeit

ich bin auch nur anfänger desshalb nicht schlagen wenn ich vermeidbare 
fehler gemacht habe ;)

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