Hey, ich habe hier einen kleinen Controller, an dem ein Mosfet treiber hängt. Per PWM mache ich eine 12V LED Leuchte extrem langsam heller / dunkler (über den Zeitraum von 5 minuten bis zu einer Stunde). Leider sieht man die Stufen, die ich per PWM erzeugen kann - vor allem bei geringer Helligkeit. Das ganze soll so smooth wie nur irgendwie ablaufen! Was kann ich tun? Elektronisch? Softwaretechnisch? Oder garnicht per PWM sondern ganz anders? Vielleicht hat ja jemand ein ähnliches Problem schonmal besiegt?! Vielen Dank schonmal im Voraus! Hannes
Gast
#6070186
Hannes H. schrieb: > Was kann ich tun? 16bit PWM benutzen und berücksichtigen, dass das Auge logarithmisch reagiert. Das heißt: Mit steigender Helligkeit, müssen die Zeitabschnitte kürzer werden oder die Sprünge größer (aber letzteres das wolltest du ja gerade vermeiden).
Wie schon geschrieben, müssen die Werte logarithmisch gesteigert werden. Beispiele mit den passenden Zahlenwerten findest du hier: https://www.mikrocontroller.net/articles/LED-Fading
Gast
#6070280
Hannes H. schrieb: > Leider sieht man die Stufen, die ich per PWM erzeugen kann - vor allem > bei geringer Helligkeit. Das ganze soll so smooth wie nur irgendwie > ablaufen! Das ist der falsche Ansatz und unnötig teuer. Sobald du einen Controller einsetzt, bist du bei einer stufenweisen Änderung der Helligkeit. Alles andere wäre falsche Theorie. Überlege dir also, wie groß die Stufen sein dürfen und wie das mit deinem "kleinen Controller" umsetzbar ist.
Hallo, die Stufen wirst Du immer haben. Aber als Trick könntest Du noch einen Tiefpass großer Zeitkonstante nachschalten, der die Sprünge verschleift, so daß man das Umschalten nicht so deutlich sieht. mfG
Du kannst mit der PWM-Auflösung tricksen, in dem du mit einer "zweiten PWM" die erste zwischen Sollwert und Sollwert+1 schwanken lässt. z.B. 10 bit in Hardware-PWM mit ~20kHz, 5 extra Bit in Software oben drauf. Deine PWM könnte dann 10 mal mit Wert 333 laufen, 22 mal mit Wert 334, dann wieder 10 mal mit 333 usw. Jetzt "flackert" deine Lampe zwar mit ~600 Hz, aber nur zwischen zwei sehr ähnlichen Helligkeitsstufen. Ausprobieren, und dann einen Mittelweg zwischen Auflösung beim Faden und sichtbarem Geflacker wählen.
Gast
#6070525
Exakt! Nennt man im englischen auch Dithering/dithern, nur fällst du ein Stichwort zum recherchieren brauchst.
Gast
#6070627
Εrnst B. schrieb: > Deine PWM könnte dann 10 mal mit Wert 333 laufen, 22 mal mit Wert 334, > dann wieder 10 mal mit 333 usw. Damit wird die Modulationsfrequenz nur unnötig niedrig. Nicht so flackerig wird in dem Fall das Dithern bei einer Folge
1 | |
und dann wieder von vorne. (Stichwort Bresenham Algorithmus)
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.