使用微控制器打开LED灯条


12

我有60个LED装在一个LED灯带中。一米长的LED灯条需要满足以下条件:

  • 400毫安
  • 12伏

我想用微控制器控制这些LED。我正在考虑使用TIP120raspberryPi

树莓派GPIO管脚可以输出连续50毫安。(更新:这是不正确的,请参见下文)


我是一个初学者,不确定执行正确的方法。我所有的计算都是基于我在此博客上阅读的内容。


数学

基本电流:

TIP120的集电极电流为lc = 250 * lb,因此我需要1.6 mA的基极电流。

(1.6mA * 250 = 400)

raspberryPi的Base current应该没有问题

基极电阻:

我需要一个足够低的电阻,以确保TIP120基极保持饱和,但保持低于50 mA的电流,以免使raspberryPi过载。

根据我提到的博客,我通过查找Vbe(sat)来找到基本电阻。见图2。

在x轴上Vbe(sat)为400的情况下,集电极电流在y轴上约为1.3。

在此处输入图片说明

如果raspberryPi输出3.3伏,则压降为2伏
(3.3-1.3)

因此,根据我的计算,我需要一个4到40欧姆之间的电阻R = V / I
2 /(0.05 A)= 40欧姆
2 /(0.50 A)= 4欧姆
(更新:不正确,请参见问题底部)

我仍然认为自己是业余爱好者,我有点不知所措。

  • 这些计算看起来正确吗?
  • TIP120可以工作吗?(欢迎其他任何建议)
  • 原理图还有其他考虑因素吗?

在此处输入图片说明

更新资料

正如答案中指出的那样,我将毫安额定值打错了10倍。我应该说:
2 /(0.005 A)= 400欧姆
2 /(0.050 A)= 40欧姆

更新2

Raspberry Pi上的引脚可以提供的最大电流似乎有些模糊。为了安全起见,我将假定它为8 mA。

/raspberrypi/9298/what-is-the-maximum-current-the-gpio-pins-can-output

/raspberrypi/1130/what-is-the-nominal-gpio-pin-output-current

更新3

Ada Fruit撰写了一篇很棒的博客文章,介绍如何使用微控制器控制LED灯条。她建议使用STP16NF06或TIP120

https://learn.adafruit.com/rgb-led-strips/usage


2
我认为GPIO引脚不能提供50 mA的电流。我认为+ 3.3V电源轨引脚可以提供50 mA的电流。我认为每个GPIO只能提供几毫安的电流。我将使用逻辑电平MOSFET代替BJT。那就不用担心连续电流了。IRLB8721是多种用途的上乘之选。我认为这种使用是合格的。
乔恩·瓦特

@JonWatte感谢您指出这一点,在继续之前,我将仔细检查最大电流。
spuder

RPi设计中的@JonWatte Power计算可以同时打开所有GPIO,每个GPIO为3mA,总计为50mA。您可以在任何给定时间减少通电并增加电流。最重要的是,当所有外围设备(例如hdmi,以太网和sd卡,均从3.3v供电时)都在使用时,他们直接从3.3v供电中获得了50mA的额外电流。因此,直接连接到3.3v电源轨的3.3v PINS和来自BCM SOC的3.3v GPIO是不同的。
路人2013年

+1:适合初学者进行自己的研究,并在提出问题之前一路过关斩将。
pjc50

@Passerby我认为,如果您尝试从其中之一提供50 mA的电流并使其余的保持空闲状态,则会烧毁GPIO引脚的驱动器级。
乔恩·瓦特

Answers:


6

您快到了,不过有几件事:

基极电阻的计算不正确-请记住,根据您的计算,您仅需要1.6mA(集电极电流是独立的)。
查看数据表,最小增益为1000,最大基极-发射极电压为2.5V,这意味着我们需要调整计算,基极电流将达到1.6mA(总是有一个额外的开关作为增益)但在最坏情况下,我们需要使用2.5V而不是1.3V(最好使用最坏情况/最大值进行设计),尽管从图表上看,在当前电流下似乎不太可能有额外的Vbe,所以以下两个数字之间应该可以):

所以:

(3.3V-2.5V)/ 1.4mA =570Ω

要么

(3.3V-1.5V)/ 1.4mA =〜1.2kΩ

这应该可以工作,但不是最有效的处理方法-晶体管耗散至少为0.4A * Vce(sat)约为0.4A * 0.75V = 0.3W,再加上您的R-pi至少需要几毫安左右来驱动它。
现代逻辑电平MOSFET可以小得多,(几乎(没有)电流驱动)并且几乎没有功耗。这是一个示例部件FDC637BNZ,它是从Farnell的数千家企业中随机选择的:

在此处输入图片说明


3

0.5A是500毫安...你会吹掉Pi的。0.05是50毫安。那是上限。无需为此。如您所说,您只需要1.6mA。因此,将其增强一点,甚至可以说5mA。3.3-1.3 = 2v,电阻需要下降。2v / 0.005A(5mA)=400Ω。舍入到下一个最大尺寸470Ω时,基极电流约为4mA。

除了数学错误外,TIP120可以很好地解决此问题,即使它对于LED灯带将要承受的400mA电流确实过大。它是达林顿对,用于大电流倍增。像PN2222(标准To-92封装中的1 Amp)这样的普通单个BJT晶体管将绰绰有余。或者,您可以将条带分成两个或三个,并使用几个2n3904(100〜200mA)并以不同的方式闪烁不同的部分(当然,您将需要相等数量的gpio,除非要从单个GPIO驱动它们全部,每个并联晶体管都有自己的基极电阻,用于驱动LED灯条的较小部分,这是处理较小晶体管的一种好方法。

而且您的示意图足以用于模型制作。单一的彩色LED灯带并不是很复杂的电路,因此除了使用正确的零件代替通用的占位符之外,没有其他方法可以改善它。


感谢您抓住这一点。我打错了计算。我已使用正确的信息更新了问题。
13年

1
达林顿对的缺点是相对较高的V(CE,sat),这会消耗晶体管中的功率。常规的BJT在这方面的表现会更好。正如@Passerby指出的那样,您不需要像TIP120这样的野兽,其额定值几乎是您需要的20倍。
jippie
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.