LED调光曲线怎么样才能出光不抖

2019-12-09 13:34发布

本帖最后由 lazybonesyang 于 2015-11-11 09:45 编辑

MCU STM8S105
LED调光方式 PWM
位数 16Bit
用指数曲线,出光的时候,特别是亮度高的时候,变化不够顺滑,感觉有点跳。
如果单用一个固定斜线出光应该也是不满足的。
想问下怎么样才可以让LED的光过渡顺滑。
8Bit PWM如果也可以就更佳。

帖上调光数据,比值是1.03493
16bit PWM调光数据
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
36
37
38
39
41
42
44
45
47
49
50
52
54
56
58
60
62
64
66
68
71
73
76
78
81
84
87
90
93
96
100
103
107
111
114
118
123
127
131
136
141
146
151
156
161
167
173
179
185
192
198
205
212
220
227
235
244
252
261
270
279
289
299
310
321
332
343
355
368
381
394
408
422
437
452
468
484
501
518
537
555
575
595
616
637
659
682
706
731
756
783
810
838
868
898
929
962
995
1030
1066
1104
1142
1182
1223
1266
1310
1356
1403
1452
1503
1556
1610
1666
1724
1785
1847
1911
1978
2047
2119
2193
2269
2349
2431
2516
2603
2694
2788
2886
2987
3091
3199
3311
3426
3546
3670
3798
3931
4068
4210
4357
4509
4667
4830
4999
5173
5354
5541
5735
5935
6142
6357
6579
6809
7046
7293
7547
7811
8084
8366
8658
8961
9274
9598
9933
10280
10639
11011
11395
11793
12205
12631
13073
13529
14002
14491
14997
15521
16063
16624
17205
17806
18428
19071
19738
20427
21141
21879
22643
23434
24253
25100
25977
26884
27823
28795
29801
30842
31919
33034
34188
35382
36618
37897
39221
40591
42009
43476
44994
46566
48193
49876
51618
53421
55287
57218
59217
61286
63426
65642
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
32条回答
myqiang1990
1楼-- · 2019-12-09 17:44
本帖最后由 myqiang1990 于 2015-11-11 10:20 编辑

插补,然后控制插补周期~~光有曲线还不行,还得配合调光算法~~
litiang
2楼-- · 2019-12-09 23:30
怎么样插补
lazybonesyang
3楼-- · 2019-12-10 03:49
myqiang1990 发表于 2015-11-11 10:18
插补,然后控制插补周期~~光有曲线还不行,还得配合调光算法~~

应该是中间选择些点,然后通过算法连接起来。但这些点怎么确定 呢?
gmyu
4楼-- · 2019-12-10 08:38
 精彩回答 2  元偷偷看……
myqiang1990
5楼-- · 2019-12-10 14:23
本帖最后由 myqiang1990 于 2015-12-30 23:14 编辑
lazybonesyang 发表于 2015-12-30 14:10
应该是中间选择些点,然后通过算法连接起来。但这些点怎么确定 呢?


你上面不是算出一些调光曲线的数据点了吗?吧这些点装在一个表里,然后根据实际调光指令查询需要调到的亮度(对应表里的PWM值),然后控制亮度从表中0开始按照+1+1+1的方式从曲线表中取值,控制+1+1+1的速度,就可以了~其实你还可以用PID算法来调光~~原理类似的~就是插补~然后控制插补的速度~为什么要插补呢?因为如果亮度值一下子阶跃的话,调出来的光是闪动的!这个不行~得柔和线性的变化,为什么要控制插补周期呢?因为如果不控制插补周期(就是+1+1+1的速度),那么调光会严重会滞后与调光指令~~不能及时响应亮度的变化~
插补周期的原则就是:与当前亮度跟设定亮度的差值成反比(频率成正比)。(是不是有点像PID算法呢?)
lazybonesyang
6楼-- · 2019-12-10 19:20
myqiang1990 发表于 2015-12-30 19:19
你上面不是算出一些调光曲线的数据点了吗?吧这些点装在一个表里,然后根据实际调光指令查询需要调到的亮 ...

插快了会感觉跳,插慢了又滞后。大神,谢谢你。

一周热门 更多>