如何在LED恒流驱动器加入PWM调节控制

出处:fly666 发布于:2011-08-03 22:43:56

  引言

  Maxim Integrated Products(美信电子)为很多应用领域提供PWM (脉宽调制)亮度调节LED (发光二极管)驱动器。典型应用中,通过串口向LED驱动器发送指令改变相应LED的寄存器值进行亮度调节。用于亮度控制的数据通常为4位至8位,对应于16至256个亮度等级;有些Maxim的LED驱动器的亮度控制则通过调整漏极开路LED端口的恒定吸入电流大小来实现。

  该应用笔记讨论如何在LED恒流驱动器上加入PWM亮度调节,通过控制LED电源的通、断调节亮度。也可以通过刷新数据位仿真外部PWM亮度控制。内置PWM的LED驱动器也可以通过外部PWM实现亮度调节,只要PWM信号的外部时钟可以同步。

  PWM仿真

  按照一定周期向LED驱动器发送开/关控制信号,可以仿真PWM亮度调节的效果。因为LED数据接口的传输速率远远高于PWM信号的频率,可以使用微控制器或FPGA (现场可编程门阵列)很容易地仿真PWM调光方式。PWM开关频率、数据传输的时钟频率和PWM亮度等级之间的关系如式1所示:

式1.

 

   其中,fCLOCK为数据接口的时钟频率,fPWM为PWM频率,nPORT为控制端口数,nLEVEL为亮度等级。

  在该项技术中,PWM仿真数据由控制器连续发送到LED的每个端口,每个端口1位。所有端口更新即为PWM的一个台阶。从索引值1开始重复仿真PWM台阶,直至索引值等于设定的亮度等级,形成一个PWM周期。例如,如果亮度等级为256,每个端口刷新数据256次构成一个PWM周期。如果对应端口的亮度等级高于PWM仿真台阶的索引值,数据为1;否则数据为零。只要LED保持点亮状态,则始终重复PWM仿真周期。欢迎转载,本文来自电子发烧友网(www.elecfans.com)

  该PWM仿真控制可以由下列C程序实现:

  int INTENS[8] = {200, 100, 50, 25, 12, 6, 3, 1};

  bool LEDON = true, DATA[8];

  while (LEDON) {

  for {int i=0, i<256, i++} {

  for {int j=0, j<8, j++} {

  if INTENS[j]>i

  DATA[j]=1;

  else

  DATA[j]=0;

  }

  Send(DATA);

  }

  }

  PWM仿真技术适用于MAX6968和MAX6969。MAX6968为8端口LED恒流驱动器,数据接口传输速率可达25Mbps;MAX6969是MAX6968的16端口版本。利用这一方法可以实现16位或65,536级亮度控制,MAX6968的PWM频率可以设置在47Hz,MAX6969的PWM频率可以设置在24Hz。如果只要求12位的亮度控制分辨率,对应的PWM频率可以分别设置在752Hz和376Hz。PWM仿真技术无需对电路进行任何修改即可实现每个驱动口的亮度控制。

  LED电源的开关控制

  通过对LED电源进行开、关控制也可以实现LED的PWM亮度调节。图1所示电路利用PWM控制电源为LED提供额外的亮度调节。微处理器通过I?C总线向LED驱动器发送命令,来产生可由软件控制的PWM波。这种方式适合MAX6969,MAX6956等芯片,这些芯片要么没有内部亮度调节或者恒流调节功能。以MAX6956为例,不需要其他电路,仅仅需要恒流驱动与PWM占空比调节相结合。

 采用PWM控制LED电源实现亮度调节 www.elecfans.com

 

  图1. 采用PWM控制LED电源实现亮度调节

  图2所示电路采用MOSFET晶体管作为开关器件,有助于提高效率。

功率MOSFET作为开关器件 www.elecfans.com

 

  图2. 功率MOSFET作为开关器件

  利用下式计算外部晶体管的功耗:

式2.
 

  其中,tRISE为晶体管的上升时间,tFALL为晶体管的下降时间,T为PWM周期,tON/T为PWM亮度等级,I为LED总电流,RON为晶体管的导通电阻。

  式2给出了晶体管开关损耗与导通损耗之和,开关损耗由开/关时间决定。当晶体管闭合或断开时,在晶体管两端电压从零上升到VLED的过程中,或者是在反方向变化时,几乎所有电流流过晶体管。

  使用高速开关晶体管时,上升时间和下降时间通常为50ns。对于周期(T)为1/1000秒的PWM、LED电压(VLED)为5.5V、LED总驱动电流为200mA时,晶体管总功耗为:

式3.

  若晶体管导通电阻为0.1Ω,则晶体管在亮度时的导通功耗为:

式4.

  从式4可以看到,合理选择高速开关晶体管,能够将损耗降至。

  主控与各端口的分层控制

  有些LED驱动器的PWM亮度控制可以通过主控与各端口之间的分层控制实现。例如,MAX6964、MAX7313等芯片。如图3所示,各端口的PWM亮度控制波形重复多次。每重复相当于主机控制。由此,如果主机控制15级亮度调节,则控制波形重复15次。LED驱动器各端口的控制信号决定了波形的占空比。主控信号决定控制波形的重复次数。比如:某个端口的占空比为3/16,主控设置为4/15。波形的导通时间占整个周期的3/16,波形在全部15个时隙的前4个时隙重复。

主控和各端口的PWM亮度分层控制 www.elecfans.com

 

  图3. 主控和各端口的PWM亮度分层控制

  但是MAX6964也不是的,一个MAX6964的主控信号不能与另一MAX6964的端口信号相组合,也就是说不能将2块MAX6964芯片级联,以扩展其功能。这是因为,如果要级联,就需要实现时钟同步多,而这一点做不到;每个端口的PWM控制导通时间不能与主控制器亮度调节信号的通/断时间窗口保持一致。如果时钟信号的边沿无法对齐则无法同步控制亮度,LED会变暗。由于时钟之间的相位偏差,也会导致LED周期性地闪烁(通、断)。

  分层PWM亮度调节方案可以通过LED驱动器避免闪烁问题,适用于MAX7302等具有时钟同步机制和较宽的时钟频率范围的器件。图4给出了利用两片MAX7302和开关晶体管实现PWM亮度分层控制的典型电路。

利用两片MAX7302实现PWM亮度分层控制 www.elecfans.com

 

  图4. 利用两片MAX7302实现PWM亮度分层控制

  其中一片MAX7302的输出端口连接在LED的阴极,每路输出端口作为一个独立的亮度控制端口。另一片MAX7302的输出通过外部晶体管连接在LED的阳极,这一MAX7302作为亮度主控制器。每个端口的亮度控制由外部1MHz高频时钟驱动,这是MAX7302工作时钟的上限。例如,将一个端口的亮度等级设置为15/33时,P2亮度控制端口输出作为主控制器的时钟输入。得到的主控制器等效时钟频率约为1000000/33 = 30kHz。该应用实例中,每个亮度控制端口可以用于调节RGB LED的颜色,而主控制器用来调节亮度。


  

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!