Creare un modello semplice
È possibile usare Simulink® per modellare un sistema e poi simularne il comportamento dinamico. Le tecniche di base utilizzate in questo tutorial per creare un modello semplice sono le stesse che si usano per i modelli più complessi. Questo esempio simula il movimento semplificato di un'automobile. Di solito un'automobile è in movimento fintanto che viene premuto il pedale dell'acceleratore. Dopo che il pedale viene rilasciato, l'auto rallenta e si ferma.
Un blocco Simulink è l'elemento del modello che definisce una relazione matematica tra i suoi input e output. Per creare questo semplice modello, sono necessari quattro blocchi Simulink.
Nome del blocco | Scopo del blocco | Scopo del modello |
---|---|---|
Pulse Generator | Generare un segnale di input per il modello | Rappresentare il pedale dell'acceleratore |
Gain | Moltiplicare il segnale di input per un valore costante | Calcolare in che modo la pressione sull'acceleratore influisce sull'accelerazione dell'auto |
Integrator, Second-Order | Integrare due volte il segnale di input | Ottenere la posizione dall'accelerazione |
Outport | Designare un segnale come output del modello | Designare la posizione come output del modello |
La simulazione di questo modello integra due volte un breve impulso per ricreare una rampa. I risultati vengono visualizzati in una finestra Scope. L'impulso di input rappresenta una pressione del pedale dell'acceleratore: 1 quando il pedale viene premuto e 0 quando non lo è. La rampa di output rappresenta la distanza crescente dal punto di partenza.
Aprire un nuovo modello
Utilizzare l'editor di Simulink per costruire i propri modelli.
Avviare MATLAB®. Dalla barra degli strumenti di MATLAB, fare clic sul pulsante Simulink
.
Fare clic sul modello Blank Model.
Si apre l'editor di Simulink.
Dalla scheda Simulation, selezionare Save > Save as. Nella casella di testo File name, inserire un nome per il modello. Ad esempio,
simple_model
. Fare clic su Save. Il modello viene salvato con l'estensione del file.slx
.
Aprire il browser delle librerie di Simulink
Simulink fornisce un insieme di librerie di blocchi, organizzate per funzionalità nel browser delle librerie. Le librerie seguenti si trovano nella maggior parte dei workflow:
Continui: blocchi di sistemi con stati continui
Discreti: blocchi di sistemi con stati discreti
Operazioni matematiche: blocchi che implementano equazioni algebriche e logiche
Sink: blocchi che memorizzano e mostrano i segnali che si collegano a loro
Sorgenti: blocchi che generano i valori dei segnali che guidano il modello
Dalla scheda Simulation, fare clic sul pulsante Library Browser
.
Impostare il browser delle librerie in modo che rimanga in alto rispetto alle altre finestre del desktop. Sulla barra degli strumenti del browser delle librerie di Simulink, selezionare il pulsante Stay on top
.
Per sfogliare le librerie di blocchi, selezionare una categoria e poi un'area funzionale nel pannello a sinistra. Per cercare tutte le librerie dii blocchi disponibili, inserire un termine di ricerca.
Ad esempio, trovare il blocco Pulse Generator. Nella finestra di ricerca sulla barra degli strumenti del browser, inserire pulse
e poi premere Invio. Simulink cerca nelle librerie i blocchi con pulse
nel loro nome o nella descrizione, che vengono poi mostrati.
Ottenere informazioni dettagliate su un blocco. Fare clic con il tasto destro del mouse sul blocco Pulse Generator, quindi selezionare Help for the Pulse Generator block. Si apre il browser della Guida con la pagina relativa al blocco.
Solitamente i blocchi contengono numerosi parametri. È possibile accedere a tutti i parametri di un blocco facendoci doppio clic con il mouse.
Aggiungere blocchi a un modello
Per iniziare a costruire il modello, sfogliare la libreria e aggiungere i blocchi.
Dalla libreria
Sources
, trascinare il blocco Pulse Generator nell'editor di Simulink. Nel proprio modello compare una copia del blocco Pulse Generator con una casella di testo del valore del parametro di Amplitude. Inserire1
.I valori dei parametri vengono mantenuti durante tutta la simulazione.
Aggiungere al proprio modello i seguenti blocchi usando lo stesso metodo.
Blocco Libreria Parametro Gain Simulink/Math Operations
Gain:
2
Integrator, Second-Order Simulink/Continuous
Condizione iniziale:
0
Outport Simulink/Sinks
Numero di porta:
1
Aggiungere un secondo blocco Outport copiando quello esistente e incollandolo in un altro punto usando i tasti di scelta rapida.
Ora il modello possiede tutti i blocchi necessari.
Disporre i blocchi facendo clic su ogni blocco e trascinandolo. Per ridimensionare un blocco, trascinarne un angolo.
Collegare i blocchi
Collegare i blocchi creando delle linee tra le porte di output e quelle di input.
Fare clic sulla porta di output a destra del blocco Pulse Generator.
La porta di output e tutte le porte di input che possono essere collegate sono indicate dal simbolo di una freccia blu
.
Puntare su
per visualizzare la spunta del collegamento.
Fare clic sulla spunta. Simulink collega i blocchi con una linea e una freccia che indica la direzione del flusso del segnale.
Collegare la porta di output del Gain block alla porta di input del blocco Integrator, Second-Order.
Collegare i due output del blocco Integrator, Second-Order ai due blocchi Outport.
Salvare il modello. Nella scheda Simulation, fare clic su Save.
Aggiungere lo strumento di Visualizzazione dei segnali
Per visualizzare i risultati della simulazione, collegare il primo output a uno strumento di Signal Viewer.
Fare clic sul segnale. Nella scheda Simulation sotto Prepare, fare clic su Add Viewer. Selezionare Scope. Compare l'icona dello strumento di visualizzazione sul segnale e si apre una finestra Scope.
È possibile aprire Scope in qualsiasi momento facendo doppio clic sull'icona relativa.
Eseguire una simulazione
Dopo aver definito i parametri di configurazione, è possibile simulare il proprio modello.
Nella scheda Simulation, impostare il tempo di arresto della simulazione cambiando il valore nella barra degli strumenti.
Il tempo di arresto predefinito di
10.0
è appropriato per questo modello. Questo valore di tempo non ha unità. L'unità di tempo in Simulink dipende da come sono costruite le equazioni. Questo esempio simula il movimento semplificato di un'automobile per 10 secondi. Altri modelli potrebbero avere unità di tempo di millisecondi o di anni.Per eseguire la simulazione, fare clic sul pulsante Run
.
La simulazione viene eseguita e produce l'output nello strumenti di visualizzazione.
Perfezionare il modello
Questo esempio prende un modello esistente, moving_car.slx
, e modella un sensore di prossimità basato su questo modello di movimento. In questo scenario, un sensore digitale misura la distanza tra l'automobile e un ostacolo a 10 m di distanza. Il modello emette la misura del sensore e la posizione dell'automobile, prendendo in considerazione queste condizioni:
L'automobile si ferma bruscamente quando raggiunge l'ostacolo.
Nel mondo fisico, un sensore misura la distanza in modo impreciso, causando errori numerici casuali.
Un sensore digitale funziona a intervalli di tempo fissi.
Modificare i parametri dei blocchi
Per iniziare, aprire il modello moving_car
. Alla riga di comando MATLAB, inserire:
open_system('moving_car.slx')
È necessario innanzitutto modellare l'arresto brusco quando l'automobile raggiunge la posizione 10
. Il blocco Integrator, Second-Order possiede un parametro apposito.
Fare doppio clic sul blocco Integrator, Second-Order. Appare la finestra di dialogo Parametri dei blocchi.
Selezionare Limite x e inserire
10
per Limite superiore x. Il colore di sfondo del parametro cambia per indicare una modifica che non viene applicata al modello. Fare clic su OK per applicare le modifiche e chiudere la finestra di dialogo.
Aggiungere nuovi blocchi e collegamenti
Aggiungere un sensore che misura la distanza dall'ostacolo.
Modificare il modello. Se necessario, espandere la finestra per inserire i nuovi blocchi.
Trovare la distanza effettiva. Per trovare la distanza tra la posizione dell'ostacolo e la posizione del veicolo, aggiungere il blocco Subtract della libreria
Math Operations
. Aggiungere anche il blocco Constant della libreriaSources
per impostare il valore costante di10
per la posizione dell'ostacolo.Modellare la misurazione imperfetta che è tipica di un sensore reale. Generare un rumore usando il blocco Band-Limited White Noise della libreria
Sources
. Impostare il parametro Noise power su0.001
. Aggiungere il rumore alla misurazione utilizzando un blocco Add della libreriaMath Operations
.Modellare un sensore digitale che si attiva ogni 0,1 secondi. In Simulink, il campionamento di un segnale a un dato intervallo richiede un sample and hold. Aggiungere il blocco Zero-Order Hold della libreria
Discrete
. Dopo aver aggiunto il blocco al modello, modificare il parametro Sample Time a0.1
.Aggiungere un'altra Outport da collegare all'output del sensore. Mantenere il valore predefinito del parametro Port number.
Collegare i nuovi blocchi. L'output del blocco Integrator, Second-Order è già collegato a un'altra porta. Per creare una diramazione in quel segnale, fare clic con il tasto sinistro del mouse sul segnale per evidenziare le potenziali porte di collegamento e fare clic sulla porta appropriata.
Annotare i segnali
Aggiungere i nomi dei segnali al modello.
Fare doppio clic sul segnale e digitare il nome del segnale.
Per terminare, fare clic al di fuori della casella di testo.
Ripetere questi passaggi per aggiungere i nomi come illustrato.
Confrontare segnali multipli
Confrontare il segnale actual distance
con il segnale measured distance
.
Creare e collegare un Scope Viewer al segnale
actual distance
. Fare clic con il tasto destro del mouse sul segnale e selezionare Create & Connect Viewer > Simulink > Scope. Il nome del segnale compare nel titolo dello strumento di visualizzazione.Aggiungere il segnale
measured distance
allo stesso strumento di visualizzazione. Fare clic con il tasto destro del mouse sul segnale e selezionare Connect to Viewer > Scope1. Assicurarsi di essere collegati allo strumento di visualizzazione che è stato creato nel passaggio precedente.Eseguire il modello. Lo strumento di visualizzazione mostra i due segnali,
actual distance
in giallo emeasured distance
in blu.Ingrandire il grafico per osservare l'effetto del rumore e del campionamento. Fare clic sul pulsante Zoom
. Fare clic con il tasto sinistro del mouse e trascinare una finestra intorno all'area che si vuole osservare più da vicino.
È possibile ingrandire a ripetizione per osservare i dettagli.
Dal grafico, notare che la misurazione può discostarsi dal valore reale fino a 0,3 m. Queste informazioni sono utili quando si progetta una funzionalità per la sicurezza, ad esempio un allarme anticollisione.
Vedi anche
Blocchi
- Pulse Generator | Gain | Second-Order Integrator | Add | Constant | Zero-Order Hold | Band-Limited White Noise