摘 要: 采用单片机PIC18F448作为控制中心,用大功率LED驱动器XLT604驱动多个LED实现照明,并且根据环境温度和光亮信号实时调节PWM脉冲的占空比,通过PWM脉冲动态调整LED的亮度。
关键词: PIC18F448;XLT604; 汽车照明
LED照明与传统卤素低压照明相比具有许多优势:(1)光源比较集中,1 W照明所获得的亮度等同于十几瓦卤素灯的亮度,因此非常节能;(2)LED灯的寿命比卤素灯长,一般可达几万乃至十万小时;(3)LED的结构简单,抗震性能好;(4)无须热启动时间,亮灯响应速度快;(5)工作电压在6~12 V之间。基于这些优势,高亮度LED照明技术日益成为汽车照明的发展趋势,并可以带来很好的性价比。
由于汽车照明系统要求控制简单、节能环保、高效安全等特点[1],因此本系统主要采用大功率LED驱动器XLT604来驱动LED发光,使用8位单片机PIC18F448输出不同占空比的PWM脉冲来动态控制其发光强度,并使用数字温度传感器DS18B20测试系统的温度,同时对系统的发热情况进行实时控制。另外,系统还采用光敏电阻传感器对照明系统的亮度进行自适应调节。
1 系统硬件设计
系统硬件主要包括以单片机为控制中心的LED驱动及调光、亮度检测、温度检测等功能模块,其中亮度检测、温度检测模块比较简单,系统主要设计了LED驱动及调光模块。
1.1 系统整体结构设计
汽车照明系统的主要功能是可根据环境温度和亮度自适应调节LED的亮度。本系统采用PIC18F448单片机作为LED控制中心,利用其中1个10位A/D转换通道接收亮度信号,RB口接收温度检测信号,并根据亮度和温度通过CCP模块输出不同占空比的PWM脉冲至XLT604 LED驱动器的PWM引脚,从而实时调节LED的输出光通量,即调节LED的亮度。系统整体结构图如图1所示。
1.2 LED驱动及调光
在汽车照明系统中,LED驱动电路必须能够从汽车电源总线中获取工作电源。在应用中,为获取所需亮度的照明光源,可采用单个高功率的LED或者多个LED串联、并联或串并混合连接的结构。由于汽车电源总线提供的标称值为12 V,因此系统选用输入电压为7~450 V的大功率LED驱动芯片XLT604。XLT604是采用BICMOS工艺设计的PWM高效LED驱动控制芯片,能以300 kHz的固定频率驱动外部MOSFET,且其频率可由外部电阻编程决定;外部高亮度LED串可采用恒流方式控制,以保持恒定高亮度并增强LED的可靠性,其恒流值可由外部取样电阻决定,其变化范围从几mA~1 A。XLT604驱动的LED可以通过外部控制电压线性调节其亮度,也可通过外部低频PWM方式调节LED串的亮度。在汽车照明系统中,一般只需输出光通量范围在150~800 lm。系统采用Cree公司的XLamp XP-E LED,可达到100 lm/W的发光效率,并且采用3个LED串联的结构[2]。LED驱动及调光电路如图2所示。
1.2.1 LED驱动控制
图2中,XLT604采用DC-DC降压驱动,外部输入电压12 V,LED串电压9 V。当GATE端输出高电平时,电感储能或部分能量直接传给LED串,系统通过限制功率管的电流峰值的方式工作;当功率MOSFET关断时,存储在电感上的能量转换为LED的驱动电流。外部电流采样电阻R2与功率管的源极串联,当R2的电压值超过设定值时,功率管关断[2]。
1.2.2 LED调光
XLT604有线性调节、PWM调节2种调光方式。线性调节可动态控制LED的亮度,但会降低LED的效率,并引起白光LED向黄色光谱的色彩偏移。PWM调节技术的优势明显,当PWM脉冲为有效高电平或低电平时, LED输入电流分别为最大或0,其导通时间受控于PWM引脚输入脉冲的占空比[3]。由于LED始终工作于相同的电流条件下,通过施加1个PWM信号来控制LED亮度的做法,可以在不改变彩色的情况下实现对LED亮度的动态调节,因此本系统采用PWM调光方式。PWM信号由单片机PIC18F448输出的PWM信号至XLT604的PWM端子获得。PIC18F448根据由温度检测模块测得的温度和光敏传感器测得的光通量信号来改变PWM脉冲信号的占空比以调节LED的亮度,从而达到节能的目的。LED灯的亮度与PWM信号的高电平时间长度成正比,通过PWM调节方式可以在0~100%范围调光,但不能调出高于设定值的电流。PWM调光精度仅受限于GATE端输出的最窄脉宽[4]。
1.3 系统主控电路设计
PIC18F448单片机是系统的主控中心,内部包含4个定时器、4个I/O端口、8通道10位A/D转换器、2路PWM脉冲输出、SPI总线接口等,资源比较丰富,能满足系统的设计要求[1]。系统主控电路如图3所示。其中,PIC18F448 的RA端口的AN0引脚接收来自光敏传感器的光亮检测信号,RB4端口接收DS18B20温度检测信号,并且系统根据这2个变量输出不同占空比的PWM脉冲至XLT604驱动器的PWM引脚,从而调节LED的输出光通量。
光通量检测采用光敏电阻实现,在其两端加上5 V的电压,当环境光强发生变化时,光敏电阻的阻值发生变化,引起输出电压在0~5 V之间变化。温度检测采用单总线数字温度传感器DS18B20,具有结构简单、体积小、功耗低、用户可自行设定预警上下限温度等优点,测温范围为-55 ℃~+125 ℃,能很好地满足系统测温的要求。本系统采用单总线方式传输温度信号可以大大节省单片机有限的端口资源,简化了测温网络的网络结构,增强了系统的扩展能力。因为单总线通信具有独特的电源和信号复合功能,仅使用1条口线、每个芯片唯一编码并支持联网寻址等特点。
2 系统软件设计
本系统软件部分比较简单,系统的主程序流程图如图4所示。
系统上电后首先初始化PIC18F448,并读取其光通量的检测信号和温度信号,然后调整输出PWM脉冲的占空比并发送至LXT604的PWM引脚,循环往复,从而达到动态调光的目的。根据光通量和温度信号值动态调整PWM输出脉冲的占空比是系统软件设计中的关键内容。操作PIC18F448内部的寄存器可调整输出PWM脉冲的占空比,其实现步骤如下:(1)初始化CCP1模块控制寄存器CCP1CON的低4位为11XX,并将TRISC.2位清零,使CCP1模块工作在PWM脉冲输出模式下,可输出分辨率达10位的PWN脉冲;(2)写定时器TMR2的8位周期寄存器PR2,设置PWM输出脉冲的周期;(3)写定时器TMR2的控制寄存器T2CON,使能定时器TMR2并初始化TMR2的前分频值;(4)CCP1模块包含2个8位寄存器CCPR1H(高字节)和CCPR1L(低字节),通过写入CCP1CON控制器CCPR1L寄存器的4、5位可得到PWM脉冲的高电平时间,可在任意时刻写入,但仅当定时器TMR2的增量计数值与周期寄存器PR2的值相等时,数据才真正写入到CCPR1H寄存器内部。其中PWM脉冲周期=[(PR2)+1]×4×Tosc×(TMR2前分频值),PWM高电平时间=(CCPR1L:CCP1CON[5:4])×Tosc×(TMR2前分频值),PWM输出占空比=(CCPR1L:CCP1CON[5:4])/(PR2+1)×4。
本系统采用以单片机为控制中心及大功率LED照明的设计方案,具有很好的灵活性和扩展性。利用光敏传感器和温度传感器分别测得周围环境的光强和温度,并根据这些信息实现动态调整LED亮度,能很好地节约能源。将该照明系统作为汽车尾灯照明,由于LED亮灯快,能及时让尾随后面的汽车司机知道前方车辆的行使状况,减少汽车追尾碰撞事故的发生。高亮度LED已广泛应用于汽车照明系统中。
参考文献
[1] 刘和平.PIC18FXXX单片机原理及接口程序设计[M].北京:北京航空航天大学出版社,2004.
[2] 许萍.集成功率级LED与恒流源电路一体化设计[J]. 半导体技术,2006(1):59-61.
[3] 马芝.LED驱动控制专用电路解析[J].中国集成电路,2005(7):51-54.
[4] 马彪.多位LED串行显示电路设计与应用[J].电子工程师,2006(2):47-52.