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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32单片机驱动宏发12V电磁继电器电路问题相关的知识,希望对你有一定的参考价值。

问题1:经计算12V继电器,其线圈电阻是160欧,那电流就是75mA,功率0.9W,我选用3904其电流是200mA应该够了啊,科有人说不行,为什么?
问题2:一个三极管驱动不行吗?为啥用2个?
问题3:这些电阻的封装可对?
补充:IO-OUT1和IO-IN1都是STM32单片机的引脚,该单片机Vcc为3.3V
谁能帮我分析一下啊,最好能计算出各路的电压和电流,谢谢!
继电器控制的是火线,当继电器吸和时,上图的焊盘会是110V的交流电,通过R1和DS1到零线。我用万用表量了一下,R1两端电压是75V,LED两端竟然有50V!能帮忙分析下?谢谢。另外继电器发热大,能说说原因吗?
补充:按网友雷霆跳骚的办法,把R8改位2K,去掉R13,R49,R50,R51,Q5,继电器能吸和,经测试Vce=0.07V,VR8=2.5V,说明三极管是完全饱和导通的。IO-IN1是反馈继电器的状态的,可以不管。
经测量,给继电器提供12V电源的板子,实际测量是13.9V,而这个继电器额定电压是12V,最大14.4V,继电器发热会不会还有这个原因?

1:如果3904是TO92的就行,贴片的最好不要用。

2:1个三极管就行了,驱动部份,R8改成2K,R13,R50,R49,Q5,R51都可以去掉不用,电阻封装可用。
3:一般情况下,3904的h>100,假定h=100,那么3.3V输入时,R8上的电流即Q1基极电流=3.3-0.7/2=1.3mA,Ic=1.3*100=130mA,且3904三极管的h值会比较大,常常>150,大的Ib可以加深三极管的饱和,即最低的Vce,有利于降低三极管功耗。3904饱和后的Vce取0.3V,电流取75mA,可知三极管的损耗是0.3*0.075=22.5mW,远低于TO92封装的允许损耗。贴片封装的也可以用,但因为本身较小,温度会高一点,故不建议使用。
4:继流二极管允许的话,换成FR40X什么的会可靠一点。追问

经测试,把你说的那几个元件删掉后继电器成功吸和了,但是长时间通电发热很大,不知道是不是正常现象?有什么解决办法?

追答

继电器长时间吸合,线圈都是会发热的,我不知道你说的“发热很大”到底是多大,你可以测量下,吸合时线圈两端的电压是否与继电器本身标称的相符,若相符你觉得发热量大,那么可能是你继电器质量不好造成的(线圈绕的比较少,损耗较大),与驱动无关。我也没有太准确的数据可供参考,在常温下,应该不超过40度吧,你找继电器的数据手册看看,或是量下继电器的线圈电阻,然后再计算下它的功耗,大概也能评估温度是否正常。

参考技术A 1、继电器额定电压12V,线圈电阻160,欧,R51 200欧,Q5导通时继电器和R51串联,继电器得到的电压都不到12V的一半,能行吗?
2、一个3极管完全可以,不知道他为啥用两个。
3、这些都是贴片电阻的封装,大致看一下应该没问题。主要是R51必须取消。
另外,Q1 Q5导通后,Q5的偏流大约几十毫安,没必要这么大的

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

我想用STM32IO口驱动外面10个24V继电器和两个步进电机驱动器,3.3V输出怎么转换为24V能够同时驱动10路继电器和步进电机驱动器?最好能有详细的电路图,是用三极管?mos管?光耦?还是什么?新手不太懂 求各位高手们指导!!还有就是板子输出的100KHZ PWM经过放大后输出的还是100KHZ方波吗?这时再给驱动器能正常驱动步进电机吗?
PWM输出是不是要用到高速光耦?需要哪些元件呢?最好能给出具体型号谢谢谢谢!!!

3.3V一般通过光耦转换就可以了。3.3V驱动光耦的光电二极管还是没问题的,甚至还要加限流电阻。然后光耦输出侧在经过个8050这类的功率三极管驱动继电器就可以了,而步进驱动器可以直接光耦输出
一般驱动继电器使用普通的比如TLP521这类光耦就可以
不过100KHZ的PWM输出肯定是速度不够了。但经过放大后即便失真,除非你选的放大器件工作不了这么高频率外,肯定还是100KHZ的方波。你可以选择高速光耦如6N136,137这类截至频率1M的光耦就可以了追问

STM32的输出接到6N137,经6N137隔离后输出给三极管再驱动继电器 是这样吗?驱动几V的继电器,是不是就要把电压升到几V?

追答

6N137 直接就可以接输出电路了,他是高速光耦,用于脉冲的
TL521是低速的用于继电器和输入的低速信号的隔离

参考技术A

可以使用uln2003驱动,9脚悬空,STM32设置推挽输出,不然STM32驱动不了uln2003,

追问

STM32的IO口好像有单个最大输出电流和总的输出电流限制,10路同时推挽输出可以正常驱动吗?用UL2003 3.3V电平需不需要升到5V?那是不是L298也可以呢?可是继电器线圈是24V的,不知道能不能用24V做它的电源,还有就是ULN2003最大允许通过的PWM平率是多少?

追答

uln2003在3.3V下可以正常工作,输出端电源最大50V,如果你怕stm32驱动不了那么多继电器可以试试输入端加5V上拉,stm32开漏输出,不过uln2003最大输入频率没试过,你可以查查相关资料。

追问

5V串个电阻到单片机端口,然后设置成开漏输出吗?是3.3还是5V上拉?

追答

5V电源串电阻到IO,电阻可以选择1k,STM32引脚设置开漏输出,可以增加STM32的驱动能力。注意IO要选择兼容5V电平的IO,STM32部分IO不能直接接5V电平,详细见芯片手册。

追问

恩,谢谢啦!新年快乐!

以上是关于STM32单片机驱动宏发12V电磁继电器电路问题的主要内容,如果未能解决你的问题,请参考以下文章

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

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

12V继电器开关控制

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

如何提高单片机的抗干扰能力,在驱动继电器时单片机常失控或复位。

stc单片机的spi通信