Perché i miei MOSFET a canale P continuano a morire in questo ponte H?


9

Quindi questo è il mio ponte H: inserisci qui la descrizione dell'immagine ogni volta che inizio a usarlo in una direzione, il MOSFET a canale P e il NPN BJT che appartengono alla direzione usata muoiono in pochi secondi. Il MOSFET ucciso e il BJT sviluppano un corto circuito in modo da non poter più usare l'altra direzione. Muoiono senza calore o fumo evidente!
Il controller è un arduino uno e solo i MOSFET a canale N sono pilotati con segnale PWM, i canali P sono collegati a semplici pin di uscita digitali. La frequenza PWM è 490Hz predefinita per i pin digitali 9 e 10(ogni uscita PWM è individuale). Ho già ucciso 4-5 MOSFET a canale P + coppia BJT, potrebbe succedere su entrambi i lati. (Dipende da quale direzione uso per primo.) Il motore è un motore DC per tergicristallo per auto 12V, l'alimentatore è 12V 5A. I terreni di alimentazione a 12V e 5V sono collegati.

Ci sono due cose che possono essere vere, ma non sono sicuro al 100% in quanto non l'ho testato a fondo:

  • nella prima versione stavo usando resistori 1k per R7 e R8 e non ho avuto problemi. Lo proverò di nuovo ma sto esaurendo i MOSFET a canale P ora.
  • quando taglio la coppia MOSFET + BJT fritta, posso usare l'altra direzione senza uccidere la coppia MOSFET + BJT rimanente.

Per favore, aiutami, cosa sta succedendo qui :)

  • Dovrei usare una resistenza tra NPN BJT e il MOSFET a canale P?
  • Dovrei usare un MOSFET 2n7000 invece del 2N2222 BJT?

AGGIORNAMENTO: Ho appena testato l'H-bridge con una lampadina 12V 55W anziché il motore del tergicristallo. Il P-FET e NPN sono stati uccisi durante il test. Il lato del canale N era guidato con un segnale PWM del 40%. Senza carico non ha avuto alcun problema.

AGGIORNAMENTO2: ho cambiato R7 e R8 a 1k da 150R. Ora il bridge funziona di nuovo senza guasti ai componenti. (Non l'ho fatto funzionare per giorni, ma con i resistori 150R la riproduzione del guasto ha richiesto solo pochi secondi.) Aggiungerò comunque alcuni condensatori di disaccoppiamento sul ponte tra GND e + 12V come suggerito Brian. Grazie per le risposte a tutti!


Hai escluso un errore di programmazione? Muore ancora quando controlli manualmente il tuo ponte H?
rve

Ho provato a escluderlo. Non l'ho provato manualmente ma stavo facendo molti test con un alimentatore più piccolo senza alcun carico collegato all'H-bridge. La prossima volta proverò a controllare manualmente il bridge.
gOldie_E36

1
Per i test e per ridurre la possibilità di uccidere un altro mosfet, prova a sostituire il tuo motore con qualcosa di molto più piccolo. Come una coppia di led, o un piccolo motore giocattolo o qualcosa del genere.
Passerby

Risposte:


11

Come si disaccoppia l'alimentazione a 12V?

Una possibile modalità di guasto è che i picchi induttivi derivanti dallo spegnimento della corrente del motore (cioè alla velocità PWM) vengono scaricati nell'alimentazione a 12V tramite i diodi flyback. Sì, dovrebbe succedere, ma ...

Se l'alimentazione a 12 V non viene disaccoppiata e proviene da un alimentatore non da una batteria ricaricabile o viene fornita tramite un cavo lungo (induttivo), non si tratta in realtà di un'alimentazione a 12 V, ma viene momentaneamente portata a tale tensione di picco induttiva. Che potrebbe essere ben al di sopra delle classificazioni MOSFET ...

Monitorare l'alimentazione a 12V con un oscilloscopio veloce. Se mostra segni di picchi di sovratensione, aumenta il suo disaccoppiamento fino a quando non lo fa. (Ciò dovrebbe includere condensatori ceramici 0.1uF per bassa impedenza HF e un condensatore elettrolitico del serbatoio. E possibilmente un diodo zener da 16 V o 25 V nel caso ...).

Non so che questo è il tuo vero problema, ma è una base che DEVI coprire.


1
Questa è la spiegazione più plausibile. Un simile picco potrebbe facilmente superare la specifica Vgs max assoluta di 20 V dell'IRF4905. Il cortocircuito gate-source risultante consentirebbe quindi a una grande corrente di fluire attraverso il driver NPN, distruggendola pure.
Dave Tweed

Buon punto, non sto usando alcun disaccoppiamento. Ho un oscilloscopio economico da 20 MHz che proverò a monitorare la fornitura. Ho alcuni condensatori ceramici e anche elettrolitici in modo da poterli collegare. Non ho zener però. (Ne prenderò alcuni.)
gOldie_E36

Resisti agli zeners; nelle app automobilistiche, gli zen 16V non saranno sufficienti a causa di tutto ciò che può aumentare la fornitura (durante la ricarica, sarà comunque pericolosamente vicino ai 16V). E se questi FET sono davvero 20 V VG, non dureranno a lungo in un'auto, anche se andranno bene su un alimentatore da laboratorio da 12 V (disaccoppiato).
Brian Drummond,

Il motore proviene da un'auto, ma ho intenzione di usarlo con un alimentatore da laboratorio da 12 V (in realtà è un alimentatore cinese a commutazione da CA a CC economico).
gOldie_E36

1
Non ho ancora aggiunto i condensatori perché ero curioso di sapere cosa accadrà con lo stesso circuito ma invece il carico induttivo con una lampadina. Si comporta ancora allo stesso modo.
gOldie_E36

6

R1 R2 è di gran lunga troppo grande per tutti, tranne i più piccoli mosfet inesistenti. Ciò significa che stanno girando molto più lentamente di quanto si accendano. Ciò significa che anche se pensi di aver incluso un tempo morto ragionevole, continuerai comunque a sparare e mangio i feti. Uso un transistor extra per fare uno spegnimento veloce, ne vale la pena.


Stavo usando 100 ms di tempo morto tra il cambio di direzione, ma all'ultimo tentativo non sono stato affatto cambiato direzione. (Per escludere la possibilità di sparare attraverso il cambio di direzione.) E i transistor friggono comunque. Che dimensione di resistenze consigliate per R1 e R2? E come devo collegare i transistor extra per lo spegnimento?
gOldie_E36

5

Uno dei MOSFET del canale P superiore è attivo - questo determina la direzione. Quando si applica PWM a entrambi i MOSFET a canale N (come implicito nel proprio circuito), si ottiene uno sparo attraverso la metà del ponte H.

NON è necessario applicare PWM su entrambi i dispositivi N canali - applicarlo solo in basso a destra quando il dispositivo del canale P in alto a sinistra è attivato O applicarlo solo in basso a sinistra quando il dispositivo del canale P in alto a destra è attivato.

EDIT - inoltre, i MOSFET del canale P sono capovolti.


1
E la prossima volta, testalo con un alimentatore attualmente limitato in modo che se per qualche motivo hai un errore, almeno i tuoi transistor non si distruggono da soli.
Bimpelrekkie

Non applico PWM ad entrambi i canali N contemporaneamente. Solo uno alla volta. Posso usare entrambe le direzioni per la prima volta, ma durante l'operazione il MOSFET a canale P e il BJT che appartiene alla direzione usata muoiono.
gOldie_E36

Non sta avvenendo lo sparo e per le ultime due volte ho usato una lampadina da 12V 55W in serie con l'alimentatore. In questo modo sono in grado di rilevare gli spari (la lampadina diventa luminosa) e allo stesso tempo posso proteggere i miei MOSFET dalla situazione degli spari. Il problema è che i transistor muoiono durante il normale funzionamento.
gOldie_E36

@ gOldie_E36 in caso affermativo, perché hai detto questo "i MOSFET a canale N sono pilotati con segnale PWM" e perché il tuo diagramma mostra "PWM" come nome su entrambi i MOSFET a canale N? Inoltre, i MOSFET del canale P sono capovolti.
Andy aka

1
Le persone possono aiutarti solo se fornisci informazioni accurate. Se fornisci cattive informazioni, perdi tempo nelle persone. Dato cosa è successo, come si può fidare che il posizionamento fisico dei componenti sia più accurato dei diagrammi?
Andy aka

3

Una cosa che mi colpisce è la mancanza di diodi flyback attraverso i tuoi FET. Poiché il tuo motore è un carico induttivo, può facilmente generare alte tensioni attraverso i tuoi FET quando c'è un cambiamento di corrente (V = L dI / dT in un induttore). Queste tensioni possono facilmente superare il valore di guasto della giunzione di drain della sorgente nei FET.

Per risolvere questo, un diodo viene normalmente messo in parallelo con la giunzione per mantenere la tensione sotto controllo in questo modo:

Diodi a ponte H.

(Immagine tratta da: http://www.modularcircuits.com/blog/articles/h-bridge-secrets/mosfets-and-catch-diodes/ )

Questo "blocca" la tensione attraverso il FET.


Ah scusa è mio male. Lo dimentico dalla foto. Esistono diodi flyback per ciascuno dei MOSFET tra la sorgente e il drain. Diodi 1N4007 che puntano nella giusta direzione. Aggiornerò l'immagine. Ho già testato e sostituito i diodi sui MOSFET a canale P, ma la situazione è la stessa. :(
gOldie_E36

I MOSFET hanno diodi integrati che di solito sono sufficienti. 1N4007 è un diodo raddrizzatore a bassa frequenza non adatto per la commutazione rapida. Se si utilizzano diodi esterni, dovrebbero essere del tipo Schottky.
Bruce Abbott,

Quindi i MOSFE non hanno affatto bisogno dei diodi flyback? Sto usando solo ~ 490Hz, è troppo veloce per i diodi 1N4007?
gOldie_E36

1

@Autistic ha ragione su R1 e R2 - questa disposizione porterà a tempi di commutazione molto lenti sui feti P. Puoi prendere in considerazione l'utilizzo di una pompa di carica del driver P Fet dedicata anziché BJT + Pullup.

Alcuni controlli di sanità mentale

Puoi controllare i segnali di guida? È molto importante quale FET sia attivato o disattivato.

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

Prova i seguenti:

  • interrompere qualsiasi PWM
  • scollegare qualsiasi carico
  • guida dal tuo codice come: p1 on n1 off, aspetta 500ms, p1 off n1 off 100ms (tempo morto), p1 off n1 su 500ms, p1 off n1 off 100 ms (tempo morto) e ripeti. Questo produce un segnale di prova che è facile da eseguire il debug.
  • ora l'uscita p1 n1 del ponte h deve passare piacevolmente da GND a 12V. Usa un oscilloscopio per testarlo, oppure puoi usare anche una piccola lampadina. Collegare la lampadina tra GND e l'uscita p1 n1 - lampeggerà quindi p1 è buono. Collegalo all'uscita 12V e p1 n1 - lampeggerà quindi n1 è buono.
  • se si dispone di un ambito, verificare che p1 e n1 non siano conduttori incrociati. Controllando questo segnale non vedrai nessun altro valore che non sia GND pulito, 12V pulito e GND fluttuante nel tempo morto di 100 ms.
  • se non hai portata, puoi impostare un tempo morto abbastanza grande, ad es. 500 ms - non può far male :) ma può salvare il tuo fetore.
  • ora collega il tuo motore al posto della lampadina, dovrebbe funzionare e rallentare / fermarsi come la lampadina. Questo verifica che i fet siano ok.

Il problema

  • Sii molto cauto riguardo alla disposizione PWM sopra. Puoi friggere molto facilmente i tuoi poli. Puoi accendere il lato P mentre stai cambiando il lato N, quindi fai dei pantaloncini (più piccoli o più grandi - potrebbe sopravvivere con il 20% di PWM a seconda della qualità della tua fonte di alimentazione).

Normalmente, i microcontrollori hanno un driver PWM a 4 uscite dedicato con controllo deadband. I 4 segnali PWM possono pilotare i 4 feti e questi segnali sono sincronizzati e invertiti, inoltre si tiene conto del tempo morto. Vedi PWM dei microcontrollori PIC per ulteriori informazioni. http://www.ermicro.com/blog/wp-content/uploads/2009/01/picpwm_03.jpg

Poiché Arduino non è stato creato per questo scopo, potresti voler utilizzare una logica di base per produrre i giusti segnali PWM. L'obiettivo è garantire che n1 e p1 siano sempre guidati in modo complementare, così come n2 e p2. Puoi ottenerlo usando altri BJT: http://letsmakerobots.com/files/YG_H-Bridge1.jpg Quindi hai i due pin che puoi guidare con PWM.

È preferibile utilizzare alcune porte logiche, come questa: https://e2e.ti.com/blogs_/b/motordrivecontrol/archive/2012/03/26/so-which-pwm-technique-is-best-part-2 e poi hai un pulito avanti / indietro, oltre a un pin PWM che guida la velocità.

Questo articolo può valere la pena di controllare: http://www.modularcircuits.com/blog/articles/h-bridge-secrets/h-bridge_drivers/


Grazie per la risposta. Questa parte non mi è ancora chiara: "NON provare la disposizione PWM sopra. È solo sbagliata. Non puoi controllare il lato P mentre stai cambiando il lato N, quindi fai dei corti." È ancora valido se non cambio il lato P con PWM, solo il lato N e se uso un tempo morto lungo tra le direzioni cambianti? Se é cosi, come?
gOldie_E36

1
Mi dispiace di essere stato severo su questo. Esistono diversi modi per guidare PWM. Il modo standard è guidare P1 N2 da un'uscita PWM del complemento e guidare P2 N1 da un'altra coppia di uscite PWM del complemento, in questo modo sono necessarie 4 uscite pwm che guidano tutto correttamente. La tua soluzione potrebbe funzionare, se sei molto cauto e non hai bisogno di frenare il motore. Ad esempio p1 on, n1 off, p2 off, n2 PWM è una disposizione valida, anche se non è possibile frenare il motore e la velocità finale del motore dipenderà dal PWM più il carico meccanico. (Se n2 è spento durante PWM, non c'è tensione di azionamento sul motore.)
Gee Bee

Ho riformulato la mia risposta. Se non è un'attività educativa, suggerirei di utilizzare un controller H-bridge già pronto o un controller H-bridge con FET esterni.
Gee Bee,

0

Sei sicuro di passare a P-FET in alto a sinistra quando applichi PWM a N-FET in basso a destra?

Dovresti ricontrollare il tuo orientamento P-FET. Sembra che il P-FET sia all'indietro e si stia ottenendo un'eccessiva dissipazione di potenza quando il diodo corporeo P-FET conduce. Misurare la tensione attraverso il P-FET nelle condizioni di guasto. Se vedi circa 0,6 V attraverso il FET quando il 2N2222 è acceso, il P-FET è invertito. Controllare anche la tensione del gate P-FET durante la condizione di errore per assicurarsi che stia vedendo meno di 0,2 V.

Riesci ancora a vedere la corrente di guasto se rimuovi il motore dal circuito?


Ciao, grazie per la tua risposta. Controllerò di nuovo l'orientamento. Il problema è che non riesco davvero a fare nulla durante la riproduzione, perché ci vogliono solo pochi secondi per uccidere il MOSFET (in silenzio, senza calore eccessivo). E ovviamente mi costa un MOSFET :) Senza il motore e con un alimentatore da 1A ho fatto molte misurazioni. Se accendo il P-FET la tensione attraverso la sorgente di drain è minima (qualcosa come 0,01 V). Testerò nuovamente il circuito la sera con l'alimentatore da 5A e senza carico induttivo (motore). Ho intenzione di usare solo una lampadina invece.
gOldie_E36

Prova a non accendere il P-FET (non guidare il 2N2222) e vedi se raggiungi il limite corrente quando PWM il N-FET. In tal caso, il diodo corporeo P-FET sta conducendo. Prova anche a sostituire il carico del motore con una resistenza da 100 ohm E metti una resistenza da 10 ohm tra l'alimentazione e il circuito. Limiterete la corrente se N-FET sta cortocircuitando il diodo corporeo P-FET a terra. I resistori ti daranno anche il tempo di effettuare alcune misurazioni prima di surriscaldare.
user2661956

Buone idee per i test, grazie. Stavo già usando un resistore tra l'alimentatore e il ponte H per protezione.
gOldie_E36
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.