文号
t66604
阅读
6483
回复
15
收藏
5
压控恒流LED驱动器
2014/08/14
IP:江西
本帖最后由 novakon 于 2014-8-14 00:59 编辑

这次要做一个色度计,其中要求有一个白色LED光源照亮被测物体。系统5V电源是USB供电。

现在要求流经LED的电流是可调且稳定的。

有人可能会马上说,用PWM+三极管开关来给LED调光。这个方法的确简单,但是存在一些问题。

首当其冲是电流不可调。PWM调光,是用固定的电流以不同占空比来调节灯的亮度,这样虽然视觉上的亮度是连续可调的,但其在导通时间内的电流是一个固定的值。而LED灯的色温是与电流有关的,这就意味着无法通过精确控制电流,精确地控制该LED的色温。这在当前项目中是不允许的。三极管导通态压降有误差,系统电源电压有误差,一切都会造成led的色温和亮度在不同的使用环境中无法保持一致。所以,要求设计一个较为精密的的压控恒流电路,由单片机PWM+低通滤波产生控制电压以控制通过LED的电流大小,且不受三极管个体差异、系统电源电压误差影响(USB口供电电压在4.8-5.2V范围内变化)。

根据需要,我设计了如下电路。
QQ截图20140814001052.png

上图:单片机的一个脚作为PWM输出,经过R2和C1组成的低通滤波,作为VREF控制电压。
下图:
R7 10欧姆
R1 10千欧姆

QQ截图20140814001023.png


下面我来分析这个电路的工作原理。
首先把R1去掉。
当场效应管2N7002的栅极电压升高时,其漏-源电流会增大,所以通过LED的电流也增大。这个电流会在R7上产生压降,R7上的电压会作为LM358运放的反相输入。显然,当R7上的电压小于VREF时,运放输出电压会上升,令通过7002的电流增大,也就使得R7上的电压增大,直到该电压等于VREF为止。也就是说,运放会让R7上的压降始终等于VREF。比如如果VREF为0.2V,R7上的压降就为0.2V,则通过LED的电流就为 0.2伏/10欧=20毫安。由于2N7002是场效应管,栅极电流基本为0,所以通过R7的电流精确地等于通过D1的电流。如此,就实现了利用VREF控制D1上电流的目标。

然而事情远没有那么美好:LM358这款运放之所以允许输入电压到达负电源轨道,是因为它的输入级是PNP三极管结构。358的输入偏置电流大约是50nA,也就是说会有50nA的电流从输入端流出来,流向信号源。
VREF是通过RC网络滤波产生的,为了保证线性度,R2取了一个比较大的值,10千欧。直流上来看,这相当于说VREF是一个输入内阻为10千欧的电压源。假如单片机输出0V接地,那么LM358的同相输入端的实际电压就是10K*50nA=500uV=0.5mV。这时运放努力地让R7上端的电压等于0.5mV。这相当于让50uA的电流通过R7;如果再考虑运放的偏置电压可能高达5mV,则R7可能通过500uA电流。这意味着,很有可能当单片机输出0占空比时,LED灯无法完全熄灭。500uA就是0.5mA,看上去LED正在发亮。

幸好358的输入偏置电压温飘不严重。最终解决办法:在图中添加电阻R1,它会让约0.5毫安的电流流过R7,提供R7上的5mV电压,确保其高于VREF接地时同相输入端的电压,从而确保LED熄灭。

在正常工作时,随系统电压改变,这个R1会带来多少电流误差呢?假设系统电压范围为4.8-5.2,这0.4V的误差在10千欧上将产生40uA的误差。相对于40mA工作的LED来说,这是千分之一的电流误差。

而传统的限流电阻+三极管方式呢?假设工作电流40mA,电压2.5V,则电阻上分到的电压为2.5V(不考虑三极管压降)。可知电阻阻值为2.5/0.04=62.5欧姆。假如电源电压从4.8到5.2变化,则电阻上电流变化为0.4/62.5=0.0064A=6.4毫安,这相当于1/6的电流误差!
15
novakon作者
12年4个月前IP:未同步
712528
1楼
本帖最后由 novakon 于 2014-8-14 01:11 编辑

当然,单片机输出的PWM电压绝对不能受电源电压波动影响。所以单片机电源采用了线性稳压器。

附仿真图,可以清楚地看到电流的流动。所谓虚短虚断,属于纸上谈兵。

QQ截图20140814010936.png
引用
评论
12年4个月前IP:未同步
712530
2楼
其实使用压摆率高一点的运放效果会好一点。。。。
引用
评论
novakon作者
12年4个月前IP:未同步
712531
3楼
风枫 发表于 2014-8-14 01:13
其实使用压摆率高一点的运放效果会好一点。。。。


何出此言?莫非又遇到了HIFI党?这运放的输出电流,几乎为0啊,想怎么摆就怎么摆
引用
评论
12年4个月前IP:未同步
712532
4楼
novakon 发表于 2014-8-14 01:19
何出此言?莫非又遇到了HIFI党?这运放的输出电流,几乎为0啊,想怎么摆就怎么摆


PWM的调整速率~其实你这个方案原来我们做过但是我们后面选择了用可调恒流源的方案芯片型号PT4115单片机PWM调制~看图 QQ图片20140814012005.jpg
引用
评论
novakon作者
12年4个月前IP:未同步
712533
5楼
本帖最后由 novakon 于 2014-8-14 01:32 编辑

此楼发重了
引用
评论
novakon作者
12年4个月前IP:未同步
712534
6楼
本帖最后由 novakon 于 2014-8-14 01:32 编辑

风枫 发表于 2014-8-14 01:23
PWM的调整速率~其实你这个方案原来我们做过但是我们后面选择了用可调恒流源的方案芯片型号PT4115单片机PW ...


目的不一样,你们是功率驱动,注重效率,用buck,我这个是线性恒流,注重的是电流的稳定。
既然工作在线性模式,不存在压摆率的问题。
引用
评论
12年4个月前IP:未同步
712536
7楼
novakon 发表于 2014-8-14 01:30
目的不一样,你们是功率驱动,注重效率,用buck,我这个是线性恒流,注重的是电流的稳定。
既然工作在 ...


哦哦明白了 QQ图片20140814012944.jpg
QQ图片20140814012944.jpg
引用
评论
12年4个月前IP:未同步
712537
8楼
我靠多加载了一张图片无视第一张
引用
评论
12年4个月前IP:未同步
712540
9楼
很巧妙的办法,别小看这一支电阻,现在能自己想出办法改进电路的工程师已经很少了。

我的疑问是:用LED作为色度计的光源需要如何标定?众所周知白光LED是蓝色和黄色(荧光粉)的混光,光谱不连续。
引用
评论
12年4个月前IP:未同步
712561
10楼
虎哥 发表于 2014-8-14 01:57
很巧妙的办法,别小看这一支电阻,现在能自己想出办法改进电路的工程师已经很少了。

我的疑问是:用LED ...


完了,novakon白折腾一顿
引用
评论
novakon作者
12年4个月前IP:未同步
712612
11楼
本帖最后由 novakon 于 2014-8-14 22:46 编辑

虎哥 发表于 2014-8-14 01:57
很巧妙的办法,别小看这一支电阻,现在能自己想出办法改进电路的工程师已经很少了。

我的疑问是:用LED ...


XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
引用
评论
12年4个月前IP:未同步
712614
12楼
引用
评论
novakon作者
12年4个月前IP:未同步
712805
13楼
IMG_1038.jpg IMG_1037.jpg IMG_1036.jpg
引用
评论
12年4个月前IP:未同步
713288
14楼
novakon 发表于 2014-8-14 22:57


建议附上电流电压数据。
引用
评论
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的