Dimmer für LED (nach-) basteln

Der chaotische Hauptfaden

Moderatoren: Heaterman, Finger, Sven, TDI, Marsupilami72, duese

Antworten
Trench
Beiträge: 83
Registriert: Sa 18. Jan 2020, 18:27

Dimmer für LED (nach-) basteln

Beitrag von Trench »

Ein Bekannter von mir hat sich letztens aus einem Möbelhaus eine LED-Lampe mitgebracht. Das Teil ist über jeden normalen Schalter "dimmbar".
Ich war etwas verwundert, es funktioniert aber tatsächlich. Hier das Prozedere:

Einschalten = 100%
Einschalten, Ausschalten, Einschalten = 75%
Einschalten, Ausschalten, Einschalten, Ausschalten, Einschalten = 50%
usw...

Anfangs etwas ungewöhnlich, mittlerweile will ich das aber auch haben. :) Die Platine ist leider vergossen, einfacher Nachbau ist also nicht. :cry:

Nach kurzer Recherche bin ich auf das Projekt gestoßen: LED-Dimmer.
Die Schaltung ist ja fix erstellt und lässt sich aufgrund der Größe auch in meine Lampe frickeln.
Allerdings gefällt mir das Dimmerverhalten der Schaltung nicht. Könnte man das ggf. wie oben beschrieben ändern?

Leider habe ich überhaupt keine Erfahrungen in der Programmierung von Atmels, ich kann nur die hex-files flashen :)

Machbar?
IPv6
Beiträge: 2215
Registriert: Fr 17. Mär 2017, 22:05

Re: Dimmer für LED (nach-) basteln

Beitrag von IPv6 »

Trench hat geschrieben: Sa 21. Jan 2023, 15:59 Machbar?
Ja klar, beißt sich aber ein bisschen mit
Trench hat geschrieben: Sa 21. Jan 2023, 15:59 Leider habe ich überhaupt keine Erfahrungen in der Programmierung von Atmels, ich kann nur die hex-files flashen :)
Allerdings kann man programmieren durchaus lernen, die Grundladen brauchen meist gar nicht mal so lange - was unheimlich praktisch ist, denn für ganz viele Herausforderungen in der Elektronik heißt ein möglicher Lösungsansatz "nimm einen μC und ein paar Zeilen Code".

Das von dir verlinkte Projekt wird folgendermaßen programmiert sein:

Der Controller bekommt Strom und dimmt langsam per PWM die LED hoch. Nach jeder "Stufe" bzw. alle X Stufen (je nach dem wie fein man das aufgelöst haben will) schreibt er den Dimmwert ins integrierte EEPROM (nichtflüchtiger Speicher, behält seinen Wert auch nach einem Neustart), z.B. von 0-100 %.
Bei jedem Neustart guckt er zuerst ins EEPROM, ob dort ein Wert drin steht. Ist das der Fall, dimmt er die LED auf diesen Wert und belässt es dabei, schreibt aber ins EEPROM einen Vermerk, dass beim nächsten Einschalten wieder mit der Hochdimmprozedur begonnen werden soll. Dieser Vermerk wird wohl auch geschrieben, wenn der Controller bei der anfänglichen Hochdimmprozedur bei 100 % angelangt ist.

Im Grunde nicht kompliziert, quasi fast einsteigertauglich.

Mit dem von dir beschriebenen schnellen Ein- und Ausschalten müsste man sich nun eine Logik überlegen, die das umsetzt.
Hier ein Ansatz (vereinfacht, auf die Schnelle runtergetippt, funktioniert vielleicht so auch noch nicht):
Controller liest beim Starten einen Wert aus dem EEPROM, wenn nichts drinsteht schreibt er direkt eine 1 und macht die LED voll an.
Nach X Sekunden (Schwellwert für "schnelles Schalten") löscht er den Wert im EEPROM wieder.
Wenn beim Starten eine 1 drinsteht bedeutet das, dass soeben kurz Ein- und Ausgeschaltet wurde. Dann dimmt er die Lampe auf 75 % und schreibt eine 2 ins EEPROM, die er aber wieder nach X Sekunden löscht.
Wenn beim Starten eine 2 drinsteht, bedeuetet das, dass soeben zwei mal kurz Ein- und Ausgeschaltet wurde, er dimmt auf 50 %, schreibt eine 3 ins EEPROM, die aber auch wieder nach X Sekunden gelöscht wird.
Gleiches Spiel für alle weiteren gewünschten Dimmstufen.

Alles klar? Arduino-IDE schon runtergeladen? :D
ch_ris
Beiträge: 3058
Registriert: Mo 30. Nov 2015, 10:08

Re: Dimmer für LED (nach-) basteln

Beitrag von ch_ris »

oder ein Kondensator hält ihn am leben?
dann brauchs nicht mal eeprom.
bastl_r
Beiträge: 1754
Registriert: Mo 12. Aug 2013, 15:58
Wohnort: Net weit vo Schtuagert

Re: Dimmer für LED (nach-) basteln

Beitrag von bastl_r »

Die Lampen sind Bullshit. So dimmt kein Mensch.
Meine Frau hatte auch mal zwei von den Dingern vom Feinkosthändler mitgebracht. Die werden ein- und ausgeschaltet. Ich weiß grad gar nicht genau wo die verbaut sind...
IPv6
Beiträge: 2215
Registriert: Fr 17. Mär 2017, 22:05

Re: Dimmer für LED (nach-) basteln

Beitrag von IPv6 »

ch_ris hat geschrieben: Sa 21. Jan 2023, 17:45 oder ein Kondensator hält ihn am leben?
dann brauchs nicht mal eeprom.
Der vom TE genannte Bauvorschlag nutzt zumindest keinen solchen Puffer.
Mit Energiespeicher für den Controller wird die Hardware jedenfalls etwas größer und komplexer.
bastl_r hat geschrieben: Sa 21. Jan 2023, 17:50 Die Lampen sind Bullshit. So dimmt kein Mensch.
Meine Frau hatte auch mal zwei von den Dingern vom Feinkosthändler mitgebracht. Die werden ein- und ausgeschaltet. Ich weiß grad gar nicht genau wo die verbaut sind...
Dein Kommentar ist Bullshit.
"Du bzw. deine Frau dimmen so nicht" ist in deiner Welt also identisch mit "niemand dimmt so". Spannend.
Les doch den Eingangspost nochmal, verstehe was der TE gerne hätte, akzeptiere, dass andere Leute anders sind als du und schreibe einen sinnvollen Beitrag. Andernfalls halte dich einfach von dem Thema fern?
Trench
Beiträge: 83
Registriert: Sa 18. Jan 2020, 18:27

Re: Dimmer für LED (nach-) basteln

Beitrag von Trench »

Hey IPv6,

na das hört sich doch alles ganz easy an. :D danke für deinen Beitrag.

Die Arduino-ID habe ich tatsächlich schon in Gebrauch, kleinere LED Projekte habe ich mit dem Nano auch schon umgesetzt. Das klappt auch ganz gut.

Wenn ich eine *.ino Datei von dem Dimmer hätte, dann würde ich mich einfach mal durchfrickeln. Mit der hex-Datei kann ich aber überhaupt nichts anfangen, habe daher leider auch keinen Ansatz...
Benutzeravatar
Chemnitzsurfer
Beiträge: 7859
Registriert: So 11. Aug 2013, 14:10
Wohnort: Chemnitz (OT Hutholz)
Kontaktdaten:

Re: Dimmer für LED (nach-) basteln

Beitrag von Chemnitzsurfer »

Solche Dimmer über den Lichtschalter gibt es auch als Modul was man zwischen Lampe und Lichtschalter klemmt, teilweise mit oder ohne Hilfsphase
https://www.distrelec.de/de/step-switch ... p/13670163
IPv6
Beiträge: 2215
Registriert: Fr 17. Mär 2017, 22:05

Re: Dimmer für LED (nach-) basteln

Beitrag von IPv6 »

Trench hat geschrieben: Sa 21. Jan 2023, 18:42 Die Arduino-ID habe ich tatsächlich schon in Gebrauch, kleinere LED Projekte habe ich mit dem Nano auch schon umgesetzt. Das klappt auch ganz gut.
Perfekt!
Dann mach doch mal folgendes:
Greif dir einen Arduino Nano aus der Bastelkiste und löte eine LED plus Vorwiderstand an einen der PWM-fähigen Pins (Google weiß, welche das sind).
Beschaffe dir die EEPROM Bibliothek: https://docs.arduino.cc/learn/built-in-libraries/eeprom

Die mitgelieferten Beispiele sollten einen ganz guten Einblick geben, wie das mit dem EEPROM läuft.

Versuche mal, ob du den folgenden Pseudocode in "richtigen" Code umgesetzt bekommst:

Setup:
LED Pin als Ausgang definieren
EEPROM Bibliothek initialisieren

EEPROM von Adresse 0 lesen und in einer Variablen speichern

Wenn Variable = 0, dann LED voll an.
Wenn Variable = 1, dann LED 75 % an.
Wenn Variable = 2, dann LED 50 % an.
Wenn Variable = 3, dann LED 25 % an.
Wenn nichts davon zutrifft, LED voll an.

Variable um eins erhöhen.
Falls Variable größer als 3, dann Variable auf 3 setzen.
Variable in EEPROM Adresse 0 speichern.

Für 1 Sekunde nichts tun

In EEPROM Adresse 0 eine 0 speichern.

Loop:
Nix

Erklärung:
Im Grunde wie in meinem vorherigen Post.
Controller startet und dimmt in Abhängigkeit vom Wert im EEPROM die LED.
Der Wert im EEPROM wird um 1 erhöht, aber eine Sekunde später wieder auf 0 gesetzt.

Wenn du den Arduino nun anmachst und vor einer Sekunde wieder ausmachst, ist beim nächsten Start der Wert im EEPROM um 1 erhöht. Das kann man dann so oft wiederholen, bis man bei der kleinsten DImmstufe angelangt ist.

Wenn das auf einem Arduino Nano läuft, läuft das nacher auf mit ein wenig Umweg auch auf einem ATtiny13.
Und wenn das mit der kleinen LED geht, geht das mit entsprechender Schaltungsanpassung auch mit den Beleuchtungs-LEDs.

Bin gespannt ob sich der Spaß am Ende so verhält wie du dir das wünschst!
Trench
Beiträge: 83
Registriert: Sa 18. Jan 2020, 18:27

Re: Dimmer für LED (nach-) basteln

Beitrag von Trench »

Besten Dank für die Tipps und den Weg! :)
Ich setze mich mal dran :)
IPv6
Beiträge: 2215
Registriert: Fr 17. Mär 2017, 22:05

Re: Dimmer für LED (nach-) basteln

Beitrag von IPv6 »

Kleiner Nachtrag:
Bei den klassischen chinesischen Nanos braucht der Bootloader am Anfang relativ lange, sodass das eigentliche Programm mit merklicher Verzögerung startet. Also bei dem Wiederausschalten unter einer Sekunde nicht als Startpunkt fürs leise Mitzählen das Einstecken nehmen sondern erst der Moment, in dem die LED angeht - erst dann läuft das Programm.

Da es in der finalen Version keinen Bootloader braucht, ist das kein wirkliches Problem, muss einfach nur beim Testen beachtet werden.
IPv6
Beiträge: 2215
Registriert: Fr 17. Mär 2017, 22:05

Re: Dimmer für LED (nach-) basteln

Beitrag von IPv6 »

Mich würde interessieren, was aus dem Projekt schlussendlich geworden ist. Gibts da Infos?
Antworten