本帖最后由 pigluffy 于 2022-7-12 23:16 编辑
在使用MCU调整LED灯盘调光功能容易遇到调光不顺的问题,普遍遇到的现象如下:
1. 低亮度渐层感明显。
2. 高亮度区分不明显。
常使用的解决方法是:
1. 最低到最亮调光时间拉长(如:8秒)。
2. 低亮度区间一阶一阶调,高亮度区间两阶两阶调甚至更多阶。
此方式可解决大部分客人的需求,如遇到调光时间不可太长(如:3秒)或要有呼吸灯效果,这就要使用建table表的方式,通常都要花比较多的心力去处理table表,因此萌生了excel自动生成PWM duty table 表的念头。
自动生成table表会有一个依据,此依据就是使用仪器量测LED的0%~100%的亮度,在讲量测之前先需要了解人眼对亮度的一些背景知识,人眼对亮度的敏感度肯定是非线性的,究竟怎样的非线性曲线才符合人眼对亮度的敏感度,这时候就要网路查找资料,
经过一番拜读之后可以知道人眼对暗的光线比较敏感,对亮的光线比较不敏感,可用gamma 0.4545(0.4545 => 1/2.2)来表示人眼对亮度的敏感度,如下图所示:
人眼敏感度gamma 0.4545曲线
知道人眼对光线敏感度曲线之后,可以明白若要人眼看得柔和且自然要让非线性的曲线变成线性,如下图所示: 人眼敏感度线性gamma 1曲线
那LED灯盘怎么让人眼看得线性呢,只需要校正出一个相反曲线即可变成线性,因此LED灯盘需校正出一个相反曲线gamma 2.2,在这记住gamma 2.2曲线为LED灯盘最终校正后所依据的曲线,gamma 2.2曲线如下图所示: LED表现gamma 2.2曲线
有了基础背景知识后,再回到仪器量测的步骤,仪器量测的最终目的是为了得到LED灯盘的特性曲线,可以是EV、LUX等等,在这使用手机的LUX Light Metter FREE app做量测仪器,如下图所示: LUX Light Meter
在量测亮度0%~100%的LUX之后可以得到灯盘的特性曲线,最终目的就是将灯盘的特性曲线校正成gamma 2.2的曲线,如下图所示: LED 0%~100% LUX曲线图 LED 0%~100% LUX曲线校正成gamma 2.2曲线
但是灯盘的特性曲线没办法直接转成gamma 2.2的曲线,还需要将特性曲线的公式找出来,再利用公式产生出的特性曲线转成gamma 2.2的曲线,如下图所示: 增加LED 0%~100% LUX多项式公式曲线
自动生成表输入区
当以上条件都达成时就可使用excel自动生成想要的table表,如下所示: PWM duty LUT(look up table)
结论:
照调光实测的结果表现出来的确有呼吸灯的效果,不过仔细看此版本的table表还是可发现还没很平滑,使table能更平滑化为以后着重的课题。
此excel表请使用最新的WPS或office执行,有遇过旧版本的WPS跑起来有问题。
后记:
原本一开始使用Science Journal 科学日志app做量测工具,本想同时记录蜂鸣器声音与EV值,Bz一声升1%亮度,借此达到自动量测灯盘曲线之目的,但因量测环境背景声多杂,且须MCU写程式搭配使用,因此最后不予采用。
感谢同事黄大仙提供灯盘相关背景知识,感谢威尔森同事提出手动填入灯盘特性曲线比较单纯之提议。
References: [1] http://hk.uwenku.com/question/p-qolurkza-bny.html [2] https://hackmd.io/@Sai/VypKoOBw?type=view [3] https://www.amobbs.com/thread-5611003-1-1.html [4] https://learn.adafruit.com/led-tricks-gamma-correction
|
因内容过久无法再编辑,内容重新放在12楼
更新到第10版,档案在九楼