原创 浅谈LED亮度调节设计

2010-12-6 19:14 3633 7 8 分类: MCU/ 嵌入式
在很多项目中,我们往往会碰到一些背光灯或者指示灯的设计,比如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,没有爆闪的过程。
我不知道你的电路是怎样的,功率如何,启动爆闪可能是电感匹配问题。
希望能有帮助。
PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户377235 2013-7-16 04:15

博主是有心人,总结的较为全面。NE555做成自激振荡器可用电位器调节占空比改变亮度也是不错的选择,这个芯片价格便宜,双向驱动都达到200mA。
相关推荐阅读
用户1631713 2012-06-11 10:46
在485芯片的通信中
在485芯片的通信中,尤其要注意对485控制端DE的软件编程。为了可靠的工作,在485 总线状态切换时需要做适当延时,再进行数据的收发。具体的做法是在数据发送状态下,先 将控制端置“1”,延时...
用户1631713 2012-04-20 10:31
Arduino
  互动技术,包括互动平台Arduino Arduino为互动搭建一个通用平台。在Arduino这个通用平台的基础上,可以具体的应用到通用实验教学、电子控制技术教学、职业技术教育中的互动新...
用户1631713 2012-03-20 11:21
如何准确地测量电源纹波
一、什么叫纹波? 纹波(ripple)的定义是指在直流电压或电流中,叠加在直流稳定量上的交流分量。 它主要有以下害处: 1.1.容易在用电器上产生谐波,而谐波会产生更多的危害; 1...
用户1631713 2012-02-23 10:03
麦克风灵敏度
麥克風的感度為何是負的, 主要原因是因為對數轉換時造成的. dB的轉換公式是dB=20 log(x/x0), x代表物理量, x0代表參考物理量. 舉例來說, 假設物理量是電壓, 參考電壓是1V,...
用户1631713 2012-02-21 15:24
ICCAVR中如何使用自己的库文件?
制作和使用自定义库文件的范例: 目标:1. 制作一个库文件libGetMax.a ,其中包含一个外部函数GetMax 。 函数GetMax的作用是判断两个输入参数(int 型)中的最大值,并返回...
用户1631713 2012-02-21 15:22
在ICCAVR中通过使用库函数来避免直接看到敏感算法源码
silentmj原创文章,转载请保留署名,谢谢。 下载本文示例工程 在ICCAVR环境中,我们可以通过使用ilibw.exe工具来制作我们自己的函数库(需要是注册版的才行),详细的操作方法...
我要评论
1
7
关闭 站长推荐上一条 /3 下一条