PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PIC LED Dimm-Schaltung



IBlack
10.08.2009, 14:23
Aloa!

Da ich ein ziemlicher Neuling auf dem Gebiet Mikrocontroller (PIC) und Elektronik bin, habe ich mir aus verschiedenen Schaltungen im Internet eine eigene Schaltung zusammengereimt.
Natürlich weiss ich jetzt nicht ob diese funktioniert, deshalb die Frage an euch - Kann das funktionieren?


http://www.robis-page.com/Bilder/Dimmschaltung.png

Die Anforderungen an die Schaltung sind folgende:

* Über die 4-ch PWM Ausgänge sollen LEDs gedimmt werden
* Da ich aber mehrere LEDs (auf der Zeichnung habe ich nur eine eingezeichnet) parallel schalten möche summiert sich der Strom und ich muss den Ausgang verstärken (deshalb die Transistoren vor den LEDs).
* Die Eingangsspannung (links am Bild) beziehe ich aus einem PC-Netzteil.
* An den Eingängen AN0, AN1 und AN2 möchte ich Signale einer anderen Schaltung empfangen (Diese Schaltung hat aber einen anderen Stromkreis, ist das machbar?)
* Die LEDs müssen nicht zur gleichen Zeit gedimnmt werden können, es reicht mir schon wenn ich z.B. LED1 auf 50% dimme und anschließend LED2 auf 70% oder LED1 und LED3 auf 40% dimmen anschließend LED4 auf 10% dimmen usw.

Ich hoffe die Zeichnung ist nicht völliger Müll und danke schonmal im vorhinein für ein paar hilfreiche Antworten!

mfg.
IBlack

Klingon77
10.08.2009, 16:20
hi,

nun bin ich beileibe nicht der Elektronik-Fachmann...

Ich sehe keine Vorwiderstände für die LED´s.
Auch bei PWM sollte der max. Strom entsprechend den LED Spezifikationen beschränkt werden.


liebe Grüße,

Klingon77

the_Ghost666
10.08.2009, 16:22
Es fehlen dir Vorwiderstände, die den LED-Strom in nem sicheren Bereich halten und die nötige Leistung aushalten.
Ausserdem würde ich die LEDs entweder über die Transistoren setzen und die Emitter direkt mit Masse verbinden, oder PNP-Typen wählen. Sonst kann es passieren, dass die Transistoren nicht durchsteuern. Den Transistor-Basen fehlen aber auch noch Vorwiderstände. Ich nehm meist 1k-4,7k als Basiswiderstand.
Für die Anschlüsse AN0-2: du kannst eine andere Schaltung anschließen. Aber sie müssen die gleiche Masse haben und die Schaltung darf nur im Bereich von 0V-5V arbeiten, da sonst der Port beschädigt wird.
Dann hast du noch den ICSP-Stecker: Wenn du über den ICSP programmieren willst, brauchst du einen Widerstand zwischen +5V und MCLR (damit der Controller nicht dauernd Reset hat), oder du musst den MCLR abschalten, womit dann aber der ICSP nichtmehr klappt.
Und wichtig!: Wenn du den PIC normal programmierst, bekommt MCLR 12V, als Programmiersignal. Das bedeutet, dass du die Schaltung gegen diese 12V sichern musst. Eine 1N4148 Diode genommen und dann so aufgebaut:
MCLR an den MCLR-ICSP Pin und die Kathode der Diode, Anode der Dioden an einen 10kOhm Pullup und den 10kOhm an +5V. So verhindert die Diode, dass die 12V über den Pullup auf die restliche Schaltung gelangen.
Zum Dimmen: Ich weiß nicht genau wieviele Hardware-PWM Module der PIC hat und an welchen Pins die liegen. Aber was immer geht, ist eine Software-Dimmfunktion. Das könntest du so machen, dass du regelmäßig einen Interrupt auslöst und in der Interruptroutine einen Zähler um einen erhöhst. Danach vergleichst du den Wert mit einer eingestellten Helligkeit, und wenn die kleiner ist, als der Wert, dann schaltest du den Transistor ab, sonst bleibt er an.

IBlack
10.08.2009, 18:22
Erstmal DANKE! für die Antworten innerhalb von nur ein paar Stunden.

Hab den Plan jetzt umgezeichnet, müsste so alles Stimmen (hoffe ich)
Kann ich die Bauteile jetzt also so verlöten?

http://www.robis-page.com/Bilder/Dimmschaltung2.png

Die LEDs sind nun vor den Transistoren und die Emitter an den GND.
Vor jeder Basis ist ein 1k Widerstand und vor den LEDs der jeweilige Vorwiderstand.
Kann ich für das Problem mit den zwei Stromkreisen eine Art Potentialausgleichsleitung zwischen den GND der Schaltungen machen? (so wie auf der Zeichnung zu sehen) genügt das?

mfg.
IBlack

021aet04
10.08.2009, 18:55
Die 2 GND Anschlüsse sind im NT (wenn du ein PC NT verwendest) zusammengeschalten. Wenn du die Schaltung aber einmal nicht aus einem PC NT versorgst (z.B. NT ist defekt) ist nicht sicher, ob die Schaltung funktioniert. Ich würde die 2 GND Leitungen zusammenlegen. Warum nimmst du eigentlich für die Leds 12V und nicht 5V? Welche Leds verwendest du? Hast du die Vorwiderstände berechnet?

IBlack
10.08.2009, 20:13
Die Schaltungen werden sicher nur vom (selbigen) PC NT gespeist.
Die Vorwiderstände von den LEDs habe ich ausgerechnet (pi mal daumen, da ich die Anzahl der LEDs noch genau festgelegt habe)
Eigentlicht ändert sich ja an der Formel "(U_netzteil - U_led) x I" nur der Strom wenn ich mehrere LEDs Parallel schalte, da die anliegende Spannung bei jeder Diode gleich ist, richtig?

Die anderen Widerstände (vor Transistorbasis, bei MCLR) sind wie gesagt aus dem Beitrag von the_ghost666 abgeleitet

mfg.
IBlack

the_Ghost666
10.08.2009, 21:10
Moin,

noch ne Nachbesserung, vll hab ichs etwas verschachtelt beschrieben: MLRC braucht einen Pullup, aber nur einen. Du hast jetzt 2 Pullups, R11 ist überflüssig. Wenn du den PIC zum programmieren aus der Schaltung nimmst, dann reicht R11 mit 10kOhm, R10 und D1 wären dann überflüssig. Wenn du in der Schaltung programmieren musst oder möchtest, dann nimmst du R11 raus und nutzt R10 und D1. Wenn du noch einen Reset-Taster möchtest, um den Controller zu rebooten, dann hängst du direkt an MCLR und mit dem anderen Pol an Masse. Das ist aber nicht zwangsweise nötig. Beim Testen aber praktisch, da du sonst immer den Stecker abziehen musst, zum rebooten.
Das mit den Transistoren sieht jetzt gut aus. Nur eine Warnung: LEDs sollte man immer mit nem einzelnen Vorwiderstand betreiben, oder mit einer Stromquelle, statt Spannungsquelle. Das hat folgenden Grund. Wenn dein Strang mit 10 roten LEDs, 2,0V pro LED und 20mA, läuft, siehst du Widerstände für eben 200mA und 10V Spannungsabfall vor (12V-2V). Das ist ok, aber LEDs haben ihre Toleranzen. Der Strom I bewirkt ne bestimmte Helligkeit, aber die Durchlassspannung streut, dh es gibt LEDs, die bei 1,8V ihre 20mA ziehen, und es gibt LEDs, die das erst bei 2,1V tun. Jetzt begrenzt du aber nur den Summenstrom. Der kann auch gleich bleiben, wenn eine LED kaputt geht. Aber, dann teilen sich auf einmal 9 Stück die 200mA. Das sind 10% mehr als erlaubt. Und dann geht die nächste LED kaputt, es sind nurnoch 8 LEDs, aber 200mA usw. Verstehst du? Ausserdem brauchst du für 12V und eine LED große Widerstände.
Besser: LEDs mit je einem eigenen Vorwiderstand an die niedrigste Spannung (5V also) hängen. Die Widerstände verbrennen nicht so unnütz Energie und jede LED bekommt garantiert nicht mehr als 20mA. Ein Kompromiss für viele LEDs: Schalte 5 LEDs mit 2,0V in Reihe, und mach dort einen Vorwiderstand vor. Das ganze an 12V, dh du verlierst nur 2V oder weniger. Für blaue mit 3,4V nimmst du nur 3 LEDs in Reihe usw. Damit fällt dir bei einem Fehler ein Strang aus, von dem meist nur eine LED defekt ist. Die kann dann als Sicherung für die anderen dienen. Es kann auch passieren, dass LEDs beim defekt dauerhaft leiten, aber dann verlierst du auch nur einen Strang.

Achja, noch eine Sache: Leg ruhig noch einen großen Elko zwischen 12V und Masse und 5V und Masse in die Schaltung. Z.B. 470µF und 16V bzw 25V. Deine Schaltung produziert Störungen, durch schnell wechselnde Lastzustände, vielleicht ist auch die Strecke vom Netzteil bis zu deiner Schaltung etwas gestört. Du glättest damit die Gleichspannung nochmal ein wenig, auch wenn PC Netzteile das schon selbst gut machen, schaden tut es nicht.

IBlack
10.08.2009, 21:21
Hi!

Das hört sich eigentlich ganz plausibel an. Wenn ich die LEDs jedoch in Serie schalte, hab ich dann nicht das Problem dass die Leuchtkraft von LED zu LED abnimmt? d.h. die erste leuchtet am kräftigsten und die letzte am schwächsten?

mfg.
IBlack

021aet04
10.08.2009, 21:56
Nein. Das stimmt nicht. Da der Strom durch die Led gleichbleibt. An der einen Led fällt dan 2V ab und an einer anderen nur 1,8V (als Beispiel). Aber die Helligkeit ist vom Strom abhängig. Der ist durch jede Led gleich. Wenn du wirklich bedenken hast, kannst du für jede Led einen eigenen Widerstand nehmen. Dann würde ich die Led aber an 5V hängen, sonst hast du eine sehr hohe Verlustleistung an den Widerständen.Wenn du z.B. 12V nimmst und an der Led fällt 2V bei 20mA ab, dann hast du eine Verlustleistung von 400mW/Widerstand (Die Formel (U-Uled)*I). Wenn du 5V verwendest, hast du 120mW. Wenn du jetzt die 4Stränge mit 100% leuchten lässt hast du 1,6W bzw 480mW. Das ist der Fall, wenn du 1 Led pro Strang verwendest.

IBlack
11.08.2009, 17:31
Hi!

Hab die Schaltung wieder umgezeichnet und euren Rat beherzigt
Die Gesamte Schaltung läuft nun mit 5V und passenden Vorwiderständen vor jeder LED.
Den Leistungstransistor hab ich ausgetauscht gegen BD 139-10 Typen, die haben 1,5A Kollektorstrom, was völlig ausreichen sollte (selbst wenn die LEDs 200mA hätten)

Hoffe mal das passt so einigermaßen.
Bin für jede Kritik / Verbesserung dankbar!

http://www.robis-page.com/Bilder/Dimmschaltung3.png

MfG. IBlack

Besserwessi
11.08.2009, 17:56
Der BD139-10 hat eine ziehmlich kleine Verstärkung. Wenn man da mehr als etwa 200 mA je Transsistor haben will, müßte der Basisvorwiderstand kleiner. Mehr als etwa 800 mA sind dann auch nicht drin. Aber mehr sollte man den BD139 auch nicht zumuten, etwas Reserve ist da angebracht.

Je nach Farbe der LEDs könnte es besser sein die LEDs in Serie zu schalten und die 12 V zu nutzen.

IBlack
11.08.2009, 18:04
An die ersten 3 Transistoren kommen 6 Weisse LEDs und an den letzten 4 Blaue

Auf die genauen Typen habe ich mich aber noch nicht festgelegt

mfg.
IBlack

the_Ghost666
11.08.2009, 18:43
Du hast dich bei R7 noch vertan, der sitz einen Pin zu hoch, R7 muss an +5V. Der Rest sieht gut aus.

Besserwessi
11.08.2009, 19:01
Die Weißen und blauen LEDs brauchen etwa 3,3-4 V. Da passen die 5 V schon nicht so schlecht, solange man die Transistoren nicht so stark belastet. Sonst wird die Emitter Collektor Spannung zu hoch und für den Widerstand bleibt nicht genug Spannung.
Bei mehr Strom wäre ein kleiner Logic-Level MOSFET eventuell eine gute alternative zum Transistor.

the_Ghost666
12.08.2009, 01:55
Stimmt. da hab ich schon die Rechnung (Uversorgung-Uled-0,7V)/I gehört. Dabei sollen die 0,7V diese Basis-Emitter-Strecke des Transistors sein.