Vous êtes sur la page 1sur 8

Matlab

Simulink
QUARC
Sommaire
I – Matlab .................................................................................................................. 2
1) Interface ............................................................................................................2
2) Fonctions basiques ............................................................................................2
3) Quelques conseils d’organisation ......................................................................3
II – Simulink ............................................................................................................... 3
1) Interface ............................................................................................................3
2) Blocs principaux.................................................................................................4
3) Quelques conseils pratiques ..............................................................................4
III – QUARC ................................................................................................................ 5
IV – Quelques commandes Matlab utilisées en Automatique .................................... 6

1
I – Matlab
1) Interface
L’interface Matlab est composée de plusieurs panneaux :
- Bandeau en haut : fonctions basiques et accès rapides
- Current Folder : dossier où se situe les programmes en cours et les autres
fonctions (possibilité d’utiliser la fonction path pour indiquer un autre chemin)
- Editor : interface de codage avec possibilité d’ouvrir plusieurs fichiers différents
- Command Window : exécuter des commandes pour les tester et ensuite les
implémenter dans l’éditeur
- Workspace : emplacement des variables utilisées
- Details : permet de voir l’organisation du fichier Matlab : sections..

Bandeau

Editeur
Current
Folder
Workspace

Command Window
(Console)
Details

2) Fonctions basiques
Liste des fonctions basiques de Matlab :
- clc : efface toutes les commandes tapées dans la console (Command Window)
- clear all : efface toutes les variables (clear ‘nomdelavariable’ n’efface que la
variable)
- close all : ferme toutes les fenêtres ouvertes (« close 1 » fermera la première
fenêtre)
- load(‘fichier.mat’) : permet de charger toutes les variables du fichier
- load(‘fichier.mat’,’nomdelavariable’) : chargera la variable ‘nomdelavariable’ du
fichier ‘fichier.mat’

2
- save(‘fichier.mat’) : permet d’enregistrer les variables dans le fichier ‘fichier.mat’
- help commande : donnera de l’aide sur l’utilisation de la commande
- function nomdelafonction : créera une fonction nomdelafonction, le nom du
fichier doit être identique au nom de la fonction
- syms var1 var2 : permet de garder var1 et var2 sous forme de lettres, pour les
calculs, il est possible d’affecter une valeur après à var1 et var2.
Par exemple pour syms :

syms a b
a + b
a = 1;
b = 3;
a + b

Le premier renverra : « ans = a + b » alors que le second renverra « ans = 4 »

3) Quelques conseils d’organisation


Au début d’un programme Matlab il est conseillé de mettre :

%% Initialisation
clc
clear all
close all
%% Partie 1
% commentaire sur la partie 1

Le double « %% » permet de créer une section de code ce qui permet une lecture plus
rapide et facile du code.
Il permet aussi d’exécuter le code par section, cela permet de tester des boucles par
exemple.
Il est aussi primordial de commenter ses lignes, surtout lorsqu’il s’agit de boucles. Il
n’est pas nécessaire de commenter chaque ligne de code, par exemple l’affection d’une
variable n’a pas besoin d’être commentée mais une boucle plus complexe, oui.

II – Simulink
Pour lancer Simulink, soit écrire « Simulink » dans la console, soit aller dans « Home 
Simulink ».
Ensuite il suffit de créer un fichier vide puis de mettre les premiers blocs.

1) Interface
Simulink dispose de deux fenêtres principales : la fenêtre du schéma en cours et la
fenêtre des blocs à mettre.
3
Il faut savoir que les variables du Workspace de Matlab sont accessibles sous Simulink
(il suffit d’utiliser le même nom sous Simulink).

Permet d’ouvrir la Permet de lancer la Permet de régler la


bibliothèque de blocs simulation durée de la simulation
2) Blocs principaux
La plupart des blocs se situent dans « Simulink  Commonly Used Blocks », sinon il suffit
d’effectuer une rechercher (en haut à gauche « Enter search term »)

- Constant : permet de mettre une constante


- Gain : ajoute un gain
- Integrator : intégrateur (possibilité de mettre une condition initiale dans les
paramètres du blocs)
- Sum : sommateur (possibilité de changer le nombre d’entrées en modifiant les
paramètres du bloc)
- Scope : affiche le graphique correspondant
- Display : affiche la valeur en temps réel
- Bus Creator : permet d’afficher plusieurs courbes sur le même graphique
- Subsystem : sous-schéma de simulink (augmente la lisibilité du schéma)
- In : permet de définir l’entrée d’un subsystem
- Out : permet de définir la sortie d’un subsystem
- Saturation : utilisée comme sécurité lors de l’alimentation d’un moteur par
exemple
- Transfer Fcn : permet de définir une fonction de transfert

3) Quelques conseils pratiques


Lorsque le Scope est ouvert, on peut effectuer un autoscale (clic droit sur le graphique
et autoscale).

4
On peut aussi récupérer les données dans le Workspace : « Paramètres  History 
Save data to workspace », sélectionner le nom de la variable et choisir le format
d’enregistrement (souvent « Array »). Ne pas oublier d’enregistrer le Workspace si vous
utilisez un « clear all ».
Dans l’onglet général des paramètres, on peut aussi ajouter « Legends » ce qui permet
de mieux identifier les courbes (surtout avec un « Bus Creator »).
On peut aussi changer le temps de simulation, le type de solver utilisé ou la fréquence
d’échantillonnage en faisant « Ctrl + E » ou « Simulation  Model Configuration
Parameters  Solver ».

III – QUARC
Lancer Simulink, créer un nouveau diagramme, ensuite aller dans « Simulation 
Mode », puis sélectionner le mode « External ».
Ensuite aller dans « Simulation  Model Configuration Parameters » et
choisir « Solver : ode1 (Euler) » et « Fixed-step size : 0.002 ». Ce sont les valeurs utilisées
par défaut.
Pour transférer un modèle sur le Qube-Servo 2, sélectionner le menu « QUARC  Build
Model », ensuite « Simulation  Connect to target » et après « QUARC  Start ».
Il est aussi possible de voir les modèles présents sur la maquette en allant dans « QUARC
 Manage Target ».
Ce bloc permet de paramétrer la maquette utilisée par Quarc,
dans les propriétés :
- Board name : nom donné à la maquette sous Simulink par
exemple « Qube Servo 2 »
- Board Type : ici sélectionner le nom de la maquette utilisée

Ce bloc permet de récupérer les données lues par l’encodeur. La


sortie 0 correspond à l’encodeur 0, la sortie 1 à l’encodeur 1.
Parfois on peut aussi utiliser un « HIL Read Encoder Timebase »
mais on ne peut en utiliser qu’un seul par schéma, en effet celui-
ci impose la base de temps au modèle.

Il est utilisé pour lire les données de l’encodeur spécifié à la fréquence


d’échantillonnage du modèle.

5
Dans les propriétés :
- Board name : mettre le nom de la maquette commandée (i.e. le même que dans
le « HIL Initialize »)
- Channels : mettre « [0:1] » pour 2 channels ou cliquer sur les points et
sélectionner les encodeurs manuellement.
Pour écrire une donnée, il suffit d’utiliser le bloc « HIL Write Analog » qui se paramètre
de manière similaire au « HIL Read Encoder ».
Ce bloc permet d’accéder aux autres capteurs de la maquette, par
exemple sur le Qube Servo 2, il permet d’accéder au Tachymètre.
Il suffit d’aller dans les channels dans les propriétés du bloc et de
sélectionner le capteur.
Il existe en version « Timebase » ou en version sans « Timebase ». La différence entre
les deux est la même que pour le bloc « Hil Read Encoder ».

IV – Quelques commandes Matlab utilisées en Automatique


- Acker : Compute the K matrix to place the poles of A-BK
- Axis : Set the scale of the current plot
- Bode : Draw the Bode plot
- Cloop : Closed-loop transfer function
- Conv : Convolution (useful for multiplying polynomials)
- Ctrb : The controllability matrix
- Det : Find the determinant of a matrix
- Eig : Compute the eigenvalues of a matrix
- Eps : Tolerance
- For : For, next loop
- Format : Number format (significant digits, exponents)
- Grid : Draw the grid lines on the current plot
- Inv : Find the inverse of a matrix
- Length : Length of a vector
- Loglog : Plot using log-log scale
- Lsim : Simulate a linear system
- Norm : Norm of a vector
- Nyquist : Draw the Nyquist plot
- Obsv : The observability matrix
- Ones : Returns a vector or matrix of ones
- Place : Compute the K matrix to place the poles of A-BK
- Plot : Draw a plot

6
- Print : Print the plot (to a printer or postscript file)
- Rlocfind : Find the value of k and the poles at the selected point
- Rlocus : Draw the root locus
- Roots : Find the roots of a polynomial
- Set : set(gca,'Xtick',xticks,'Ytick',yticks) to control the number and spacing
of tick marks on the axes
- size : gives the dimension of a vector or matrix
- sqrt : Square root
- ss2tf : State-space to Transfer function representation
- ss2zp : State-space to Pole-zero representation
- step : Plot the step response
- subplot : Divide the plot window up into pieces
- sum : Sum all elements in a vector
- text : Add a piece of text to the current plot
- tf2ss : Transfer function to state-space representation
- tf2zp : Transfer function to Pole-zero representation
- title : Add a title to the current plot
- xlabel : Add a label to the horizontal axis of the current plot
- ylabel : Add a label to the vertical axis of the current plot
- zeros : returns a vector or matrix of zeros
- zp2ss : Pole-zero to state-space representation
- zp2tf : Pole-zero to Transfer function representation