PWM LED调光线性度怎么做好?

2020-01-12 17:14发布

最近做一个PWM驱动LED呼吸灯电路,使用STC12C5604AD内置的PWM输出,发现在低占空比时,LED的亮度变化非常快,可以说肉眼能非常容易分辨的亮度变化区域在占空比5%~30%之间就完成了,剩下变化阶段亮度变化都不怎么明显。因此最终效果非常不好!
请问这是由于占空比分辨率不够高引起的么?如果改用软件PWM提高分辨率到1000级会不会好一些?我的打算是低占空比段(0~300)放慢速度,其它部分加快以获得比较线性的亮度变化输出
请高人指点
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
94条回答
汪凯露露
1楼-- · 2020-01-22 04:25
billmcu 发表于 2013-9-4 21:39
楼主的思路不对,之所以看起来不线性是因为增长率不线性导致,比如8BIT的PWM 1/255到2/255增长率上一次的一倍 ...

这位童鞋的说法突然让我有些提湖灌顶的顿悟,以前还真没想过这个问题,这种解释很有道理.假设1级是1,下一个是2, 那功率增加两倍,下一个为3, 功率增加1.5倍,下一个为4,功率增加1.33倍,所以如果以每次递增1的方式增加PWM值,那等于是每次的功率增长都比以前少,越低的PWM增长越大,越高的PWM值增长越少,这就造成了递增PWM到后来感觉变化越来越小
hyper320
2楼-- · 2020-01-22 10:02
 精彩回答 2  元偷偷看……
hyper320
3楼-- · 2020-01-22 14:43
对调光来说,段数越多代表变化越线性,让人感觉变化比较柔和,按照功率增长倍数的思路,代表了取第一个PWM值很重要,不能太低,太低了对应下一个功率增长的数值会变大,这就造成了在有限的PWM范围内,段数会减少,理论上第一个值越大越好,但太大了,PWM的范围有限,后面又没空间了,我以PWM256阶为例,起始值设为10,功率增长率为1.1算出最多可得38段的调整值,应该是算不错了,以下是我算的结果,有兴趣的人可以试一试.
10,11,12,13,14,15,16,17,18,19,
21,23,25,27,29,32,35,38,41,45,
49,54,59,65,71,78,85,93,102,112,
132,145,159,175,192,211,232,255
程序可以建表来得出PWM值!!
hyper320
4楼-- · 2020-01-22 18:08
电子爱好者_MCU 发表于 2013-4-12 16:01
LED最有效的控制方式还是 电流源来控制 软件通过PWM控制 属于间接控制 通过修改输出电压来控制流过LED的电 ...

电流调节法会改变led两端的电压,led的 {MOD}温会随电压降低,显 {MOD}指数降低会直接影响显示清晰度,pwm只是光通量降低, {MOD}温不变,显示效果好,只是有频闪问题,眼睛容易疲劳
kcfoo1
5楼-- · 2020-01-22 19:23
学习了,收藏  
wenbo
6楼-- · 2020-01-22 23:27
iamyanh 发表于 2011-12-14 00:20
以前我试过,是对数关系,具体忘了,要一个一个算出来的,比如分10级亮度, PWM有有255级: 10=x.log255, ...

受教了,我之前正在调这个,现在有方向了,谢谢了。

一周热门 更多>