Tolygus LED apšvietimo valdymas naudojant PWM

Šiais laikais plačiai paplito šviesos diodų apšvietimas. Šviesos diodai be savo taupumo turi dar vieną puikią savybę: jų šviesos ryškumą galima nesunkiai valdyti. Lengviausiai tas ryškumas keičiamas naudojant PWM technologiją – Pulse Width Modulation. Naudojant PWM apšvietimo ryškumas keičiamas ne tolygiai, o mažais žingsneliais. Rašydamas šį straipsnelį aš laikysiu kad skaitytojas žino kas yra PWM valdymas, Duty Cycle, PWM rezoliucija ir panašiai. Integruotus PWM modulius turi  mikrokontroleriai, specializuoti LED apšvietimo valdikliai. PWM moduliai skiriasi savo rezoliucija: plačiai paplitę 8, 10 ir 12 bitų moduliai. Rezoliucija rodo, kiek laiko tarpelių (žingsnelių) turime apšvietimo reguliavimui. Žingsnelių skaičius atrandamas pagal formulę: Steps=2Bits. Taigi aštuonių bitų modulis turi 28=256 žingsnelius, 10 bitų – 1024 ir 12 bitų – 4096. Kuo daugiau žingsnelių, tuo tolygesnis šviesos ryškumo keitimas yra galimas. Šviesos diodo valdymas PWM pagalba atrodo paprastas: jei norim 50% diodų ryškumo, reikia Duty Cycle irgi padaryti 50% ir viskas. Tokiu atveju ryškumas būtų keičiamas tiesiškai. Ir tai yra gerai, jei apšvietimui nekeliam didelių reikalavimų, pvz.: kokiam LCD ekranėlio ryškumo reguliavimui ir panašiai. Bet jeigu mes norime kad šviesos ryškumas didėtų ar mažėtų tikrai tolygiai, tiesiškas reguliavimas netiks. Keičiant šviesos ryškumą nuo 0% iki 100% mums atrodys kad vienoje vietoje ryškumas kinta labai greitai, o kitoje beveik nesikeičia. Taip yra todėl, kad žmogaus akis šviesos ryškumą mato ne tolygiai, o daugmaž pagal eksponentinę kreivę. Tai galime pamatyti šiame grafike:

physical luminance vs perceived brightness graph

Čia abscisių ašis yra fizinis apšviestumas (physical luminance), ordinačių ašis yra suvokiamas šviesumas (perceived brightness). Ką reiškia šitie parametrai? Physical luminance tai yra ryškumas kurį realiai duoda šviesos diodas. Pavyzdžiui jei naudojant PWM diodas bus 50% laiko įjungtas ir  50% laiko išjungtas, tai  physical luminance parametras bus lygus 50%. Perceived brightness tai yra toks ryškumas, kurį mato mūsų akis. Pavyzdžiui, pagal eksponentinę kreivę iš grafiko (mėlyna) matome: jei physical luminance parametras yra 2050 – apie 50%, tai mūsų akiai atrodys kad šviesos šaltinis šviečia jau net 92% viso savo ryškumo. Pradžioje kreivė labai lėtai kyla į viršų o tai reiškia kad mūsų akis esant mažam apšvietimo ryškumui pastebi ir mažiausią jo pasikeitimą. O kai ryškumas didelis, akis fiksuoja tik mažą pasikeitimą net jei ryškumas iš tikro keičiasi smarkiai.

Dabar paimkime konkretų pavyzdį.

Tarkime, mes norime keisti šviesos diodo ryškumą nuo 0% iki 100% (perceived brightness), tai yra nuo visiškai išjungto iki pilnos galios. Šviesos diodas valdomas per prietaisą, kuris turi integruotą PWM modulį. Jo rezoliucija yra 12 bitų, taigi turime 212=4096 žingsnelius nuo 0 iki 4095 (physical luminance). Mums reikia paskaičiuoti po kiek žingsnelių diodas turi būti įjungtas prie kiekvienos diodo perceived brightness reikšmės nuo 0% iki 100%. Formulė yra tokia:

LED brightness calculation formula

Skaičiavimus patogiausia atlikti Excel programa pasirašant reikalingą formulę.

Šioje lentelėje yra paskaičiuoti apšvietimo ryškumo parametrai pagal aukščiau pateiktą pavyzdį.

Perceived brightness in % Physical luminance Physical luminance, corrected
0 0 0
1 0 1
2 0 2
3 0 3
4 0 4
5 1 5
6 1 6
7 1 7
8 1 8
9 1 9
10 1 10
11 1 11
12 2 12
13 2 13
14 2 14
15 2 15
16 3 16
17 3 17
18 3 18
19 4 19
20 4 20
21 5 21
22 5 22
23 6 24
24 6 26
25 7 28
26 8 30
27 8 32
28 9 34
29 10 36
30 11 38
31 12 40
32 13 42
33 15 44
34 16 46
35 17 48
36 19 51
37 21 54
38 23 57
39 25 60
40 27 63
41 29 66
42 32 70
43 35 74
44 38 78
45 41 82
46 45 87
47 49 92
48 53 97
49 58 103
50 63 109
51 69 115
52 75 122
53 81 129
54 88 137
55 96 146
56 104 155
57 114 165
58 124 176
59 134 188
60 146 200
61 159 213
62 173 228
63 188 244
64 204 261
65 222 279
66 241 299
67 262 320
68 285 343
69 310 368
70 337 395
71 366 425
72 398 457
73 433 492
74 470 530
75 511 571
76 555 615
77 604 663
78 656 715
79 713 772
80 775 833
81 842 900
82 916 972
83 995 1051
84 1081 1136
85 1175 1229
86 1277 1330
87 1388 1439
88 1509 1558
89 1640 1687
90 1782 1827
91 1937 1979
92 2105 2144
93 2287 2323
94 2486 2518
95 2701 2729
96 2936 2959
97 3191 3209
98 3467 3480
99 3768 3775
100 4095 4095

Čia vėl iškyla viena problema: matom kad Physical luminance stulpelio pradinės reikšmės, paskaičiuotos pagal formulę, yra 0,0,0,0,0,1,1,1,1,1,1,1… .Jas reikia pakoreguoti, kad nebūtų vienodos ir pradžioje keistųsi bent po vienetą.  Pakoreguotos reikšmės yra Physical luminance, corrected stulpelyje. Mėlyna kreivė grafike yra nepakoreguota, o raudona – su korekcija.

Kam įdomu tas gali parsisiųsti Excel failą su visomis formulėmis iš čia.

Leave a Reply

Your email address will not be published. Required fields are marked *