Controlador de Motor PWM de Alta Tensão - Mosfets Explode


12

Procurei em todas as postagens uma resposta para esse problema. Eu construí um circuito controlador de motor como mostrado neste diagrama. Eu fiz o diagrama o mais preciso possível. Os diodos nos mosfets foram adicionados para que o símbolo mosfet se parecesse com o símbolo na folha de dados. Como você pode ver, é um circuito PWM muito simples usando uma placa UNO do Arduino. Um pedal de potenciômetro é acoplado a uma das entradas analógicas e é usado para determinar o ciclo de trabalho da saída pwm no pino de saída digital 6.Ligação de circuito

O motor é o menor motor de 48v desse tipo que a energia motriz produz, mas esse é um motor muito grande comparado a outros circuitos que eu já vi assim. Ele pode facilmente puxar cerca de 200 Amperes na inicialização.

O circuito funciona - quando o veículo é levantado para que as rodas não toquem o chão. Nesse estado, é muito fácil para o motor girar e não consome tanta corrente. Quando as rodas estão no chão, os mosfets explodem no momento em que você começa a pressionar o pedal. Eu construí este circuito cerca de 4 vezes agora. Eu até usei 18 mosfets em paralelo em uma versão, e todos os 18 explodiram instantaneamente. (200/18 = cerca de 7 A / mosfet) Cada mosfet deve lidar com 32 A.

Finalmente compramos um controlador de motor da alltrax e o veículo funciona bem, mas estou determinado a descobrir por que meu próprio controlador de motor não funcionou. Eu amo eletrônica, e construí muitos circuitos difíceis ao longo dos anos. Não poderei dormir bem até descobrir o que estou fazendo de errado.

Conversei com um técnico da Alltrax, e ele disse que os controladores não são mais que um monte de mosfets e capacitores. Ele disse que os capacitores impediram que os mosfets explodissem, mas ele não tinha idéia de como eles estavam conectados ao circuito. Eu acho que ele tem um pedaço da minha informação perdida.

Então, alguém pode me dizer o que estou fazendo de errado? Como devo adicionar capacitores para corrigir isso? Poderia ser a frequência? Nós modificamos o temporizador no Arduino para que nossa frequência PWM fosse em torno de 8000 Hertz, mas o controlador Alltrax funciona em 18.000 Hertz. Eu sei que 18k é pequeno como os controladores de motores, mas pensei que um motor gigante gostaria de uma frequência menor.

Além disso, antes que você diga que os mosfets não podem ser conectados em paralelo por causa de pequenas diferenças entre eles, usei exatamente 7 polegadas de fio de calibre 18 para conectar cada um em paralelo. O fio pequeno atuaria como um pequeno resistor e garantiria que cada um compartilhasse a carga atual.

Muito obrigado pelas suas respostas.


2
Você continua falando sobre algum controlador Alltrax, mas ele não é visível no esquema.
Harry Svensson

1
O número da peça dos MOSFETs no esquema é preciso / correto?
ThreePhaseEel

2
Eu realmente não sou especialista - mas tenho um mau pressentimento com base em alguma experiência. Esse motor é avaliado em 13 cavalos de potência. Você está tentando seriamente controlá-lo com um Arduino, 3 FETs e 2 resistores? Considere o que um controlador industrial custaria para conseguir o mesmo - de forma segura ...
Paul Uszak

3
Qual diodo você está usando no motor - é melhor que seja grande.
Andy aka

1
13 hp / 48 V = 210 A. Uau, isso é muita corrente. Eu acho que 500 amperes quando o motor pára? Você pode escrever um livro sobre diodos flyback e amortecedores para uma corrente tão alta.
Oskar Skog

Respostas:


29

Aqui está a folha de dados que deve ser vinculada à sua pergunta. Eu não deveria ter que procurar por isso.

Cada mosfet deve suportar 32 Amps

VGS=10


VGS5V×R2R1+R2=4.54VR1R2

VGS=10VRDS(on)

P=I2×R=(32A)2×0.035Ω=35.84W , isso significa que ~ 36W é a dissipação de energia esperada quandoVGS=10V

Com , o ativado é de no máximo 45mΩ, de acordo com a folha de dados.VGS=5VRDS(on)

35.84W=I2×0.045Ω e, se movermos o I, obtemos: , para que você possa esperar deixar 28A com segurança através do MOSFET SE você fixa os valores do resistor. Você definitivamente deveria ter um dissipador de calor para os MOSFETS. Talvez até resfriamento ativo com um ventilador.I=35.840.045=28.2A

Nós modificamos o temporizador no Arduino para que nossa frequência PWM fosse em torno de 8000 Hertz

Você não precisa dessa alta, 800Hz seria aceitável, é nisso que os drivers BLDC comuns (ESC) alternam. (Se não estou errado).


O que você está tentando fazer é carregar uma porta com um resistor em série, ela se parece com a imagem abaixo e podemos usar esse modelo para outras equações.

A capacitância do gate ( ) tem um valor máximo deCiss1040pF

Os resistores e o MOSFET estão formando este circuito:

Circuito RC

C=Ciss×3=3120pF porque você tem 3 em paralelo.

R=R1||R2=909Ω

Vs=4.54V

A tensão sobre o capacitor segue esta equação: que é a tensão no capacitor e é o que você está alimentando, em nosso caso é .

Vc=Ve×(1etRC)
VcVeVs=4.54V

Você está enviando PWMs e eu criarei o pior cenário possível para você. É quando você está tentando fazer analogWrite (1) , esse é um ciclo de trabalho de . Portanto, o tempo em que seu sinal começa a subir alto até terminar com esse ciclo de serviço e 8kHz é 488,3 nanossegundos.12561256×18000=

Vamos inserir os números na equação acima para ver qual será a tensão no portão.

Vc=4.54V×(1e488.3×109(909)×(3120×1012))=0.71V

O MOSFET começa a abrir no mínimo 1V e no máximo 2,5V. Portanto, nesse pior cenário, você não pode nem abrir o portão. Então foi fechado o tempo todo.


Outra coisa que eu realmente preciso ressaltar que é a razão mais provável pela qual seus MOSFETS estão quebrando é porque, quando você muda, você o faz devagar, por causa dos resistores gigantes e com tantas capacitâncias de porta. Isso significa que, quando os MOSFETs estão prestes a mudar, eles passam muita corrente enquanto têm muita tensão sobre eles. E => realmente muito muito calor.P=I×V

Veja esta imagem:

perdas de comutação

Como você pode entender, você não quer estar onde a linha azul e a linha vermelha se cruzam. E a largura dessa transição é a mesma, independentemente da frequência de comutação; portanto, quanto mais você alterna, mais tempo é gasto nessa transição dolorosa. É chamado de perdas de comutação. E escala linearmente com a frequência de comutação. E seus altos resistores, alta capacitância, comutação de alta freqüência, provavelmente faz você ficar nessa fase de transição todo o tempo. E isso é igual a explosões ou quebrar MOSFETS.


Realmente não tenho tempo para fazer mais cálculos, mas acredito que você entenda bem. Aqui está um link para um esquema, se você quiser brincar. Qual você deveria! .


Meu conselho final para você é conseguir um driver MOSFET para que você possa bombear vários AMPS no portão, agora você está bombeando miliamperes.


Btw Doctor Circuit, em relação ao seu último parágrafo, isso é apenas um problema com os transistores BJT, eles fornecem mais corrente quanto mais quente eles são, mas os MOSFET fornecem menos corrente quanto mais quente eles são, então eles não precisam de nenhum tipo especial de balanceamento. equilibrar automaticamente.


CONTINUAÇÃO, tempo de subida e queda.

Eu fui bastante mesquinho no exemplo acima, comutação de 8kHz e 1/256 de ciclo de serviço. Serei mais gentil e analisarei o ciclo de trabalho de 50% = 128/256. Quero saber e dizer quanto tempo você está em sua dolorosa transição.

Então, nós temos os seguintes parâmetros relevantes para a transição dolorosa :

td(on) = Turn-On Delay Time = Turn-On Tempo de ascensão = retardo de desligamento Tempo = turn-off Tempo de queda
tr
td(off)
tf

Farei algumas aproximações desagradáveis, assumirei que o platô miller não existe, assumirei que a tensão no MOSFET diminui linearmente ao ligar e aumenta linearmente ao desligar. Suponho que a corrente que flui através do MOSFET aumenta linearmente ao ligar e diminui linearmente ao desligar. Suponho que seu motor consome 200A durante o estado estacionário de um ciclo de trabalho de 50% com alguma carga, diz seu corpo. Então 200A enquanto você está nele e acelerando. (Quanto mais torque seu motor aumentar, proporcionalmente mais corrente será consumida).

Agora para os números. Na folha de dados, conhecemos os seguintes valores máximos:

td(on) = 40ns = 430ns = 130ns = 230ns
tr
td(off)
tf

Então tudo bem, primeiro quero saber quanto de um período de 8kHz a transição acima leva. A transição acontece uma vez a cada período. Os atrasos não afetam realmente a transição (a menos que alternemos com frequências realmente altas, como 1 MHz).

tempo em transição com ciclo de trabalho de 50% e fs a 8kHz = Eu pensei que veria um valor muito maior, isso está ignorando o coisas de platô e parasitas, e ignorando o carregamento lento do portão. Além disso, isso está ignorando o fato de que o tempo de subida e descida é de 10% a 90% do sinal, e não de 0% a 100%, o que estou assumindo em meus cálculos. Então eu multiplicaria o 0,528 por 2 para tornar minha aproximação mais próxima da realidade. Então 1%.tr+tf18000=0.00528=0.528%

Agora sabemos com que frequência estamos gastando tempo nessa dolorosa transição. Vamos ver como é realmente doloroso.

P=1T0TP(t)dt

Vr(t)=48V(1t430ns)
Ir(t)=200A430nst

Vf(t)=48V230nst
If(t)=200A(1t230ns)

P=Pr+Pf
Pr=1tr0trVr(t)×Ir(t)dt
Pf=1tf0tfVf(t)×If(t)dt

Pr=1600W LOL! Mesma resposta, estranho
Pf=1600W
P=Pr+Pf=3200W

Agora, voltemos à frequência com que você passou nessa transição de 3200W. Era cerca de 1% quando a realidade entra em ação (e eu pensei que seria com muito mais frequência).

Pavg=3200W×1%=32W Hmm, novamente pensei que veria algo muito ... maior.


E ... vamos calcular os outros 99% do tempo! O que eu esqueci completamente. Aqui está a grande explosão! Eu sabia que havia algo que esqueci.

P 50 % @ 8 k H z = 32 W + 1800 W × 49,5 % = 923 WP=I2×R=(200A)2×(0.045Ω)=1800W E você passa 49,5% do tempo neste modo de condução. Portanto, seu total deP50%@8kHz=32W+1800W×49.5%=923W

Com três MOSFETs em paralelo, são por MOSFET. Isso ainda é ... EX-PU-LOSIVE!32W+1800W×49.5%3=329W

Aqui vamos nós. Há a bomba que você está procurando. LOSÃO EX-PU

Esta é a minha última edição.


4
Eu acho que você está mostrando claramente como é difícil dirigir 13 cavalos com segurança e confiabilidade. E o que dizer de esboços desonestos? O que o motor faz quando o OP está carregando um novo esboço e os pinos estão flutuando / indefinidos? E possivelmente reduzindo a fonte de 48V - isso será interessante. Há muito que fazer para evitar decepção / a fogo ...
Paul Uszak

7
Bem, vamos ficar felizes que ele está mexendo com 48V e não 480V. Você pode sobreviver a queimaduras e aprender pela vida toda, mas é difícil aprender com a morte por insuficiência cardíaca.
Harry Svensson

3
@DoctorCircuit o 1 nF é a capacitância do gate, The . Você não pode removê-los. Eles fazem parte do MOSFET . Seu Arduino pode empurrar cerca de 20mA através de seus transistores. Isso ainda é miliamperes . Você precisa pressionar vários AMPS para que isso fique próximo de algo que funcione. Você precisa de outro estágio entre o Arduino e os MOSFETs que controlam a carga. Um inversor lógico talvez faça o trabalho. Mas é isso que você realmente precisa para pressionar vários AMPS. Ciss
Harry Svensson

2
@DoctorCircuit Este será o meu último comentário. Basta olhar para este vídeo . Assista o todo por diversão. Por volta das 5:12, mostra o MOSFET usado. Esse é cerca de 1/3 do seu. E é feito para um motor muito menos exigente. O tempo de subida (que faz parte da transição dolorosa) é de 430ns para o seu MOSFET e 110ns para o ATP206. O tempo de queda, que também faz parte da dolorosa transição, é de 230ns para o seu e 73ns para o ATP206. Por isso, gasta cerca de 3-4 vezes menos na transição dolorosa. Portanto, um motor muito mais fraco tem um MOSFET muito melhor. RDS(ON)
Harry Svensson

3
@DoctorCircuit Eu menti, este é o meu último comentário. Se você criar um inversor lógico por conta própria, em vez de comprar um driver mosfet. Então você realmente precisa ter certeza de que não está fazendo um curto-circuito nos mosfets durante a transição. Aqui está como você faz isso.
Harry Svensson

8

Os MOSFETS modernos precisam de comutação rápida, para evitar permanecer em uma região perigosa onde o feedback positivo (interno ao silício) causa destruição. Leia os parágrafos finais desta resposta para obter a explicação em papel da NASA.

RESUMO RÁPIDO: Esse resistor de porta ----- 1Kohm ------ é muito grande. Use um IC de driver de energia, com tampa de desvio de 0,1UF em seu VDD de 12/15/18 volts para que seus portões MOSFET possam ser carregados rapidamente para uma rápida troca.

Os MOSFETS terão se destruído devido às classificações SOA da área de operação segura, onde Voltage * Current * PulseWidth define a dissipação de energia.

Supondo que as junções do FET tenham 10U de profundidade (SWAG), você terá um TAU de 1,14 microssegundo para o tempo temático constante da área ativa do FET. Com a Miller Multiplication, o tempo de ativação excederá em muito isso, com 48 volts nos FETs e não haverá limite de corrente.

===================================

editar 18 de março de 2018

A NASA diagnosticou falhas de MOSFET em vários projetos em andamento devido ao uso de MOSFETS MODERNOS (o artigo da NASA apareceu em 2010; a indústria automobilística encontrou esse mecanismo de falha em 1997). O comportamento anteriormente negativo do coeficiente de temperatura dos MOSFETS de tecnologia mais antiga foi introduzido nas regiões atuais mais altas, e uma nova região insegura agora existe na região de moderação. A NASA reverteu esses projetos para a OLD TECHNOLOGY, para que sistemas confiáveis ​​pudessem ser construídos.

O que isso significa hoje? Bem simples

--- Não demore mais de 1 microssegundo na região de comutação. ---

--- Carregue rapidamente a capacitância da porta, incluindo a capacitância de dreno da porta. ---

O título do artigo da NASA [publicado em 2010] é

"Suporte à caracterização da operação de instabilidade térmica do MOSFET de energia" e a frase-chave é citada aqui "os projetos agora produzidos permitem que a região dominada pelo portador de carga (uma vez pequena e fora da área de preocupação) se torne importante e dentro da área operacional segura ( SOA) ".

Em relação aos projetos mais antigos (MOSFET robusto), extraio esta frase:

"MOSFETs anteriores eram executados principalmente na região dominada pela carga de mobilidade. Embora mantendo a mesma tensão de porta, a região dominada pela carga de mobilidade reduz a corrente à medida que as temperaturas aumentam, diminuindo a corrente, permitindo que o sistema tenha feedback negativo Na verdade, quando os novos MOSFETs de potência têm altas tensões de porta, as peças são dominadas pela carga de mobilidade.Tem a intenção tácita dos fabricantes de manter os MOSFETs na região dominada pela carga de mobilidade, como são usados ​​quando interruptor de alta velocidade. As peças mais antigas têm uma área dominada pelo portador de carga. A área, no entanto, fica fora do SOA normal e as falhas ocorrem por outros motivos ".


7

Primeiro, você escolheu os FETs errados.

O FQP30N06 tem 40 mOhm de RdsON em Vgs = 10V. Em Vgs = 5V, não está especificado, o que significa que não funcionará.

Escolher um MOSFET é um compromisso: grandes MOSFETs com grandes matrizes de silício e baixo RdsON têm muita capacitância e alternam lentamente. MOSFETs menores alternam mais rápido, mas possuem RdsON mais alto.

No entanto, você alternará entre 500 e 1000 Hz e sua corrente é enorme, portanto o RdsON importa muito mais que a velocidade.

Portanto, você deve selecionar os MOSFETs To-220 (para resfriamento) com RdsON muito baixo (como alguns mOhms), especificados em Vgs de ... continue a ler.

Segundo, você usa um drive de 5V em um FET especificado para um drive de 10V, para que não esteja totalmente ligado. Assim, aquece e explode. Qualquer um pode ver isso olhando a folha de dados.

Considerando a corrente, eu usaria um drive de porta de 12V para tornar o RdsON o mais baixo possível. Portanto, você pode escolher FETs de 5V ou 10V Vgs especificados, não há problema.

ESTÁ BEM. Agora você tem vários FETs e precisa controlá-los com 12V. Obviamente, você precisa de um driver que produza alguns amplificadores no portão para ligá-lo e desligá-lo rapidamente. Verifique a categoria "Driver MOSFET" na mouser / digikey. Existem vários produtos adequados que aceitam o 5V do seu arduino e acionam corretamente um FET.

Você precisará de uma fonte de 12V, mas isso não é um problema, pois você tem 48V, use um conversor DC-DC.

Terceiro, você precisa abandonar o arduino.

Esse tipo de controlador precisa de um limite de corrente e precisa agir antes que os MOSFETs explodam (não depois).

A maneira como isso é feito é muito simples. Você coloca um sensor de corrente (provavelmente o efeito Hall aqui) e um comparador. Quando a corrente ultrapassa um limite, o PWM é redefinido, aguarda um pouco e continua. Quando a corrente ultrapassa um limite muito maior, isso significa que alguém enfiou uma chave de fenda nos terminais de saída, para que o PWM pare definitivamente e não seja retomado.

Isso precisa acontecer a uma velocidade incompatível com o software.

A maioria dos microcontroladores comercializados para controle de motores inclui comparadores analógicos conectados à unidade PWM, para essa finalidade específica. O micro no arduino não é um desses.


4

Não há detecção de corrente e, portanto, nenhuma limitação de corrente no seu acionamento do motor. A corrente potencial do motor a zero rpm pode ser de milhares de amperes porque a resistência ao enrolamento de grandes motores CC pode ser de miliohms. Você deve aplicar algum tipo de limite de corrente, a menos que queira usar uma quantidade enorme de mosfets e ainda arriscar explodi-los. O inversor de frequência deve ser verificado em um osciloscópio. Provavelmente será muito lento, causando excesso de aquecimento do mosfet. Considere um chip de driver ou algum tipo de circuito de driver discreto. .Tente reduzir o teste de frequência PWM para obter um ruído de áudio desagradável. Você poderá reduzir muito a F sem obter muito lamento. Isso esfriará os foliões.


2

Se você possui um modelo preciso de todos os componentes do LTSpice, pode analisar por que ele falhou.

Um modelo preciso da descarga Q durante a comutação de corrente leva ao entendimento de que é necessário o gm de cada estágio cuidadosamente selecionado ou a sua razão inversa de RdsOn.

Se alguém souber a proporção de interruptores eletromecânicos como relés de palheta, relés de potência, solenóides e contatores de grande potência, a proporção entre a corrente COntact e a corrente da bobina cai gradualmente de> 3k para 100: 1 A principal diferença é que a corrente FET bloqueia após a comutação.

Examine a folha de dados e verifique a tensão do RdsOn gate3 que você planeja usar. Deve ser pelo menos 3x a tensão limite Vgs (th) para uma comutação eficiente.

Resumo Sugestões

  • 1) Use estágios em cascata de RdsOn como BJTs em cascata com a razão hFe de 100

    • por exemplo, se RdsOn for 1mΩ, use um driver de 100mΩ e que usará um driver de 10Ω (ou a taxa de variação é degradada, a perda de energia aumenta e se auto-aquece, levando a FETs fundidos ou explodindo)
  • 2) Use Vgs> = 3x Vgs (th) NÃO IMPORTA EM QUE Vgs (th) está classificado em. (e <Vgs máx.)

  • ps

    • Esqueci de mencionar, juntamente com 1) o Rdson da relação FETS / DCR do motor agrupada deve estar em torno de 1: 100 ou 1% (mais ou menos) para minimizar as perdas de condução. Embora alguns% frequentemente necessitem de resfriamento forçado do ar e mais alto, leve ao desastre.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.