我的MOSFET驱动的螺线管电路破坏了我的Arduino输入


14

我制作了一系列PCB,以为使用外部电源的某些电磁阀供电。我使用Arduino作为门信号使用BS170 MOSFET对其进行了切换。我基于Jason S的解决方案

这说明了我的电路的样子: MOSFET操作的阀电路

在测试PCB时,我注意到它们中的大多数都可以正常工作,但其中一些却不能。没问题,可能是焊接问题。

但是,那些有问题的确实设法销毁了两个Arduino数字引脚!一方面,我获得5 V的恒定电压,而当我向其发送高电平信号时,另一个输出0.2 V,而当我发送低信号时输出0.5V。奇怪的东西。

因此,我猜测故障电路会以某种方式导致16 V(部分)流经Arduino,从而将其破坏。

在这种情况下,如何保护Arduino免受过大的电流?

我知道齐纳二极管,但我不知道如何放置它们以保护输入。

技术信息:


您使用什么软件来创建该图纸?看起来真的很好!
mjh2007

3
磨碎。免费,非常方便,也适用于PCB设计:)
Dyte 2012年

在所有带有感性负载的电路中,说12V(> Vgate_drive)的栅源齐纳二极管确实是一个好主意。将齐纳二极管安装在靠近MOSFET的位置。阳极到源极,阴极到栅极,因此齐纳通常不导通。|| 在26c / 10 Digikey上,更好的MOSFET例如IRLML6346 SOT23。或以NDT3055 48c / 10 TO251引线,或RFD14N05 71c / 10 TO220。
拉塞尔·麦克马洪

...When MOSFETs fail they often go short-circuit drain to gate...这里引用。
abdullah kahraman 2012年

施加16V可能会杀死您的Arduino端口。
Abdullah kahraman 2012年

Answers:


7

该电路理论上很好。
需要改进实践。

在所有带有感性负载的电路中,添加一个说12V(> Vgate_drive)的栅源齐纳二极管确实是一个好主意。这样可防止在漏极电压发生意外或极端变化时,通过耦合至漏极的“密勒电容”将栅极破坏性地驱动为高电平。

将齐纳二极管安装在靠近MOSFET的位置。
将阳极连接至源极,将阴极连接至栅极,以使齐纳二极管通常不导通。

10k栅极驱动电阻(如图所示)很大,会导致缓慢的关断和导通以及MOSFET的更多功耗。在这里这可能不是问题。

在该应用中,所选择的MOSFET非常有限。
Digikey现有的更好的MOSFET包括:

对于26c / 10 Digikey IRLML6346 SOT23 pkg,30V,3.4A,0.06欧姆,Vgsth = 1.1V =栅极阈值电压。

NDT3055 48c / 10 TO251带引线60V,12A,0.1 Ohm,Vgsth = 2V

RFD14N05 71c / 10 TO220 50V,14A,0.1 Ohm,2V Vgsth。


添加

适用于3V栅极驱动的MOSFET:

系统只是看不上我再回答:-(所以- MOSFET必须有不超过2V工作Vth时(阈值电压)正确地与3V3电源控制器。
建议FETS没有满足这个要求。
他们可以在一个时尚后工作当前的负载,但驱动不足,损耗太大,解决方案不能很好地扩展到更大的负载
,似乎相关尺寸范围内的IRF FETS的Vth(Vgsth)<= 2伏,除了IRF3708以外,所有的4位数字代码均以7开头。 。

OK FET包括IRFxxxx,其中xxxx = 3708 6607 7201 6321 7326 7342 7353 7403 7406 7416 7455 7463 7468 7470

会有其他人提出,但所有建议的似乎都具有Vth = 4V或5V,并且在该应用中几乎没有,甚至更差。

Vgsth或Vth必须至少比实际栅极驱动电压小一伏,理想情况下要小几伏。


是的,我正在寻找安全的方法,我将使用另一个mosfet。那和齐纳二极管应该可以解决问题。在我住的地方附近的电子商店中,他们没有您想要的mosfet,但它们确实有:IRF520,IRF530,IRL530,IRF540,IIRF730,IRF740,IRF830,IRF840,IRF9140,IRF9530,IRF9540,IRF9610,IRFBC620, IRFDD110,IRFD9120,IRFP50,IRFP054,IRFP140,IRFP150,IRFP450,IRFP520,IRFP9140,IRFZ44,IRFZ46。我想可以去买IRF520吗?连续漏极电流为6.5至9.2A。最小Vgs为2V,最大为4V,对于arduino来说还可以吗?
Dyte 2012年

IRF520非常适合Arduino驱动。最小Vgs和“最大Vgs”并不是您所想的,这是MOSFET开始导通的“阈值”电压。最大Vgs更高(Arduino将输出5v以上)。超过更高的额定值(20V?),您将破坏FET。
Bryan Boettcher 2012年

它可以使用IRF520 MOSFET和5.1 V齐纳二极管工作,这次可能会继续工作:)非常感谢您的帮助。所有的答案对我都有帮助,但是您详细介绍了齐纳二极管和特定类型的mosfet,所以我接受您的答案。
Dyte 2012年

@Russell McMahon:我的arduino输出的电压是(略低于)5V,而不是3V3。那不会改变情况吗?
Dyte 2012年

10

您的阀在12V时的额定电流为500mA。如果提供16V,它将消耗500mA以上的电流。假设它是一个电阻,它将消耗667mA电流。

您使用的MOSFET的绝对最大电流是500mA连续电流。超过绝对最大额定值的任何东西都可能损坏设备。这可能是您看到可靠性问题的原因。

MOSFET没有保证的故障模式,因此,以损坏Arduino输出的方式发生故障,我并不感到惊讶。

正如Jason在链接的答案中提到的那样,BS170是MOSFET的不佳选择。您需要一个更好的。在额定为几安培的TO-220外壳中选择一个。您还需要确保Vgs额定用于5V逻辑电平驱动器。

您正在使用哪个二极管?


嗨,马克,二极管我用的是一个1N4001:fairchildsemi.com/ds/BS/BS170.pdf
Dyte

5

您的阀的额定值为〜500 mA。BS170的额定电流也为500 mA,但这是销售数字。我会在这里使用(更高)额定值的FET,通过TO92的500mA电流使我感到紧张。而且您有一个1k的栅极电阻,这在大多数情况下是个好主意,但它可能会导致不良的FET切换速度太慢而无法承受0.5A的电流。

您正在使用什么二极管?它的额定电流必须为0.5A,因此1n4148不会起作用。我不确定,但是实际上它可能会超过0.5,因为该值的移动部分可能会导致比普通线圈更大的尖峰。

在您的图片中,您具有流经Arduino接地连接的返回电流值。我可以想象一下:将arduino地面直接连接到电源。或更好的方法:使用光耦将大电流电路与Arduino隔离(并使用两个独立的电源)。


我使用的二极管是1N4001。diodes.com/datasheets/ds28002.pdf我没有想到光耦合器。这是一个研究的好方案:)
Dyte 2012年

5

您的MOSFET上应该有一个栅极-源极电阻器,以便在Arduino输出为高阻抗时栅极不会浮空。由于螺线管电源和Arduino电源是分开的,因此可能会发生这种情况(除非您通过设计保证Arduino始终处于第一位。)

MOSFET实际上离螺线管这么远吗?如果是这样,则应将其移近些。移动它,使漏极直接插入原型板条,红色线连接到螺线管和二极管。然后将短电源连接到GND板。最好有一个较长的栅极信号环路(在低功率时),而不是一个较长的承载功率的环路。您也可以将Arduino移近电磁阀,使所有这些循环保持较短。


栅极-源极电阻器是指MOSFET栅极与源极之间的电阻器吗?抱歉,这是一个愚蠢的问题:)。您建议什么价值?关于距离,不,所有组件都彼此靠近,我将此电路焊接在自蚀刻PCB上。仅连接到arduino的电线更长。不过,我不得不说,我不知道这有什么不同。我认为电流行进几厘米的时间差异可以忽略不计。
Dyte 2012年

@Dyte是的,栅极和源极之间的电阻。
亚当·劳伦斯

@Dyte,我想一个10k的栅源电阻就可以了。目的只是确保MOSFET的栅极不会浮空。您需要一个足够低的东西来抵御寄生电路元件,但是又要足够高的东西来使Arduino输出可以在需要打开MOSFET时“赢得”。
ajs410 2012年

3

如果Arduino开发板与+16电源的负极端子之间唯一的接地连接是短蓝线,则所示电路看起来不错。另一方面,意外的短路可能会导致不良情况发生。如果不查看实际有问题的电路板的布局,就很难确切猜测可能发生了什么。

如果您按MOSFET的规格要求,它很容易以将+16送出栅极的方式失败,但是如果电阻如图所示,我希望Arduino应该受到很好的保护。


1

首先,在使用电动机或线圈时,您需要超快速开关二极管,而不是这些便宜的2n4001-4二极管。切换速度越快,创建的BEMF越大。还应使用914开关二极管从arduino连接到mosfet栅极,并使用从栅极到地的10k下拉电阻。

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.