RGB LED Beleuchtung - Schaltung

  • Hallo,
    ich habe mich hier im Forum angemeldet, da ich mein Arbeitszimmer mit einer RGB Beleuchtung unter/auf den Schränken und dem Tisch "verschönern" möchte. Gleichzeitig soll das Projekt dazu dienen, meine Elektronik kenntnisse zu verbessern.
    Ich habe zwei Schränke und einen Tisch, sodass sich auf die Schränke je 2m und der Tisch 1m abbekommt.


    Dafür habe ich 5m RGB LED Strip mit 72W / 12 V bestellt.
    (Sollte dann ja so 2 - 3 A max. pro Farbe sein ).


    Das ganze möchte ich über einen Mikroprozessor ( ATMega8 ) steuern.
    Auf diesem werden verschiedene Basisprogramme gespeichert und können über eine Infrarotfernbedienung (RC5) eingestellt werden.
    Außerdem bekommt er eine RS232 Schnittstelle ( an der ggf. ein Bluetoothmodul hängt ) , um über den PC gesteuert werden zu können.
    Da mein Labornetzteil nur 5A DC liefert, habe ich überlegt, ein ATX PC Netzteil zu verwenden. ( 2x 18 A auf 12 V sowie 5V StdBy für den Prozessor ).
    Bei entsprechendem Signal von der Fernbedienung soll der Prozessor das Netzteil über einen kleinen Transistor anschalten und dann über ein Relais die 12 V Leitung an die Transistoren schalten.


    Nun zu den Fragen:


    Da ich bisher leider kaum Erfahrung mit Transistorschaltungen habe, benötige ich in dem Bereich Hilfe.
    Ich habe für den Lastteil Tip42 Transistoren ( max. 6A / 65W PNP ) oder TIP29 Transistoren ( 1A , 30 W, NPN ) zur Verfügung.
    Wegen der größeren Leistung wollte ich die Tip42 nehmen.
    Meine Frage ist nun, wie ich die am besten ansteuere.
    Da die LEDs noch nicht da sind, habe ich zum testen ersteinmal Lastwiderstände genommen.
    Wenn ich sie direkt mit einem Vorwiderstand ( Welcher wäre da richtig, habe mal Testweise 500 Ohm genommen ) an den Mega8 hänge fallen bei 1,5 A 3,5 V ab und er wird recht warm. Wie kann ich das verbessern ? Bräuchte ich eine "Darlington Schaltung" bzw. würde die was bringen ? Wie kann ich dafür die passenden Widerstände etc. ermitteln ?


    Was für eine Art von Transistoren brauche ich um das netzteil zu starten ? Habe BC557 und BC547 zur Verfügung.
    Ich habe mal einen Schaltplan angehängt so wie ich mir das bisher vorstelle.
    Links die ATX Buchse, darunter zwei Molexbuchsen. R9 ist ein kleiner Lastwiderstand für 5V.
    S1 und S2 sind Taster ( Power on und Mode )
    Rechts RJ45 Buchsen für die 3 LED Stripes.


    Vieleicht kann mir da jemand helfen, werde auch weiter was austesten, komme aber bei der Transistorschaltung gerade nicht so wirklich weiter.
    Viele Grüße
    Dirk

  • hi,


    ich denke du musst die Basis Transistoren auf 12V "vorspannen" damit die PNP überhaupt sperren, die LED gehen ja mit 12V und der ATMega mit 5V. Da brauchst Du vermtl. noch eine Stufe dazwischen. Der Basiswiderstand hängt von der Stromverstärkung ab. Ob der Mega dass Treiben kann verrät Dir das Datenblatt der beiden Teile.


    Zum Thema Power On des Netzteils und Verwendung für geringe Last an 5V mal der folgende LINK: Da steht auch was von PowerOn Leitung mit Masse verbinden, dass lässt auf einen NPN Transistor schließen.


    Deine Veschaltung mit den RJ45 Buchsen ist meiner Meinung nach nicht zu empfehlen. Warum bei 3A diesen Aufwand und nicht einfach ein paar Schraubklemmen und dann eine feste 1mm² - 1,5mm² Leitung. Bei 2..3A auch den Leitungswiderstand der im allg. ja dünnen RJ45 (Patch?) Leitungen nicht vernachlässigen. Sonst leuchtet statt der LED noch nicht Leitung 8o


    Tip: Lies Dich mal ein bisschen durch's Forum. Da gibt es sicherlich mehrere Schaltungen auch für LED mit gemeinsamer Kathode.


    //hufnala

  • Hallo und vielen Dank für die Antworten.
    Uh habe das ja gerade mal verpeilt und gelesen, das es auch viele RGB Stripes mit gemeinsamer Anode gibt.
    Nun weiß ich gar nicht, was für welche ich bestellt habe.
    Denke aber mal das die gemeinsames GND haben, genau werd ich das dann sehen.
    Die Kontrollleds waren natürlich falschrum eingezeichnet, vielen Dank.
    Ansonsten sollte GND auch überall zusammengeschaltet sein.


    Auf das mit dem RJ45 bin ich gekommen, weil ich dafür passende Kabel da habe und nach PoE da auch 50 W drüber laufen können.
    Evtl. nehme ich auch noch andere Leitungen, sofern ich denn welche finde.
    Gibt es zu diesem "Vorspannen" irgendein Prinzipschaltbild ?
    Habe glaube ich einen Denkfehler gefunden, habe bisher versucht, die aus zwei pnp Transistoren zu bauen, aber gerade eine Schaltung gefunden, wo es anders ist.
    => http://www.mikrocontroller.net…rlington-komplement_r.jpg


    Müsste also vor den Tip42 dann einen NPN Transistor schalten.
    Sind diese berechnungen richtig ?
    Der Mega8 bringt ja 40 mA am Ausgang, wenn der Tip42 um 30x verstärkt wären das nur 1,2 A.
    Der BC 547 verstärkt mindestens um den Faktor 100, max. 100mA. => TIP42 würde 3A bringen => genug.
    Wie muss ich denn die Widerstände R1 / R2 berechnen ?
    Einfach nach dem Ohmschen Gesetz ?
    ( R1 U / I => 5V / 0,1 A => 50 Ohm // R2 wäre dann nicht nötig ? )


    Viele Grüße

  • Die Schaltung ist Quatsch - Du hast jetzt nen Emitterfolger vor dem PNP, also einziger Unterschied zu oben, dass Du nun nur noch zwischen 0 und 4,3 V an der Basis des PNP umschalten kannst statt 0 und 5 V ;)


    wie's richtig geht, siehe hier... den FET kann man auch durch nen PNP-Transistor ersetzen.


    abgesehen davon würde ich doch erst mal warten, bis die Strips da sind, bevor ich jetzt ne Schaltung baue, und dann ist die genau verkehrt rum :D - oder noch mal nachschauen (Du wirst das doch sicher irgendwo gespeichert haben, den Link zum Verkäufer..?)


    Denke aber mal das die gemeinsames GND haben

    warum denkst Du das...? - die meisten haben gemeinsames Plus, eben weil es viel einfacher ist, nach GND zu schalten statt nach Vcc (da reicht dann auch ein einzelner FET/Transistor am µC...)


    Auf das mit dem RJ45 bin ich gekommen, weil ich dafür passende Kabel da habe und nach PoE da auch 50 W drüber laufen können.

    Wo ist die Zahl her..?


    m.W. sind es eher 25 W, entscheidend sind ausserdem nicht die Watt, sondern der Strom - da PoE mit 48 V arbeitet, hast Du bei gleicher Leistung halt auch nur 1/4 des Stroms wie bei 12 V...


    Ach, und:

    Zitat

    Wenn ich sie direkt mit einem Vorwiderstand ( Welcher wäre da richtig, habe mal Testweise 500 Ohm genommen ) an den Mega8 hänge fallen bei 1,5 A 3,5 V ab und er wird recht warm.

    Du hast jetzt aber nicht ernsthaft 1,5 A aus nem µC-Portpin rausgezogen...? 8|

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Zitat

    Du hast jetzt aber nicht ernsthaft 1,5 A aus nem µC-Portpin rausgezogen...?

    Meine natürlich am Transistor.
    Das mit dem PoE habe ich hierher: http://www.elektronik-kompendium.de/sites/net/0807021.htm
    Wobei die Klasse mit den 50W wohl noch nicht spezifiziert ist.


    Die LEDs sind diese hier:
    http://dx.com/p/72w-soft-flexi…trip-rgb-5m-dc-12v-126240
    Mal schauen ob die überhaupt was taugen, leider steht da ja nichts dazu bei.
    Dann werde ich wohl erstmal warten bis die da sind, sollte die Tage sein, da schon vor 4 Wochen bestellt.


    Eine Frage noch,
    ich gehe davon aus, das ich die Transistoren Kühlen muss oder?
    Habe gemessen, das der Collektor mit dem Gehäuse verbunden ist, daher müsste ich ja jeden Transistor vom Kühlkörper isolieren oder ?
    Kann man grob sagen, wie hoch der Verlust ist?
    Könnte dann schonmal den Kühlkörper entsprechend besorgen und Bohren.

  • Den Bildern nach (sofern es die Richtigen sind) ist es gemeinsame Anode, also Plus.
    Somit benötigst du 3 NPN Transistoren bzw. N-Kanal FETs.


    Muss es unbedingt der TIP29 sein???
    Ich glaube da gibt es wesentlich bessere Alternativen (ala irlz34n). Da fällt die Kühlung dann auch komplett flach.

  • Ich hau mal einfach raus was mir so an Fragen und Kommentaren einfällt:


    1.
    Größere Ströme schaltet man nicht mehr mit bipolaren Transistoren, dafür nimmt man heute FETs. Bei bipolaren Transistoren sind die Verluste zu groß, beim TIP29 eben 0.7V bei einem Ampere.
    Apropos ein Ampere: Das ist das "Absolute Maximum Rating" für den TIP29, d.h. darüber garantiert der Hersteller nicht mehr für die Funktion des Bauteils. Unter diesem Wert sollte man auf jeden Fall deutlich drunter bleiben, von daher wäre dieser Transistor für Dein Vorhaben ohnehin nicht wirklich geeignet.
    Für FETs aber bitte auf jeden Fall eine Treiberstufe einplanen, die von Pesi verlinkte Schaltung reicht für die meisten Anwendungen dicke aus. Falls Du es richtig schick machen willst kannst Du auch nen PNP und nen NPN zu ner Push/Pull Stufe kombinieren und fertig. Besorg Dir am Besten noch nen Schwung BC337/BC327, die können max. 500mA Strom und haben ansonsten keine Nachteile gegenüber 557/547, zumindest sind mir keine bekannt.


    2. Wie hast Du eigentlich vor, die bei den meisten Netzteilen notwendige Grundlast auf 5V/12V Schienen erzeugen? Viele ATX-NTs gehen bei unbelasteter 5V-Schiene überhaupt nicht erst an.


    3.
    Warum willst Du die Spannung per Relais an die Transistoren schalten?
    Auch hier könntest Du im Zweifelsfall einen FET nehmen oder schlicht und ergreifend die Spannung direkt an die Transen legen.
    Netzteil aus, Spannung weg. Kannst ja theoretisch sogar die Spannung noch per A/D Wandler im Controller überwachen und die Transistoren erst aktivieren wenn sie sich stabilisiert hat...


    4.
    Du sagtest, dass Du eine RS232 einbauen möchtest um den Controller per PC anzusprechen.
    Auf Deinem Plan hängen Rx/Tx vom Controller direkt am USB. Soll da noch ein USB/Seriell Wandler dazwischen oder willst Du USB in Software implementieren?
    Sofern Du es in Software machen willst brauchst Du noch einen externen Takt (ich glaube 12MHz) am Controller, mit dem internen Oszillator ist da eher nix zu machen...
    Ausserdem fehlt dann auch noch die übliche USB-Beschaltung (Z-Dioden).


    5. An der Resetleitung fehlt die übliche R/C Kombination um den Pin auch wirklich stabil auf Vcc zu halten. Ist ekelig wenn der controller scheinbar wahllos neustartet und man den Fehler im Code sucht. 1 bis 10 kOhm und 100nF sorgen für Sicherheit.


    6.
    Und um nochmal deutlich zu wiederholen was Pesi bereits sagte: Vergiss die RJ45 Verkabelung bei den Strömen.
    POE funktioniert nur weil es eben mit vergleichweise hohen Spannungen und niedrigen Strömen arbeitet. Da Du durch die Stripes auf 12V festgelegt bist wird das eher nix werden.
    Die Kabel werden es zwar wahrscheinlich noch aushalten (wobei mehrere Ampere auf so ner armen RJ45-Doppelader schon grenzwertig sind), aber der Spannungsabfall auf dem Kabel dürfte schon deutlich bemerkbar sein.
    Du bist wirklich besser beraten wenn Du Schraub- oder Federklemmen und "ordentliches" Kabel benutzt. Und nicht vergessen, die gemeinsame Leitung (Kathode bzw. Anode je nach Stripe) dicker auszulegen als den Rest, geht immerhin bis zu dreimal mehr Strom drüber...


    7.
    Ich würde auch eher nen Controller mit mehr als einem 16Bit Timer und entsprechenden PWM-Pins nehmen. Ermöglicht wesentlich sanfteres Fading im unteren Bereich und kostet nun auch nicht wirklich mehr, besonders weil es sich um ein Einzelstück handelt. Atmel hat sowas auch als PDIP, also bastlerfreundlich. Wenn ich mich richtig entsinne sollte der Mega165 passen, ansonsten nochmal bei Atmel in die Product Table schauen. Ist am Ende aber auch Geschmacksache, wenn Dir 8 Bit reichen dann schickt auch der Mega8, aber warum nicht gleich nen dickeren Controller nehmen und sich für die Zukunft alle Möglichkeiten offen lassen? Speziell wenn mal der Flash oder SRAM eng wird wünscht man sich, man hätte gleich mehr eingeplant... :)



    So, mehr fällt mir momentan nicht ein, ich wünsche Dir viel Erfolg bei Deinem Projekt.

  • Hallo und danke für die Antworten.
    Das hilft mir doch eine Menge weiter.


    1.) Kenne noch keine Push-Pull Stufe, habe nach etwas Internet-Recherche den Schaltplan mal für eine Farbe angepasst.
    Meintest du das so ? Die BC3XX habe ich leider nicht da, könnte ich sonst aber auch noch bestellen. Habe gelesen, das die FETs aber an sich nur eine Spannung brauchen und kaum Strom. Würden die BC5xx da auch gehen, den die habe ich da.
    Notfalls auch je ein paar aus Tip42/Tip29. Kann man da was über die Stromaufnahme sagen, das ich die richtigen einbaue?


    2.) Die Grundlast soll über R9 sichergestellt werden, das ist ein 5W Leistungswiderstand auf der 5V Schiene.
    Das Netzteil startet auch ohne Last (Be Quiet Teil, noch halbwegs neu) hoffe das der zur Spannungsstabilisierung ausreicht.


    3.) Das Relais schien mir irgendwie am sichersten zu sein, hatte ursprünglich neben der Spannungsüberwachung auch einen Temperaturwiderstand an dem Kühlkörper der Transistoren geplant ( über ADC ) sowie ein Strommesser (Shunt).
    Sodas im Fehlerfall über das Relais abgeschaltet werden kann.
    Ein FET scheint wohl auch zu gehen, sind ja interessant, kannte ich vorher noch gar nicht ;)


    4.) Wollte auch einen externen Takt verwenden, ( 8Mhz ) habe ihn jetzt eingezeichnet. Damit sollte RS232 gehen. ( Auf meinem Versuchsboard geht es )
    Die USB Buchse ( Schlag mich), ich verwende immer USB Buchsen für Serielle Schnittstellen ( Nur die Buchsen, nicht das Protokoll), bietet sich an, da Kabel vorhanden, Buchsen billig und 5V/ GND für die Mikroprozessoren auch gebraucht werden.
    Habe z.B. ein Bluetoothmodul BTM222 welches ich da direkt anschließen könnte.


    5.) Danke, Hab ich ergänzt


    6.) Okay, werde Schraubklemmen nehmen, habe heute eine Rolle passendes Kabel gefunden, was ausreichen sollte.
    7.) Ich habe noch nen Mega32 da.
    Wenn die LEDs da sind werde ich mal ausprobieren, ob das so schon gut aussieht und sonst den Prozessor wechseln.


    Der Infrarotempfänger war falsch eingezeichnet, habe ich auch geändert. Danke.

  • Hiho.


    Das mit der Spannung statt dem Strom ist nur teilweise richtig.
    FETs werden grundsätzlich zwar per Spannung gesteuert, aber sie haben wie gesagt eine sogenannte Gatekapazität. Stell's Dir einfach wie nen kleinen Kondensator vor. Dieser Kondensator muss umgeladen werden damit der FET schaltet, dabei fliesst kurzzeitig ein Strom. Bei hohen Schaltfrequenzen kommt da unter Umständen schon ordentlich was zusammen. Kann nun der Treiber (im einfachsten Fall der IO Pin vom Controller) das Gate nicht schnell genug umladen dann schaltet der FET nicht voll durch. Dadurch hat er einen höheren Widerstand als der RDSon der im Datenblatt angegeben ist und es fällt mehr Leistung am FET ab.
    Daher am Besten ne Treiberstufe. Solange es nur um PWM für LEDs geht (d.h. so runde 100-200 Hz Schaltfrequenz) ist das aber noch vernachlässigbar.
    Ein ziemlich gutes PDF zum Thema FETs findest Du hier: http://focus.ti.com/lit/ml/slup169/slup169.pdf


    Übrigens ist Deine Treiberstufe auch nicht 100%ig ideal, aber im Zusammenspiel mit einem LogicLevel FET wie den IRLZXXX ausreichend, kann also so bleiben.
    Der Treiber von Pesi tut's aber wie gesagt auch, die Push/Pull Stufe war eigentlich nur als zusätzliche Information gedacht falls Du mal was anderes als LEDs steuern willst. ;)
    Und die BC5XX sollten ausreichen, ich nehme halt gerne die BC3X7 und habe mir da mal ne größere Menge aus der Bucht auf Halde gelegt, kosten ja nüscht.
    Die TIPXX haben in so ner Treiberstufe imho nix verloren, die Stromverstärkung ist relativ gering, das macht wenig Sinn.


    Die USB-Buchse für reines RS232 zu entfremden finde ich gefährlich. Klar, solange nur Du da was anschliesst ist es kein Problem, aber was wenn mal jemand anders an dem Kasten vorbei kommt und z.B. nen USB-Stick einsteckt?
    Bei 8MHz kannst Du zwar theoretisch RS232 fahren, aber nicht wirklich mit hohen Geschwindigkeiten. Dafür empfiehlt sich dann ein sog. Baudratenquarz. Kommt aber auch immer drauf an welche Geschwindigkeiten die Gegenseite unterstützt...


    Im Bezug auf die PWM-Auflösung wird Dir der Mega32 nichts nützen, der hat ebenfalls nur einen 16 Bit Timer mit 2 PWMs. Aber immerhin schonmal deutlich mehr Flash als der Mega8... :)

  • Okay, dann werde ich auch gleich nen Quarz mitbringen, 3,6864 Mhz wären gut.
    Wäre es denn so tragisch, wenn da ein USB Stick angeschlossen werden würde ?
    Spannungstechnisch bleibt es ja bei 5V, nur würden auf den Datenleitungen mist empfangen werden ( Pegel mit 5V sollte das USB Gerät aushalten ).
    Passiert ist bisher noch nichts, werde aber ausschließen, das da irgendwer was reinsteckt, wenn ich es denn so umsetze.
    Vielen Dank ! Werde dann mal Berichten wenn alles fertig ist.

  • Okay, dann werde ich auch gleich nen Quarz mitbringen, 3,6864 Mhz wären gut.

    Was kann das BT-Modul denn für Datenraten...?


    im Datenblatt des ATMEga gibt's ne Tabelle, welche Baudraten mit welchen Quarzen fehlerfrei möglich sind (Abschnitt "USART") - schau' doch mal da nach und nimm' dann den "schnellsten" Quarz, der für die Baudrate passt...


    weil knapp 4 MHz sind halt nicht soo viel, je nach dem, was das Teil alles machen muss, kann das schon knapp werden - mit um die 16 MHz hat man dann halt gleich 4x so viele Befehle/Sekunde abgearbeitet...


    höhere Auflösung geht übrigens auch in SW, wenn Du BCM statt PWM benutzt - da gibt's auch schon Code dafür im Forum...

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Hatte gerade noch einen anderen, Spontanen Einfall:
    Wie sieht das aus, anstatt der RS232 auf DMX zu setzten ?
    Stimmt es, das ich da so keine weitere Hardware ( außer dem DMX Controller) brauche und das über die gleichen Pins am Prozessor geht wie RS232 ?
    Über die Serielle Schnittstelle müssen nicht viele Daten, bisher bin ich mit 9600 Baudt immer ausgekomen.
    Die Programme liegen ja schon im Controller, ich brauche also im schlimmsten Fall nur 255/255/255 übertragen ( Manuell ) oder die Subprogramme ( Fading etc. ) ansprechen.
    Müsste mich dann mal mit der Softwareseitigen DMX verarbeitung auseinandersetzten, habe aber gesehen, das in Bascom da schon etwas an Funktionen enthalten ist.