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.
Die LED-Helligkeit über Basiswiderstände zu variieren ist nicht optimal, da jede Transistor eine andere Stromverstärkung hat und das Ganze auch temperaturabhängig ist. Womit steuerst Du die Transistoren denn an? Es ist recht einfach und noch dazu reproduzierbar, die LEDs mittels Pulsweitenmodulation in der Helligkeit zu steuern.
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.
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.
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 ;)
>...wenn größer/gleich dann LED-Ausgang an. Sorry, Tippfehler: ...wenn größer/gleich dann LED-Ausgang aus.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.