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

2020-01-12 17:14发布

最近做一个PWM驱动LED呼吸灯电路,使用STC12C5604AD内置的PWM输出,发现在低占空比时,LED的亮度变化非常快,可以说肉眼能非常容易分辨的亮度变化区域在占空比5%~30%之间就完成了,剩下变化阶段亮度变化都不怎么明显。因此最终效果非常不好!
请问这是由于占空比分辨率不够高引起的么?如果改用软件PWM提高分辨率到1000级会不会好一些?我的打算是低占空比段(0~300)放慢速度,其它部分加快以获得比较线性的亮度变化输出
请高人指点
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
94条回答
bigeblis
1楼-- · 2020-01-13 20:48
我感觉还是要用多级数的PWM输出,看了下商品PWM LED调光IC多为4096级的PWM输出,而单片机内置的硬件PWM才256级,分辨率差太多了。。
明天改用定时器+12bit软件计数器的方式做软件PWM输出试试看
bigeblis
2楼-- · 2020-01-14 00:45
回复【6楼】iamyanh  
以前我试过,是对数关系,具体忘了,要一个一个算出来的,比如分10级亮度, pwm有有255级: 10=x.log255,算出这个x,然后9,8,7.....2,1反过来应用公式算出对应的pwm值
-----------------------------------------------------------------------

请问这个X是指期望的亮度级别么?
bigeblis
3楼-- · 2020-01-14 03:25
明白了,X是个常量!
iamyanh
4楼-- · 2020-01-14 03:45
 精彩回答 2  元偷偷看……
Pony279
5楼-- · 2020-01-14 09:18
对数关系?
那就占空比每次乘 2 咯?
Pony279
6楼-- · 2020-01-14 11:25
好像上看过一篇文章
说人的感官天生就是一个对数运算器
感受到的强度就是功率取对数以后的值

一周热门 更多>