Indice |
Introduzione
Matlab è un software per il calcolo scientifico, è costituito da un ambiente in cui è possibile eseguire calcoli (come se fosse una semplice calcolatrice), programmare e visualizzare in maniera semplice e immediata i risultati ottenuti. Ovviamente è costituito da una vasta libreria di funzioni predefinite e inoltre vi è l'opportunità di scriverne delle nuove. All’interno dell’ambiente di Matlab ci sono diversi sottoambienti, vari toolbox e soprattutto un ambiente grafico per la simulazione di sistemi complessi, Simulink. In questo breve articolo darò per scontato che ci sia un minimo di dimestichezza con questo semplice ma potente software.
L'ambiente Simulink
Simulink contiene una libreria di blocchi che descrivono elementi statici (resistenze, induttori trasformatori ecc.) e dinamici elementari (macchine rotanti, generatori eolici ecc.). Ovviamente l'utente compone lo schema mediante l'interconnessione di tutti questi blocchi elementari. Il motore interno di Simulink è in grado di generare tutte le equazioni necessarie per la risoluzione del problema numerico. Questo è in poche parole il principio con il quale funziona Simulink.
Per avviare Simulink è necessario digitare dal workspace di Matlab la parola chiave "simulink" e quello che appare e rappresentato nella figura successiva. Si possono distinguere due strutture fondamentali quella di sinistra in cui sono presenti le librerie dove si trovano tutti i blocchetti e quella di destra dove inserirli per poi costruire il modello da simulare.
Tra tutte le librerie quella dedicata al settore elettrico è quella denominata “simpowersystem” dove si possono osservare non solo gli elementi elettrici ma anche altri dispositivi atti alla misurazioni di tensione e corrente(voltmetri, amperometri), oppure al rilevamento della potenza attiva o apparente, ecc…
Adesso con il metodo Drag&Drop (prendi e trascina) riportate tutti i blocchetti che vi servono all’interno del vostro modello ovvero nella maschera di destra di figura 1. Quindi inserirete 3 volte il “Series RLC Branch” poi inserirete un “Current Measurement” e un “Voltage Measurements” (si trova in SimPowerSystem > Measurements) poi inserirete un generatore controllato di tensione (si trova in SimPowerSystem > Electrical Sources) e infine il gradino (Step) di tensione con il quale comanderete il generatore (si trova in Simulink > Sources > Step). Ma oltre a questi blocchetti serve anche qualcosa per visualizzare gli andamenti nel tempo delle diverse grandezze e questo lo realizza il blocchetto “Scope” (si trova in Simulink > Sinks > Scope). Adesso unendo l’inizio di un blocchetto con la fine dell’altro blocchetto (…molto intuitivamente) si costruisce il circuito di figura. Sicuramente vi ricorderà l’esercizio proposto e risolto per via analitica da g.schgor ([1])
Con riferimento ai valori proposti dall’esercizio di g.schgor, settiamo ogni singolo blocchetto con i valori di questo esercizio, quindi la resistenza con un valore di 10kOhm, C1=100uF e C2=10uF. Per quanto riguarda il blocchetto Step lo settiamo come rappresentato nella figura 4 (in alto a sinistra). Il blocchetto Scope andrà settato con Number of axes = 2 (rappresenta quante grandezze vogliamo visualizzare) e togliamo l’opzione “Limit data points to last” presente nel sotomenù “Data History” al fine di non visualizzare gli ultimi 5000 punti della simulazione ma tutti i punti.
Configuration Parameters
Una volta completato il Design del nostro modello, potremmo già pensare di lanciare la simulazione ma ci accorgeremo che i risultati forniti certamente non sono quelli desiderati. Questo perché l’engine di Simulink sbaglia a decidere il passo di integrazione temporale nella risoluzione del sistema di equazioni. Per questo motivo è vivamente consigliato settare manualmente i principali parametri della simulazione. Questi parametri sono accessibili dal menu Simulation > Configuration Parameters (oppure con la combinazione dei tasti CTRL+E). In questa nuova finestra si ha l’obbligo di settare manualmente
- il tempo di inizio e fine della simulazione (tenendo presente la costante di tempo del circuito potremmo settare il tempo finale a 1.5s);
- il tipo di solver (ode15s) utilizzeremo sempre questo per i problemi elettrici;
- Max Step size (1E-3) questo rappresenta il max passo di integrazione che il risolutore deve compiere.
Una volta terminate queste impostazione si può lanciare il modello creato e se la simulazione gira allora sicuramente i risultati che otterrete saranno quelli desiderati, ovvero quelli descritti analiticamente dall’esercizio dell’utente g.schoor.
Risultati
Adesso per mezzo dello Scope si possono vedere i diversi andamenti di tensione e corrente in funzione del tempo. In particolare nell’immagine seguente si vedono nel primo riquadro l’andamento della corrente (dove si osserva che tende a zero proprio a causa della carica elettrica che si sta depositando sulle piastre dei condensatori) e nel secondo riquadro l’andamento della tensione presente sul condensatore C1.
Conclusione
In questo articolo si è voluto dare un’introduzione per l’utilizzo degli strumenti messi a disposizione da Simulink. Si è visto che è un ambiente per la modellazione, l’analisi e la simulazione di sistemi elettrici e non solo. Offre un’interfaccia grafica per la costruzione di modelli tramite diagrammi a blocchi, prelevabili da una vastissima libreria di blocchi predefiniti. Ciò permette di modellare un sistema rapidamente, con chiarezza e senza il bisogno di scrivere complicate righe di codice.
Simulink è dunque un ambiente grafico per la simulazione di sistemi complessi. Esso costituisce un valido supporto al Matlab quando sia necessario simulare:
- 1) sistemi complessi, composti da numerosi blocchi interconnessi tra loro;
- 2) sistemi in cui i singoli blocchi sono nonlineari tempo-varianti;
- 3) sistemi che comprendono blocchi sia tempodiscreti che tempocontinui.
Grazie
Ecco il file di questa semplice introduzione a simulink (Versione per Matlab 7.2): [2]