hallo In dem µC.net-Artikel LED-Fading steht bei der Formel leider keine Erläuterung zu rx und ry. Es steht nur "im Bereich von 0 bis r-1" daraus werde ich allerdings nicht schlau. Was soll man da einsetzen, die jeweiligen Maximalwerte von x bzw. y? Wenn man genügend Rechenleistung im Controller hat, könnte man die LookUpTable doch weglassen und sich die Werte gleich live berechnen lassen, oder? Danke
Johannes H. schrieb: > Wenn man genügend Rechenleistung im Controller hat, könnte man die > LookUpTable doch weglassen und sich die Werte gleich live berechnen > lassen, oder? Natürlich. Bloß ist es völlig abstruser Schwachsinn, ein und dieselbe komplexe Berechnung wieder und wieder durchzuführen nur weil der Controller es kann. Wenn er so viel freie Rechenzeit hat, ist er für die Anwendung schlicht massiv überdimensioniert und damit auch viel zu teuer. Scheiß-unfähiger Entwickler am Werk.
Die r sind einfach Skalierungsfaktoren, um den Eingangswertebereich und den Ausgangswertebereich anzupassen.
Johannes H. schrieb: > Wenn man genügend Rechenleistung im Controller hat, könnte man die > LookUpTable doch weglassen und sich die Werte gleich live berechnen > lassen, oder? Immer wieder dieser Blödsinn mit LED-Fading. Dient alles nur dazu, dass irgendwelche möchtegern Experten zeigen, wieviel sie etwas von Logarithmen verstehen. 10 bit (1023 Stufen) ist schon zu viel, 7 bit ist mehr als genug. Und ich meine 127 echte 10-bit Werte, da du beim rechnen z.B: 26 mal die 1 hast, 14 mal die 2, 11 mal die 3 usw. Um 127 verschiedene Werte durchzufahren bei 0,1s Dauer pro Wert braucht man satte 12,7s. Bei 0,5s pro Wert dauert es schon über eine Minute. Wer dimmt denn so lange ? Mein Ratschlag ist: Vergiss die ganze Rechnerei, nimm eine Tabelle mit 3*128Byt und es ist gut. EDIT: 2*128 für dimmen. 1*128 für 128 verschiedene RGB Farben.
:
Bearbeitet durch User
Marc Vesely schrieb: > Immer wieder dieser Blödsinn mit LED-Fading. > Dient alles nur dazu, dass irgendwelche möchtegern Experten zeigen, > wieviel sie etwas von Logarithmen verstehen. Nein, das kann wohl nicht der einzige Grund sein... > 10 bit (1023 Stufen) ist schon zu viel, 7 bit ist mehr als genug. > Und ich meine 127 echte 10-bit Werte, da du beim rechnen z.B: > 26 mal die 1 hast, 14 mal die 2, 11 mal die 3 usw. ??? Du hast definitiv das ganze Prinzip nicht begriffen. Es kommt garnicht darauf an, jeden möglichen Wert der exponentiellen Kurve darstellen zu können oder zu wollen (genau deswegen können das reale Implementierungen normalerweise auch garnicht). Es geht vielmehr darum, eine lineare Funktion von 0..Endwert auf eine Exponentialfunktion von 0..Endwert zu mappen, um dem Auge einen linearen Anstieg der Helligkeit zu vermitteln, wenn die Ansteuerung linear erfolgt. Nötig ist das, weil das Auge eben nicht linear arbeitet, sondern eine (grob) logarithmische Abhängigkeit bei der Helligkeitsempfindung hat. Die Notwendigkeit für eine höhere Auflöung der PWM resultiert aus dem Verlauf der Kurve. Die ist nämlich so gestaltet, daß im unteren Bereich der Helligkeiten die Werte sehr dicht beeinander liegen, so dicht, daß sie z.B. mit nur acht Bit Auflösung bei Gamma 2,2 bis zum Wert 15 immer nur Null rauskommt, die Scheiß-LED also einfach mal komplett dunkel bleibt. > Um 127 verschiedene Werte durchzufahren bei 0,1s Dauer pro Wert > braucht man satte 12,7s Was ist das denn für eine gequirlte Kacke? Wer sagt, daß man 100ms für einen Schritt braucht? Meine 17Bit-PWM (bei Gamma 2,2 die kleinstmögliche Auflösung, die bei 8Bit-Helligkeitewerten auch nach dem Mapping auf die Exponentialkurve noch jedem Wert eine andere Ansteuerung zuordnet) läuft auf einem ATtiny 2313, steuert 16 LEDs an und erreicht bei der kleinstmöglichen von Null verschiedenen Ansteuerung 1 den kleinstmöglichen PWM-Duty von 1:2^17. Die Framerate ist dabei 28,125Hz (aber mit einem Trick zum Glück wirklich nur für diese kleinste Helligkeit zu 100% optisch wirksam), aber die mögliche Updaterate für eine Darstellung ohne Blitzer ist wirklich nur 28,125Hz. Wollte ich durch jeden der verfügbaren 256 Helligkeitswerte faden, würde es also irgendwas bei 8 oder 9s dauern. Das will ich aber garnicht und das muß ich auch nicht. Denn ich kann natürlich auch nur z.B. jeden 8. Wert linear durchlaufen, die 17Bit-PWM wird das dank der Abbildung auf die physiologische Gamma-Kurve ebenfalls als lineare Helligkeitsänderung darstellen können und dafür dann ungefähr eine Sekunde brauchen, was üblicherweise als recht angenehm empfunden wird. Schon das konnte man mit einer 8Bit-PWM nicht mehr "stufenlos" realisieren. Richtig interessant wird es aber erst, wenn man die als angenehm empfundene Fadingdauer von etwa einer Sekunde gelegentlich mit einer geringeren (empfundenen!) Endhelligkeit haben will, z.B. der Häfte oder gar nur einem Viertel, weil ich das Licht z.B. nicht deshalb anschalte, weil ich ein Buck lesen will, sondern nur, um den nächtlichen Weg zum Klo ausreichend zu beleuchten... Bist du wenigstens in der Lage, durchzurechnen, was dann das Ergebnis wäre? Dann bekommst du eine Vorstellung, wie Scheiße DAS aussieht mit 8Bit-PWM.
c-hater schrieb: > Bist du wenigstens in der Lage, durchzurechnen, was dann das Ergebnis > wäre? Dann bekommst du eine Vorstellung, wie Scheiße DAS aussieht mit > 8Bit-PWM. Ich nicht, aber mein PC rechnet das für mich. Und ich habe von 10bit PWM geredet. c-hater schrieb: > Marc Vesely schrieb: >> 10 bit (1023 Stufen) ist schon zu viel, 7 bit ist mehr als genug. >> Und ich meine 127 echte 10-bit Werte, da du beim rechnen z.B: >> 26 mal die 1 hast, 14 mal die 2, 11 mal die 3 usw. > > ??? c-hater schrieb: > Die Notwendigkeit für eine höhere Auflöung der PWM resultiert aus dem > Verlauf der Kurve. Die ist nämlich so gestaltet, daß im unteren Bereich > der Helligkeiten die Werte sehr dicht beeinander liegen, so dicht, daß > sie z.B. mit nur acht Bit Auflösung bei Gamma 2,2 bis zum Wert 15 immer > nur Null rauskommt, die Scheiß-LED also einfach mal komplett dunkel > bleibt. Wenn du schon abschreibst, dann versuche mal wenigstens das, was du abschreibst, zu verstehen. Dasselbe, wo dein Fragezeichen steht, wiederholst du weiter unten, nur eben von irgendwo abgeschrieben, ohne es wirklich zu verstehen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.