stm32通过三极管驱动继电器电路详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stm32通过三极管驱动继电器电路详解相关的知识,希望对你有一定的参考价值。

我想向大家请教的问题是,1.在这个电路中电阻R4的作用,有很多人说这个电阻R4是上拉/下拉的作用,我不是很理解,我觉得这个电阻也可以不要啊,希望大家帮我解释一下如果这个电阻没有的画会出现什么问题呢。2.图中写着AY的地方是连接stm32的IO管脚的地方,我想知道,stm32的IO管脚的高低点平是相对谁而言的呢,画电路的时候,想给那个继电器AY那里输入一个信号,不是需要有正负的吗(就像一个电源一样),那为什么这里只有stm32的一个管脚接到了电路里呢,这样形不成回路吧,该怎么理解呢,帮我画一个完整的电路图把,感激不尽,如果能帮助我解答我的问题,我会加分

参考技术A 经过测试,都说的不行,
Io 驱动三极管 ----100R----b极
串接一个100R 的电阻到 B 极是 正常的要求,
但是 你没测试 。
测试过发现 三极管无法完全导通。你知道吗?
参考技术B io口高电平三极管导通,继电器吸合 参考技术C 解释如下:
1.如无R4测试时可能看不到明显异常,但是接R4后会使继电器的通断状态更能处在一个稳定状态。
假如无R4如果单片机的I/O设置在高阻状态,就会造成AY端高低电平是不确定的。而后面三极管部分,如果AY为高电平就可能使继电器动作。
而R4的存在就会给AY端一个固定的低电平,只要单片机不输出高,AY端就被固定为低电平,三极管肯定不导通。单片机输出高电平时,则AY端仍然是高,因为R4有4.7K的电阻不至于吧AY端电平拉低到0V。
他的作用是从可靠性方面考虑添加的。
2.单片机的I/O口高低电平是相对GND来说的(就是R4右端那个接地符号端)
单片机的I、O口做输出用的时候你可以这样理解,当输出高电平的时候好像内部一个开关直接把他接到了单片机VCC端,而输出低电平的时候一个开关直接把他接到了GND端了,这样就能形成了回路了吧,输出高的时候就是从VCC到AY端口到三极管BE结到地。追问

stm32 有VSS和VDD引脚(VSS好像就是GND),单片机是要3.3 V的供电电压, 是不是把3.3 V的电源的正极接VDD 负极接VSS吗? 在接外围电路的时候,把外围电路的GND( 就是你说的R4右端的那个接地符号) 和stm32的VSS连接到一起是这个意思吗?

追答

vss要接在GND那啊,你要让单片机系统和三极管系统共地才能传输信号啊。
你的STM32用他自己的3.3V电源,就是VDD接到3.3V正就可以了,继电器和三极管用他自己的电源VCC那或者5V啊或者12V根据继电器规格都可以选择。只要单片机VSS和三极管下面的GND共地了就可以了。
另外你算过没有你的AY端假如输出高3.3V(STM的VDD电压)。你的继电器驱动三极管基极电流是多少啊。你的三极管放大倍数是多少?继电器驱动电流需要多少啊?
这样设计电路你的三极管肯定工作在深度饱和状态。基极肯定不需要那么大电流。
一来是你的系统功耗增大,另外IO口长期工作在大电流状态也对IO口也是不利。所以在AY和三极管基极间应该串联一个电阻。具体阻值根据继电器需要电流反推过来。保证三极管刚刚过饱和就可以。

追问

 字数打不了那么多,打出来,只能截图啦。

追答

会不会烧三极管要看你单片机的IO口特性了,比如说你的IO口对外最大能提供10mA的电流,这样被电阻分掉很少后基本上全部流过三极管的BE结,然后要看这10mA电流在BE结上产生的温升是不是会烧坏三极管,最后不关他烧毁烧不坏,总之是在不利状态。
2。你想用几V的继电器不是要去Altium Desinger 里面找的,而是要去生产商那查找合适的规格,
比如果说欧姆龙,国产的宏发继电器,你要去厂商产品型录里面查找合适的型号。
然后画图的时候如果Altium Desinger里面现成的元件库里的元件和你要用的一样可以用要不就自己建立个自己的库文件。
特别是绘制PCB的时候,你做出来的板子是要将来把你能买到的合适的元件装上去的。库里现成的你不一定你能买到。或者功能不一样。所以PCB库也要自己建的,如果碰巧库里现成的和你要用的正好吻合当然也可以用现成的。
所以一定要确认PCB封装/原理图元件和器件规格书一致。

本回答被提问者和网友采纳

STM32 三极管继电器驱动电路设计

继电器线圈需要流过较大的电流 (约50mA)才能使继电器吸合,一般的集成电路不能提供这样的大电流,因此,必须要进行扩流,即设计驱动电路。

三极管氛围NPN与PNP型两种,在使用中,我选择PNP型的S8550型号三极管。

百度 三极管驱动继电器 ,可以得到大量的参考电路设计,虽然花样繁多,但是可用,靠谱的比较少,并且基本都是从两三篇转载而来,上图就是比较经典的一个设计。

对于PCB的设计,要保持严谨与细心,一旦出错,板子一来一回可能一星期时间就过去了,向过去两星期不严谨,不细心的我提出强烈谴责,总以为闹着玩,对于PCB的设计,大忌。

这里的M7,即续流二极管1N4007,为保护三极管将开关关断时线圈所产生的反电动势放掉。

三极管的放大需要工作在饱和区,停止工作时需要工作在截止区,因此,实现了对于继电器的开启和关闭的功能。

到这引出一个问题,如何设计,使三极管可以快速地从截止区变道饱和区,并且稳定放大,稳定截至。

百度的文章这样告诉我,使用他们整理好的公式,计算R1的阻值即可,但是这里的一般取R1 = 3.6K即可,是说的不全面的,并且没有从根本上解决和说明问题。

对于三极管,做开关时,需要2~3倍的Ib才能让三极管快速的从截至状态变到饱和状态

因此,电阻的取值,需要电压差和预期的电流共同决定,仅仅是小于某个阻值,是不够的。

对于本次基于STM32F103设计的外围电路,小型继电器的功率大致150~500mW,按照最大的计算,电流100mA,三极管β按照100计算,带入上述的公式,算了,我还是写一下吧。

计算出来Rb小于3.3K,这个设计综合电流考虑后,可以选择1.2K~3.3K的电阻,这里选择2K

附上老师计算手稿,感恩

在最初的设计中,因为继电器需要外接,由于对于继电器的想当然,认为只要因出去一个正点驱动即可,但是这是错误的。


在百度的图片中,以NPN型举例,图中阴影部分为继电器电路,继电器线圈作为集电极负载而接到集电极和正电源之间。当输入为0V时,三极管截止,继电器线圈无电流经过,则继电器释放(OFF);相反,当输入为+VCC(+5V)时,三极管饱和,继电器线圈有相当的电流流过,则继电器吸合(ON)。

对于PNP型,电流方向,电压极性发生变化,当输入为0V时,三极管 饱和,从而继电器线圈可以有电流流过,继电器吸合,相反,当输入为+VCC时,三极管截止,继电器释放。

理论通了,后面就是原理图的设计,以及PCB的绘制了,综合其中一篇文章的设计,加入了LED灯,来辅助显示继电器开启还是关闭。

这里LED灯的选择与限流,也有一些技巧和规则,如果查询手册,会显示最大可以流经25mA的电流,如果按照25mA电流计算进行限流电阻的设计,那么5V的电压,减去Uce的0.7V压降,LED需要1.8V-2.5V的工作电压,也就是需要电阻分压1.8V-2.5V,需要欧的电阻,但是实际设计中,不需要LED灯这么亮,需要1~3mA的电流流经的亮度即可,如果选择2mA,那么,这里需要用900-1250欧姆,如果选择1mA,那么,这里需要用1800-2500欧姆,我这里选择了1.5K


想要交流的,关注公众号,后台联系即可

以上是关于stm32通过三极管驱动继电器电路详解的主要内容,如果未能解决你的问题,请参考以下文章

求STM32驱动电路 (10路24继电器和2路步进电机驱动器)

STM32单片机驱动宏发12V电磁继电器电路问题

三极管的电平转换及驱动电路分析

转载stm32的GPIO八种工作模式

硬件电路io口控制继电器电路

STM32怎么实现单片机控制LED灯常亮10S后熄灭?