电路设计论坛
直播中

赵静

11年用户 42经验值
擅长:测量仪表 嵌入式技术
私信 关注

【高分奖励】用的是ULN2003,不明白为什么会发热?

本帖最后由 赵静 于 2019-12-25 15:19 编辑

用的是ULN2003,输入接的是STM32芯片,3.3V的信号,现在是芯片和上拉电阻都有发热,完全不接负载也有热度,如果接负载的话会更热;
测量了电流,如果不接负载的话,输出电流为0,接着负载的话电流是15mA,电阻用的是0805的;
不明白为什么会发热
EN和DIR就是高低电平信号,CLK就是一个脉冲信号
{03A799EC-C68F-4FF5-81BD-215BC2D0E7B1}_20191225093110.jpg

下面的图是ULN2003后面的接法
{1E63B374-5DB7-47CF-AE7E-4933E5480DF1}_20191225151831.jpg

【PS哪位能获得最佳答案,版主奖励20积分】

  • ULN2003A Block Diagram.png

回帖(12)

jiciwi

2019-12-25 09:49:24

最佳答案

你说的接不接负载是什么,外面200欧的上拉电阻?
15 1 举报
  • 赵静: 不是啊,是芯片的输出还要接其他的,接的是步进电机的驱动器
  • jiciwi 回复 赵静: 晕死,你驱动器只是普通的IO口输入吧,你上拉电阻干嘛用200欧,你用10k不就是好了。你用200欧,电阻上的电流也是流进芯片的,芯片当然会烫了
  • lm12041204a 回复 jiciwi: 赞同,0805电阻才1/8W啊。
  • lm12041204a 回复 jiciwi: 通常单片机驱动ULN2003时,上拉2K的电阻较为合适,同时,COM引脚应该悬空或接电源。
  • 赵静 回复 jiciwi: 并不是接普通的IO,驱动器那边是个光耦,电阻太大的话,光耦不能导通了。这个200欧的电阻我测着温度是45度左右,主要有个其他的电路板,STM32接的光耦,然后有上拉电阻,电阻两侧的压降跟这个差不多,还是0603的,温度不到30度,所以不太明白。
  • jiciwi 回复 赵静: 接光耦的话,电流10mA也足够了。再说,你现在这种接法也不好吧,应该光耦上拉电阻到5V,低端接到2003吧
  • 赵静 回复 jiciwi: 以前没有用过这种芯片,ULN2003应该这样用是吗?看网上有说:ULN2003集电极开路输出,只能接收灌入电流。所以应该2003的输出接光耦的低端吗?这样才能有500ma的驱动能力?那么如果按我的这么接法,会有什么问题?驱动能力不够?
  • jiciwi 回复 赵静: 那你现在光耦有两端的,你怎么接的
  • 赵静 回复 jiciwi: 现在是光耦那个二极管的负接的地,然后另一端接的UL2003的输出,就是接了上拉电阻后的输出。
  • jiciwi 回复 赵静: 你这样接,电阻上不是一直有电流了,然后还可能光耦还不会完全关断
  • 赵静 回复 jiciwi: 光耦可能不完全关断是因为三极管截止时输出那儿也会有0.7V的电压吗?
  • jiciwi 回复 赵静: 是的,2003内部是个下管,关断的时候,你光耦导通;打开的时候也有个压降,流过的电流越大,压降越大,这时候就看光耦本身的压降多少了
  • 赵静 回复 jiciwi: 非常感谢您的耐心解答,我这次的电路设计和选型都有问题。不过还是想问一下,什么是下管?
  • jiciwi 回复 赵静: 你去看下全桥或者半桥呗
  • lm12041204a 回复 赵静: 达林顿内部集电极开路输出(查看后面的ULN2003 Block Diagram),光耦阴极接入,关断彻底。否则,光耦阳极接入及时达林顿输出(高,共同流入光耦,低,5V电源同时流入光耦和达林顿)。

李玲

2019-12-25 09:57:45
电压太高了,出现的问题
1 举报
  • 赵静: 哪个电压?输入是3.3V的信号,输出那边接的5V,很高吗?

王燕

2019-12-25 09:59:04
@ARMLIUNX @lm12041204a @卿小小_9e6 @卿小小_9e6 @lwh1 @hotpower 专家们,都来看看这个问题哈
举报

卿小小_9e6

2019-12-25 10:16:58
//-------------------------------发热解决办法
如果发热不是很严重的话,一般只需给ULN2003外接散热片就可以了。
可以尝试添加散热片和风扇,然后看温度能否降下来在可接受范围内。
//-------------------------------工作过热
初步怀疑是你的负载功率过大导致芯片工作过热,可以考虑输出电路扩展,如晶体管,可控硅,继电器.....
//-------------------------------上电不接负载却发热
ULN2003采用5V供电,输入信号是3.3V(STM32芯片),此种情况可能会出现输出一直工作。
建议把输入信号调整到5V尝试一下,这样输入5V时输出应该断开。
3 举报
  • 赵静: 可是不接负载时我测了电流了,没有电流呀;关于负载功率我也测量电流了,才10几mA,应该也不大吧;负载接的是步进电机的驱动器
  • 赵静: 而且工作的的时候,是电阻热,芯片并不热,我换了大功率的电阻就好点,所以还是电流太大?但是我实际用万用表的电流档测了,并不大呀。
  • 卿小小_9e6 回复 赵静: 电阻热的话就是流过的电流大,换大功率电阻即可。
    //--------------------
    万用表的测量属于RMS有效值测量,无法反应实时电流情况。可以通过示波器测量实时电压来反应电流变化。
    //--------------------
    步进电机的电流变化不是万用表测量的十几ma。

lm12041204a

2019-12-25 10:57:15
本帖最后由 lm12041204a 于 2019-12-25 11:18 编辑

ULN2003输出端是高还是低, 实际测量一下上拉电阻电流具体值,确定一下电流的实际流向和大小。
除CLK0、CLK1之外,EN0、DIR0、EN1、DIR1平时各是什么状态,占空比和频率是多少。
另外,0805,功率1/8W,是否留有余量。
STM32输出连接ULN2003,那么ULN2003的输出又各自连接了什么,具体什么样的负载?
最好上传电路全图。

再有,“发热”、“有热度”、“更热”具体到什么程度,最好有个具体的温度,有电流、有电阻总要发热的,关键是要看是否超出了正常允许范围(对照数据表)。
ULN200x.jpg

6 举报
  • lm12041204a: 不知道是不是巧合,5V、200ohm,发热功率正好是0.125W,即1/8W。
  • lm12041204a: The ULx2003A devices havea 2.7-kΩ series base resistor for each Darlington pair for operation directly with TTL or 5-V CMOS devices.
  • 赵静: 并不是接普通的IO,驱动器那边是个光耦,电阻太大的话,光耦不能导通了。这个200欧的电阻我测着温度是45度左右,主要有个其他的电路板,STM32接的光耦,然后有上拉电阻,电阻两侧的压降跟这个差不多,还是0603的,温度不到30度,所以不太明白。
  • 王栋春 回复 赵静: 上拉电阻楼主用的多大功率的
  • 赵静 回复 王栋春: 1/8W的,0805的
  • 赵静: 重新上传了一个图片,因为实际电路中没有这一部分,简单做了一个示意,就是ULN2003的输出接的光耦的阳极。因为前面有好心网友说应该ULN2003的输出接光耦的阴极,我查了一下,ULN2003好像的确应该那么用。但是我想问问像我这样用有什么影响吗?

lm12041204a

2019-12-25 15:04:09
本帖最后由 lm12041204a 于 2019-12-25 15:35 编辑

楼主的意思是 ULN2003 OUT 通过光耦隔离,然后再驱动负载?

按你的说法,ULN2003两侧都是光耦(一个是进,一个是出),0805还是0603并不重要,关键是通过的电流大小。
两边的环境、光耦的型号、参数是否一样,否则这么比较也没有意义。

另外,请参考一下上图中的 Figure 28 右侧输出端控制负载的方式,左侧输入是光耦+上拉,还是其他暂且不论,毕竟对STM32来说,ULN2003这个负载并不是太重。

楼主的ULN2003输出连接光耦的参数和连接的方式如何(连接的A、K)?
看看驱动光耦产生个光信号究竟要多大电流。

如果ULN2003 OUT 接光耦阳极,
OUT为低时光耦不发光,+5V通过0805流入ULN2003,电阻几乎满负荷;
OUT为高时光耦发光,+5V通过0805驱动光耦,电阻发热消耗一部分功率。
如果ULN2003 OUT 接光耦阴极,则情况相反。
所以电阻消耗热功率和驱动信号的占空比、频率也有关系。

再次建议上传具体的电路图。
1 举报
  • lm12041204a: 如PC817,按正向电流20mA计算,I*I*R=0.08W,按正向电流50mA计算,I*I*R=0.5W。

lm12041204a

2019-12-25 16:23:22
ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。可直接驱动继电器等负载。
输入5VTTL电平,输出可达500mA/50V。
ULN2003是高耐压、大电流达林顿阵列,由七个硅NPN达林顿管组成。 该电路的特点如下: ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路 直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。
举报
  • PC817.png

lm12041204a

2019-12-25 16:46:38
本帖最后由 lm12041204a 于 2019-12-25 17:01 编辑

ULN2003A Block Diagram
可直接驱动继电器(电磁继电器,灯,小型电动机和LED)等负载。
适应于各类要求高速大功率驱动的系统。
举报

裴文耀

2019-12-25 20:01:02
电路设计原则性错误,ULN2003应该低电平驱动光耦!!!
1 举报
  • 赵静: 是的,的确是设计错误

裴文耀

2019-12-25 20:21:16
先把你的二百五老师锤一顿!!!
举报

裴文耀

2019-12-28 02:35:51
http://bbs.hotfsp.com/index.php?topic=132.msg135#msg135
ULN2003(MC1413)的10脚应该接光耦的负极,光耦的正极接限流电阻后接正电源。
ULN2003的7脚可以加个小电容抗干扰,比102小点即可。

为什么会发热???
因为解法不对,故关断光耦时必须ULN2003的7脚为高电平,才能10脚为低电平关断光耦,但上拉电阻R26就变成了负载电阻,
电流=5V/200欧姆=20mA。
假如R21~R25都是如此解法,那么就变为20mA*5=100mA。5V*100mA=0.5W。故有些发热。

本设计主要没有研究ULN2003是OC门输出的。

1 举报
  • 赵静: 谢谢您!是我芯片使用错误
  • TIM截图20191228022050.png

houjue

2020-2-28 16:25:45
15mA就发热不应该啊!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分