Hawk Geschrieben July 6, 2012 at 19:10 Geschrieben July 6, 2012 at 19:10 Hallo zusammen, ich will euch auch mal mein Projekt vorstellen, da es sowohl besondere Anforderungen an die Hardware als auch an die Software hat. Erstmal eine kleine Übersicht: Ich wollte mir ins Wohnzimmer meiner neuen Wohnung eine LED Beleuchtung einbauen. Da mir aber die kommerziell erhältlichen Dimmer nicht gefallen und größtenteils für meine Stromstärken nicht geeignet waren, wollte ich mir eine Ansteuerung selber bauen. Ich habe mich für einen Streifen mit RGB LEDs und zusätzlichen warmweißen LEDs entschieden, da diese ein schöneres Weiß bieten als die reinen RGB Streifen. Dadurch habe ich erst einmal 4 Kanäle, die ich dimmen will: - Rot - Grün - Blau - Warmweiß Da ich zusätzlich eine extra Beleuchtung für den Esstisch eingeplant habe, kommt noch ein weiterer Kanal dazu, womit wir insgesamt bei 5 Kanälen wären. Jeder Kanal soll einzeln gedimmt werden, was sich mit einer Pulsweitenmodulation sehr gut bewerkstelligen lässt. Das geht mit einem Servo Brick, welches aber nicht genug Strom verkraftet, um die LEDs treiben zu können und so dient es nur zur PWM Erzeugung. Als "Leistungsendstufe" verwende ich Low Side Switches (LSS). Um die LSS zu schonen und die LED Streifen auch wirklich auszuschalten habe ich noch für jeden Kanal ein Dual Relay Bricklet eingebaut. Dieses schaltet die LEDs in die Zuständen AN, GEDIMMT und AUS, wobei nur der gedimmte Eingang von den LSS kommt. Zudem sollen die warmweißen LEDs und die Esstischbeleuchtung nicht nur per PC einschaltbar sein, sondern auch per Lichtschalter an der Wand. Dafür nehme ich ein IO4 Bricklet, welches ich dann an den Lichtschalter anschließen werde. Im Moment wird das ganze durch Kippschalter realisiert. Außerdem sollte das Licht aber nicht einfach nur plump eingeschaltet werden, sonder schön an- und wieder ausgedimmt, sowie die Relais geschaltet. Da dies ohne das Zutun eines PCs geschehen sollte, musste ich die Servo Brick Firmware modifizieren. Mehr dazu später. An Hardware benötigt das Ganze folgende TinkerForge HW: - Step Down Power Supply - Master Brick - Servo Brick - 5 Dual Relay Bricklets - IO4 Bricklet Sowie zusätzliche HW: - 5 Toshiba Low Side Switchs TPD1045F - Platine - 5 Servo Kabel Verlängerungen - Mehrere Meter Kabel - Mehrere Meter LED+WW Steifen - 2 Schalter - 12 Volt Schaltnetzteil - 10 Reihenklemmen für Hutschiene Das ganze sieht da mal so aus. Einmal abstrakt: R sind die Relais im Dual Relay Bricklet. Sowie mit richtiger Hardware: Im Hintergrund erkennt man noch die Platine auf die ich die LSS gelötet habe. Die Reihenklemmen dienen lediglich zur Spannungsversorgung, da an mehreren Stellen 12 V bzw. GND benötigt werden. Soweit zur Hardware, kommen wir zur Software. Zur Ansteuerung habe ich mir ein kleines objektorientiertes Java Programm geschrieben, mit dem ich die Helligkeit der einzelnen Kanäle einstellen kann. Auf dem ersten Reiter kann man die Helligkeiten jedes Kanals von Hand einstellen. Im Hintergrund arbeitet ein State-Machine mit Listenern, die die Relais einschaltet bzw. ausschaltet wenn das Licht komplett gedimmt wurde. Auf dem zweiten Reiter habe ich eine andere Farbdarstellung für die RGB LEDs gewählt und kann dort die Farben einfacher ändern. Sogesehen nichts neues. Weitere Reiter sind angedacht, um weitere Funktionen wie Blinken oder Farbverläufe zu erzeugen. Damit das Ganze auch ohne Host und auch nach einem Reset direkt funktioniert, musste die Firmware des Servo Bricks angepasst werden. Also habe ich meine alte Linux VM ausgegraben, mit die Compiler-Umgebung installiert und angefangen in der Firmware rumzuspielen. Dabei habe ich andere Standardwerte für die Servo Kanäle 1-5 (Frequenz, Min/Max Winkel, Geschwindigkeit, ...) gesetzt sowie die Kanäle auch aktiviert. Für die warmweißen LEDs und die Tischbeleuchtung fange ich die Positionswerte von der GUI ab und speichere diese zwischen, damit in abhängigkeit von der Schalterstellung entweder auf den Vorgabewert oder auf 0 gedimmt werden kann. Dafür wurde die Tick Task erweitert, welche jede Millisekunde ausgeführt wird und normalerweise für die Positionsänderung verwendet wird. Per modulo-Opteration prüfe ich nun alle 100 ms ob ein Schalter geschalten wurde und wenn ja wird ein Zustandsübergang eingeleitet von einem der drei Zustände eingeleitet: - Aus (Relais aus, Position = 0) > Schalter AN - An (Relais an, Position > 0) > Schalter AUS - Ausgeschalten (Relais an, Position = 0 wird angefahren) > Position 0 erreicht - Aus Nach dem die Firmware nun funzt kann ich mein Licht einschalten. Den gesamten Aufbau habe ich inzwischen schon mal kurz getestet und ich hoffe mal, dass im Langzeitbetrieb nicht zuviel abraucht ;-) Zu guter letzt nochmals vielen Dank an Olaf und Bastian für ihre Unterstützung. Zitieren
AuronX Geschrieben July 6, 2012 at 19:45 Geschrieben July 6, 2012 at 19:45 Gefällt mir gut, hast du auch schön ausführlich beschrieben. Versteck dich schnell sonst kommt der Fabian und bittet dich es ins Wiki zu stellen Ne Spaß, ist wirklich toll und würde das Wiki sicherlich bereichern. Ich würde auch gerne Bilder sehen wie du es am Ende verbaust, vielleicht kriege ich da noch eine gute Idee mit auf den Weg wie man sowas am geschicktesten versteckt ohne es in Beton zu gießen ^^ (Beton ist auch nicht so gut zur Revision geeignet) Zitieren
Hawk Geschrieben July 6, 2012 at 21:21 Autor Geschrieben July 6, 2012 at 21:21 Ich würde auch gerne Bilder sehen wie du es am Ende verbaust, vielleicht kriege ich da noch eine gute Idee mit auf den Weg wie man sowas am geschicktesten versteckt ohne es in Beton zu gießen ^^ (Beton ist auch nicht so gut zur Revision geeignet) Ich bin auch noch am überlegen, wie ich das ganze verstecke. Vermutlich wird es ein leeres PC Gehäuse oder ähnliches werden, in dem dann Bricks, Netzteil, Hutschiene und Platine reinkommen. Zitieren
joo Geschrieben August 21, 2012 at 17:23 Geschrieben August 21, 2012 at 17:23 Laut "Schaltplan" - und auch im Text nicht erwähnt - nutzt du keine Widerstände um den Strom an den LEDs zu begrenzen. Ist das richtig? Wenn ja solltest du das noch korrigieren. Sonst rauchen dir irgendwann die LEDs ab. Welche LEDs verwendest du genau? Ich überlege ähnliches zu bauen. Allerdings glaube ich momentan, dass ich da mit Arduino günstiger und flexibler wegkomme, da ein standard Bord schon 14 IO und davon 6 PWM Ausgänge mitbringt. Zitieren
Hawk Geschrieben August 21, 2012 at 17:46 Autor Geschrieben August 21, 2012 at 17:46 Laut "Schaltplan" - und auch im Text nicht erwähnt - nutzt du keine Widerstände um den Strom an den LEDs zu begrenzen. Ist das richtig? Ja, aber das sind LED-Stripes die für den Einsatz an 12 V ausgelegt sind und die Widerstände schon mitbringen. http://www.led-konzept.de/epages/61333995.sf/de_DE/?ObjectPath=/Shops/61333995/Products/10890/SubProducts/10892 Zitieren
andlinger Geschrieben August 29, 2012 at 11:59 Geschrieben August 29, 2012 at 11:59 Hallo, ich würde gerne diese Schaltung nachbauen. Jedoch stellt sich mir noch die Frage wie bzw welche Ports der LSS ich an den Servo Brick anschließen muss. Wäre toll wenn mir das jemand beantworten könnte Danke. Zitieren
Hawk Geschrieben August 29, 2012 at 19:12 Autor Geschrieben August 29, 2012 at 19:12 Die Aussagen stimmen nur für den oben genannten Toshiba TPD1045F: SOURCE (Pin 1-3) geht an Ground IN bzw. GATE (Pin 4) geht an den Servo Brick PWM Pin. DRAIN (Pin 5- geht an die LEDs (lowside). Zitieren
Dei Mudda Geschrieben November 13, 2012 at 10:28 Geschrieben November 13, 2012 at 10:28 Hi, ich bin absoluter noob also bitte nicht schlagen für die Frage. Könnte ich zu Dimmen der LED nicht auch das DC Brick nehmen? Zitieren
ArcaneDraconum Geschrieben November 13, 2012 at 11:14 Geschrieben November 13, 2012 at 11:14 Also ich bin auch nicht der Feinelektroniker, ich meine aber: Der DC Brick hat eine variable Ausgangsspannung und stellt den benötigten Strom zur Verfügung, also das Regelelement ist die Spannung. Eine LED leuchtet ab einer gewissen Spannung, drunter läuft nix und darüber bringt auch nicht viel (ausser Wärme - die abgeführt werden muss). Die Leuchtkraft wird über den Strom gesteuert - je mehr, desto heller. Auch in Grenzen versteht sich. Der PWM-Ausgang schaltet eine definierte Spannung schnell ein und aus, regelt damit also den Strom der fließen kann..... Ich hoffe das ganze zwar laienhaft, aber korrekt und verständlich formuliert zu haben. Zitieren
Hawk Geschrieben December 11, 2012 at 21:13 Autor Geschrieben December 11, 2012 at 21:13 Hi, ich bin absoluter noob also bitte nicht schlagen für die Frage. Könnte ich zu Dimmen der LED nicht auch das DC Brick nehmen? Das DC Brick ist eine H-Brückenschaltung (http://de.wikipedia.org/wiki/Vierquadrantensteller) - du könntest also auch nur 1 Phase dimmen, da sich durch LEDs der Stromfluss nicht umkehren lässt. Zitieren
Hawk Geschrieben December 11, 2012 at 21:41 Autor Geschrieben December 11, 2012 at 21:41 So hier kommen mal ein paar Bilder. Den Lichtschalter habe ich von der 230V Versorgung abgeklemmt und diese isoliert. Anschließend habe ich die Leitungen zum IO4-Bricklet angeschlossen und im Kabelkanal versteckt. Das weiße Licht ist bereits auf 25 % so hell, dass es sich als angenehme Hintergrundbeleuchtung für PC/Fernseher eignet. Die drei anderen Farben geben ebenfalls kräftiges Licht ab wenn gewünscht. Durch die Anbringung an der Decke mit Leuchtrichtung nach unten wird die Wand auch als Leuchtfläche verwendet und auch der Boden hell genug ausgeleuchtet, ohne das man als Betrachter geblendet wird. Zitieren
christbaum Geschrieben February 18, 2013 at 11:09 Geschrieben February 18, 2013 at 11:09 Hi, Ich habe vor etwas ähnliches aufzuziehen. Mein Ziel ist es 14 im Raum verteilte LED Streifen (Jeweils ca 50cm lang -> 200mA bei 12V) zu betreiben. Ich möchte sie jeden für sich dimmen können. Meine Überlegung war dazu 2 Servo Bricklets zu nehmen (um die LEDs anzusteuern) und den ganzen Stapel mit einem Step-Down-Power Supply mit Strom zu versorgen. Dieser würde dann mit einem 12V 8A Netzteil mit Strom versorgt werden. Was die LED-Streifen angeht wird der Stromverbrauch bei 2,8A liegen, das sollte also kein Problem sein. Was mir wirklich noch Kopfzerbrechen bereitet ist ob die LED-Streifen mit 9V (Was ja die Maximale Ausgangsspannung bei den Servo Bricklets ist) Leuchten! Könnte ich mit den Servo-Bricklets auch wirklich die LED-Streifen dimmen?? Zitieren
Hawk Geschrieben February 18, 2013 at 15:46 Autor Geschrieben February 18, 2013 at 15:46 Was mir wirklich noch Kopfzerbrechen bereitet ist ob die LED-Streifen mit 9V (Was ja die Maximale Ausgangsspannung bei den Servo Bricklets ist) Leuchten! Könnte ich mit den Servo-Bricklets auch wirklich die LED-Streifen dimmen?? Ich würde dir nicht empfehlen die LED Streifen direkt an den Servo Brick zu hängen. Bei 9V sollten die LEDs zwar leuchten, aber trotzdem sehr rotstichig sein. Investier lieber ein paar € in LowSide-Switches und löte dir das ähnlich zu meinem Aufbau zusammen. Da deine LowSide-Switches nur 200 mA können müssen, sollte es ein großes Angebot geben (Ich habe meine für 10 A ausgelegt). Zitieren
batti Geschrieben February 18, 2013 at 16:11 Geschrieben February 18, 2013 at 16:11 Ich möchte nur daran erinnern, dass zwar die Ausgangsspannung einstellbar ist, allerdings ist die PWM Spannung fest (5V)! Es kann nicht mit 9V PWM erzeugt werden! Zitieren
Hawk Geschrieben February 18, 2013 at 16:52 Autor Geschrieben February 18, 2013 at 16:52 Es kann nicht mit 9V PWM erzeugt werden! Dann kommste um die LowSide-Switches nicht drum rum. Zitieren
kuli Geschrieben February 18, 2013 at 17:00 Geschrieben February 18, 2013 at 17:00 Dazu hab ich auch eine Frage: Kann ich statt dem LSS auch einen Transistor nehmen? Wenn ja, welchen? Ich möchte eine einzelne, dreifarbige LED ansteuern, über 3 Servo Kanäle natürlich. Die LED benötigt max 3x20mA bei 2/4/4 V. Wie würde die Schaltung aussehen (bzogen auf GND), wenn der Stack und die LED über zwei verschiedene Stromquellen versorgt werden? Zitieren
Hawk Geschrieben February 18, 2013 at 17:16 Autor Geschrieben February 18, 2013 at 17:16 Dazu hab ich auch eine Frage: Kann ich statt dem LSS auch einen Transistor nehmen? Ein LowSide-Switch besteht ja aus Transistoren. Bei einem Transistor hast du halt das Problem, dass du die Ladung am Gate wieder wegbekommen musst. Dies kann der LSS durch seinen Schaltungsaufbau deutlich schneller und eignet sich somit besser für PWM. Da du ja nu einzelne LED dimmen willst, könntest du diese vermutlich (fast) direkt an das ServoBrick anschließen. Muss halt bloß dir n paar Vorwiderstände besorgen, damit aus den 5V deine gewünschten Spannungen werden. Zitieren
batti Geschrieben February 28, 2013 at 17:09 Geschrieben February 28, 2013 at 17:09 Hallo Hawk, würde dein Projekt gerne auf der neuen TF Homepage nennen: Siehe hier: http://www.tinkerunity.org/forum/index.php/topic,1445.0.html Hast du etwas dagegen? Ist es möglich an Bilder des Aufbaus zu gelangen? Zitieren
Hawk Geschrieben February 28, 2013 at 18:50 Autor Geschrieben February 28, 2013 at 18:50 Hey Batti, klar. Schreib mir ne PM mit was dir noch fehlt. Gruß Zitieren
batti Geschrieben March 6, 2013 at 16:00 Geschrieben March 6, 2013 at 16:00 Ich hab mal einen Wiki Artikel angelegt: http://www.tinkerunity.org/wiki/index.php/DE/Projekte/Wohnzimmer_LED_Beleuchtung Der Inhalt ist hauptsächlich der, den du hier gepostet hast. Ich hoffe das ist ok so. Darfst gerne daran rumschreiben. Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.