为什么我的P沟道MOSFET在该H桥中不断消失?


9

因此,这就是我的H桥: 在此处输入图片说明 每次在一个方向上开始使用它时,属于使用方向的P沟道MOSFET和NPN BJT就会在几秒钟内消失。被杀死的MOSFET和BJT发生短路,因此我不能再使用其他方向了。他们死了没有明显的热量或烟雾!
该控制器是一个典型的控制器,仅N沟道MOSFET由PWM信号驱动,P沟道连接至简单的数字输出引脚。数字引脚9和10的默认PWM频率为490Hz(每个PWM输出都是单独的)。我已经杀死了4-5个P沟道MOSFET + BJT对,这可能会在两侧发生。(这取决于我首先使用哪个方向。)电动机是12V汽车雨刮器直流电动机,电源是12V 5A。已连接12V和5V电源接地。

有两件事可能是正确的,但是由于我没有进行全面测试,因此我不确定100%:

  • 在以前的版本中,我为R7和R8使用了1k电阻,但没有任何问题。我将再次尝试,但现在我在P沟道MOSFET上的电量不足。
  • 当我切掉油炸的MOSFET + BJT对时,我可以使用其他方向,而不会杀死其余的MOSFET + BJT对。

请帮助我,这是怎么回事:)

  • 我是否应该在NPN BJT和P沟道MOSFET之间使用电阻?
  • 我应该使用2n7000 MOSFET代替2N2222 BJT吗?

更新:我刚刚用12V 55W灯泡而不是刮水器电动机测试了H桥。在测试期间,P-FET和NPN被杀死。N通道侧由40%PWM信号驱动。没有负载,它没有任何问题。

UPDATE2:我将R7和R8从150R改回了1k。现在,网桥可以再次正常工作,而没有任何组件出现故障。(我已经运行了好几天,但是使用150R电阻器仅能恢复故障几秒钟。)我将按照Brian的建议在GND和+ 12V之间的电桥上添加一些去耦电容器。感谢大家的回答!


您是否排除了编程错误?当您手动控制H桥时,它仍然会消失吗?
rve

我试图排除它。我没有手动尝试,但是我使用较小的电源进行了很多测试,而没有任何负载连接到H桥。下次,我将尝试手动控制网桥。
gOldie_E36 '16

1
为了进行测试并减少杀死另一只mosfet的机会,请尝试用更小的马达替换马达。像是一对LED灯,或小型玩具马达之类的东西。
路人

Answers:


11

您如何去耦12V电源?

一种可能的故障模式是关闭电动机电流(即以PWM速率)产生的感应尖峰通过反激二极管倾倒到12V电源中。是的,这应该发生,但是...

如果未解耦12V电源,并且是从PSU而不是可充电电池获得的,或者是通过长(感应)电缆获得的,则它实际上不是12V电源,而是暂时被驱动到该感应尖峰电压。这可能远高于MOSFET的额定值...

用快速示波器监视12V电源。如果它显示出过电压尖峰的迹象,请增加其去耦,直到没有。(应该包括用于低HF阻抗的0.1uF陶瓷电容器以及一个电解储能电容器。以防万一,可能还需要一个16V或25V的齐纳二极管。)

我不知道这是您的实际问题,但这是您必须涵盖的基础。


1
这是最合理的解释。这样的尖峰很容易超过IRF4905的20V绝对最大Vgs规格。然后,由此产生的栅极至源极短路将使大电流流经NPN驱动器,并将其损坏。
Dave Tweed

好点,我没有使用任何去耦。我有一个便宜的20Mhz示波器,我将尝试监控电源。我有一些陶瓷电容器和电解电容器,所以我可以连接它们。我没有齐纳管。(我会买一些。)
gOldie_E36 '16

暂缓齐纳二极管;在汽车应用中,16V齐纳二极管将是不够的,因为其他所有因素都会增加电源(在充电时,无论如何它都会危险地接近16V)。而且,如果这些FET确实是20V Vg,它们将不会在汽车中持续很长时间,尽管在(去耦的)12V实验室PSU上可以使用。
Brian Drummond

电动机是从汽车上来的,但我计划将其与12V“实验室”电源一起使用(实际上,这是一种廉价的中国交流到直流开关PSU)。
gOldie_E36 '16

1
我之所以没有添加电容器,是因为我很好奇同一电路会发生什么,但是灯泡会产生电感性负载。它的行为仍然相同。
gOldie_E36 '16

6

R1 R2对于除了最小的不存在的MOSFET以外的所有晶体管来说都太大了,这意味着它们的开启速度比开启的速度要慢得多,这意味着即使您认为您已经包括了一些合理的死区时间,您仍然可以通过吃fets。我使用一个额外的晶体管来快速关闭,这是值得的。


我在改变方向之间使用了100ms的死区时间,但在最后一次尝试中,我根本没有改变方向。(以排除在改变方向时射穿的可能性。)无论如何,晶体管都炸了。您推荐R1和R2使用什么尺寸的电阻?我应该如何连接多余的晶体管以使其关断?
gOldie_E36 '16

5

顶部P沟道MOSFET之一处于活动状态-这确定了方向。当将PWM应用于两个N沟道MOSFET(在电路中暗示)时,H桥的一半会产生直通。

必须NOT应用PWM两者N个信道的设备-仅将其应用到右下角当顶部左P沟道器件被激活时,或者当右上方P沟道器件被激活时只把它应用到左下方。

编辑-同样,您的P沟道MOSFET颠倒了。


1
下次,使用限流电源对其进行测试,这样,如果由于某种原因出现错误,至少您的晶体管不会损坏自己。
Bimpelrekkie

我不能同时将PWM应用于两个N通道。一次只能一次。我可以第一次使用两个方向,但是在操作过程中,属于所使用方向的P沟道MOSFET和BJT裸片。
gOldie_E36 '16

没有直通发生,在最后几次中,我使用了与电源串联的12V 55W灯泡。因此,我可以检测直通(灯泡变亮),同时可以保护MOSFET免受直通情况的影响。问题在于晶体管在正常操作期间会死亡。
gOldie_E36 '16

@ gOldie_E36如果是的话,为什么这么说“用PWM信号驱动N沟道MOSFET”,为什么在两个N沟道MOSFET上的图表中都显示“ PWM”作为名称?另外,您的P沟道MOSFET颠倒了。
安迪(aka Andy)

1
只有您提供准确的信息,人们才能为您提供帮助。如果您提供错误的信息,则会浪费人们的时间。给定发生了什么事,谁能相信您的组件的物理放置比图表更准确?
安迪(aka Andy)

3

对我而言突出的一件事是,FET上缺少反激二极管。由于您的电动机是电感性负载,因此当电流发生变化(电感器中的V = L dI / dT)时,它很容易在FET两端产生高压。这些电压很容易超过FET中源漏连接的击穿额定值。

为了解决这个问题,通常将一个二极管与结并联放置,以保持如下电压:

H桥二极管

(图片来自:http : //www.modularcircuits.com/blog/articles/h-bridge-secrets/mosfets-and-catch-diodes/

这会“钳位” FET两端的电压。


抱歉,这很糟糕。我从图片中忘了它。源极和漏极之间的每个MOSFET都有反激二极管。1N4007二极管的方向正确。我将更新图片。我已经测试并更换了P沟道MOSFET上的二极管,但情况相同。:(
gOldie_E36 '16

MOSFET具有内置二极管,通常就足够了。1N4007是低频整流二极管,不适用于快速开关。如果使用外部二极管,则应为肖特基型。
Bruce Abbott

那么MOSFE根本不需要反激二极管吗?我只使用〜490Hz,这对于1N4007二极管来说太快了吗?
gOldie_E36 '16

1

@Autistic对R1和R2是正确的-这种安排将导致P脚上的开关时间非常慢。您可以考虑使用专用的P Fet驱动器电荷泵来代替BJT + Pullup。

一些健康检查

您可以检查行驶信号吗?哪个FET导通或关断非常重要。

forward: 
p1 on    p2 off 
n1 off   n2 on

backwards: 
p1 off    p2 on 
n1 on     n2 off

brake: 
p1 off    p2 off
n1 on     n2 on

尝试以下方法:

  • 停止任何PWM
  • 断开任何负载
  • 从您的代码驱动为:p1在n1上关闭,等待500ms,p1在n1上关闭100ms(死时间),p1在n1上关闭500ms,p1在n1上关闭100 ms(死时间)并重复。这样会产生易于调试的测试信号。
  • 现在,h桥的p1 n1输出应从GND正确切换到12V。使用示波器进行测试,或者也可以使用灯泡。将灯泡连接到GND和p1 n1输出之间-它应闪烁,以便p1良好。将其连接到12V和p1 n1输出-它应该闪烁,因此n1良好。
  • 如果您有示波器,请验证p1和n1是否没有交叉导通。检查此信号,您​​将在100ms的死区时间内看不到干净的GND,干净的12V和一些浮动的GND以外的任何值。
  • 如果没有作用域,则可以设置很大的停滞时间,例如500ms-不会造成伤害:),但是可以节省您的Pet。
  • 现在连接电动机而不是灯泡,它会像灯泡一样运转和减速/停止。这验证了脚是否还可以。

问题

  • 对上面的PWM布置要非常谨慎。您可以非常轻松地炒锅。您可以在切换N侧时打开P侧,因此会短路(更大或更小-根据电源的质量,短路可能会持续20%PWM)。

通常,微控制器具有带死区控制的专用4输出PWM驱动器。4个PWM信号可以驱动4个FET,并且这些信号被同步和反相,并且还考虑了死区时间。有关更多信息,请参见PIC微控制器的PWM。http://www.ermicro.com/blog/wp-content/uploads/2009/01/picpwm_03.jpg

由于Arduino不是为此目的而构建的,因此您可能希望使用一些基本逻辑来产生正确的PWM信号。目的是确保n1和p1以及n2和p2始终被互补驱动。您可以通过使用更多BJT来获得它:http : //letsmakerobots.com/files/YG_H-Bridge1.jpg然后,您有了两个可以进行PWM驱动的引脚。

您可能宁愿使用一些逻辑门,例如:https : //e2e.ti.com/blogs_/b/motordrivecontrol/archive/2012/03/26/so-which-pwm-technique-is-best-part-2然后您将获得一个干净的正向/反向,再加上一个PWM引脚来驱动速度。

本文可能值得检查:http : //www.modularcircuits.com/blog/articles/h-bridge-secrets/h-bridge_drivers/


感谢您的回答。这部分对我来说仍然不清楚:“不要尝试上面的PWM设置。这是错误的。切换N端时无法控制P端,因此会短路。” 如果我不使用PWM切换P侧,而仅切换N侧,并且在改变方向之间使用较大的停滞时间,这仍然有效吗?如果是这样,怎么办?
gOldie_E36 '16

1
抱歉,我对此严格。有多种驱动PWM的方法。标准方法是从一个互补PWM输出驱动P1 N2,并从另一对互补PWM输出驱动P2 N1,这样您就需要4个pwm输出来正确驱动所有器件。如果您非常谨慎,并且不需要制动电动机,则您的解决方案可能会起作用。例如,p1接通,n1断开,p2断开,n2 PWM是有效的配置-尽管您不能制动电动机,但最终电动机速度将取决于PWM加上机械负载。(如果在PWM期间n2处于关闭状态,则电动机上没有驱动电压。)
Gee Bee

我改了我的答案。如果这不是一项繁重的工作,我建议您使用现成的H桥控制器或带有外部FET的H桥控制器。
吉蜜蜂

0

将PWM应用于右下N-FET时,您确定要打开左上P-FET吗?

您应该仔细检查您的P-FET方向。似乎P-FET向后,并且当P-FET体二极管导通时,您会消耗过多的功率。在故障条件下测量P-FET两端的电压。如果在2N2222接通时在FET两端看到约0.6 V,则P-FET反向。在故障情况下,还要检查P-FET的栅极电压,以确保其电压低于0.2V。

如果从电路中拆下电动机,是否仍能看到故障电流?


嗨,谢谢您的回答。我将再次检查方向。问题在于,在复制过程中我什么也做不了,导致杀死MOSFET只需几秒钟(无声,无过多热量)。当然,这要花我一个MOSFET :)尽管没有电动机,但只有1A的电源,我还是做了很多测量。如果我打开P-FET,则漏源两端的电压很小(约为0.01 V)。我将在晚上使用5A电源且无感性负载(电动机)的情况下重新测试电路。我打算只使用灯泡。
gOldie_E36 '16

尝试不打开P-FET(不要驱动2N2222),看看在对N-FET进行PWM时是否达到电流限制。如果是这样,则P-FET体二极管导通。另外,尝试用100欧姆电阻器代替电动机负载,并在电源和电路之间放置一个10欧姆左右的电阻器。如果N-FET将P-FET体二极管接地短路,则将限制电流。电阻器还使您有时间在过热之前进行一些测量。
user2661956

测试的好主意,谢谢。我已经在PSU和H桥之间使用电阻器进行保护。
gOldie_E36 '16
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.