美文网首页
提取调光曲线,映射PWM表

提取调光曲线,映射PWM表

作者: 电子设计_Rick王颖 | 来源:发表于2018-09-22 09:40 被阅读0次

由于模拟电压相对连续的特性,所以对于使用其控制的驱动电路输出也相对平滑。具体体现为pwm调光会存在与pwm频率相同的明暗条纹,而模拟调光可以做到调光无频闪的调光效果

模拟电平调光有几种实现方法:

  1. 直接输入模拟电压。如通过电位器对一个直流电平进行分压调节,产生一个可变的模拟电平,输入ADIM 管脚。
  2. 对 PWM 信号进行 RC 低通滤波,产生一个模拟电压, 输入ADIM 管脚。
  3. 使用DAC,数字电阻等

调光曲线:

analog_dimm.jpg

曲线数据提取:

如上图所示,曲线是非线性的,手工读图误差较大,所以本文介绍了使用MATLAB来分析图像曲线,并导出256级PWM与亮度对应的查找表。

  1. 首先,读入截图(没有截标识),选择红色通道赋值给Y
X = imread('dimm.bmp');
Y=X(:,:,2);
R通道.png
  1. 切除边缘并滤除网格线,这里使用二值法,以128为分界线
for i=1:1:nxmax
    for j=1:1:nymax
        if(Y(j+ymin,i+xmin)>128)
            Z(j,i)=255;
        else
            Z(j,i)=0;
        end
    end
end
滤除网格.png
  1. 中值滤波,找到极左点和极右点,求得中间坐标点
for j=1:1:nymax
    for i=1:1:nxmax
        if(Z(j,i)==0)
            P(nymax-j+1)=i;
            break
        end        
    end
    for i=nxmax:-1:1
        if(Z(j,i)==0)
            P(nymax-j+1)=round((i+P(nymax-j+1))/2);
            break
        end        
    end
end
plot(P,1:1:nymax)
image.png
  1. 横坐标映射为电压值
P=P/nxmax*(Vmax-Vmin)+Vmin;
  1. 纵坐标映射为1~256级PWM值
Vres=(3.3/(11+10.2)*11);  %分压系数由电路决定
for i=1:1:256
    P256(i)=round(P(round(i*nymax/256))/Vres*255);
end
亮度pwm对应曲线.png

至此,只需要传入需要的亮度值即可查到应输出的PWM值。

相关文章

网友评论

      本文标题:提取调光曲线,映射PWM表

      本文链接:https://www.haomeiwen.com/subject/edmtoftx.html