在很多项目中,我们往往会碰到一些背光灯或者指示灯的设计,比如LCD的背光灯,按键的背光灯指示灯等。我们一般会采用常用的LED来作为这些背光灯或指示灯。在设计LED的时候往往会有一些个值得注意的地方。在这里简单介绍一下LED的一些基本设计方法。 一般的LED都会有如下的特性,LED有恒定的压降,白光灯可能有3V左右的压降,而其他颜色的灯也会有2V左右的压降。而一般的LED大概能承受的电流也不过30MA,改变LED电流的大小则LED的亮度会随之而改变,在设计多个LED的时候可以设计成LED并联,也可以设计成两两串联再并联的方法,或者更多LED串联,这要看电压的大小,我们一般用的12V电建议大家不要多于3个LED串联,否则会影响LED灯的亮度,如果我们用LED的话,那么我们必须要串联一个限流电阻,限流电阻的阻值我们可以用简便的方法计算,在U V电压下可以应用公式R=(U-N*u)/I来计算限流电阻的阻值,其中N为LED的个数,u为LED的压降,I为要通过LED的电流,这样我们就可以通过改变R从而改变LED的亮度来调节其亮度,也可以通过改变U的值来调节LED的亮度。 很多情况下,我们可能要用单片机来调节LED的亮度,针对调光我们可应用的有几种方案。 1、 市场上许多驱动LED的芯片,比如MAX16803,通过改变DIM口的PWM来调节LED的亮度,这种方法应用精确度较高而且驱动能力较强,价格比较贵。 2 、我们也可以通过自己搭电路来驱动LED的亮度,这里也是应用单片机的输出的PWM来调节,单片机PWM输出并通过三极管以后,应用RC积分电路,把PWM的电压积平,某一个占空比的PWM值对应一个积分的电压值,我们由此用单片机改变PWM的占空比来调节电源芯片的FB端,由电源芯片来调节出不同的电压值U,这样便可以调节LED的亮度,并且可以做到无级调光,这种方法是一种比较实用的方法。 3 、应用3-8线这样的译码器来调节电源芯片的反馈端来调节输出电压U的值,单片机I/O口控制3-8线从而调节电源芯片的FB,由电源芯片来调节出不同的电压值,这种调光方法无法做到无级调光。 4 、通过改变R的值来改变LED的亮度,我们可以应用像如CD4051这样的芯片来选通R的阻值来调节LED的亮度,这样的电路还是比较简单的,通过单片机控制CD4051的控制口来选通不同的阻值从而达到调光的目的,不过这种调光的缺点也是不能做到无级调光,并且要考虑CD4051的电流承受能力。 以上是我所能想到的调节LED灯光亮度的方法,先拿来分享,当然还有许多我没有想出来的方法,大家可以一起讨论。
////////////////////////////////
大侠们: 小弟用MCU通过PWM调节LED亮度的时候遇到这样的问题:在“占空比 ”比较小且在增加的那瞬间灯会闪一下(例如从1%到2%的那瞬间 ,占空比 比较大的时候不明显)我调试了频率和介数(小于256介),效果都不理想. 增加一介在40ms以上就会有上面的情况,在20ms内就不明显,可是客户是上帝! 自己分析了原因,可能是LED的亮度与电流的比例关系,(刚开始的时候电流增大亮度也明显增大,而当电流达到某个值后亮度不再随着电流增大而增大) 如果谁能够帮我解决,追加50分! 问题补充:
首先在下面这些情况下 LED 会闪烁: 1:灯比较多,当然灯越多闪烁更明显 2:保证灯 LED 在任何时候不能够欠压 3:增加一介的时间再20ms(50HZ)以上 自己认为原因是:在低占空比的时候 LED 电流虽然很小,但增加一介电流会变化很多,也就是led的亮度会变化很多,而上面我所提到的20ms==50HZ,刚好在人眼闪烁的频率临界点 QQ:247669137,望大家多多交流! 应该是你的程序写得不够好. 你是不是让占空比每加1就亮一次.如果是这样那你的效果肯定不理想. 在灰度级小的时候占空比增加的幅度要小,灰度级越大的占空比增加的幅度也要越大.也就是说灰度级和占空比不要呈正比关系,应该呈抛物线形状. 你自已分析的那个原因是有道理的.把你的频率调小点,按我说的方法试下看行不.要是觉得程序不好写可以再找我,我有现成的. ////////////// 我最近也在调试使用PWM控制LED亮度,不过我使用的是LED恒流驱动器(LM3407)来做,电流比较小,350mA。亮度在2W左右。 由于LED恒流驱动器输出地是方波,经过电感稳流后得到350mA,所以最小控制时间受控于方波频率,加上从控制信号到方波启动的延时。 方波现在用的1M左右,启动延时为1.5uS,关闭后,电感储能能继续电量2uS,所以最小控制时间不要小于10uS。 按照100个分度调整,可以使用1K的PWM频率,最小分辨率为10uS,没有爆闪的过程。 我不知道你的电路是怎样的,功率如何,启动爆闪可能是电感匹配问题。 希望能有帮助。
用户377235 2013-7-16 04:15