verzögert anschaltende Außenbeleuchtung mit LEDs

Dieses Thema im Forum "Elektrotechnik & Elektronik" wurde erstellt von jojo2peter, 25. Mai 2015 .

Schlagworte:
  1. 25. Mai 2015
    Hallo liebe RR-Community,

    habe mal wieder ein kleines Anliegen: ich möchte für eine Ausßenbeleuchtung mit ~4 kleinen LED-Laternen indirekt einen Pfad beleuchten. Werde die selbst verbauen mit dieser LED, über paar Modifikationen und Ähnliches dann noch für den Außenbereich tauglich machen.
    Jenachdem, ob man von vorne oder von hinten in den LED Bereich läuft, soll von dieser Seite aus langsam ein Licht nach dem Anderen angehen bis dann zum schluss nach einer festgelegten Zeit alle wieder ausgehen.
    Wie ich das realisiere weiß ich noch nicht, entweder über Lichtschranke oder Bewegungsmelder... Habt ihr evtl. eine bessere Idee?

    Bin derzeit am überlegen welche Lösung für ein langsames Aufleuchten am besten ist: per IC verzögert alle LEDs nacheinander anschalten (LEDs haben RC Glied vorgeschaltet) oder alles digital, also die Ausgänge des ICs quasi auf die Basis eines Transistors und dann per PWM langsam hochdimmen lassen?

    Bei der 2. Variante hab ich bei einem Miniaturaufbau mit einem Arduino Board das Problem gehabt, dass ich die LEDs nur nacheinander hochdimmen lassen konnte.
    Wenn z.bsp die 2. LED aber schon angehen soll, wenn die 1. bei 60% Helligkeit ist, klappt das nicht, außer ich bau das in eine Schleife ein, was aber eher ein "dirty fix" ist, gibt es da eine bessere Lösung?


    Danke für eure Aufmerksamkeit,


    Gruß jojo2peter
     
  2. 26. Mai 2015
    AW: verzögert anschaltende Außenbeleuchtung mit LEDs

    Die LEDs über die Spannung eines RC Gliedes zu "dimmen" funktioniert nicht. LEDs sind Halbleiter und keine Glühbirnen.

    Über eine PWM mit passendem (Mosfet-)Treiber wirst du nicht drumherum kommen wenn du ordentlich dimmen willst.

    Wenn es sich nur um 4 Laternen handelt ist doch ein µC kein Problem. Selbst "kleine" ATMegas (z.B. ATMega328p auf dem Arduino Nano oder Arduino Pro Micro) haben 3 Timer mit jeweils 2 hardware-PWM Einheiten. Somit könntest du theoretisch 6 Kanäle unabhängig voneinander steuern.
    Ist sicher die einfachste Lösung wenn man keine diskrete Hardware aufbauen will.
     
  3. 26. Mai 2015
    AW: verzögert anschaltende Außenbeleuchtung mit LEDs

    Also an ein Arduino dachte ich auch, kann man ja bereits für 12€ erwerben und fest verbauen.
    An FET dachte ich auch, wird ja auch nicht sonderlich teuer dann.

    Der PWM Ausgang des Arduinos wird ja von 0-255 0=0% Helligkeit 255=100% Helligkeit gesteuert, zwischen dem anschalten kann man ja immer "delay(t)" machen, aber dass das einen schön fließenden Übergang ergibt, wie im 1. Post erwähnt, kann ich auch über die verschiedenen Timer und Kanäle nicht erreichen, oder?

    Finde im Internet leider auch kein passendes Video, wie das aussehen soll.
    In etwa so:
    1. LED 0-30%
    1. LED >30% 2. LED 0-30%
    1. LED >60% 2. LED >30% 3. LED 0-30% etc...

    Klar müssen es nicht diese Werte sein, sondern solche die gut in Kombination aussehen

    Hoffe ihr versteht was ich meine.
     
  4. 26. Mai 2015
    AW: verzögert anschaltende Außenbeleuchtung mit LEDs

    Ich verwende zwar "Arduino kompatible" Boards weil die einfach spotbillig sind (<2,5€ für ein Board mit Atmega328p, Spannungswandler, USB<-> UART und 16Mhz Quarz), programmiere aber direkt in C mit Atmel Studio.
    Ich kenne die Arduino IDE und Lib deshalb nicht.

    Du hast beim Atmega 328P 2 8Bit und einen 16Bit counter mit jeweils 2 PWM Kanälen. Diese sind erstmal unabhängig voneinander (sind ja in Hardware implementiert). Du hast somit 6 Echte PWM Ausgänge (4x mit 8Bit Auflösung und 2x 16Bit).
    Du hast zwar je Timer immer die gleiche Frequenz, kannst den DC aber frei wählen (die Frequenz ist ja bei einer Dimmerschaltung nicht ganz so wichtig solange es kein sichtbares Flickern gibt).

    Ich persönlich verstehe dein Problem nicht. Wieso kannst du die 6 vorhandene PWM Kanäle nicht unabhängig voneinander steuern?

    PS: Delay() hat meiner Meinung nach bis auf spezielle Fälle im "Produktivcode" nichts zu suchen.
     
  5. 27. Mai 2015
    AW: verzögert anschaltende Außenbeleuchtung mit LEDs

    Also da ich ein Arduino Anfänger bin, weiß ich scheinbar nicht was das Ding alles so kann, mein bisheriger Code für das Problem war:
    Spoiler
    Code:
    // #include <math.h>
    // LED Fading
    
    
    int led = 9; // 1st LED Pin
    int ledSecond = 10; // 2nd LED Pin
    int ledThird = 11; // 3rd LED Pin
    
    int brightness, brightnessSecond, brightnessThird = 0; // how bright the LEDs are
    
    int fadeAmount = 1; // how many points to fade the LED by
    int threshold = 30; // Threshold until next LED is triggered
    
    // the setup routine runs once when you press reset:
    void setup() { 
     // declare pin 9, 10 and 11 to be an output:
     pinMode(led, OUTPUT);
     pinMode(ledSecond, OUTPUT);
     pinMode(ledThird, OUTPUT);
    } 
    
    // the loop routine runs over and over again forever:
    void loop() { 
     
     // Trigger first LED, which triggers the 2nd etc.
     while(brightness <= 255){
     first();
     delay(threshold);
     }
     
     delay(500);
     brightness = 0;
     brightnessSecond = 0;
     brightnessThird = 0;
     delay(100); 
    }
    
    void first(){
     analogWrite(led, brightness);
     brightness = brightness + fadeAmount;
     quickStart(fadeAmount);
     if(brightness >= threshold){
     second();
     delay(threshold);
     }
     // delay(40);
    }
    
    void second(){
     analogWrite(ledSecond, brightnessSecond); 
     brightnessSecond = brightnessSecond + fadeAmount;
     quickStart(fadeAmount);
     if(brightnessSecond >= threshold){
     third();
     delay(threshold/2);
     }
    }
    
    void third(){
     analogWrite(ledThird, brightnessThird); 
     brightnessThird = brightnessThird + fadeAmount;
     quickStart(fadeAmount);
    }
    
    void quickStart(int e){
     fadeAmount = e/2+2;
    // fadeAmount = pow(e, 2);
    }
    // Auf meinem Arduino funktionierts wie es soll... kann sein dass das hier aber ne neuere Version ist, die ich ausprobieren wollte. Kann es leider atm nicht testen

    Was du nun sagst, dass es gibt, wäre sozusagen ein Interrupt.
    Werde mich bzgl. der Counter etc. mal einlesen.
     
  6. 27. Mai 2015
    Zuletzt von einem Moderator bearbeitet: 15. April 2017
    AW: verzögert anschaltende Außenbeleuchtung mit LEDs

    Das ist leider ein weit verbreitetes Problem unter der "Arduino Generation". Es wird "bare metal" Software geschrieben ohne die Hardware zu kennen. Das funktioniert durch die vorgefertigten Libs bis zu einem gewissen Grad ganz ok, führt aber später öfter zu Problemen.
    Wenn dich wirklich interessiert was da abgeht würde ich mal das Datenblatt anschauen (zumindest die relevanten Kapitel). Das gibts auf Atmel Corporation - Microcontrollers, 32-bit, and touch solutions

    Für die PWM brauchst du keine Interrupts. Wie gesagt die sind in Hardware implementiert.

    Das würde ich sowieso machen. Hier mal ein Ausschnitt aus dem Datenblatt der kleinen 8-Bit ATmega Serie rauskopiert:
    Unbenannt.PNG
    Hier siehst du einen der 8-Bit Timer und die zwei Waveform Generatoren die zur PWM Erzeugung genutzt werden können (gelb markiert).

    Ich würde das ganze z.B. so implementieren (Pseudocode, ich gehe davon aus, dass die zwei 8-Bit Timer im non-inverted Fast-PWM Mode laufen mit 0xFF als TOP) und die Pins dementsprechend kofiguriert und beschaltet sind.
    Code:
    void LEDSoftStart(void)
    {
    static uint8_t dc1 = 0;
    static uint8_t dc2 = 0;
    static uint8_t dc3 = 0;
    static uint8_t dc4 = 0;
    static uint16_t cnt = 0;
    
    if(dc1 < 255) dc1++;
    
    if(cnt > 100)
     if(dc2 < 255) dc2++;
    
    if(cnt > 200)
     if(dc3 < 255) dc3++;
    
    if(cnt > 300)
     if(dc4 < 255) dc4++;
    
    OCR0A = dc1;
    OCR0B = dc2;
    OCR2A = dc3;
    OCR2B = dc4;
    
    if(cnt < 0xFFFF) cnt++;
    }
    Die Funktion rufst du dann halt alle x-ms periodisch auf. Nur so als simples Beispiel ohne irgendwas genauer getestet zu haben.
     
  7. 8. Juni 2015
    AW: verzögert anschaltende Außenbeleuchtung mit LEDs

    Also vielen Dank für deine Antwort MasterJulian,
    hab mittlerweile fast alles vor mir, was ich brauche.
    Es fehlt lediglich ein passendes Netzteil.
    Zuerst wollt ich dieses 3,3V/20Wnehmen, gerade beim ausprobieren(PC-Netzteil 3,3V Schiene) fiel mir dann auf, dass am Transistor ja 0,7V abfallen.

    Ich erreiche damit 2,6V hätte aber gerne ~2,9V. Ein günstiges 5V Netzteil finde ich allerdings nicht, hat jemand Tipps?
    Oder evtl. einen anderen Lösungsvorschlag?


    Vielen Dank

    // DIESES 5V/25W würde quasi am Limit laufen
     
  8. 8. Juni 2015
    AW: verzögert anschaltende Außenbeleuchtung mit LEDs

    Was für einen Transistor hast du gewählt, dass da 0,7V abfallen? Hat der ein so hohes Rds(on)?
    Deine Schaltung wäre nicht schlecht.
    Die Schaltnetzteile würde ich nicht am Limit betreiben. 10-15% Reserve sollte schon drin sein.
     
  9. 8. Juni 2015
    AW: verzögert anschaltende Außenbeleuchtung mit LEDs

    Haha Ok, ich war eigentlich der Meinung, dass das siliziumbedingt ist, dass 0,7V abfallen.
    Gerade lese ich aber auf Wikipedia:
    Dass dieser dumme Zufall wieder eintreten muss... Habe nämlich einen TIP120 welcher bei dem Arduino Starterset dabei war und gleichzeitig auch ein Darlington-Transistor ist.
    Wollte einen IRLIZ44N benutzen, habe diesen aber noch nicht bestellt, weil ich erst ausprobieren wollte.
    Wäre ja eigentlich perfekt: 3,3V - 0,2V... Fehlt nurnoch irgendwas um den Arduino zu betreiben
    // Das Arduino Pro Mini scheint ja dafür dann auch perfekt geeignet
     
  10. 9. Juni 2015
    AW: verzögert anschaltende Außenbeleuchtung mit LEDs

    Einen Darlington Transistor nimmt man natürlich im Normfall nicht um größere Lasten zu schalten, sondern wie im Post #2 geschrieben einen MOSFET (sollte auch aus dem vor dir verlinkten Datenblatt ersichtlich werden). Siehe auch: Do not TIP!
    Wenn es geht würde ich immer n-Kanal MOSFETS als low-side Switch nutzten. Die benötigen keinen Treiber und lassen sich meist schneller schalten. p-Kanal als high-side Switch wenns eben nicht anders geht.
    für deine Zwecke wohl etwas Overkill aber sollte funktionieren.
    NEIN. Nochmal: Der Spannungsabfall hängt von der Last und dem RDS(on) ab. Ohmsches gesetzt und so: U = R*I
    Die nutze ich auch gern, der Preis wäre mir allerdings zu hoch. Bedenke, dass du hier noch entweder einen ISP Programmer oder (in deinem Fall da du ja die Arduino IDE nutzt) ein passendes FTDI Kabel (FTDI-Basic) zum programmieren benötigst.
     
  11. 9. Juni 2015
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: verzögert anschaltende Außenbeleuchtung mit LEDs

    Vielen Dank.
    Hab mich fast die komplette Nacht über MOSFETs eingelesen bzw. logic level etc. und habe eben deine Antwort, dass es auf den RDS(on) ankommt, auch gelesen. Schlussendlich hab ich sie dann bestellt.

    Bzgl. des TIPs, der war nunmal in dem Starterset des Arduinos dabei, deshalb hab ich ihn benutzt, aber danke für den Link!

    Bzgl.
    Wie ich gelesen hab kann ich die 5V Teile, über meinen UNO programmieren. Kostet dann 6,49€.

    Mittlerweile, nach langem überlegen, denke ich, dass die 3,3V Variante eher unsinnig ist(vor allem wegen des programmierens), da ich nun über ein Relais (gesteuert über den Arduino) das Netzteil erst schalten möchte, zwecks Strom sparen.

    Damit dass jeder ein bisschen besser versteht, habe ich mittlerweile auch mal einen Schaltplan entworfen. Die Schaltbilder sind evtl. nicht 100% korrekt, aber ich denke jeder wird Bescheid wissen:
    Spoiler
    Bild
    Mit dem LDR und Bewegungsmelder funktioniert das alles wie es soll, die Verdrahtung dieser bitte nicht beachten.
    Für den 230V/5V Trafo, möchte ich einfach ein USB-Ladegerät benutzen!
     
  12. 9. Juni 2015
    AW: verzögert anschaltende Außenbeleuchtung mit LEDs

    Ja du kannst wohl einen Arduino als ISP Programmer nutzten. Wie gut das geht weiß ich nicht.

    Wieso willst du zwei Netzteile nutzen? Sowohl der Uno als auch der Pro Mini haben nen Mega328 drauf und sollte problemlos mit 3.3V laufen (steht alles im Datenblatt). Der MOSFET schaltet bereits bei 1V, ist also auch kein Problem. Selbst wenn der UNO nicht bei 3.3V läuft ist ein FTDI Kabel sicher Billiger als ein zweites Netzteil + Relais und Bauteile drum herum. Zudem kann man nie genug USB<->UART Adapter herumliegen haben.
    Wenn du den ATMega wie im Schaltbild direkt nutzen willst fehlen noch ein paar Bauteile (Filterkondensator für die Versorgungsspannung, Reset Pullup, Programming Header und ggf. Quarz wenn benötigt)
     
  13. 10. Juni 2015
    Zuletzt von einem Moderator bearbeitet: 15. April 2017
    AW: verzögert anschaltende Außenbeleuchtung mit LEDs

    Das Schaltnetzteil wird im Standby sicher den ein oder anderen Watt benötigen... wenn das Teil dann 24/7 läuft, sollte man das nicht vernachlässigen.

    Das 5V Netzteil wäre, wie gesagt, so ein kleiner USB Ladestecker:
    Spoiler
    Bild
    Verlustleistung ist nicht so hoch und ich hätte solche noch da, müsste also keines mehr kaufen.

    Ich denke ein einzelner Arduino wäre praktischer, hab deshalb einen ATMega328 ähnlichen µC genommen, auch ohne Schaltung.. nur zum verdeutlichen.


    Die 3,3V machen mir grad bei der Leitungslänge sorgen, der weiteste Punkt ist bei ca. 12m x2(hin/zurück) = 24m.

    Laut online-Rechnern hab ich bereits bei 20m einen Spannungsabfall von 0,6V.

    wenn ich das selbst rechne: (großzügigerweise mit 2,5mm²)

    leiterwiderstand.png
    Hab ich evtl. was vergessen?
     
  14. 10. Juni 2015
    AW: verzögert anschaltende Außenbeleuchtung mit LEDs

    Woher nimmst du die Annahme, dass dein 3,3V Schaltnetzteil >1W Standby hat und dein "USB Ladestecker" (welches, oh große Überraschung, ebenfalls ein Schaltnetzteil ist) wesentlich weniger im Standby verbraucht? Ich tippe mal drauf, dass keins von beiden auch nur ansatzweise 1W im Standby verbrauchen (zumindest wenns ordentlich Netzteile sind)

    Über solche Aussagen könnte man sich jetzt Seitenlang auskotzten, ich machs kurz:
    Ein Arduino ist KEIN µC, sondern ein Plattform inkl. Hard- und Software hauptsächlich basierend auf der AVR Atmega Serien von Atmel. Der µC ist also ein Atmega.
    Es gibt keine "ATMega328 ähnlichen" Controller. Entweder du hast nen Mega328 oder eben nicht.

    Wie bereits geschrieben benötigt ein µC eine gewisse Mindestbeschaltung um sauber zu funktionieren. Auch hier hilft ein Blick ins Datenblatt.

    Die ist nicht zu vernachlässigen. Deine LEDs laufen natürlich auch Problemlos mit 2,7V. Wenn du die LEDs unbedingt am Limit betreiben willst kannst du
    1) entweder ein Schaltnetzteil bei dem du die Spannung justieren kannst nehmen um damit die Spannungsabfall kompensieren oder
    2) ein 5V Netzteil nehmen und nen passenden Vorwiederstand dazu

    Ordentliche Kühlung für die LEDs bei 3A?

    PS: Wenn du wirklich so auf den Standby Verbrauch scharf bist, dann betreibe den µC mit Akku und schalte deine Spannungsversorgung komplett über ein Relais. Am besten gleich mit Ladeschaltung.
     
  15. 10. Juni 2015
    Zuletzt bearbeitet: 10. Juni 2015
    AW: verzögert anschaltende Außenbeleuchtung mit LEDs

    Was ich meinte war, dass es bei sPlan keinen ATMega328 gab, sondern nur einen ATMega324 und ich den genommen habe, deshalb sollte auch nicht auf die Beschaltung geachtet werden!
    Mir ist auch bewusst, dass der Arduino kein µC ist.

    Die LEDs sollen auf 2,9 - 3V betrieben werden, laut Dtenblatt benötigt eine LED bei 2,9V 1050mA.
    Mit einem Sternkühlkörper ist für ausreichend Kühlung gesorgt, dieser wird erst nach ca. 1h Dauerbetrieb etwas wärmer.

    Akkubetrieb ist eine gute Idee aber wenn sich das mit dem Standbybetrieb so verhält wie du sagst, benötige ich im Endeffekt ein gutes 5V Netzteil. Die MeanWell Netzteile auf Amazon scheinen mir geeignet. Ich besitze 2 12V/1,5A Netzteile um andere LEDs zu betreiben, das einzige was mir bisher auffiel war die Einschaltzeit, wenn es aber im Dauerbetrieb ist, ist das zu vernachlässigen.
    Kann jemand Warnungen aussprechen?
     
  16. 10. Juni 2015
    AW: verzögert anschaltende Außenbeleuchtung mit LEDs

    Laut DATENBLATT (nicht Schaltplan) hat die LED eine typische Vorwärtsspannung von 2,95V (bei 1050 mA, 85 °C), jedoch keine Minimalspannung. Der maximale Vorwärtsstrom beträgt 3A. Wenn das dein Netzteil liefern kann wird das die LED auch ziehen (entsprechende Versorgungsspannung vorausgesetzt). Da du die LEDS hoffentlich nicht offen im Garten betriebst (Gehäuse und so) hast du auch keinen Luftstrom. Deshalb habe ich die Kühlung angesprochen.
    Die Mean Well Netzteile sind super P/L Netzteile. Pass aber auf, dass du eins kaufst welches keine Grundlast benötigt.
     
  17. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.