Matlab Simulink
Matlab Simulink
Matlab Simulink
LABORATOIRES
MEC4540 - Mécatronique et Robotique
2 Électronique 21
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.1.1 Amplificateur operationnel . . . . . . . . . . . . . . . . 21
2.1.2 Inverseur . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1.3 Suiveur . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.1.4 Sommateur . . . . . . . . . . . . . . . . . . . . . . . . 24
2.1.5 Soustracteur . . . . . . . . . . . . . . . . . . . . . . . 25
2.1.6 Comparateur . . . . . . . . . . . . . . . . . . . . . . . 26
2.2 But du laboratoire . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3 Travail à faire . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.1 Travail théorique . . . . . . . . . . . . . . . . . . . . . 28
2.3.2 Travail pratique . . . . . . . . . . . . . . . . . . . . . . 30
2.4 Rapport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4 TABLE DES MATIÈRES
3 Échantillonnage 31
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2 Partie théorique . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3 Partie expérimentale . . . . . . . . . . . . . . . . . . . . . . . 37
3.4 Rapport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4 Lévitation magnétique 39
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.2 Étude du système en continu . . . . . . . . . . . . . . . . . . 40
4.2.1 Modélisation . . . . . . . . . . . . . . . . . . . . . . . 40
4.3 Étude du système en discret . . . . . . . . . . . . . . . . . . . 45
4.4 Programmation sous ECP Executive Programm . . . . . . . . 46
4.4.1 Section de définition . . . . . . . . . . . . . . . . . . . 46
4.4.2 Section d’initialisation des variables . . . . . . . . . . 46
4.4.3 Section du contrôleur . . . . . . . . . . . . . . . . . . . 47
4.5 Précautions d’emploi de la maquette . . . . . . . . . . . . . . 50
4.6 Rapport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.8 Rapport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Chapitre 1
Introduction à Matlab et
Simulink
et la route.
P (t) + mg = ma(t)
P (t) + mg
ZZ
y(t) = dxdy
m
de(t)
Z
P (t) = kp e(t) + ki e(t) + kd
dt
On utilise la barre des outils pour créer un nouveau modèle vierge dont
l’extension sera du type (.mdl).
Ensuite, il faut ajouter un nouveau sous-système pour la fusée Simulink
Library Browser → Simulink → Subsystems → Subsystem (figure A.3).
12 CHAPITRE 1. INTRODUCTION À MATLAB ET SIMULINK
Maintenant que nos deux sous-systèmes sont complets, nous pouvons les
relier pour simuler le comportement de notre fusée.
Il nous faudra utiliser ces blocks pour compléter le diagramme:
Bien qu’un système extrêmement complexe ait pu être utilisé, nous nous
contenterons ici d’un système du deuxième ordre avec un zéro à l’origine.
Il nous faudra utiliser ces blocks pour compléter le diagramme:
Pour l’analyse:
G = tf([1], [1 1 1]);
sisotool
ce qui veut dire que nous cherchons à placer les pôles complexes en
−1.0 ± 1.0. Dans ce cas, il suffit d’insérer un zéro en −1.0 avec un gain
égal à 1.0. Le correcteur qui nous donne ceci est un PD avec kp = 1.0 et
1.7. DESIGN DE CORRECTEURS SOUS MATLAB 19
kd = 1.0.
1.8 Conclusion
Nous avons présenté ici un survol des possibilités que proposent MAT-
LAB et SIMULINK dans le cadre de la conception, du design et de la simu-
lation de systèmes dynamiques. Ces outils sont utiles et leur utilisation lors
des laboratoires à venir est suggérée.
21
Chapitre 2
Électronique
2.1 Introduction
L’amplificateur opérationnel est une composante active très importante
en électronique. Notre objectif dans cette séance de laboratoire est de fami-
liariser les étudiants du cours mécatronique à un certain nombre de circuits
électroniques à base d’amplificateurs opérationnels et de certaines compo-
santes passives telles que les résistances et les capacités par exemple.
La séance de laboratoire est composée d’une partie théorique et d’une
partie pratique. La première partie a pour objectif de familiariser les étu-
diants avec les calculs des circuits à base d’amplificateurs opérationnels. La
seconde partie consiste à familiariser les étudiants à étudier un circuit élec-
tronique à base d’amplificateurs opérationnels.
PP
PP
PP
PP
PP
V− s
PP
PP
Zemc
s
PP
PP
PPP
P
Avd (V+ − V− ) Zs
s s sS
PP
Zed ∼ PP
s
V+ s Zemc
2.1.2 Inverseur
L’amplicateur inverseur est le montage de base à amplificateur opéra-
tionnel. Le schéma d’un tel circuit est illustrée à la figure 2.2.
En se référant à la figure 2.2 et en considérant le fait que l’amplificateur
opérationnel est parfait, on a :
V+ = V− (2.2)
D’un autre côté,
V e = R1 i (2.3)
et
Vs = −R2 i (2.4)
2.1. INTRODUCTION 23
R2
-i
R1 H
b -i s H
− HH
6 HH
s b
+ 6
Ve Vs
2.1.3 Suiveur
Avant de parler de l’amplificateur suiveur, traitons l’amplificateur non-
inverseur. Le schéma électronique d’un tel circuit est illustré à la figure 2.3
où cette fois-ci la grandeur d’entrée est connectée à la borne non-inversante.
En se référant à cette figure et en considérant le fait que l’amplificateur est
idéal, on obtient :
Ve = V+ = V− (2.7)
R2
R1 HH
s − HH
HH s b
+ 6
Vs
b
6
Ve
Remarque 2.2
Ce qui donne :
Vs R2
Av = =1+ (2.9)
Ve R1
Maintenant, le circuit suiveur est obtenu de l’amplificateur non-inverseur
en choisissant une resistante R1 infinie (très grande) et une résistante R2
nulle (faible valeur). Dans ce cas, on a :
Vs
Av = =1 (2.10)
Ve
2.1.4 Sommateur
Le schéma électronique d’un amplificateur sommateur à trois tensions,
Ve1 , Ve2 et Ve3 est illustré à la figure 2.4. L’emploi d’un amplificateur idéal
implique :
Ve1 = R1 i1 (2.11)
Ve2 = R2 i2 (2.12)
Ve3 = R3 i3 (2.13)
i = i1 + i2 + i3 (2.14)
Vs = −Ri (2.15)
2.1. INTRODUCTION 25
i R3
Ve3 b - 3
i R2 R
Ve2 b - 2 s-i
i R1 HH
Ve1 b - 1 s − HH
HH s b
+ 6
Vs
2.1.5 Soustracteur
Le schéma de base d’un amplificateur comparateur est illustré à la figure
2.5.
R4
-
R3 H
H
Ve2 b - s − HH
HH s b
R1
Ve1 b- + 6
Vs
R2
V+ = V− (2.17)
R2
V+ = Ve1 (2.18)
R1 + R2
D’un autre côté, en utilisant le théorème de supperposition on obtient :
R3 R3
V− = Ve2 + Vs (2.19)
R3 + R4 R3 + R4
Compte tenu de ces dernières équations on obtient :
R4
1+ R3 R4
Vs = R1
Ve1 − Ve2 (2.20)
1+ R2
R3
2.1.6 Comparateur
Le schéma de base d’un amplificateur comparateur est illustré à la figure
2.6.
Son fonctionnement est donné par les équations suivantes :
(
+Vsat , si Vref < Ve
Vs =
−Vsat , si Vref > Ve
H
H
b + HH
6 HH b
Ve b − 6
Vs
Vref 6
- display
9V +9V
+9V
6
AA 6
r
RF
R1 A R4 R7
AAU R3 = 2kΩ
r H r H
− HH r Vb0 r r H + HH Vbcomp
+
− HH r b −
RT R2 = 1kΩ + V1
R5
R6
LEDA *
Amplificateur # 2 A
Amplificateur # 1 and offset substractor
Comparateur
r
R1 = 1kΩ H ?
V0 Dark
− HH r Vb0
+
s
Vcc = 9V RT Intensity
-
RT (kΩ)
10 1
Étant donné que la tension de sortie Vo n’est pas nulle lorsque le laboratoire
est sombre, le circuit de la figure 2.9 est utilisé pour soustraire la tension Vo
correspondante à l’état sombre du laboratoire. En plus de cette fonction, le
circuit permet un gain de 2.
– Calculer la valeur de la résistance R4 pour assurer une tension à la
2.3. TRAVAIL À FAIRE 29
9V
6 Vdisplay
6
R3 = 2kΩ 5V
R4
b r r H
− HH b 0V s - Intensity
R2 = 1kΩ + V1
RT (kΩ)
10 1
+9V
R7
Vcc = 9V
2V r vp H
+ HH Vbcomp
b
Vdisplay vn −
−Vcc = −9V R5
R6
LEDA *
A
- display
9V +9V
+9V
6
AA 6
r
RF ?
= 1kΩ
R1 = 1kΩ A R4 = 50kΩ R7
AAU - R3 = 2kΩ
+9V +9V
r H
− HH r Vb0
+9V r2VH
r r H + HH Vbcomp
+
− HH r b −
RT R2 = 1kΩ +
−9V V1 -9V R5
-9V
R6
Stage 1 Stage 2
LEDA *
A
Stage 3
2.4 Rapport
Le rapport doit contenir la partie théorique et la partie pratique de la
séance du laboratoire. Tous les calculs doivent y figurer et tous les détails
bien exposés.
Les étudiants peuvent utiliser le traitement de texte de leur choix mais
doivent impérativement bien soigner la présentation.
31
Chapitre 3
Échantillonnage
3.1 Introduction
Avec la réduction des coûts des ordinateurs, le traitement numérique qui
était autrefois limité est devenu une solution accessible à tous. En automa-
tique par exemple, l’utilisation des microprocesseurs pour le calcul des lois
de commande a remplacé la solution analogique basée sur l’électronique qui a
longtemps dominée la discipline. La solution numérique a plusieurs avantages
comparée à la solution analogique. Ainsi, si un jour on découvre un nouvel
algorithme performant, il suffit tout simplement d’écrire le programme cor-
respondant en utilisant le langage de programmation de notre choix. Après
compilation, le code exécutable obtenu peut être utilisé à la place du pré-
cédent sans changement majeur. Par contre en analogique, on doit changer
toute la carte électronique par une nouvelle qui doit être concue de manière
à accomplir la tâche du nouvel algorithme de commande.
Notre objectif dans ce laboratoire est de vous montrer les points béné-
fiques du traitement numérique et de vous montrer à travers un exemple
les conditions qu’il faut respecter lors des manipulations des systèmes de
commande.
Matlab et Simulink sont utilisés lors de cette séance pour faire les calculs.
Il faut noter que tout autre logiciel peut aussi être utilisé.
où ωe = 2πf = 2π 1
T est la pulsation d’échantillonnage; T et f = T étant
respectivement la période d’échantillonnage et la fréquence d’échantillonnage.
La relation fournissant y(t) est alors donnée par:
sin we (t−kT )
∞
X
2
y(t) = y(kT ) we (t−kT )
(3.2)
k=∞ 2
ce qui donne:
Tz
Y (z) = (3.8)
z − 1)2
Les différentes propriétés de la transformée en Z sont résumées ci-dessous:
1. linéarité:
dy(t)
+ ay(t) = au(t) (3.15)
dt
En choisissant une période déchantillonnage T qui satisfait la condition
du théorème de Shannon, on peut calculer les valeurs de la sortie y(t) aux
différents instants kT , k = 1,2, . . . en utilisant l’expression suivante:
Z KT
y(kT ) = y((k − 1)T ) + [−ay(t) + au(t)] dt (3.16)
(k−1)T
Méthode # 1 :
La première méthode que l’on peut utiliser est celle qui consiste à consi-
dérer que l’intégrant reste constant dans tout l’intervalle [(k − 1)T,kT ]
et prend la valeur à l’instant (k − 1)T . Compte tenu de ceci, on a:
La seconde méthode que l’on peut utiliser est celle qui consiste à consi-
dérer que l’intégrant reste constant dans tout l’intervalle [(k − 1)T,kT ]
et prend la valeur à l’instant kT . Compte tenu de ceci, on a:
Méthode # 3 :
La quatrième méthode que l’on peut utiliser pour obtenir une représen-
tation discrète est celle qui consiste à remplacer les pôles et les zéros du
plan-s en ceux du plan-z en utilisant la transformée en Z. Le gain de la
fonction de transfert G(z) est ensuite ajusté de manière à correspondre
au gain de la fonction G(s). Les règles suivantes sont à respecter pour
obtenir la fonction de transfert G(z):
– calculer tous les pôles, z, de G(z) en utilisant la relation suivante:
z = esT (3.27)
z = esT (3.28)
3.3. PARTIE EXPÉRIMENTALE 37
Pour ce système:
3.4 Rapport
Le rapport doit contenir la partie théorique et la partie pratique de la
séance du laboratoire. Tous les calculs et tous les détails doivent y être bien
exposés.
Chapitre 4
Lévitation magnétique
4.1 Introduction
Les ingénieurs sont toujours attirés par les technologies économiques. Parmi
ces technologies, on retrouve la lévitation magnétique dont l’effet bénéfique
est sans égal pour nos futurs moyens de transport car elle permet d’éliminer
tout contact et par conséquent assurer une grande économie énergétique.
Au Japon par exemple, un métro a été conçu sur ce modèle. Le gros
avantage est le rendement énergétique d’une telle technique. En effet, le
métro "volant" au dessus de la voie ne perd pratiquement aucune énergie
par frottement. De plus, vu que le métro lévite, le confort des passagers est
assuré. Pour assurer cette lévitation, plusieurs problèmes doivent être
résolus, entre autres, il faut trouver le moyen de générer la force
magnétique nécessaire pour léviter le corps en question, le faire déplacer et
trouver le moyen de l’arrêter quand c’est nécessaire.
L’objectif de notre laboratoire est de vous familiariser avec cette
technologie qui est très utilisée dans le milieu industriel et principalement
vous mettre en contact avec les problèmes courants qu’un ingénieur doit
résoudre lors du design de ces systèmes.
Comme système sur lequel on va appliquer ces concepts, on a choisi le
montage développé par la compagnie Educational Control Products et qui
s’intitule Magnetic Levitation System.
Comme par le passé, notre séance de laboratoire est composée d’une
analyse théorique et d’une expérimentation sur le montage choisi. Notre
objectif est de concevoir le correcteur approprié pour répondre à un cahier
de charges donné. L’étude va être faite dans les domaines continu et discret.
40 CHAPITRE 4. LÉVITATION MAGNÉTIQUE
−
→ −
→ → −
où d B , µ, I, dl , −
r,→
r , ∧ désignent respectivement le champ magnétique
élémentaire (en tesla), la perméabilité (en Henry/m), le courant appliqué
(en ampères), longueur élémentaire du fil (en m), vecteur entre le point de
→ −
− →
calcul de d B et dl (en m) et le produit vectoriel usuel.
En notant que les lignes de champ partent du pôle nord vers le pôle sud, il
en résulte que pour des questions de symétrie, le champ magnétique est
bien sûr l’axe de la bobine proche de celle-ci et est calculable en tout point
en connaissant la perméabilité (µ) et en intégrant sur tout le fil. Au fur et à
mesure qu’on s’éloigne de la bobine en hauteur, des composantes radiales
du champ magnétique apparaissent.
La lévitation de la rondelle est obtenue par l’interaction du champ
magnétique de celle-ci et celui créé par la ou les bobines, qui créent la force
nécessaire pour soulever la rondelle (voir Fig. 4.2).
Y1 (s) 1156(0.1s + 1)
G(s) = = 2 (4.2)
U1 (s) s + 7.82s + 289
ẋ = Ax + Bu
(4.3)
y = Cx + Du
#define gain q1
gain=0.2
On note que l’on a pas de signe de ponctuation à la fin de la ligne de code.
Opérateur Arithmétique
Fonctions
Opérateur d’assignation
Opérateurs de comparaison
– = : égal à.
– != : pas égal à.
On note que les opérateurs <= et >= ne sont pas utilisés et remplacés
par !> et <!.
Opérateur de condition
; Section de Définition
#define kpf q1
#define k1 q2
#define k2 q3
#define k3 q4
#define k4 q5
#define past_pos1 q6
#define past_pos2 q7
#define dead_band q8
; Section du contrôleur
begin
if ((abs(sensor1_pos) !> dead_band)
k1=k1+0.5
else
k1=0.78
endif
control_effort1=kpf*cmd1_pos-k1*sensor1_pos-k3*sensor2_pos
-k3*(sensor1_pos-past_pos1)-k4*(enc2_pos-past_pos2)
past_pos1=sensor1_pos
past_pos2=sensor2_pos
end
dérivées en discret.
4.6 Rapport
Le rapport doit contenir la partie théorique et la partie pratique de la
séance du laboratoire. Tous les calculs et tous les détails doivent y être bien
exposés.
On suggère que les étudiants utilisent le traitement de texte de leur choix
mais la présentation doit être très bien soignée . Des points sont
consacrés à la présentation.
51
Chapitre 5
5.1 Introduction
Le problème de la commande d’un système à axe flexible est classique et
très présent en pratique. La robotique en est un bon exemple. En effet, en
pratique, il est bien souvent utile d’utiliser des tiges entre l’arbre de sortie
du moteur et l’outil. Ces tiges n’étant jamais complètement rigides,
introduisent des perturbations linéaires ou non. L’utilisation de la
robotique dans l’industrie a bien sûr augmenté la productivité mais a aussi
permis d’effectuer des tâches trop précises pour un homme. Si nous prenons
l’exemple d’un atelier de soudure dans une entreprise de cartes
électroniques, le robot devra être capable de souder en des points précis,
très rapidement. Peu de place est donnée à l’erreur quant à la position de la
soudure (Qu’adviendrait ma carte mère si un point de soudure se trouvait
sur le processeur?). Ce système, moteur + pince + appareillage de soudure,
peut être modélisé par la maquette de la page de garde. En effet le moteur
est en bas, la pince est représentée par le disque du milieu et l’appareillage
de soudure par le disque du haut, le tout relié par des tiges flexibles.
On note θ1 et θ2 les angles des deux roues libres par rapport à leur origine.
Les tiges entre les roues sont supposées être des ressorts parfaits de torsion
de coefficients k1 et k2 . Les roues sont caractérisées par leur inertie J1 et J2
et un coefficient de frottement visqueux, c1 et c2 . Enfin, on applique au
niveau du moteur, la roue 1, un couple moteur T (t). Toutes ces hypothèses
se résument au travers du schéma suivant :
Question 5.3.1 D’après cette modélisation quel est à votre avis l’ordre des
5.3. IDENTIFICATION DU SYSTÈME 53
θ1 (s) θ2 (s)
fonctions de transfert T (s) et T (s) ?
θ1 (s) J2 s2 + c2 s + (k1 + k2 )
=
T (s) J1 J2 s4 + (c1 J2 + J1 c2 )s3 + (J1 (k1 + k2 ) + J2 k1 + c1 c2 )s2 + (c1 (k1 + k2 ) + c2 k1 )s + k1 k2
θ2 (s) k1
=
T (s) J1 J2 s + (c1 J2 + J1 c2 )s + (J1 (k1 + k2 ) + J2 k1 + c1 c2 )s2 + (c1 (k1 + k2 ) + c2 k1 )s + k1 k2
4 3
Nous remarquons que ce système est compliqué à étudier car il est d’ordre
4. Nous allons le simplifier en étudiant cette fois-ci la configuration
suivante :
54 CHAPITRE 5. CONTRÔLE D’UN SYSTÈME DE TORSION
Expérimentation
On est prêt maintenant pour lancer une simulation. Ce que l’on souhaite
identifier est la trajectoire de θ1 (t). Pour ce faire, on procèdera comme suit :
Question 5.3.7 À partir des résultats obtenus par simulation, quelles sont
les valeurs retenues pour K, ζ et ω ?
Question 5.4.1 Quelles sont les valeurs retenues pour les paramètres du
correcteur? Expliquer l’influence de chacun de ceux-ci.
Note : comme par le passé, il est suggéré de rédiger votre rapport dans la
même ligne de pensée que les laboratoires précédents. On doit soigner la
présentation et présenter une analyse théorique et expérimentale et une
conclusion.
59
Chapitre 6
6.1 Introduction
Ce laboratoire traite de la modélisation et de la commande d’un système
multivariable. Dans une première partie, nous allons voir une brève
présentation du système. Cela nous amènera à proposer une modélisation
sous forme de modèle d’état. Par la suite, deux types de commande par
retour d’état seront étudiés: par placement de pôle, la plus classique mais
aussi la plus incertaine quand au résultat, et la commande optimale.
Il est important de bien comprendre les annexes avant de commencer.
6.5 Modélisation
6.5.1 Équations caractéristiques
Nous pouvons modéliser le système par la figure (6.4). Nous ne prendrons
ẋ = Ax + BF (t)
(6.2)
Y = Cx
avec:
0 1 0 0 0 0 0
− k1 +k2 −mc1 k2
0 0 0 m1
m1 1 m1 1
0 0 0 1 0 0 0
A = k2 ,B =
0 ,
− k2m+k c2 k3
m2 0 2
3
−m 2 m2 0
0
0 0 0 0 1
0
k3 k3 c3 0
0 0 m3 0 −m3
−m 3
6.5. MODÉLISATION 63
C1 0 0 0 0 0 x1
0 C2 0 0 0 0 ẋ1
0 0 C 0 0 0
3 et X = x2
C=
0
0 0 C4 0 0
ẋ2
0 0 0 0 C5 0 x3
0 0 0 0 0 C6 ẋ3
Dans notre cas, tous les Ci = 1, c’est-à-dire que l’on mesure toutes les
sorties Xi . Par conséquent, Y sera de dimension 6. Cette simplification
nous évite de vérifier l’observabilité du système car à partir de Y , le vecteur
X, l’état, est parfaitement connu (et pour cause, Y = X). Cependant cela
n’est pas toujours le cas: par exemple, nous aurions pu avoir uniquement
C5 = 1 et les autres à 0. Dans ce cas, le problème est de savoir si à partir
de cette seule donnée, nous pouvons estimer le vecteur X afin de faire une
commande par retour d’état.
Question 6.5.1 Est-ce que nous aurions pu reconstruire X avec seulement
la valeur de x3 ? (voir les valeurs numériques pour A dans la partie
suivante)
6.5.3 Identification
L’identification de ce système est assez complexe. L’idée initiale est de
découpler les trois chariots et ainsi déterminer les paramètres
caractéristiques séparément. Cependant après plusieurs tests, on se rend
compte que les valeurs trouvées ne concordent plus avec la réalité lorsque le
système est couplé. Certaines caractéristiques sont cependant immuables.
La masse des chariots (mi ) et les raideurs (ki ) ne changeant pas, on
demeure imprécis sur les coefficients de frottements (ci ). Par conséquent, le
mieux est de déterminer, dans un premier temps, les masses, les raideurs et
une approximation des coefficients de frottement pour ensuite ajuster ces
mesures en couplant le tout.
Les valeurs numériques trouvées pour ce système sont:
Bien souvent, il est difficile de trouver quels sont les pôles permettant une
bonne réponse en boucle fermée. Si ceux-ci ont une partie réelle trop
négative, le système sera rapide mais la commande risque d’être trop forte.
Il faut savoir qu’il n’y a pas de méthode générale pour déterminer les pôles
efficacement surtout lorsque l’on en a 6. La prochaine méthode, la
commande optimale, permet de s’en sortir facilement.
6.8 Rapport
Le rapport doit contenir la partie théorique et la partie pratique de la
séance du laboratoire. Tous les calculs et tous les détails doivent y être bien
exposés.
66 CHAPITRE 6. CHAÎNE LINÉAIRE DE CHARIOTS
Implémenter un contôleur
Dans Setup-Control algorithm, vous avez la possibilité de rentrer plusieurs
types d’algorithmes. Celui que nous allons utiliser est State Feedback
(retour d’état). Pour rentrer les paramètres de K, cliquer sur Setup
algorithm.
Afin d’implémenter l’algorithme dans la machine, il faut absolument cliquer
sur Implement Algorithm avant de quitter la fenêtre Setup Control
Algorithm.
Faites attention que vous n’avez droit d’afficher que 4 courbes; 2 auront leur
ordonnée à droite et 2 à gauche (les deux ne correspondent peut-être pas!).
– A: n × n, matrice d’état,
– B: n × m, matrice de commande,
– C: l × n, matrice d’observation,
– D: l × m, matrice de transfert direct.
On note:
Généralement D = 0.
70 CHAPITRE 6. CHAÎNE LINÉAIRE DE CHARIOTS
Cette equation est du premier ordre. Il est vrai que c’est sous forme
matricielle mais les impératifs sont les mêmes. En effet dans le cas à une
dimension, on souhaite régler A − BK < 0. Dans le cas matriciel c’est la
même chose avec les valeurs propres de A − BK. Celles-ci doivent être à
partie réelle négative.
Comportement à l’infini
En régime permanent l’équation (4) donne:
0 = (A − BK)x + BRef
La matrice (A − BK) est inversible car ses valeurs propres ont au moins une
partie réelle non nulle. Donc en notant x∞ le régime permanent, on trouve:
Annexe A
A.1 Introduction
Ce laboratoire a pour objectifs de permettre aux étudiants un premier
contact avec l’utilisation d’un microcontrôleur. Dans ce cas-ci, il s’agit de
contrôler en vitesse un petit moteur électrique à l’aide d’un microcontrôleur
Atmega163 dont le programme est écrit en langage assembleur. De nos
jours, de nombreuses applications utilisent des microcontrôleurs locaux qui
assument des tâches spécifiques. En effet, afin d’éviter de surcharger le
processeur principal, il est courant aujourd’hui de vouloir décentraliser le
contrôle d’une application en confiant à des microcontrôleurs locaux le soin
d’exécuter certaines tâches en parallèle avec d’autres microcontrôleurs. La
compréhension de la base du fonctionnement de ces microcontrôleurs est
d’une grande utilité pour l’ingénieur en mécatronique. Dans ce laboratoire,
l’étudiant va découvrir les différentes possibilités que peuvent offrir les
microcontrôleurs modernes et comment s’en servir pour bâtir une
application simple. Il devra comprendre les principes de base de
l’utilisation des différents registres afin de compléter un petit programme
écrit en assembleur qui lui permettra de contrôler en vitesse un petit
moteur électrique.
A.4.2 Au laboratoire
Le but du programme que vous devez compléter est de vous permettre de
contrôler la vitesse du moteur. Les boutons vont vous servir à déterminer la
vitesse que vous voulez indiquer au moteur et les LEDs vont vous permettre
de visualiser sommairement l’information que vous envoyez au moteur.
Votre tâche consiste donc à remplir les zones où se trouvent des points
d’interrogation (?) dans le programme que vous recevrez. Dans la plupart
des cas, il s’agit de mettre les bonnes valeurs dans les registres de contrôle
de 8 bits pour que les différents composants du microcontrôleur comme le
convertisseur fonctionne correctement. Les informations pour vous indiquer
comment remplir les endroits incomplets se trouvent en commentaires dans
le programme et vous devrez chercher les réponses dans le document pdf du
microcontrôleur. Voici un exemple: si je veux que le port A fonctionne en
mode écriture, dans le programme je devrai donc écrire PORTA = 0xFF.
PORTA est le registre qui me permet d’indiquer le mode (écriture ou
76 ANNEXE A. CONTRÔLE PAR MICROCONTRÔLEUR
sélection de circuit
la vitesse soustracteur
boutons convertisseur
Plaquette Atmel et
microcontrôleur
poussoirs A/N
Potentiomètre
Processeur
Moteur DC
sortie
LEDs
PWM
+12V
2kΩ
17kΩ
2kΩ
−
−
+3.5V +
+ sortie
7kΩ
2kΩ 2kΩ
−
Entrée
+
potentiomètre
Fig. A.3
;carrefour.asm
.include"m163def.inc"
.def Temp =r16 ;Registre temporaire à plusieurs utilités
.def save =r17 ;Registre de sauvegarde pour interruptions
.def secon =r18 ;Registre pour connaître le nombre de secondes écoulées
A.6. EXEMPLE DE PROGRAMME 79