SIMULINK: Modello semplificato per l’analisi di un Regolatore Buck

SimulinkImage

In questo articolo parleremo di SIMULINK, un ambiente grafico basato su MATLAB, usato per simulare il comportamento dinamico dei sistemi fisici. Vedremo come sia possibile implementare in SIMULINK un convertitore DC-DC di tipo BUCK in modalità di conduzione continua (Continuous Conduction Mode – CCM) utilizzando solo i componenti base, senza ricorrere a toolboxes dedicati, tipo SimPowerSistem.

Perché usare SIMULINK e non un programma dedicato alla simulazione circuitale? Sicuramente perchè è possibile simulare in maniera relativamente semplice anche il controllo, indipendentemente dalla sua realizzazione fisica; come esempio si mostrerà come sia possibile progettare un semplice controllore di tipo PI, riportando le simulazioni effettuate. Il controllore può poi essere tradotto in codice C e quindi trasferito su un controllore esterno tipo Arduino o PIC, mediante librerie dedicate.

Ultimamente, su queste pagine, abbia parlato di MATLAB. Uno dei suoi più preziosi "collaboratori" nel calcolo tecnico è Simulink ed oggi vediamo di trattarlo parlando di elettronica e di convertitori.

Un qualunque sistema, quindi anche un convertitore switching, può essere modellato a diversi livelli di astrazione, in funzione dello scopo che il modello si prefigge. Se si vuole analizzare il comportamento in commutazione probabilmente è necessario un modello di dettaglio degli interruttori, controllati e non, magari scendendo fino al livello della fisica dei dispositivi (cosa che fa, ad esempio, SPICE).

Di converso, se si vuole progettare un controllore può essere di scarso interesse analizzare quello che accade su scale temporali molto veloci, mentre il comportamento del circuito diventa significativo su un orizzonte temporale lungo, che può contenere centinaia o migliaia di commutazioni. In questo caso è conveniente assumere gli interruttori come ideali, cioè che commutano istantaneamente tra lo stato di ON e quello di OFF.

Molti simulatori, come ad esempio SimPowerSistem di Simulink, usano identificare lo stato di ON con una resistenza di valore molto basso e lo stato di OFF con una resistenza di valore elevato. Anche se questa, in parte, è una rappresentazione vicina al livello fisico, conviene spesso assumere gli interruttori come corto circuiti nello stato ON e circuiti aperti in OFF. Si può giustificare questa assunzione se si pensa che i circuiti elettronici possono essere modellati, al pari di altri sistemi dinamici, mediante equazioni differenziali ordinarie. La presenza di resistenze molto elevate o molto piccole può determinare la coesistenza nello stesso modello di scale temporali diverse tra loro rendendo difficoltoso, ed eccessivamente lento, il processo di simulazione (il problema, in questo caso si dice stiff).

L'approccio alternativo consiste nell'usare una struttura diversa per ogni configurazione dell'interruttore: utilizzando un corto circuito o un aperto per modellare lo stato di un interruttore si può pensare che ad ogni stato di ogni interruttore corrisponda un circuito diverso, detto configurazione.  Anche se il problema sembra più complicato, perché occorrerebbe calcolare ad ogni commutazione la configurazione successiva e le nuove condizioni iniziali, in realtà per alcuni tipi di circuiti, tra cui il buck, si può operare una semplificazione separando la parte dinamica (filtro LC) dalla parte di commutazione.

Analizzando, infatti, lo schema di principio, riportato in Figura 1, si può vedere il circuito come costituito da tre “stadi”. Partendo da sinistra si ha l’alimentazione (supposta costante, ad esempio una batteria), la rete switching formata da interruttore (S) e diodo (D) ed infine una rete lineare che può essere vista come un filtro passivo.

Figura 1: Convertitore buck

 

Le ipotesi di idealità ci permettono di dire che quando l’interruttore è chiuso il diodo è interdetto, quindi non è attraversato da corrente (iD=0), mentre ad interruttore aperto la corrente di quest’ultimo è nulla e la corrente dell’induttore scorre tutta nel diodo. Dualmente la tensione ai capi del diodo è pari a Vin quando l’interruttore è chiuso e zero quando l'interruttore è aperto, di conseguenza possiamo sostituire batteria e stadio di commutazione con un generatore di tensione variabile, di valore Vin se l’interruttore è chiuso e zero se l’interruttore è aperto, applicato ai capi della rete lineare.

Implementazione modello in SIMULINK

A partire dalla descrizione effettuata è possibile realizzare il modello SIMULINK considerando separatamente la funzione di trasferimento della rete lineare ed il generatore controllato. Per la realizzazione di quest’ultimo si può ricorrere ad un deviatore che fa passare il valore Vin o zero in funzione di un ingresso di controllo. Per l’implementazione della funzione di trasferimento, considerando le impedenze operazionali di induttore e condensatore, è sufficiente calcolare il partitore di tensione fra la serie R1-L ed il parallelo Cf –R2, dove R1 rappresenta la resistenza serie dell’induttore ed R2 il carico. Non si considera la resistenza serie equivalente del condensatore (ESR) per semplicità, dato che il discorso non perde di generalità. La funzione di trasferimento, pertanto, si può scrivere, omettendo i tediosi passaggi matematici:

dove è stato messo in evidenza il guadagno statico, cioè il rapporto fra tensione sul carico e tensione sul diodo quando quest'ultima è costante. In realtà la tensione ai capi del diodo è, tipicamente, un treno di impulsi che si ripetono con cadenza costante e la cui durata dipende dal valore di una tensione di riferimento (in inglese PWM: Pulse Width Modulation).

Il guadagno statico può allora essere visto come il rapporto fra il valore medio dell'uscita rispetto al valore medio della tensione sul diodo.

Alla luce di quanto detto si può costruire il modello SIMULINK riportato in figura:

Figura 2: Modello Simulink del buck

 

dove il blocco Filter implementa la funzione di trasferimento prima descritta, il blocco controller è un semplice controllore PI (Proporzionale-Integrale) ed il PWM modulator calcola la tensione sul diodo, come si può osservare nella figura seguente, che risulta pari a Vin , se la tensione di controllo è superiore ad un opportuno riferimento (il dente di sega), oppure a zero, in caso contrario:

Figura 3: Modulatore PWM

C'è da notare che il periodo del dente di sega è pari al periodo di ripetizione degli impulsi.

I blocchi "scope", su cui non ci soffermiamo, permettono di visualizzare l'andamento delle variabili desiderate, come se si stesse operando con un oscilloscopio.

Controllore PI

Per semplicità, non volendo in questo contesto soffermarmi sulle tecniche di progetto di un controllore, ho considerato un semplice controllore PI, la cui funzione di trasferimento, è:

L'azione integrale consente di avere errore nullo a regime sul valore medio dell'uscita mentre il guadagno e la costante di integrazione consentono di soddisfare specifiche tipo dinamico, cioè sul transitorio.

Risultati Simulazioni

Ho scelto i valori dei parametri in modo da avere 5V in uscita con una corrente di circa 0.4 A in CCM: R1=0.1 Ω, R2=12.5 Ω, L=20 mH, Cf=100 μF. Considerando il diagramma di Bode mostrato in figura si vede che scegliendo una frequenza di switching pari a 10 kHz, ovvero circa 6⋅ 104 rad/s, sia ha un’attenuazione di 40 dB, corrispondenti ad un fattore 1/100, alla frequenza fondamentale, per cui possiamo ragionevolmente aspettarci un ripple sufficientemente piccolo.

Figura 4: Diagramma di Bode del modello medio del buck

Senza dilungarmi nella descrizione delle scelte effettuate, posso dire che, per la funzione di trasferimento analizzata, ho posto K=10 e Ti=2ms in modo da avere un transitorio senza oscillazioni, con un moderata sovraelongazione, che si esaurisce in circa 10 ms.

Nelle figure seguenti si riportano i risultati della simulazione, che confermano la bontà delle scelte effettuate, sia per quanto riguarda il transitorio sia per il comportamento a regime. Si vede, in particolare che il ripple è trascurabile (circa 200 mV picco-picco) rispetto al valore medio della tensione di uscita.

Figura 5: Tensione di uscita: transitorio

Figura 6: Tensione di uscita: andamento a regime (zoom)

 

Quello che hai appena letto è un Articolo Premium reso disponibile affinché potessi valutare la qualità dei nostri contenuti!

 

Gli Articoli Tecnici Premium sono infatti riservati agli abbonati e vengono raccolti mensilmente nella nostra rivista digitale EOS-Book in PDF, ePub e mobi.
volantino eos-book1
Vorresti accedere a tutti gli altri Articoli Premium e fare il download degli EOS-Book? Allora valuta la possibilità di sottoscrivere un abbonamento a partire da € 2,95!
Scopri di più

2 Comments

  1. Piero Boccadoro Piero Boccadoro 26 agosto 2013
  2. GianlucaAngelone Gianluca Angelone 29 agosto 2013

Leave a Reply

Flip&Click Arduino e Python compatibile

Fai un abbonamento Platinum (EOS-Book + Firmware), ricevi in OMAGGIO la nuova Flip&Click, inviaci il tuo progetto e OTTIENI IL RIMBORSO