CONVERTITORE DC-DC CON CONTROLLER TL5001
Quello che presento in questa pagina è un convertitore boost con controller PWM TL5001.
I parametri misurati in laboratorio sono raccolti nella seguente tabella:
VIN |
VOUT |
IM_IN |
IRMS_IN |
IP_IN |
IOUT_MAX |
IOUT_START |
RIPPLE |
REND. |
21.6 V |
254 V |
1.57 A |
1.4 A |
3 A |
108 mA |
81.5 mA |
1.5 VPP |
80% |
24 V |
254 V |
1.75 A |
2.1 A |
4.2 A |
126 mA |
100 mA |
1.5 VPP |
76% |
26.7 V |
254 V |
1.78 A |
2.5 A |
5 A |
130 mA |
108 mA |
1.5 VPP |
69% |
LEGENDA:
VIN = TENSIONE IN INGRESSO
VOUT = TENSIONE DI USCITA
IM_IN = CORRENTE MEDIA ASSORBITA ALL’INGRESSO
IRMS_IN = CORRENTE RMS ASSORBITA ALL’INGRESSO
IP_IN = CORRENTE DI PICCO ASSORBITA ALL’NGRESSO
IOUT_MAX = MASSIMA CORRENTE IN USCITA CON CONVERTITORE A REGIME
IOUT_START = MASSIMA CORRENTE IN USCITA CONSENTITA PER FAR PARTIRE IL CONVERTITORE (START-UP)
RIPPLE = RIPPLE ALLA FREQUENZA SWITCHING (50 Khz)
REND. = RENDIMENTO
Senza carico la tensione si mantiene al valore di 260 V con tensioni d’ingresso dai 12 V ai 26.7 V.
Questa pagina serve più che altro a dare un aiuto a chi vuole avvicinarsi al mondo dei convertitori switching senza imprecare contro libri troppo complicati che trattano dell’argomento.
Seguirò passo passo lo sviluppo del progetto fornendo prima le formule analitiche e poi quelle numeriche;
chiunque voglia costruirsi questo convertitore con tensioni e correnti diverse da quelle da me scelte lo potrà fare semplicemente sostituendo i valori numerici nelle formule.
Dopo ogni risultato fornirò il valore del componente che in laboratorio è risultato essere più idoneo rispetto a quello calcolato (delle volte purtroppo la teoria non va al passo con la pratica ma è un buon inizio).
PRINCIPIO DI FUNZIONAMENTO
Non voglio qui riportare la spiegazione del funzionamento nei dettagli, ma fare una panoramica non troppo teorica per non affaticare il lettore e al contempo dargli la sensazione di capire ciò che farà.
Osservare lo schema elettrico.
Ogni qual volta il mosfet si chiude per un tempo prestabilito (TON) carica l’induttanza L1. Quando il mosfet si apre per il tempo TOFF, l’induttanza caricata precedentemente fornisce l’energia tramite il diodo D1 al carico e al condensatore C11 che pensa a livellare gli impulsi di tensione.
Maggiore è il tempo di chiusura maggiore è l’energia immagazzinata dalla bobina e maggiore sarà quella fornita al carico entro il tempo TOFF.
Se non ci fosse alcun controllo sui tempi di chiusura e di apertura, la tensione sul carico varierebbe al variare di quest’ultimo e nel caso estremo di carico sconnesso essa arriverebbe a valori molto pericolosi per alcuni componenti del circuito e dolorosi per noi.
Questo perché l’energia, come la potenza, ha due parametri che la determinano, la tensione e la corrente, se per il tempo TOFF l’energia accumulata precedentemente deve liberarsi a un carico molto grande (corrente piccola) la tensione aumenterà per soddisfare la fisica.
Per tenere la tensione costante al variare del carico e della tensione d’ingresso occorre un dispositivo in grado di variare il tempo TON.
Come ho detto in precedenza maggiore è il tempo TON maggiore sarà la tensione in uscita a parità di carico e viceversa, variando quindi il tempo di chiusura del mosfet si ottiene un controllo sul valore della tensione in uscita.
Tale controllo viene effettuato dal TL5001.
Sul pin 4 (FB) viene letto una frazione della tensione di uscita, esso è a 1V quando la tensione al carico è al suo valore nominale, qualsiasi variazione del carico o della tensione d’ingresso varierà il livello presente sul pin FB che tramite i circuiti interni all’integrato fornirà sul pin 1 il segnale di controllo di durata variabile TON che piloterà, tramite alcuni transistor, il gate del mosfet.
PROGETTO
GUADAGNI STATICI IN TENSIONE:
Per VIN_MIN = 21.6 V
M_MAX = V0 / VIN_MIN = 260 / 21.6 = 12 [1]
Per VIN = 24 V
M = V0 / VIN = 260 / 24 = 10.83 [2]
Per VIN_MAX = 26.7 V
M_MIN = V0 / VIN_MAX = 260 / 26.7 = 9.73 [3]
FREQUENZA DI SWITCHING:
conviene lavorare con frequenza non molto alte per minimizzare le perdite nella induttanza:
FS = 50 KHz [4]
periodo:
TS = 1 / FS = 1 / 50000 = 20 uS [5]
INDUTTANZA:
L = R0 * TS * (M_MAX – 1)/(2 * M_MAX^3) = 2600 * 20 * 10^6 * ( 12 – 1) / (2 * 12^3) = 165 uH [6]
In laboratorio ho ottenuto risultati migliori con:
L = 120 uH
La corrente che dovrà sopportare la bobina è pari a:
IL = 2 * IP_IN ( vedere oltre il valore di questa corrente)
A proposito dell’induttanza devo dire che è estremamente difficile trovarne in commercio accompagnate da ricca documentazione.
Quella che ho usato io è costruita dalla Panasonic, nel misero data sheet il costruttore ne fornisce solo la massima corrente che la satura a 25 °C e le misure meccaniche.
Quindi non si conosce che corrente che può circolare a temperature diverse da quella ambiente e qual è temperatura (curie) alla quale la ferrite perde le sue proprietà.
Facendo delle prove in laboratorio ho notato che la bobina perdeva ogni proprietà ferromagnetica a circa 85 °C (temperatura misurata sul corpo in ferrite); in questa situazione la corrente aumentava a dismisura facendo entrare in protezione il TL5001.
Vi consiglio allora di comprare una induttanza che sopporti una corrente doppia di quella calcolata (vedremo in seguito qual è questa corrente) e misurarne la temperatura a regime, se essa supera i 70°C ( nelle peggiori condizioni ambientali…d’estate al mare sotto il sole J) dovrete mettere un radiatore sul suo corpo.
Uno dei cuori del convertitore è l’induttanza, quindi cercate di usarne una di qualità.
COSTANTE K:
K = 2 * L1 / (R * TS) = 2 * 120 * 10^-6 / (2600 * 20 * 10^-6) = 0.00461 [7]
DUTY CYCLE:
Il duty cycle è il rapporto tra il tempo di chiusura del mosfet e il periodo della frequenza di switching.
D = TON / TS [8]
Esso varierà al variare del carico e della tensione in ingresso per mantenere costante quella di uscita; la formula che tiene conto dei parametri sopra esposti è la seguente:
Per VIN_MIN = 21.6 V
D_MAX = (K * M_MAX * (M_MAX – 1 ) )^0.5 = (0.00461 * 12 * (12 - 1))^0.5 = 0.78 [9]
Per VIN_MAX = 26.7 V
D_MIN = (K * M_MIN * (M_MIN – 1 ) )^0.5 = (0.00461 * 9.73 * (9.73 - 1))^0.5 = 0.62 [10]
TEMPO DI CHIUSURA:
TON_MAX = D_MAX * TS = 0.78 * 20 * 10^(-6) = 15.6 uS [11]
TON_MIN = D_MIN * TS = 0.625 * 20 * 10^(-6) = 12.5 uS [12]
Questa sarà l’escursione del tempo di chiusura.
Bisogna precisare alcune cosine a proposito dei tempi di chiusura e di apertura del mosfet.
Come ho già detto, quando il mosfet viene chiuso per il tempo TON la bobina si carica.
Quando il mosfet si apre la bobina restituisce al carico l’energia precedentemente accumulata.
Se la restituisce tutta, alla prossima chiusura essa sarà scarica e pronta a ricominciare il ciclo; questo significa che l’induttanza ha avuto abbastanza tempo per restituire tutta l’energia.
Il tempo necessario per resettare la bobina (TR) deve essere più piccolo del tempo di apertura del mosfet(TOFF) per essere sicuri che l’induttanza sia del tutto scarica prima dell’inizio del prossimo TON.
C’è una eguaglianza matematica che mette in relazione il tempo TON con il tempo TR.
VIN_MIN * TON_MAX = (VOUT – VIN_MIN) * TR [13]
Da cui
TR = VIN_MIN * TON_MAX / (VOUT – VIN_MIN) [14]
Per far si che il tempo TR sia più breve del tempo TOFF occorre che sia soddisfatta la seguente relazione:
TON_MAX + TR = 0.8 * TS [15]
Da cui:
TON_MAX = 0.8 * TS * ( VOUT – VDC_MIN) / VOUT = 0.8 * 20 *10^6 * (260 - 21.6)/260 = 14.67 uS [16]
Come si può vedere la [16] non soddisfa la [11]
Per fortuna la differenza tra il tempo TON_MAX nella [16] differisce poco da quello della [11] per cui il sistema non è critico.
Infatti il tempo TOFF è sicuramente maggiore del tempo TR anche con il TON_MAX calcolato con la [11]:
TOFF = TS – TON_MAX = 20*10^-6 - 15.6 * 10^-6 = 4.4 uS [17]
TR = VIN_MIN * TON_MAX / (VOUT – VIN_MIN) = 21.6 * 15.6 * 10^-6 / (260 – 21.6) = 1.41 uS [18]
Quindi la bobina ha ancora molto tempo a disposizione per resettarsi.
Effettuate sempre questo controllo preventivo.
CORRENTE DI PICCO:
Questa è la corrente di picco che scorre nell’induttore e nel mosfet ed è anche quella assorbita all’ingresso:
Per VIN_MIN = 21.6 V
IP_IN = VIN_MIN * TON_MAX / L1 = 21.6 * 15.6 * 10^-6 / (120 * 10^-6) = 2.8 A [19]
Come potete vedere il risultato differisce da quello misurato perché le formule non tengono conto delle perdite di tutti i componenti che compongono lo switching, per esse il convertitore ha un rendimento pari all’unità, quando nella realtà non è così.
CORRENTE RMS:
Questa è la corrente RMS che scorre nell’induttore e nel mosfet ed è anche quella assorbita all’ingresso:
IRMS_IN = IP_IN * (D_MAX / 3)^0.5 = 2.8 * (0.78 / 3)^0.5 = 1.43 A [20]
Il valore trovato serve anche per dimensionare il fusibile all’ingresso del convertitore, scegliete un valore di fusibile commerciale sempre maggiore di quello calcolato.
Fusibile = 1.5 A ritardato
CONDENSATORE:
Si stabilisce a priori il ripple che si desidera avere in uscita, esso dipenderà quasi del tutto dalla resistenza equivalente del condensatore di livellamento (ESR).
VR = 50 mV
C = IP_IN ^2 * L1 / [2 *VR * (VOUT – VIN_MIN)] = 2.8^2 *120 *10^-6 / [2 * 0.05 *(260 – 21.6)] = 39.4 uF [21]
Scegliete un valore commerciale superiore in valore.
C = 47 uF 350 V
ESR = VR / IP_IN = 0.05 / 2.8 = 17.8 mohm [22]
Il ripple misurato in laboratorio è assai superiore perché non ho usato un condensatore a basso ESR (quello che passa il convento..).
MOSFET:
Dati del mosfet che ho usato io:
RDS_MAX = 0.34 ohm
VDSS = 800 V
VGSS = +/- 30 V
ID = 12 A @TC = 100 °C
PD = 350 W
TJ = 150 °C
RJ-C = 0.36 °C/W
T_RISE = 32 nS
T_FALL = 32 nS
CRSS = 250 pF
COSS = 400 pF
CISS = 2500 pF
Scegliere un mosfet almeno con una corrente di drain a TC = 100°C uguale a:
ID = 5 * IP_IN = 5 * 2.8 = 14 A [23]
Questa scelta serve a minimizzare la resistenza On del mosfet.
Scegliere un mosfet almeno con una tensione di drain-source uguale a:
VDSS = 2 *VOUT = 2 * 260 = 520 V [24]
Scegliere un mosfet almeno con una tensione di gate-source uguale a:
VGSS > = VIN_MAX = 26.7 V [25]
La potenza dissipata dal mosfet è:
PD = IRMS_IN^2 * RDS_MAX + (0.5 * VOUT * IP_IN * (T_RISE + T_FALL) * FS =
1.43^2 * RDS_MAX + (0.5 * 260 * 2.8 * (32 * 10^-6 + 32 * 10^-6) * 50000 = 2.9 W [26]
La temperatura del contenitore del mosfet che non deve essere superata è:
TC_MAX = TJ – RJ-C *PD = 150 – 0.36 * 2.9 = 149 °C [27]
DIODO RETTIFICATORE
I dati del diodo che ho scelto io:
VRRM = 1500 V
IF_AV @ TC =125 °C = 10 A
TJ = 150 °C
RJ-C = 3 °C / W
VR_MAX = 1.6 V
Il diodo deve essere uno schottky o del tipo veloce.
La corrente media deve essere:
IF_AV = 10 * IOUT_MAX = 10 * 0.130 = 1.3 A [28]
La massima tensione inversa deve essere:
VRRM = 2 * VOUT = 2 * 260 = 520 V [29]
Potenza dissipata:
PD = VR_MAX * IOUT_MAX = 1.6 * 0.13 = 0.2 W [30]
La massima temperatura che può raggiungere il contenitore è:
TC_MAX = TJ – RJ-C * PD = 150 – 3 * 0.2 = 149.4 °C [31]
CALCOLO DEI COMPONENTI NELLA CATENA DI REAZIONE
In R10 deve circolare una corrente maggiore o uguale a 0.25 mA:
R10 = VOUT / (0.25 * 10^-3) = 104 Kohm [32]
Ho comunque avuto ottimi risultati con:
R10 = 120 Kohm
La Potenza che deve sopportare R10:
R10_W = VOUT^2 / R10 = 260^2 / 120000 = 0.5 W [33]
Scegliere una resistenza che sopporti almeno il doppio della potenza:
R10_W = 1 W
VREF = 1 V
R8 + R9 = VREF * R10 / (VOUT – VREF) = 1 * 120000 / (260 -1) =463.3 ohm [34]
Il trimmer serve per la regolazione della tensione in uscita, più è piccolo in valore rispetto a R8 e minore sarà lo scostamento dalla tensione nominale VOUT.
Potete scegliere voi i valori di R8 e R9 in base alle vostre esigenze l’importante è che la somma delle due resistenze sia sempre uguale a quella calcolata con la [34].
La resistenza R1 serve per impostare la frequenza switching ( vedere grafico).
La resistenza R2 serve ad impostare il massimo tempo TON:
la formula è complicata, vi conviene partire con una resistenza di 180 Kohm e verificare con oscilloscopio se il segnale TON con la tensione d’ingresso pari a VIN_MIN e con 108 mA in uscita, duri circa 15 mS; se è minore bisogna aumentare R2.
Per leggere tale segnale applicare la sonda dello strumento sul gate del mosfet.
In caso di sovraccarico il TL interviene bloccando gli impulsi in uscita e rimane in questo stato fintanto il sovraccarico non viene rimosso.
La durata di tale intervento è definita da C2:
Io ho scelto una durata di 0.08 sec.
C2( in uF) = 12.46 * TI = 12.46 * 0.08 = 1 uF [35]
Guadagno statico, non fornisco alcuna spiegazione perché l’argomento è assai complesso, tali formulazioni servono per calcolare i restanti componenti del circuito (abbiate ancora un po’ di pazienza):
GOD =2 * VOUT * [(M – 1) / (K*M)]^0.5 / (2 * M - 1) = 2 * 260 * [(10.83 -1) / (0.00461 * 10.8)]^0.5 / (2 * 10.8 -1) = 352 [36]
Pulsazione e frequenza di taglio inferiore:
WZ = (2 * M – 1) / (M – 1) = (2 * 10.8 -1) / (10.8 - 1) = 17 rad [37]
FZ = WP / (2 * Pi) = 17 / 6.28 = 2.7 Hz [38]
Si sceglie sempre:
F = FS / 20 = 50000 / 20 = 2500 Hz [39]
W = 2 * Pi * F = 2500 * 6.28 = 15700
Guadagno complessivo:
GPS = GDO * 1.25 / (1 + W / WZ) = 353 * 1.25 / (1 + 15700 / 17) = 0.47 [40]
R3 = R10 * GPS = 0.47 * 120000 = 56400 ohm [41]
Con R3 = 120000 ho ottenuto risultati migliori.
C3 = 1 / ( 2 * Pi * FZ * R3) = 1 / (6.28 * 2.7 * 120000) = 491 nF [42]
C3 = 470 nF
Si sceglie sempre:
FP = FS / 3.3 = 50000 / 3.3 = 15000 Hz
C4 = 1 / ( 2 * Pi * FP * R3) = 1 / (6.28 * 15000 * 120000) = 88 pF [42]
C3 = 100 pF
FINE
(Le dimensioni della scheda sono le seguenti 101.6 x 38.7 mm. La risoluzione è 600 x 600 dpi cosicché stampandola con la stessa risoluzione si ottengono le dimensioni reali).
Fabio