Por que meus MOSFETs de canal P continuam morrendo nesta ponte H?

9

Portanto, esta é minha ponte H: insira a descrição da imagem aqui Toda vez que começo a usá-la em uma direção, o MOSFET do canal P e o NPN BJT, que pertencem à direção usada, morrem em segundos. O MOSFET morto e o BJT desenvolvendo um curto-circuito para que eu não possa mais usar a outra direção. Eles morrem sem calor ou fumaça perceptíveis!
O controlador é um arduino uno e apenas os MOSFETs de canal N são acionados com sinal PWM, os canais P são conectados a pinos de saída digital simples. A frequência PWM é o padrão 490Hz para os pinos digitais 9 e 10(cada saída PWM é individual). Eu já matei 4-5 pares de MOSFET + BJT de canal P, isso poderia acontecer nos dois lados. (Depende da direção que eu uso primeiro.) O motor é um motor DC de limpador de para-brisa de carro de 12V, a fonte de alimentação é 12V 5A. Os aterramentos de fonte de alimentação de 12V e 5V estão conectados.

Há duas coisas que podem ser verdadeiras, mas não tenho 100% de certeza, pois não a testei completamente:

  • na versão anterior, eu estava usando resistores de 1k para R7 e R8 e não tive problemas. Vou tentar novamente, mas agora estou com pouco MOSFETs de canal P ..
  • quando recorto o par MOSFET + BJT frito, posso usar a outra direção sem matar o par MOSFET + BJT restante.

Por favor me ajude, o que está acontecendo aqui :)

  • Devo usar um resistor entre o NPN BJT e o MOSFET do canal P?
  • Devo usar um MOSFET 2n7000 em vez do 2N2222 BJT?

ATUALIZAÇÃO: Acabei de testar a ponte H com uma lâmpada de 12V 55W em vez do motor do limpador. O P-FET e o NPN foram mortos durante o teste. O lado do canal N foi acionado com um sinal PWM de 40%. Sem carga, não havia nenhum problema.

UPDATE2: Eu mudei de volta R7 e R8 para 1k de 150R. Agora a ponte está funcionando novamente sem nenhum componente falhando. (Não funcionava por dias, mas com os resistores 150R a reprodução da falha levou apenas alguns segundos.) Adicionarei alguns capacitores de desacoplamento na ponte entre o GND e + 12V, como Brian sugeriu. Obrigado pelas respostas a todos!

gOldie_E36
fonte
Você descartou um erro de programação? Ainda morre quando você controla manualmente sua ponte H?
Rve 8/16
Eu tentei descartar isso. Não tentei manualmente, mas estava fazendo muitos testes com uma fonte de alimentação menor sem nenhuma carga conectada à ponte H. Vou tentar controlar manualmente a ponte da próxima vez.
precisa saber é o seguinte
11
Para testar e reduzir a chance de matar outro mosfet, tente substituir o seu motor por algo muito menor. Como um par de leds, ou um pequeno motor de brinquedo ou algo assim.
218688 Passerby

Respostas:

11

Como você está dissociando a fonte de 12V?

Um possível modo de falha é que os picos indutivos ao desligar a corrente do motor (ou seja, na taxa PWM) são despejados na fonte de 12V através dos diodos de retorno. Sim, isso deveria acontecer, mas ...

Se a fonte de 12V não for dissociada e for proveniente de uma PSU, não de uma bateria recarregável ou for fornecida por um cabo longo (indutivo), na verdade não é uma fonte de 12V, mas momentaneamente direcionada para a tensão indutiva do pico. O que poderia estar bem acima das classificações do MOSFET ...

Monitore a fonte de 12V com um osciloscópio rápido. Se mostrar sinais de picos de sobretensão, aumente o desacoplamento até que não aconteça. (Isso deve incluir capacitores de cerâmica de 0,1uF para baixa impedância de alta frequência, bem como um capacitor de reservatório eletrolítico. E, possivelmente, um diodo zener de 16V ou 25V, apenas no caso ...).

Não sei se esse é o seu problema real, mas é uma base que você DEVE cobrir.

Brian Drummond
fonte
11
Essa é a explicação mais plausível. Tal pico poderia facilmente exceder a especificação máxima absoluta de 20V Vgs do IRF4905. O curto entre a porta e a fonte resultante permitiria que uma grande corrente flua através do driver NPN, destruindo-a também.
Dave Tweed
Bom ponto, não estou usando nenhuma dissociação. Eu tenho um osciloscópio barato de 20Mhz, tentarei monitorar o suprimento. Tenho capacitores cerâmicos e também eletrolíticos para conectá-los. Eu não tenho zeners embora. (Vou conseguir alguma coisa.)
gOldie_E36
Aguarde os zeners; em aplicativos automotivos, os zeners de 16V não serão suficientes por causa de tudo o que pode aumentar o suprimento (durante o carregamento, será perigosamente perto de 16V). E se esses FETs forem realmente 20V Vgs, eles não durarão muito tempo em um carro, embora funcionem bem em um PSU de laboratório de 12V (dissociado).
Brian Drummond
O motor é proveniente de um carro, mas pretendo usá-lo com uma fonte de "laboratório" de 12V (na verdade, é uma fonte de alimentação barata de CA para CC da China).
22416 Ghldie_E36 8/16
11
Ainda não adicionei os capacitores porque estava curioso para saber o que acontecerá com o mesmo circuito, mas com a carga indutiva com uma lâmpada. Ainda se comporta da mesma maneira.
precisa saber é o seguinte
6

O R1 R2 é muito grande para todos, exceto os menores mosfets inexistentes. Isso significa que eles estão girando muito mais lentamente do que estão ativados. Isso significa que, mesmo que você ache que incluiu algum tempo sensível, ainda será capaz de disparar e comer fets.Eu uso um transistor extra para fazer um desligamento rápido, vale a pena.

Autista
fonte
Eu estava usando 100ms de tempo morto entre a mudança de direção, mas na última tentativa não mudei de direção. (Para descartar a possibilidade de disparar em direções diferentes.) E os transistores fritaram de qualquer maneira. Qual o tamanho dos resistores que você recomenda para R1 e R2? E como devo conectar os transistores extras para desligar?
58516 Ghldie_E36
5

Um dos MOSFETs do canal P superior está ativo - isso determina a direção. Quando você aplica PWM a ambos os MOSFETs do canal N (como está implícito no seu circuito), você obtém disparos em uma metade da ponte H.

Você NÃO deve aplicar o PWM aos dispositivos de ambos os canais N - apenas aplique na parte inferior direita quando o dispositivo do canal P superior esquerdo estiver ativado OU somente na parte inferior esquerda quando o dispositivo do canal P superior direito estiver ativado.

EDIT - também, os MOSFETs do seu canal P estão de cabeça para baixo.

Andy aka
fonte
11
E da próxima vez, teste-o com uma fonte de alimentação limitada atual para que, por algum motivo, você tenha um erro, pelo menos seus transistores não se destruam.
Bimpelrekkie 8/03/16
Não aplico o PWM aos dois canais N ao mesmo tempo. Apenas um de cada vez. Posso usar ambas as direções pela primeira vez, mas durante a operação o MOSFET do canal P e o BJT que pertencem à matriz de direção usada.
58516 Ghldie_E36 8/16 '10
Não está acontecendo nenhum disparo, e nas últimas duas vezes eu estava usando uma lâmpada de 12V 55W em série com a fonte de alimentação. Para que eu possa detectar o disparo direto (a lâmpada fica brilhante) e, ao mesmo tempo, posso proteger meus MOSFETs da situação de disparo direto. O problema é que os transistores morrem durante a operação normal.
58516 Ghldie_E36
@ gOldie_E36, em caso afirmativo, por que você disse que "os MOSFETs de canal N são acionados com sinal PWM" e por que seu diagrama mostra "PWM" como um nome nos dois MOSFETs de canal N? Além disso, os MOSFETs do seu canal P estão de cabeça para baixo.
Andy aka
11
As pessoas só podem ajudá-lo se você fornecer informações precisas. Se você fornecer informações ruins, perde tempo das pessoas. Dado o que aconteceu, como alguém pode confiar que sua localização física dos componentes é mais precisa do que seus diagramas?
Andy aka
3

Uma coisa que me destaca é a falta de diodos de retorno em seus FETs. Como o seu motor é uma carga indutiva, ele pode facilmente gerar altas tensões nos FETs quando houver uma alteração na corrente (V = L dI / dT em um indutor). Essas tensões podem facilmente exceder a classificação de quebra da junção fonte-dreno em seus FETs.

Para resolver isso, um diodo é normalmente colocado em paralelo com a junção para manter a tensão sob controle da seguinte maneira:

Diodos ponte H

(Imagem de: http://www.modularcircuits.com/blog/articles/h-bridge-secrets/mosfets-and-catch-diodes/ )

Isso "prende" a tensão no FET.

user2036607
fonte
Ah, desculpe, é ruim. Eu esqueço isso da imagem. Existem diodos flyback para cada um dos MOSFETs entre a fonte e o dreno. 1N4007 diodos apontando na direção certa. Vou atualizar a imagem. Eu já testei e substitui os diodos nos MOSFETs do canal P, mas a situação é a mesma. :(
gOldie_E36
Os MOSFETs possuem diodos internos que geralmente são suficientes. O 1N4007 é um diodo retificador de baixa frequência não adequado para comutação rápida. Se você usar diodos externos, eles devem ser do tipo Schottky.
Bruce Abbott
Portanto, os MOSFEts não precisam de diodos flyback? Eu só estou usando ~ 490Hz, isso é muito rápido para os diodos 1N4007?
58516 Ghldie_E36
1

A @Autistic está certa sobre R1 e R2 - esse arranjo levará a tempos de troca muito lentos nos fets P. Você pode considerar o uso de uma bomba de carga de driver P Fet dedicada, em vez do BJT + Pullup.

Algumas verificações de sanidade

Você pode verificar os sinais de direção? É muito importante que o FET esteja ativado ou desativado.

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

Tente o seguinte:

  • interrompa qualquer PWM
  • desconecte qualquer carga
  • dirija a partir do seu código como: p1 ligado n1 desligado, aguarde 500ms, p1 desligado n1 desligado 100ms (tempo morto), p1 desligado n1 ligado 500ms, p1 desligado n1 desligado 100 ms (tempo morto) e repita. Isso produz um sinal de teste que é fácil de depurar.
  • agora a saída p1 n1 da ponte h deve mudar de GND para 12V. Use um escopo para testá-lo, ou você também pode usar uma pequena lâmpada. Conecte a lâmpada entre GND e a saída p1 n1 - ela piscará para que p1 seja boa. Conecte-o às saídas de 12V e p1 n1 - ele piscará para que n1 seja bom.
  • se você tiver um escopo, verifique se p1 e n1 não são condutores cruzados. Ao verificar este sinal, você não verá nenhum outro valor além de GND limpo, 12V limpo e algum GND flutuante no tempo morto de 100 ms.
  • se você não tem escopo, pode definir um tempo morto bastante grande, por exemplo, 500ms - não pode doer :), mas pode salvar seu P fet.
  • agora conecte seu motor em vez da lâmpada, ela deve funcionar e diminuir / parar como a lâmpada. Isso verifica se os animais estão bem.

O problema

  • Seja muito cauteloso com o arranjo PWM acima. Você pode facilmente fritar seus animais. Você pode ligar o lado P enquanto alterna o lado N, portanto, produz shorts (menores ou maiores) - ele pode sobreviver com 20% de PWM, dependendo da qualidade da sua fonte de energia).

Normalmente, os microcontroladores possuem um driver PWM de 4 saídas dedicado com controle de banda morta. Os 4 sinais PWM podem acionar os 4 fets, e esses sinais são sincronizados e invertidos, mais o tempo morto é levado em consideração. Consulte o PWM dos microcontroladores PIC para obter mais informações. http://www.ermicro.com/blog/wp-content/uploads/2009/01/picpwm_03.jpg

Como o Arduino não foi construído para esse fim, convém usar alguma lógica básica para produzir os sinais PWM corretos. O objetivo é garantir que n1 e p1 sejam sempre conduzidos complementares, bem como n2 e p2. Você pode obtê-lo usando mais BJTs: http://letsmakerobots.com/files/YG_H-Bridge1.jpg Em seguida, você tem os dois pinos que podem ser acionados pelo PWM.

Você pode usar algumas portas lógicas, como esta: https://e2e.ti.com/blogs_/b/motordrivecontrol/archive/2012/03/26/so-which-pwm-technique-is-best-part-2 e então você tem um avanço / retrocesso limpo, mais um pino PWM que aumenta a velocidade.

Vale a pena conferir este artigo: http://www.modularcircuits.com/blog/articles/h-bridge-secrets/h-bridge_drivers/

Gee Bee
fonte
Obrigado pela resposta. Esta parte ainda não está clara para mim: "NÃO tente o arranjo PWM acima. Está errado. Você não pode controlar o lado P enquanto estiver trocando o lado N; portanto, você faz shorts." Isso ainda é válido se eu não estiver alternando o lado P com o PWM, apenas o lado N, e se eu usar um grande tempo morto entre as mudanças de direção? Se sim, como?
22416 Ghldie_E36 12/16
11
Desculpe, eu era rigoroso nisso. Existem várias maneiras de conduzir o PWM. A maneira padrão é acionar P1 N2 a partir de uma saída PWM complementar e acionar P2 N1 a partir de outro par de saída PWM complementar, dessa forma você precisa de 4 saídas pwm controlando tudo corretamente. Sua solução pode funcionar, se você for muito cauteloso e não precisar travar o motor. Por exemplo, p1 on, n1 off, p2 off, n2 PWM é um arranjo válido - embora você não possa travar o motor, e a velocidade final do motor dependerá do PWM mais da carga mecânica. (Se n2 estiver desligado durante o PWM, não haverá tensão no inversor.)
Gee Bee
Eu reformulei minha resposta. Se não for uma tarefa educacional, sugiro usar um controlador H-bridge pronto ou um H-bridge com FETs externos.
Gee Bee
0

Tem certeza de que está alternando no P-FET superior esquerdo quando aplica o PWM no N-FET inferior direito?

Você deve verificar sua orientação P-FET. Parece que o P-FET está ao contrário e você está recebendo uma dissipação excessiva de energia quando o diodo corporal do P-FET é conduzido. Meça a tensão no P-FET sob as condições de falha. Se você vir cerca de 0,6 V no FET quando o 2N2222 estiver ligado, o P-FET será revertido. Verifique também a tensão da porta P-FET durante a condição de falha para garantir que esteja vendo menos de 0,2 V.

Você ainda vê a corrente de falha se remover o motor do circuito?

user2661956
fonte
Oi, obrigado pela sua resposta. Vou verificar a orientação novamente. O problema é que não posso fazer nada durante a reprodução, pois leva apenas alguns segundos para matar o MOSFET (silenciosamente, sem calor excessivo). E é claro que me custa um MOSFET :) Sem o motor e com uma fonte de alimentação 1A, fiz muitas medições. Se eu ligar o P-FET, a tensão na fonte de drenagem é mínima (algo como 0,01 V). Vou testar novamente o circuito à noite com a fonte de alimentação 5A e sem a carga indutiva (motor). Estou planejando usar apenas uma lâmpada.
precisa saber é o seguinte
Tente não ligar o P-FET (não dirija o 2N2222) e veja se você atingiu o limite atual ao fazer o PWM do N-FET. Nesse caso, o diodo do corpo P-FET está conduzindo. Tente também substituir a carga do seu motor por um resistor de 100 ohm E coloque um resistor de 10 ohm entre a fonte de alimentação e o seu circuito. Você limitará a corrente se o N-FET estiver fazendo um curto-circuito no diodo do corpo do P-FET. Os resistores também lhe darão tempo para fazer algumas medições antes de superaquecer.
user2661956
Boas ideias para testar, obrigado. Eu já estava usando um resistor entre a PSU e a ponte H para proteção.
gOldie_E36