Discussione:
Corrente di gate mosfet
(troppo vecchio per rispondere)
Marco Trapanese
2010-08-22 09:14:08 UTC
Permalink
Ciao,

è corretto questo conto?

Ho un mosfet (FDS8858CZ) che nel caso peggiore richiede 46 nC per
accendersi (total gate charge).
Vorrei farlo commutare a 250 kHz.

La corrente che deve essere in grado di erogare il driver è quindi di:

I = ΔQ / ΔT = 46 nC * 250E3 / 1 s = 11,5 mA

oppure devo considerare anche i fronti di discesa (dove in effetti il
driver toglie le cariche dal gate) ?

Io direi che se il driver è di tipo push-pull avremo più o meno lo
stesso contributo medio di corrente sui due rami.


Ad ogni modo, l'ordine di grandezza è delle decine di mA. Corretto?

Grazie e buona domenica!
Marco
Claudio_F
2010-08-22 09:43:32 UTC
Permalink
Post by Marco Trapanese
è corretto questo conto?
sippero'.... 250kHz sono un periodo di 4uS, non lo devi accendere in 4uS
ma almeno in 2 per seguire il ciclo dell'onda di pilotaggio. In realta'
farei dei fronti da non piu' lunghi di 1uS, il che vuol dire 50mA, sia
in accensione che in spegnimento.




ciao
Claudio_F
Franco
2010-08-22 15:43:25 UTC
Permalink
Post by Marco Trapanese
Ad ogni modo, l'ordine di grandezza è delle decine di mA. Corretto?
Direi di no. In questo modo fai accendere il mos in tempi dell'ordine
dei microsecondi, come ti ha detto Claudio_F.

Il mos e` un dispositivo estremamente veloce, e piu` in fretta commuta,
meno potenza dissipa, anche se poi genera piu` disturbi elettromagnetici.

Un mos puo` commutare in qualche decina di nanosecondi. Se non hai
motivi per rallentarlo, conviene sfruttare tutta la sua velocita` per
ragioni di rendimento. Il tempo di accensione e di spegnimento puo`
essere dell'ordine, come dicevo prima, di una cinquantina di nanosecondi
(po` di piu` o di meno a seconda delle dimensioni del silicio).

Adesso il conto che avevi fatto I=ΔQ/Δt fornisce 46nC/50ns=1A circa!

Il driver deve essere in grado di fornire correnti *impulsive* dalle
parti dell'ampere. Correnti impulsive cosi` grandi e di breve durata
richiedono bassa induttanza nella maglia driver-gate-source-driver, e un
condensatore sull'alimentazione del driver che fornisca la carica
necessaria. Basta un 100nF, ma anche qui riducendo l'induttanza, il
pratica la lunghezza di piste e terminali.

Capita poi un altro fenomeno: la bassa induttanza della maglia fra
driver e mos, insieme con la capacita` non linera di ingresso del mos
risuonerebbero a frequenze dell'ordine dei megahertz, causando qualche
accensione/spegnimento ad ogni ciclo. Per evitare questo e` necessario
mettere in serie al gate una resistenza di valore tale da smorzare la
risonanza del circuito LC parassita, ma non troppo grande per non
limitare la corrente di accensione. Di solito si mette un valore
compreso fra 2.2ohm e 22ohm, anche qui dipende dalle dimensioni del
silicio. Se vuoi una corrente di 1A e piloti con 12V, MOLTO A SPANNE
puoi dire che 12V/1A fa circa 10 ohm.

Questa resistenza comunque rallenta la commutazione, ma risolve un guaio
ben peggiore, la risonanza, e quindi va bene cosi`.

Non faccio i conti precisi, che richiedono una stima di induttanza e
carica di Miller , e permettono di calcolare sia il tempo di ritardo che
il tempo di transizione. In realta` questi conti non sono molto mai
precisi, date tutte le incertezze del problema.
--
Franco

Wovon man nicht sprechen kann, darüber muß man schweigen.
(L. Wittgenstein)
Marco Trapanese
2010-08-22 20:30:13 UTC
Permalink
Ciao Franco, è un piacere rileggerti!
Post by Franco
Un mos puo` commutare in qualche decina di nanosecondi. Se non hai
motivi per rallentarlo, conviene sfruttare tutta la sua velocita` per
ragioni di rendimento. Il tempo di accensione e di spegnimento puo`
essere dell'ordine, come dicevo prima, di una cinquantina di nanosecondi
(po` di piu` o di meno a seconda delle dimensioni del silicio).
Adesso il conto che avevi fatto I=ΔQ/Δt fornisce 46nC/50ns=1A circa!
Il driver deve essere in grado di fornire correnti *impulsive* dalle
parti dell'ampere. Correnti impulsive cosi` grandi e di breve durata
richiedono bassa induttanza nella maglia driver-gate-source-driver, e un
condensatore sull'alimentazione del driver che fornisca la carica
necessaria. Basta un 100nF, ma anche qui riducendo l'induttanza, il
pratica la lunghezza di piste e terminali.
Ok, io ho aggiunto vicinissimo all'alimentazione del driver un
multistrato da 100 nF e in parallelo un tantalio a bassa ESR da 4u7.
Post by Franco
Capita poi un altro fenomeno: la bassa induttanza della maglia fra
driver e mos, insieme con la capacita` non linera di ingresso del mos
risuonerebbero a frequenze dell'ordine dei megahertz, causando qualche
accensione/spegnimento ad ogni ciclo. Per evitare questo e` necessario
mettere in serie al gate una resistenza di valore tale da smorzare la
risonanza del circuito LC parassita, ma non troppo grande per non
limitare la corrente di accensione. Di solito si mette un valore
compreso fra 2.2ohm e 22ohm, anche qui dipende dalle dimensioni del
silicio. Se vuoi una corrente di 1A e piloti con 12V, MOLTO A SPANNE
puoi dire che 12V/1A fa circa 10 ohm.
Questa resistenza comunque rallenta la commutazione, ma risolve un guaio
ben peggiore, la risonanza, e quindi va bene cosi`.
Di solito la inserisco, ma stavolta ho peccato di ottimismo e non l'ho
messa.

Adesso faccio un po' di prove e vedo se ho fatto il guaio (non mi
riferisco alla sola R in serie) oppure no :)

Grazie a te e agli altri intervenuti nel thread!

Marco
Franco
2010-08-22 22:36:26 UTC
Permalink
Post by Marco Trapanese
Ok, io ho aggiunto vicinissimo all'alimentazione del driver un
multistrato da 100 nF e in parallelo un tantalio a bassa ESR da 4u7.
I condensatori in parallelo di solito mi fanno venire l'orticaria :) Ci
sono dei casi in cui sono necessari, ma talvolta fanno piu` male che
bene. La ragione e` la risonanza fra i C in parallelo, dato che ogni C
arriva accompagnato da una induttanza serie e una ESR. Mettendo due C in
parallelo le loro induttanze serie risuonano e per alcune frequenze puoi
avere una impedenza complessiva ben piu` alta di quella di ciascuno dei
due condensatori.
--
Franco

Wovon man nicht sprechen kann, darüber muß man schweigen.
(L. Wittgenstein)
Marco Trapanese
2010-08-22 23:29:43 UTC
Permalink
Post by Franco
I condensatori in parallelo di solito mi fanno venire l'orticaria :) Ci
sono dei casi in cui sono necessari, ma talvolta fanno piu` male che
bene. La ragione e` la risonanza fra i C in parallelo, dato che ogni C
arriva accompagnato da una induttanza serie e una ESR. Mettendo due C in
parallelo le loro induttanze serie risuonano e per alcune frequenze puoi
avere una impedenza complessiva ben piu` alta di quella di ciascuno dei
due condensatori.
E' che ho seguito le indicazioni del datasheet :(

http://www.intersil.com/data/fn/fn2853.pdf

Marco
Franco
2010-08-23 04:34:04 UTC
Permalink
Post by Marco Trapanese
E' che ho seguito le indicazioni del datasheet :(
http://www.intersil.com/data/fn/fn2853.pdf
Lo so, e` una cosa abbastanza comune, anche Analog Devices lo consiglia
spesso. Nella maggior parte dei casi non ci sono differenze fra mettere
due condensatori o mettere solo il ceramico.

In qualche rara circostanza bisogna mettere due C in parallelo per
ottenere una migliore impedenza a larga banda, ma bisogna studiare bene
layout e parassiti dei condensatori.

In altri casi, per fortuna abbastanza rari, capitano dei guai dovuti
alla risonanza dei due componenti: mi e` capitato di incapparci un paio
di volte mio malgrado :(. Un effetto del parallelo lo vedi in questa
application note
http://cds.linear.com/docs/Application%20Note/an47fa.pdf figure da 55 a
60 e relativo testo (anche a pag 12 ne parla).

A me e` capitato di vedere delle schede non passare i test di
suscettibilita` per una risonanza dei due C a svariate decine di
megaherts, e in un altro caso due C in un circuito di potenza risuonare
con il filo che li collegava e far fondere il filo per la corrente
risonante :)
--
Franco

Wovon man nicht sprechen kann, darüber muß man schweigen.
(L. Wittgenstein)
Marco Trapanese
2010-08-23 09:13:17 UTC
Permalink
Post by Franco
Lo so, e` una cosa abbastanza comune, anche Analog Devices lo consiglia
spesso. Nella maggior parte dei casi non ci sono differenze fra mettere
due condensatori o mettere solo il ceramico.
In qualche rara circostanza bisogna mettere due C in parallelo per
ottenere una migliore impedenza a larga banda, ma bisogna studiare bene
layout e parassiti dei condensatori.
Cose che ancora non sono in grado di fare... :)
Post by Franco
In altri casi, per fortuna abbastanza rari, capitano dei guai dovuti
alla risonanza dei due componenti: mi e` capitato di incapparci un paio
di volte mio malgrado :(. Un effetto del parallelo lo vedi in questa
application note
http://cds.linear.com/docs/Application%20Note/an47fa.pdf figure da 55 a
60 e relativo testo (anche a pag 12 ne parla).
Molto interessante, e molto preoccupante!
Post by Franco
A me e` capitato di vedere delle schede non passare i test di
suscettibilita` per una risonanza dei due C a svariate decine di
megaherts, e in un altro caso due C in un circuito di potenza risuonare
con il filo che li collegava e far fondere il filo per la corrente
risonante :)
Argh!
Grazie, continuo a vedere se la mia schedina riesce a funzionare oppure no.

Ciao
Marco
CG Audio Laboratories
2010-08-23 10:12:18 UTC
Permalink
http://cds.linear.com/docs/Application%20Note/an47fa.pdf figure da 55 a 60
e relativo testo (anche a pag 12 ne parla).
Alla faccia! Bella davvero e molto completa questa AN nello stile di Jim
Williams!
Grazie Franco!

Ciao
CG
Claudio_F
2010-08-24 08:21:46 UTC
Permalink
Post by Franco
Mettendo due C in
parallelo le loro induttanze serie risuonano e per alcune frequenze puoi
avere una impedenza complessiva ben piu` alta di quella di ciascuno dei
due condensatori.
Immagino che questo crei problemi dove ci sono in gioco elevate
frequenze e potenza, ma per circuiti in bassa frequenza tipo
preamplificatori?


ciao
Claudio_F
Marco Trapanese
2010-08-25 09:21:44 UTC
Permalink
Post by Marco Trapanese
Adesso faccio un po' di prove e vedo se ho fatto il guaio (non mi
riferisco alla sola R in serie) oppure no :)
Ciao di nuovo,

allora ecco il circuitino con cui sto litigando:

Loading Image...


l'ho modificato utilizzando il driver della Intersil che dicevo e ho
collegato ciascun ramo (in pratica ciascun gate+driver) a due uscite PWM
del micro.

Provando singolarmente i due rami va tutto bene anche fino a 250 kHz
dove la corrente *media* (che mi visualizza l'alimentatore) è
compatibile con i conti. Quella impulsiva non saprei come misurarla ma i
fronti sono comunque di circa 90 ns (ok, senza Id)

Il guaio è quando abilito entrambi i rami per attivare il push-pull.
Nella mia abissale ignoranza ho pensato che comandandoli con la stessa
onda quadra avrei avuto un minimo di dissipazione (dei mosfet) durante
la commutazione, in quanto entrambi conducono. Ma dato il tempo molto
breve non dovrebbe essere un grosso problema.

Invece il problema è nel driver! Che assorbe tantissimo (dai 20 mA medi,
a oltre 500 mA) come se fosse in corto.

Le domande sono quindi:

1. è giusto pilotare i due rami in fase?

2. A cosa serve il condensatore che ha inserito l'autore del circuito
iniziale? Io non l'ho inserito in quanto piloto separatamente i due gate.


Grazie!
Marco
dalai lamah
2010-08-25 17:06:48 UTC
Permalink
Post by Marco Trapanese
1. è giusto pilotare i due rami in fase?
Per me no, tantopiù che i dispositivi sono diversi (uno è a canale N, uno a
canale P) e quindi probabilmente il P commuterà più lentamente e ci saranno
momenti nei quali c'è un corto su Vcc (shoot-through). Se ci fai caso quasi
tutti i microcontrollori fatti per questo genere di applicazioni (controlli
di ponti di potenza) hanno la possibilità di impostare la "dead band", che
è sostanzialmente un periodo durante il quale entrambe le uscite sono
disattivate.
Post by Marco Trapanese
2. A cosa serve il condensatore che ha inserito l'autore del circuito
iniziale? Io non l'ho inserito in quanto piloto separatamente i due gate.
Sembra un trucco per spegnere entrambi i MOSFET quando non vuoi pilotare
l'uscita: quando l'ingresso passa da 5V a 0V, dopo un tempo RC dell'ordine
del millisecondo il P-MOSFET si spegne.
--
emboliaschizoide.splinder.com
F. Bertolazzi
2010-08-25 17:25:13 UTC
Permalink
Post by dalai lamah
Se ci fai caso quasi
tutti i microcontrollori fatti per questo genere di applicazioni (controlli
di ponti di potenza) hanno la possibilità di impostare la "dead band", che
è sostanzialmente un periodo durante il quale entrambe le uscite sono
disattivate.
Ah, ecco a che serve il "dead time generator" dell'ATtiny15!
Marco Trapanese
2010-08-25 18:11:32 UTC
Permalink
Post by F. Bertolazzi
Ah, ecco a che serve il "dead time generator" dell'ATtiny15!
Però l'ATmega48 mi sa che non ce l'ha... :(

Si può ottenere sfruttando i timer? Altrimenti vado a manina... con 8
MHz, dovrei farcela. Anche perché al momento non deve fare molto altro...

Marco
dalai lamah
2010-08-25 18:23:02 UTC
Permalink
Post by Marco Trapanese
Post by F. Bertolazzi
Ah, ecco a che serve il "dead time generator" dell'ATtiny15!
Però l'ATmega48 mi sa che non ce l'ha... :(
Si può ottenere sfruttando i timer? Altrimenti vado a manina... con 8
MHz, dovrei farcela. Anche perché al momento non deve fare molto altro...
Puoi farlo anche con un paio di porte logiche e qualche componente
discreto. Il circuito è abbastanza "intuitivo", comunque ricordo che una
possibile implementazione è passata fra le EDN Design Ideas di qualche mese
fa, anche se ora non riesco a trovarla con google.
--
emboliaschizoide.splinder.com
Marco Trapanese
2010-08-25 21:36:14 UTC
Permalink
Post by dalai lamah
Il circuito è nonlineare e quindi in questo caso fare l'analisi in
frequenza non è molto utile. In condizioni di normale funzionamento il
condensatore è praticamente sempre scarico e quindi si comporta come un
corto circuito: quando la tensione passa da 0V a 5V si scarica attraverso
il diodo, quindi quando passa da 5V a 0V il potenziale ai suoi capi è
zero
Post by dalai lamah
e con il tempo di switching (8 microsecondi) non fa in tempo a caricarsi
V=Vcc*(1-exp(-t/(RC)))=5*(1-exp(-8e-6/1e-3))=circa 40 mV
Giusto, ci potevo arrivare ma mi ostinavo a ragionare in alternata.

In altre parole lo stesso segnale è applicato contemporaneamente a
entrambi i gate. Come nel mio caso attuale.
Post by dalai lamah
Puoi farlo anche con un paio di porte logiche e qualche componente
discreto.
Mumble... avendo già fatto le schedine e avendo combinato il danno
dovrei cercare di risolverlo via software O:)
Post by dalai lamah
Il circuito è abbastanza "intuitivo", comunque ricordo che una
possibile implementazione è passata fra le EDN Design Ideas di qualche mese
fa, anche se ora non riesco a trovarla con google.
Piuttosto, mi sfugge una cosa. La dead band l'ho sempre vista usare nel
caso di pilotaggio in opposizione di fase.
Qui, per avere un solo mos acceso per volta i due rami devono essere in
fase.

Tralasciando che il driver è invertente, quando applico 0V sul gate di
entrambi conduce solo il mos P, quando applico Vcc conduce solo il mos
N. Durante le transizioni sono accesi per un centinaio di ns entrambi.

Punto primo: quel circuito montato su millefori con un 7404 come driver
funziona benissimo e non scalda per nulla. Ora che ho messo un driver
"serio" se li piloto entrambi quest'ultimo scotta... non mi torna
qualcosa! Dovrebbero scottare i mos nel caso. O no?

Punto secondo: volendo implementare la dead band via software, come
dovrei fare? Nel senso: l'unico modo che vedo è che uno dei due segnali
dovrà avere un Ton leggermente più stretto dell'altro (che in quel
momento sarebbe un Toff) così da lasciare per un attimo entrambi i mos
spenti. Direi anzi che farei più stretto il Ton del mos P che impiegando
più tempo ad accendersi e a spegnersi compensa questa leggera
differenza. Vedo se riesco a farlo sfruttando l'hw del timer.



Ciao!
Marco
lowcost
2010-08-26 13:13:39 UTC
Permalink
Post by Marco Trapanese
Punto primo: quel circuito montato su millefori con un 7404 come driver
funziona benissimo e non scalda per nulla. Ora che ho messo un driver
"serio" se li piloto entrambi quest'ultimo scotta... non mi torna
qualcosa! Dovrebbero scottare i mos nel caso. O no?
si, c'e' qualcosa di strano; le uscite dei 2 driver non sono collegate
insieme, vero ?
Post by Marco Trapanese
Punto secondo: volendo implementare la dead band via software, come
dovrei fare? Nel senso: l'unico modo che vedo è che uno dei due segnali
dovrà avere un Ton leggermente più stretto dell'altro (che in quel
momento sarebbe un Toff) così da lasciare per un attimo entrambi i mos
spenti. Direi anzi che farei più stretto il Ton del mos P che impiegando
più tempo ad accendersi e a spegnersi compensa questa leggera
differenza. Vedo se riesco a farlo sfruttando l'hw del timer.
senza protezioni o interblocchi HW, un errore del SW o della periferica
che genera il dead_time potrebbe essere distruttivo per i finali.
invece il dead time fatto in HW non soffre di errori volatili.
--
saluti
lowcost
Marco Trapanese
2010-08-26 14:37:18 UTC
Permalink
si, c'e' qualcosa di strano; le uscite dei 2 driver non sono collegate
insieme, vero ?
No, ciascuna pilota separatamente il gate relativo.

Comunque ho verificato che il problema era effettivamente quello della
dead band mancante.
L'ho realizzata in modo schifoso via software (mentre cerco di capire se
posso usare il timer1 allo scopo) e funziona perfettamente. In pratica
imposto un'uscita e il ciclo di clock successivo l'altra (125 ns dopo).
senza protezioni o interblocchi HW, un errore del SW o della periferica
che genera il dead_time potrebbe essere distruttivo per i finali.
invece il dead time fatto in HW non soffre di errori volatili.
Ovviamente, infatti sto cercando di sfruttare il phase correct pwm, però
sembra che aggiorni le uscite nello stesso momento (mentre mi
servirebbero "simmetriche" rispetto al centro).

da visualizzare con carattere a spaziatura fissa

A ___|-----|____

B ____|---|_____


Marco
F. Bertolazzi
2010-08-26 16:34:28 UTC
Permalink
Post by Marco Trapanese
Ovviamente, infatti sto cercando di sfruttare il phase correct pwm, però
sembra che aggiorni le uscite nello stesso momento (mentre mi
servirebbero "simmetriche" rispetto al centro).
Ti sei mai chiesto perché ci sono sia OCRxA che OCRxB?
Marco Trapanese
2010-08-26 19:51:10 UTC
Permalink
Post by F. Bertolazzi
Ti sei mai chiesto perché ci sono sia OCRxA che OCRxB?
Uh?
Non capisco dove vuoi arrivare.
Le due uscite sono indipendenti ma generate dallo stesso clock.

Se mi stai dicendo che si può fare quello che mi serve significa che non
ho capito come configurare il timer.
Se mi stai dicendo che non si può fare quello che mi serve significa che
devo cambiare micro :)

Marco
F. Bertolazzi
2010-08-27 11:46:30 UTC
Permalink
Post by Marco Trapanese
Se mi stai dicendo che si può fare quello che mi serve significa che non
ho capito come configurare il timer.
Cancella tutto: pensavo che usando l'uscita OCRxA non invertita per un MOS,
l'uscita OCRxB invertita per l'altro e caricando i due registri con un
valore lievemente differente avresti risolto, ed in effetti sarebbe così.

Ma poi, al reload del contatore, entrambe le uscite commuterebbero
contemporaneamente.
Marco Trapanese
2010-08-27 13:05:53 UTC
Permalink
Post by F. Bertolazzi
Cancella tutto: pensavo che usando l'uscita OCRxA non invertita per un MOS,
l'uscita OCRxB invertita per l'altro e caricando i due registri con un
valore lievemente differente avresti risolto, ed in effetti sarebbe così.
Ma poi, al reload del contatore, entrambe le uscite commuterebbero
contemporaneamente.
No invece, avevi quasi ragione :)
Leggi l'ultima risposta che ho dato a lowcost.

In effetti il ragionamento sta in piedi (quello di dare valori
leggermente diversi ai due compare) anche se nel mio caso le uscite sono
in fase e non in opposizione.

Quello che sbagliavo era utilizzarle entrambe non-invertenti anziché
entrambe invertenti. Mi sarò perso per strada qualche not :)


Ora funziona egregiamente, completamente in "hardware". Adesso ho altri
problemi, ma questa è un'altra storia ;)

Marco
maestrale1971
2010-08-26 18:18:51 UTC
Permalink
On 26 Ago, 16:37, Marco Trapanese <***@gmail.com>
wrote:

[...]
Post by Marco Trapanese
Comunque ho verificato che il problema era effettivamente quello della
dead band mancante.
L'ho realizzata in modo schifoso via software (mentre cerco di capire se
posso usare il timer1 allo scopo) e funziona perfettamente. In pratica
imposto un'uscita e il ciclo di clock successivo l'altra (125 ns dopo).
Sicuro non sia presente qualche risonanza strana?
L'inserzione di questo ritardo ha modificato la frequenza di
commutazione?
Che resistenza utilizzi per il pilotaggio?

--
M.
Marco Trapanese
2010-08-26 19:53:48 UTC
Permalink
Post by maestrale1971
Sicuro non sia presente qualche risonanza strana?
L'inserzione di questo ritardo ha modificato la frequenza di
commutazione?
Ho provato su tutto lo spettro di frequenze :)
Da 100 Hz a 500 kHz senza ritardo non parte nemmeno il micro perché alla
prima commutazione mi manda in protezione l'alimentatore.
Con il ritardo di 125 ns anche a 500 kHz commuta che è un piacere.
Post by maestrale1971
Che resistenza utilizzi per il pilotaggio?
Del gate?
Nessuna... perché prima di fare il PCB avevo montato su millefori lo
stesso circuito (a parte il driver, che appunto avevo usato delle porte
logiche che avevo nel cassetto) e non c'erano problemi anche senza R di
gate.

Marco
lowcost
2010-08-26 20:16:28 UTC
Permalink
Ovviamente, infatti sto cercando di sfruttare il phase correct pwm...
esatto, se ti riferisci ad AVR; se i valori dei pwm sono fissi, e' una
cosa semplice (nessun pericolo di incrocio durante l' aggiornamento).
--
saluti
lowcost
Marco Trapanese
2010-08-26 20:28:30 UTC
Permalink
Post by lowcost
esatto, se ti riferisci ad AVR;
Si, atmega48
Post by lowcost
se i valori dei pwm sono fissi, e' una
cosa semplice (nessun pericolo di incrocio durante l' aggiornamento).
Si i valori sono fissi, al 50%.
Sarò ottuso io, ma allora non riesco a configurarlo correttamente perché
uno dei due fronti mi sembra contemporaneo (visto che mi cortocircuita
l'alimentazione).

Marco
lowcost
2010-08-27 09:28:12 UTC
Permalink
Post by Marco Trapanese
Si, atmega48
per fare il phase correct pwm a 125KHz e 8bit serve un clock da 64MHz
(come il pll del tiny861) ; com il mega48 si puo' usare solo il timer1
con un reload basso su ICR ; negli altri modi potresti avere il reload
che coincide con un compare, non so con quali risultati.

nel tuo caso di carico accordato con Q piuttosto alto, la corrente e'
sinusoidale e perfettamente in fase con la tensione di eccitazione
(onda quadra) ; visto che le commutazioni sono praticamente
zero_crossing, puoi senz' altro aumentare il dead_time a valori piu'
alti e sicuri dei 125ns.
--
saluti
lowcost
Marco Trapanese
2010-08-27 10:24:34 UTC
Permalink
Post by lowcost
per fare il phase correct pwm a 125KHz e 8bit serve un clock da 64MHz
(come il pll del tiny861) ; com il mega48 si puo' usare solo il timer1
con un reload basso su ICR ; negli altri modi potresti avere il reload
che coincide con un compare, non so con quali risultati.
Infatti a 8 MHz e 250 kHz ho un ICR a 16 e i compare a 7 e 9.

Quello che sbagliavo era l'utilizzo di entrambe le uscite
non-invertenti. Invece dovevano essere entrambe invertenti.

Eppure mi ero fatto tutti i disegnini :(
Post by lowcost
nel tuo caso di carico accordato con Q piuttosto alto, la corrente e'
sinusoidale e perfettamente in fase con la tensione di eccitazione
(onda quadra) ; visto che le commutazioni sono praticamente
zero_crossing, puoi senz' altro aumentare il dead_time a valori piu'
alti e sicuri dei 125ns.
Si, infatti anche con 500 ns la tensione sui componenti reattivi è
perfettamente sinusoidale.

Marco
F. Bertolazzi
2010-08-27 12:55:59 UTC
Permalink
Post by Marco Trapanese
Si può ottenere sfruttando i timer? Altrimenti vado a manina... con 8
MHz, dovrei farcela. Anche perché al momento non deve fare molto altro...
In particolare sarà meglio non abbia da processare altri interrupt.

Stai usando CodeVision? Hai visto com'è comodo, in questo caso, avere
qualche registro libero?
Marco Trapanese
2010-08-25 18:13:52 UTC
Permalink
Post by dalai lamah
Per me no, tantopiù che i dispositivi sono diversi (uno è a canale N, uno a
canale P) e quindi probabilmente il P commuterà più lentamente e ci saranno
momenti nei quali c'è un corto su Vcc (shoot-through). Se ci fai caso quasi
tutti i microcontrollori fatti per questo genere di applicazioni (controlli
di ponti di potenza) hanno la possibilità di impostare la "dead band", che
è sostanzialmente un periodo durante il quale entrambe le uscite sono
disattivate.
Si, purtroppo il micro che uso non ce l'ha in hardware. Vedo se riesco a
simulare il comportamento.

Però mi sarei aspettato un assorbimento da parte dei mos (quando sono
entrambi accesi) non da parte del driver! Eppure è lui che scotta!
Post by dalai lamah
Sembra un trucco per spegnere entrambi i MOSFET quando non vuoi pilotare
l'uscita: quando l'ingresso passa da 5V a 0V, dopo un tempo RC dell'ordine
del millisecondo il P-MOSFET si spegne.
Ah ok. Invece a 125 kHz sono circa 12 ohm, ma con quale fase?

Marco
dalai lamah
2010-08-25 19:13:12 UTC
Permalink
Post by Marco Trapanese
Post by dalai lamah
Sembra un trucco per spegnere entrambi i MOSFET quando non vuoi pilotare
l'uscita: quando l'ingresso passa da 5V a 0V, dopo un tempo RC dell'ordine
del millisecondo il P-MOSFET si spegne.
Ah ok. Invece a 125 kHz sono circa 12 ohm, ma con quale fase?
Il circuito è nonlineare e quindi in questo caso fare l'analisi in
frequenza non è molto utile. In condizioni di normale funzionamento il
condensatore è praticamente sempre scarico e quindi si comporta come un
corto circuito: quando la tensione passa da 0V a 5V si scarica attraverso
il diodo, quindi quando passa da 5V a 0V il potenziale ai suoi capi è zero
e con il tempo di switching (8 microsecondi) non fa in tempo a caricarsi
quasi per niente:

V=Vcc*(1-exp(-t/(RC)))=5*(1-exp(-8e-6/1e-3))=circa 40 mV
--
emboliaschizoide.splinder.com
dalai lamah
2010-08-25 19:09:12 UTC
Permalink
Post by dalai lamah
Post by Marco Trapanese
Post by dalai lamah
Sembra un trucco per spegnere entrambi i MOSFET quando non vuoi pilotare
l'uscita: quando l'ingresso passa da 5V a 0V, dopo un tempo RC dell'ordine
del millisecondo il P-MOSFET si spegne.
Ah ok. Invece a 125 kHz sono circa 12 ohm, ma con quale fase?
Il circuito è nonlineare e quindi in questo caso fare l'analisi in
frequenza non è molto utile. In condizioni di normale funzionamento il
condensatore è praticamente sempre scarico e quindi si comporta come un
corto circuito: quando la tensione passa da 0V a 5V si scarica attraverso
il diodo, quindi quando passa da 5V a 0V il potenziale ai suoi capi è zero
e con il tempo di switching (8 microsecondi) non fa in tempo a caricarsi
V=Vcc*(1-exp(-t/(RC)))=5*(1-exp(-8e-6/1e-3))=circa 40 mV
Ah, poi ovviamente c'è anche un trasferimento di carica fra il condensatore
e la Cgs, ma quest'ultima è sicuramente molto inferiore a 100 nF e quindi
non è in grado di caricarlo.
--
emboliaschizoide.splinder.com
maestrale1971
2010-08-27 17:43:04 UTC
Permalink
On 25 Ago, 11:21, Marco Trapanese <***@gmail.com>
wrote:

[...]
Post by Marco Trapanese
http://home.comcast.net/~dcforums/PushPull1.JPG
Solo una curiosita': mi spieghi a cosa ti serve?
Cosa c'e' sull'uscita oltre alla rete LC?

--
M.
Marco Trapanese
2010-08-28 09:23:33 UTC
Permalink
Post by maestrale1971
Solo una curiosita': mi spieghi a cosa ti serve?
Cosa c'e' sull'uscita oltre alla rete LC?
Un altro circuito accordato (parallelo) posto nelle immediate vicinanze.
Serve per caricare una batteria contenuta in un contenitore
inaccessibile dall'esterno (cioè senza connettori).

Marco
maestrale1971
2010-08-31 17:10:39 UTC
Permalink
On 28 Ago, 11:23, Marco Trapanese <***@gmail.com>
wrote:

[...]
Post by Marco Trapanese
Un altro circuito accordato (parallelo) posto nelle immediate vicinanze.
Sicuramente ne hai gia' tenuto conto, ma te lo dico lo stesso:
se il circuito venisse alimentato senza il circuito accordato nelle
vicinanze, e la frequenza di commutazione fosse esattamente quella di
risonanza della rete LC serie, la corrente sarebbe limitata solamente
dalla resistenza serie dell'induttore.
E' prevista una qualche forma di limitazione della corrente?
Il condensatore e' dimensionato per sopportare la tensione relativa
alla massima corrente?

--
M.
Marco Trapanese
2010-08-31 19:38:40 UTC
Permalink
Post by maestrale1971
se il circuito venisse alimentato senza il circuito accordato nelle
vicinanze, e la frequenza di commutazione fosse esattamente quella di
risonanza della rete LC serie, la corrente sarebbe limitata solamente
dalla resistenza serie dell'induttore.
Yep, più la Rds on dei mos anche se sono trascurabili :)
La f è esattamente quella di risonanza.
Post by maestrale1971
E' prevista una qualche forma di limitazione della corrente?
Il condensatore e' dimensionato per sopportare la tensione relativa
alla massima corrente?
La corrente è calcolata per essere di valore adeguato proprio con la
resistenza dell'induttore (che mi fissa anche il Q).
Il condensatore è stato dimensionato con una tensione di lavoro di oltre
il doppio quella che supporta a vuoto (sono condensatori da 1 kV).

Marco
maestrale1971
2010-08-31 20:04:04 UTC
Permalink
On 31 Ago, 21:38, Marco Trapanese <***@gmail.com>
wrote:

[...]

Tutto ok allora, piu' due Schottky sui mosfet (in caso non fossero
gia' presenti), ed i canonici cond. sull'alimentazione..

--
M.
Marco Trapanese
2010-08-31 20:16:45 UTC
Permalink
Post by maestrale1971
Tutto ok allora, piu' due Schottky sui mosfet (in caso non fossero
gia' presenti)
Dovendo giocare al risparmio uso quelli interni al mosfet stesso.
Post by maestrale1971
ed i canonici cond. sull'alimentazione..
Per esserci ci sono, anche se come evidenziato in questo stesso thread
non sempre ciò che si pensa corretto poi lo è veramente :)

Marco

dalai lamah
2010-08-23 18:35:33 UTC
Permalink
Post by Franco
Capita poi un altro fenomeno: la bassa induttanza della maglia fra
driver e mos, insieme con la capacita` non linera di ingresso del mos
risuonerebbero a frequenze dell'ordine dei megahertz, causando qualche
accensione/spegnimento ad ogni ciclo. Per evitare questo e` necessario
mettere in serie al gate una resistenza di valore tale da smorzare la
risonanza del circuito LC parassita, ma non troppo grande per non
limitare la corrente di accensione. Di solito si mette un valore
compreso fra 2.2ohm e 22ohm, anche qui dipende dalle dimensioni del
silicio. Se vuoi una corrente di 1A e piloti con 12V, MOLTO A SPANNE
puoi dire che 12V/1A fa circa 10 ohm.
Come si ripercuote questo discorso nel caso che si colleghino in parallelo
svariati MOSFET? E' bene mettere comunque una resistenza in serie a ogni
gate, oppure basta mettere in parallelo tutti i gate e poi una sola
resistenza a monte di tutto?

Proprio l'altro giorno su sci.electronics.design parlavano del
parallelaggio dei MOSFET, e c'era qualcuno che affermava che siccome la
tensione di soglia dei MOSFET ha un coefficiente di temperatura negativo,
succederebbe che il MOSFET più caldo si accenda prima degli altri, assorba
quindi più corrente e si riscaldi ancora di più, vanificando in parte o del
tutto il comportamento esattamente opposto della Rds(on) (che invece cresce
al crescere della temperatura e quindi viene in aiuto nel creare un
bilanciamento del carico sui diversi dispositivi). Però a me questo
ragionamento non torna: ho sempre saputo che più un MOS è caldo più il suo
tempo di accensione aumenta, per lo stesso motivo per cui aumenta la
Rds(on) (l'aumento di temperatura riduce la mobilità dei portatori
maggioritari). Quindi anche sotto a questo punto di vista il MOSFET
dovrebbe essere intrinsecamente portato alla parallelazione: i MOS più
caldi si accendono dopo, quando la Vds si è già ridotta per effetto dei MOS
più freddi che si sono accesi prima.

Qual è la verità?
--
emboliaschizoide.splinder.com
SB
2010-08-24 07:41:13 UTC
Permalink
Post by dalai lamah
Come si ripercuote questo discorso nel caso che si colleghino in parallelo
svariati MOSFET? E' bene mettere comunque una resistenza in serie a ogni
gate, oppure basta mettere in parallelo tutti i gate e poi una sola
resistenza a monte di tutto?
Si, è comunque meglio mettere una resitenza in serie al gate se vanno in
parallelo
Post by dalai lamah
Proprio l'altro giorno su sci.electronics.design parlavano del
parallelaggio dei MOSFET, e c'era qualcuno che affermava che siccome la
tensione di soglia dei MOSFET ha un coefficiente di temperatura negativo,
succederebbe che il MOSFET più caldo si accenda prima degli altri, assorba
quindi più corrente e si riscaldi ancora di più, vanificando in parte o del
tutto il comportamento esattamente opposto della Rds(on) (che invece cresce
al crescere della temperatura e quindi viene in aiuto nel creare un
bilanciamento del carico sui diversi dispositivi). Però a me questo
ragionamento non torna: ho sempre saputo che più un MOS è caldo più il suo
tempo di accensione aumenta, per lo stesso motivo per cui aumenta la
Rds(on) (l'aumento di temperatura riduce la mobilità dei portatori
maggioritari). Quindi anche sotto a questo punto di vista il MOSFET
dovrebbe essere intrinsecamente portato alla parallelazione: i MOS più
caldi si accendono dopo, quando la Vds si è già ridotta per effetto dei MOS
più freddi che si sono accesi prima.
Qual è la verità?
C'è il problema del coefficiente termico negativo della Vgsth che prevale sul
coefficiente posotivo della RDS,

Ne abbiamo parlato tempo fa:

http://is.gd/eAj4x

Leggi tra l'altro gli interventi di Franco e Darwin.


--
ciao
Stefano
dalai lamah
2010-08-24 19:33:11 UTC
Permalink
Post by SB
C'è il problema del coefficiente termico negativo della Vgsth che prevale sul
coefficiente posotivo della RDS,
http://is.gd/eAj4x
Leggi tra l'altro gli interventi di Franco e Darwin.
Ho visto, bel thread! Nel mio caso li uso per commutare on/off e quindi il
problema della Vgs(th) sembra essere trascurabile. Metterò invece la
resistenza in serie al gate.

Un'altra domanda che mi sto ponendo riguarda il layout "fisico" del PCB; ho
una topologia come quella del disegno qui sotto, dove in sostanza metto in
parallelo delle coppie di MOSFET che sono in antiserie fra loro (devo
impedire la conduzione inversa attraverso il diodo di body). Siccome ho
molte coppie, pilotare ciascuna di esse con un driver distinto sarebbe
improponibile, quindi vorrei connettere assieme tutti i source per usare un
solo driver.

Il timore che ho è che questo favorisca degli sbilanciamenti di carico fra
le coppie di MOSFET; la corrente anziché scorrere "verticalmente" fra ogni
coppia di MOSFET, ha la possibilità di diramarsi anche su altri source. In
teoria anche in questo caso la tempco positiva della Rds(on) dovrebbe
venire in mio soccorso, ma ho davvero poca esperienza su questo genere di
cose.

Nel disegno mostro anche due layout: il B è quello che vorrei fare, un bel
copper pour uniforme da cima a fondo e tanto ottimismo; il layout A
potrebbe essere una possibilità per ostacolare il flusso di corrente "non
verticale", ma probabilmente ciò vanificherebbe la mia intenzione di
mantenere uguale la Vgs di tutti i MOSFET e creerebbe problemi di
pilotaggio dei gate. Una delle poche rogne dei MOSFET alle quali ho potuto
assistere di persona riguarda proprio l'induttanza del collegamento del
source al suo driver...



[FIDOCAD]
SA 75 20
MC 85 30 0 0 410
SA 100 20
MC 110 30 0 0 410
MC 45 20 2 0 010
LI 125 20 45 20
MC 60 30 0 0 410
MC 85 60 2 1 410
MC 110 60 2 1 410
LI 75 70 145 70
MC 145 70 0 0 073
SA 100 70
SA 125 70
SA 75 50
SA 100 50
SA 125 50
LI 75 40 75 50
LI 100 40 100 50
LI 125 40 125 50
LI 110 30 110 60
LI 85 30 85 60
LI 60 30 60 60
MC 60 60 2 1 410
LI 45 50 125 50
LI 110 45 45 45
SA 110 45
SA 85 45
SA 60 45
MC 40 110 0 0 410
MC 65 110 0 0 410
MC 90 110 0 0 410
MC 40 170 2 1 410
MC 90 170 2 1 410
PL 55 125 55 155 10 2
PL 80 125 80 155 10 2
PL 105 125 105 155 10 2
PL 55 140 105 140 1 2
MC 65 170 2 1 410
MC 140 110 0 0 410
MC 165 110 0 0 410
MC 190 110 0 0 410
MC 140 170 2 1 410
MC 190 170 2 1 410
MC 165 170 2 1 410
RP 145 120 210 160 2
TY 70 90 5 3 0 0 0 * Layout A
TY 160 90 5 3 0 0 0 * Layout B
--
emboliaschizoide.splinder.com
SB
2010-08-25 06:50:24 UTC
Permalink
Post by dalai lamah
Un'altra domanda che mi sto ponendo riguarda il layout "fisico" del PCB; ho
una topologia come quella del disegno qui sotto, dove in sostanza metto in
parallelo delle coppie di MOSFET che sono in antiserie fra loro (devo
impedire la conduzione inversa attraverso il diodo di body). Siccome ho
molte coppie, pilotare ciascuna di esse con un driver distinto sarebbe
improponibile, quindi vorrei connettere assieme tutti i source per usare un
solo driver.
E' fattibile, dipende anche dalla frequenza di commutazione e dalla velocità
della commutazione che vuoi ottenere.
Ci vuole la resistenza di disaccoppiamento vicino ad ogni gate.
Post by dalai lamah
Il timore che ho è che questo favorisca degli sbilanciamenti di carico fra
le coppie di MOSFET; la corrente anziché scorrere "verticalmente" fra ogni
coppia di MOSFET, ha la possibilità di diramarsi anche su altri source. In
teoria anche in questo caso la tempco positiva della Rds(on) dovrebbe
venire in mio soccorso, ma ho davvero poca esperienza su questo genere di
cose.
In teoria il coefficiente termico positivo della RDS dovrebbe aiutarti, non vedo
particolari problemi in un uso switching.
Post by dalai lamah
Nel disegno mostro anche due layout: il B è quello che vorrei fare, un bel
copper pour uniforme da cima a fondo e tanto ottimismo; il layout A
potrebbe essere una possibilità per ostacolare il flusso di corrente "non
verticale", ma probabilmente ciò vanificherebbe la mia intenzione di
mantenere uguale la Vgs di tutti i MOSFET e creerebbe problemi di
pilotaggio dei gate. Una delle poche rogne dei MOSFET alle quali ho potuto
assistere di persona riguarda proprio l'induttanza del collegamento del
source al suo driver...
Io opterei per il B con il riempimento, proprio per mantenere più stabile
possibile il Source per il pilotaggio e ridurre le induttabza parassiti,
confidando nella RDS per suddividere la corrente tra i Mosfet, tantopiù che non
soffrono di breakdown secondario e possono riscaldarsi senza rompersi.


--
ciao
Stefano
PeSte
2010-08-24 06:52:22 UTC
Permalink
[...]
Capita poi un altro fenomeno: la bassa induttanza della maglia fra driver
e mos, insieme con la capacita` non linera di ingresso del mos
risuonerebbero a frequenze dell'ordine dei megahertz, causando qualche
accensione/spegnimento ad ogni ciclo.
come rilevare questo fenomeno? Immagino che la sonda dell'oscilloscopio
sulla Vgs perturbi un po'.
Basta cercare commutazioni non previste sul drain?
Grazie, ciao
Ste
--
Ogni problema complicato ha una soluzione semplice...per lo piu` sbagliata
[cit. Franco, i.h.e. 20.01.2007]
PeSte
2010-08-23 06:26:06 UTC
Permalink
[...]
Capita poi un altro fenomeno: la bassa induttanza della maglia fra driver
e mos, insieme con la capacita` non linera di ingresso del mos
risuonerebbero a frequenze dell'ordine dei megahertz, causando qualche
accensione/spegnimento ad ogni ciclo.
come rilevare questo fenomeno? Immagino che la sonda dell'oscilloscopio
sulla Vgs perturbi un po'.
Basta cercare commutazioni non previste sul drain?
Grazie, ciao
Ste
--
Ogni problema complicato ha una soluzione semplice...per lo piu` sbagliata
[cit. Franco, i.h.e. 20.01.2007]
F. Bertolazzi
2010-08-26 08:17:25 UTC
Permalink
Date: Mon, 23 Aug 2010 08:26:06 +0200
Mi sa che c'hai dei problemi con l'orologio del PC.
PeSte
2010-08-27 16:16:51 UTC
Permalink
Post by F. Bertolazzi
Date: Mon, 23 Aug 2010 08:26:06 +0200
Mi sa che c'hai dei problemi con l'orologio del PC.
no è che ci è saltato il ponte con NGI (di cui uso il server), col
collegamento si emergenza (telecom) ho ripiegato su DIESEL...evidentemente
con qualche conseguenza....

Ciao
Ste
--
Ogni problema complicato ha una soluzione semplice...per lo piu` sbagliata
[cit. Franco, i.h.e. 20.01.2007]
lowcost
2010-08-22 18:02:43 UTC
Permalink
Post by Marco Trapanese
è corretto questo conto?
si, se vuoi sapere la corrente media assorbita dal driver, dalla VDD,
per tirare su il gate; lo stesso valore scorre verso GND per
scaricarlo.
ma la carica dipende dalla TUA Vds, a causa del miller, e dalla TUA
tensione di pilotaggio del gate.
per la corrente di picco, da erogare durante i fronti, ti hanno gia'
detto tutto.
--
saluti
lowcost
Loading...