Académique Documents
Professionnel Documents
Culture Documents
REGULATION NUMERIQUE
ENSE3 U.E. AUTOMATIQUE pour l’INGENIEUR-IEE
BE1 : Modélisation, Analyse et Contrôle d’un bras
de lecture/écriture pour disque dur
Découpage indicatif :
2 heures : Sections 1 et 2 ;
2 heures : Section 3 ;
2 heures : Section 4
Introduction
Objectifs
Ce bureau d’étude récapitule quelques notions que vous avez apprises en première année
à ENSE3 puis s’intéresse à la commande d’un système avec un régulateur numérique. Le
système étudié est un bras de lecture/écriture d’un disque dur. La première partie traitera
de la modélisation du système, la seconde la partie analyse des propriétés importantes de
ce type de système et enfin la troisième portera sur le contrôle du système suivant un ca-
hier des charges défini à priori. L’objectif secondaire de ce travail est de vous familiariser
avec des outils essentiels en Automatique, à savoir MATLAB, Simulink et la Control Toolbox.
Le script MATLAB devra éviter au maximum les calculs avec des valeurs numériques
(préférer les expressions littérales).
Par exemple, dans le schéma Simulink, la période d’échantillonnage sera toujours ren-
seignée par la variable Te et non par sa valeur numérique.
1
Présentation du système
Le système à contrôler dans ce bureau d’étude est le bras de lecture/écriture d’un disque
dur illustré ci-dessous.
2
1 Modélisation et analyse du système
Dans un premier temps, il s’agit d’établir un modèle qui permettra d’analyser, de simuler
et de commander le système.
1.1 Modèle simplifié du moteur
On considère comme entrée la tension u(t) et comme sortie la vitesse angulaire de l’axe
du moteur Ω(t). Afin de simplifier le modèle, on pose :
di
(t) = 0; (2)
dt
Ω(s) K JR
déterminer la fonction de transfert Hm (s) = U (s)
en fonction de Km = K 2 +Rf
et τm = K 2 +Rf
.
3
— pas de dépassement
— un gain statique unitaire
— assurer un rejet de perturbations constantes en sortie
— le comportement du système en boucle fermée sera du second ordre.
3.1 Polynôme caractéristique désiré
Déterminer, à partir du cahier des charges, le polynôme caractéristique désiré.
3.2 Choix du correcteur
A votre avis, est-il indispensable d’utiliser un terme intégral dans le correcteur pour
rejeter les perturbations constantes en sortie ? Pourquoi ?
Pour les questions suivantes, on demande de réaliser le schéma Simulink du système en
boucle fermée et de présenter les simulations associées. (N’hésitez pas à vous reporter à la
présentation de Simulink en annexe).
3.3 Correcteur proportionnel-dérivée
On vous propose de tester le correcteur Proportionnel Dérivé (avec filtre sur la dérivée)
suivant :
KD s
P D(s) = KP + (3)
1 + KND s
avec N = 100, KP = 0.7459 et KD = 0.0184. En appliquant une consigne de 0.1 radians puis
une perturbation de 0.01 radians en sortie, analysez les résultats obtenus en asservissement
et en régulation. Analyser la commande.
3.4 Rejet de perturbations en entrée
On ajoute maintenant une nouvelle contrainte : on souhaite assurer un rejet de pertur-
bations constantes (par exemple, 0.1 V) en entrée du système.
Le correcteur PD satisfait-il ce nouveau cahier des charges ? Pourquoi ?
3.5 Correcteur proportionnel-intégral-dérivée
On souhaite mettre en oeuvre un correcteur PID :
(1 + Ti s)(1 + Td s)
K(s) = Kc (4)
Ti s
permettant de satisfaire le cahier des charges. Calculer pour cela la fonction de transfert
en boucle ouverte du système lorsque l’on compense le pôle du système càd pour Ti = τm .
Puis calculer la fonction de transfert en boucle fermée HBF (s) : on cherchera à identifier le
dénominateur de la fonction de transfert HBF (s) au polynôme caractéristique désiré pour
obtenir les paramètres du correcteur.
Tester le correcteur en simulation et analysez les résultats obtenus en asservissement et
en régulation. Observez la commande.
Remarque : pour la simulation (avec Simulink), on prendra le correcteur PID avec filtre
sur la dérivée et N ' 100 :
(1 + Ti s)(1 + Td s)
Kf (s) = Kc (5)
Ti s(1 + TNd s)
4
et on utilisera le bloc LTI System de Simulink.
R(z) r0 + r1 z −1 + r2 z −2
K(z) = = .
S(z) (1 − z −1 )(1 + s01 z −1 )
5
5 Un peu d’Automatique avec Simulink
Généralement, MATLAB est utilisé pour le calcul et l’utilisation de fonctions spécifiques
comme définir des polynômes, des fonctions de transferts, manipuler des variables. En re-
vanche, il n’est pas très intuitif lorsque l’on désire piloter des systèmes bouclés avec de
multiples entrées/sorties comme la consigne, les perturbations, la sortie. . .
C’est ici qu’intervient Simulink dans lequel il est graphiquement possible de construire
des systèmes bouclés sous forme de schémas blocs exactement de la même manière que dans
le cours.
De plus, une communication est possible entre les deux permettant ainsi de fusionner
leurs avantages. En effet, dans le script MATLAB (*.m) vous définirez tous les paramètres
nécessaires par des noms. Ensuite vous utiliserez ces noms dans Simulink, le lien se fait
automatiquement. N’oubliez pas de relancer le script MATLAB après chaque modification.
L’intérêt de faire cette démarche est simple. Dans le fichier de simulation Simulink, beau-
coup de valeurs numériques sont utilisées et certaines sont utilisées plusieurs fois en des
endroits différents. Cela signifie que si vous avez besoin de modifier une valeur, vous devrez
la changer en chacun des endroits où elle est utilisée. Tandis que si vous utiliser une valeur
symbolique qui n’est jamais modifiée, vous n’aurez qu’à changer une seule valeur dans le
script Matlab.
En résumé :
1. Créer un fichier d’initialisation MATLAB *.m et y inscrire les variables et constantes
utilisées, faire les opérations nécessaires pour initialiser la simulation sous Simulink.
2. Créer un fichier de simulation Simulink, construire votre schéma bloc, définir les
données de chaque bloc (en valeur symbolique), placer les signaux d’entrées et les
blocs de visualisation de sortie.
3. Lancer la simulation.
Les figures
Les figures doivent être obligatoirement titrées (utiliser la fonction title) ; les grandeurs
et les unités doivent figurer sur les axes (utiliser les fonctions xlabel et ylabel).
Pour comparer plusieurs réponses avec des paramètres différents, il est intéressant de les
placer sur une seule et même figure.
Lorsque vous tracez une réponse qui doit tendre vers une valeur spécifique (suivi de
consigne), tracez sur la même figure la réponse et la consigne. Cela permet de mettre en
évidence très simplement une éventuelle erreur statique.