摘要:针对三基色LED(Light Emitting Diode)驱动成本高、电路设计复杂的问题,设计了一款用于三基色大功率LED驱动控制方案。设计并制作电路驱动LED模型装置,通过单片机产生三路PWM(Pulse Width Modulation)波来控制MOSFET,从而分别控制三路LED,这样只需要一个DC/DC(Direct Current/Direct Current)驱动器,就能实现三路LED的调节,而且通过特定算法将上位机传送的标准Yxz值(遵循标准ZLL,ZigBee Light Link协议)转化为RGB(Red Green Blue)值。根据实验测得,三路LED调节反应迅速,显色效果优秀。
三基色混色需要几个条件,一是分别发出红、绿、蓝三种颜色的LED光源;二是三种光源能够分别独立控制;三是拥有混色比例的算法。现代LED制造工艺的发展,分别发出单色光的LED不是难题,如何单独控制每路LED也很好实现,只是控制效果和体积成本等方面的差别。由于人们对品质的追求,驱动控制方案层出不穷,提出了通过独立控制PWM来
驱动三路大功率LED的方案,来实现三基色的混色。在Buck(降压电路)的基础上,利用恒流控制芯片的特性,将开关管与LED串并联,实现对LED串的控制。LED控制部分拓扑结构仅需要几个简单的三极管及MOSFET等元件,即可以达到控制要求。
1 系统方案设计
为实现LED的三基色混色,选择PWM调光方式,系统共包括两大部分,一是驱动电源的设计,包括AC/DC(Alternating Current/Direct Current)驱动电源和DC/DC驱动电源及LED调节控制,该部分实现系统供电及LED的驱动;二是系统软件的设计,其中包括三基色转换算法,该部分完成上位机与单片机的通讯及单片机对LED的控制。
1.1 AC/DC驱动电源
驱动电源输入端采用交流宽电压范围为85~265VAC/50 Hz,输出端为两路恒定电压VOUT1和VOUT2,VOUT1为40 V/300 mA,VOUT2为5 V/100 mA,电路原理如图1。
工作原理:接通电源后,交流电压经过整流桥后输出正弦半波直流脉动电压,通过R5、R6给芯片VCC脚一个启动电压,芯片开始工作。芯片正常工作时,由变压器T2的辅助绕组供电,芯片GD脚输出PWM波控制开关Q1的通断。直流输出电压VOUT1作为主反馈,经PC817输入芯片的INV脚,作为乘法器的输入。同时整流桥后端电压经电阻R1、R2、R3与R4分压后,在芯片MULT脚得到正弦半波信号,作为乘法器的另一输入端。乘法器输出得到正弦半波参考电压,当Q1导通时,原边绕组电流增大,经电阻R18在芯片CS脚产生电压与正弦参考电压作比较,当CS电压达到正弦幅值时,Q1截止。当Q1截止时,原边绕组电感极性反转,辅助绕组极性为正电位,经电阻R7在ZCD脚产生电压,以检测低压点(0.7 V),达到此值,芯片GD脚输出高电平,使Q1导通,实现准谐振。
1.2 DC/DC驱动电源及LED调节控制电路
ZXLD1362是一个连续模式降压型LED驱动器,内置MOSFET,可驱动最大1A电流,具有电流检测功能,可实现恒流。DC/DC驱动电源电路原理图如图2,当电源启动时,由于电感L2的存在,电流会缓慢变大,芯片SET脚检测电压值达到0.1 V时,关断内部MOSFET,此时电感极性反转,电流回路通过肖特基二极管D20续流,电流开始下降,当SET脚电压下降至0.01V时,内部MOSFET开通,这样周而复始循环。每个LED的通过电流都是恒定的300 mA,当由PWM信号控制LFD旁路MOSFET的通断时,就形成LED的通过,3种色彩LED的不同通断组合,就可以混合出各种色彩及亮度。
LED调节电路包括3套完全相同的控制电路,每套电路都包含3个三极管和一个功率MOSFET管,根据图2中PWM1对应的一套电路来分析。三极管Q1接收到PWM1信号,当其为高电平时,Q1截止,射极连接到三极管Q2、Q3的基极,且为高电平,Q2导通,Q3截止,输出到功率MOSFET管Q4管栅极电平为高,Q4管导通,将对应的LED串短路;当PWM1信号为低电平时,Q1导通,射极连接到Q2、Q3的基极,且为低电平,Q2截止,Q3导通,输出到Q4栅极电平为低,Q4截止,对应的LED串正常导通。三极管Q1、Q2为NPN管,三极管Q3为PNP管,MOSFET管Q4为NMOS管。
2 软件设计
2.1 软件架构
软件系统主要包括两部分,一为串口接收命令及对命令的解析;二为根据三基色配比,改变TMRx中的值,从而产生不同占空比的PWM。首先自定义数据通信协议,通信中的数据采用数据包的形式发送与接收,一个数据包称为一帧数据。一帧数据由以下几个部分组成:帧头、地址信息、数据类型、数据长度、数据块、校验码、帧尾。帧头和帧尾用于数据包完整性的判别,帧头定义为0xAA885E,帧尾定义为0x0D。地址信息主要用于多机通信中,通过地址信息的不同来识别不同的通信终端,统一定义为0x00,这里定义作为预留。数据类型、数据长度和数据块是主要的数据部分,数据类型可以标识后面紧接着的命令还是数据,数据长度用于指示有效数据的个数。校验码则用来检验数据的完整性和正确性,由对数据段作累加和得到。系统上电,软件初始化后,处于等待中断状态,当上位机通过串口发送指令,单片机解析指令,通过RB5、RB3、RB0输出不同的PWM信号。
软件系统框图如图3。系统上电后,程序首先进行初始化,接着打开系统开关状态的监听,一旦接收到关机命令,即输出关机,结束系统运行。程序接下来执行异常状态的侦测,包括数据是否完全初始化成功、状态变量的赋值、死循环等,侦测到异常状态,则做自我修复,否则重新进行初始化。接着打开命令接收监听,对接收到的命令进行解析,如果是控制LED命令则进入中断,使能PWM输出相应数据,而后恢复中断,继续监听下一个状态量的到来。进入中断服务程序后,首先检测相应中断标志位,有中断标志置位,则清除相应中断标志位,输出PWM产生信号,否则继续监听中断状态。
2.2 色度转换算法
在色谱的表色方法中,CIE1931Yxy表色法是最常用的,在Yxy色度图中,x色度坐标相当于红原色的比例,y色度坐标相当于绿原色的比例,Y表示颜色亮度特征的亮度因数。
笔者通过单片机接收上位机发来的串口数据,便是x、y值,再通过ZLL协议的算法来对x、y值进行转换,来获得R’、G’、B’值,从而得到调节三路PWM的值。变换过程如图4。
2.2.1 xyY转化为XYZ
根据CIEl931表色法的定义得到
2.2.2 XYZ转化为RGB
光源通常都是不确定变化的数值,但是当提供标准的比色法数值时,有助于分析各种光源。不同的标准光源满足不同的应用场合,根据CIE1931的规定,几种标准光源的数值如表3。
如果XYZ与RGB是相同的光源,则不需做任何变换;如果XYZ与RGB不是相同的光源,则需要布拉德福德矩阵来进行变换,变换公式如下。
该矩阵是三基色所限定的空间中执行得到,表示在XYZ坐标中,而相对于纯白色这一特殊情况时,可以更加精确地得到红、绿、蓝的值,其特征与已知的XYZ坐标相对应。X’、y’、Z’与RGB之间的转换公式如下
2.2.3 RGB转化为R’G’B’
人眼对外界光源的感光值与输入光强不是呈线性关系的,而是呈指数型关系。在低照度下,人眼更容易分辨出亮度的变化,随着照度的增加,人眼不易分辨出亮度的变化。不过,这可以通过gamma校正来解决,所谓gamma校正是对输入图像灰度值进行的非线性操作,使输出图像灰度值与输入图像灰度值呈指数关系:
Vout=AViny (5)
Vout、Vin指输入输出,A是变换系数,y是gamma校正系数。
RGB与R’G’B’的转换公式如下
3 实验结果及分析
实验测得单片机输出PWM波及对应的LED电流波形如图5所示,从图中可以看出,PWM的频率为404.8 kHz,占空比可以调节,经测试,输出频率范围为50 Hz到500 kHz之间,占空比可调节范围为0.05到1之间,输出电压大约为3.3 V,足以驱动MOSFET。输出电流峰值大约在300 mA左右,以400 kHz的频率调节电流输出,占空比为0.5。将PWM输出电压波形取反,以便观察,从图中可以看出,当其为高电平时,对应的LED电流大约为300mA,而且纹波很小,大约为3%;当其为低电平时,对应的LED电流大约为-50 mA,这是由电路续流产生的,对LED的工作没有影响。电流的轮换速率达到微秒级,具有很小的上升与下降时间,而且随着PWM的电压变化,电流也实时地变化,完全可以自由控制导通时间及占空比。每一路的通断都是由相同频率的PWM控制的,在调配各个LED灯串的导通时间比例时,很有优势,实际测试下来与图5中的结果完全一致。
4 结论
本文通过对三基色LED驱动电源及色彩转换算法的研究,设计了一套驱动电路系统控制方案,通过巧妙的设计,仅使用几个简单的三极管、MOSFET管等元件来实现LED的控制。实验表明,PWM信号可以很好地控制LED电流,电流响应速率达到微秒级,而且具有较大的功率。该控制方案的实现较为简单,而且成本低、功率大,为三基色混色的智能控制提供了有效的解决方案。