als je leds gaat PWM'en met een 8-bitsresolutie dan kan je het verschil tussen 0 - 10 onderling heel goed zien.
de hoeveelheid licht die je produceert is keurig linear, dat je ogen/hersenen het anders zien heeft niets met de karaktistiek van de leds te maken.
Het grootste "probleem" is het feit dat ons gezichtsvermogen, net als ons gehoor, niet lineair werkt.
Met een DC van 250 dan zal hij bijna aan zijn.
met een DC van 10 zal hij heel zwak zijn. Echter bij een DC van 11 zal hij een STUK feller zij. Ten opzichte van 250-251. Dit kan wel tot ongeveer 2x zoveel zijn.
Ook zal je merken dat in de range 0-25 ongeveer er gewoon geen licht is. tussen 25-75 zal hij aan gaan tot bijna helemaal aan. Daarna 75-255 is er nog maar amper verschil.
Ik herken dit wel, ik gebruik zelf 256 stappen en in het begin zie je duidelijk verschil, later veel minder.
Wat de oorzaak is vind ik minder belangrijk, dus of dat nu het niet-lineaire gedrag van de LED of mijn ogen is maakt niet uit voor de oplossing.
Ik heb ook al zitten nadenken over een meer logaritmisch verband, maar ik zit met het feit dat ik in 1 cyclus de ene led omhoog laat gaan en de andere omlaag. Moet ik nog even uitpuzzelen dus.
International Rectifier en Microchip, in samenwerking, hebben dit fenomeen al lang uitgepuzzeld (links verwijzen naar de respectievelijke datasheets, IRPLDIM2E en AN809):
Het menselijk oog is inderdaad niet lineair gevoelig voor lineaire lichtintensiteitsveranderingen.
De samenwerking tussen IRF en Microchip was er voor de ontwikkeling van een Dali ECG (dimbare EVSA met DALI-protocol) op basis van de IR2159 dimming ballast controller en de PIC 16F628 als microcontroller.
In de code van de 16F628 is een 256 byte (8 bit) lookup-table voorzien die de +/- (anti)logaritmische gevoeligheid van het menselijk oog compenseert naar een lineaire waarneming.
Ik heb bovenstaande grafiek (in 2002, toen ik volop bezig was zelf een dimbare EVSA voor TL-buizen en een schakelklok met PIC 16F876 aan het ontwikkelen) via een Excel formule proberen te benaderen.
Dit is zeer redelijk gelukt: link naar Excel sheet
Vanuit deze gegevens heb ik dan de lookup table opgesteld.
De grafiek in de Excel sheet toont de resulterende waarde voor een lineair oplopende teller (PWM counter) en de PWM-uitgang (CCP) van de PIC (waaruit dan de 1-10V voor een 1-10V dimbare EVSA gedistilleerd wordt).
Of het nu LEDs, TL-buizen of gloeilampen betreft, lineaire regeling van de lichtsterkte wordt niet lineair waargenomen door het menselijk oog.
Ik ben volledig akkoord met NaaDje dat 8-bits resolutie te weinig is voor een mooie regeling in het laagste bereik (0-10%), ik ben daarom al enige tijd aan het testen met 10 bits-resolutie (1024 stappen).
Nadeel: lookup table is 1kb groot... (zie je het al aankomen op een PIC? - hint: 256 byte memory banks )
BTW: Hint naar CO-leden die met dimbare EVSA's knutselen:
Een dimbaar EVSA reageert lineair op de toegevoerde dimspanning (1-10V) en dus NIET lineair op de waargenomen lichtintensiteit, dus zelfde probleem als hierboven!