35 0 115KB
TP RÉGULATION FLOUE 2 séances de 3h.
I.
PRÉSENTATION
ET OBJECTIF
L’objectif de ce TP est de synthétiser 2 régulateurs à logique floue en utilisant le Toolbox fuzzy logic de Matlab. Ce TP permet, en outre, de se familiariser avec les importantes possibilités de simulation des systèmes dynamiques qu’offre ce logiciel. •
Le premier procédé a asservir, non linéaire, a été étudié en TD :
Qe
Un bac de section A contient une hauteur h de fluide. Cette cuve peut être alimentée par une pompe imposant un débit volumique d’entrée Qe . Une vanne en fond de cuve engendre un débit de fuite. On caractérise l’ouverture de cette vanne par un coefficient a f compris entre 0 (vanne fermée) et 1 (vanne ouverte à 100%). Le débit de fuite est tel que : q fuite = a f ×S × 2 g ×h . où S représente la section efficace de la vanne.
h
q fuite
•
Le seconde synthèse, portera sur le procédé double-bac, non linéaire et multivariables:
Qe q fuite1 = a f 1 ×S × 2 g ×h1 q1→2 = at ×S ×signe(h1 − h2 ) × 2 g ×∆h q fuite 2 = a f 2 ×S × 2 g ×h2
h1
h2 Données numériques qtransfert 1ƒ q fuite
1
2
q fuite
2
Section des réservoirs : A=0.0154m2. Section des valves : S=0.55cm2= 5.10-5m2. Débit maximal de la pompe: Qe max=100ml/s=1.10-4m3/s.
On souhaite synthétiser des régulateurs qui asservissent les niveaux de fluide, h 1 dans le premier cas et h2 dans le second, à une consigne et cela quelque soient les coefficients d’ouverture des vannes de fuite (qui constituent des perturbations des systèmes étudiés). Les seules mesures disponibles sont les niveaux de fluide dans les 2 cuves. La seule commande possible est le débit de la pompe d’alimentation en fluide de la cuve 1. On mettra en œuvre des Régulateurs à Logique Floue cadencés à 1 seconde et qui auront comme sortie la variation de débit entrant de fluide (on devra donc placer un intégrateur en sortie de RLF).
II.
FICHIERS
DISPONIBLES
Pour cela vous disposez des modèles Simulink « mdlbac1v1.mdl » « mdlbac1v2.mdl » ainsi que du fichier de commande « exploite.m ».
et
« mdlbac1.mdl » correspond à une modèle directement utilisable sous Simulink en paramétrant les entrées, les valeurs des constantes et conditions initiales nécessaires. Cependant, les scopes et sorties de ce modèle sont d’une utilisation fastidieuse… « mdlbac1v2.mdl » correspond au même modèle mais dont la simulation se lance par un fichier de commande Matlab « exploite.m » qui permet de donner l’ensemble des données nécessaires à la simulation comme paramètres (Méthode d’intégration, pas d’intégration, durée de la simulation, Entrées de consigne et de perturbation). De plus, ce fichier contient du code d’exploitation graphique des résultats de simulation, code qui permet une interprétation plus aisée des résultats.
III.
PRÉSENTATION
DU
TOOLBOX
FUZZY LOGIC.
La toolbox fuzzy logic de Matlab possède un éditeur qui permet de créer des systèmes d’inférences floues : des FIS (pour fuzzy inference system). Cette boite à outils permet de générer des fichiers « .fis », qui correspondent à des systèmes d’inférences floues et dont font partie les RLF. Cette boite à outils possède 3 éditeurs (de fis, de règles et de fonctions d’appartenance) qui permettent de saisir l’ensemble des données du FIS ainsi que 2 interfaces graphiques qui permettent de visualiser les inférences directement sur la base de règles, ainsi que des surfaces de contrôle.
Pour lancer cet éditeur principal : >>fuzzy. dans la command windows de Matlab. A partir de la fenêtre principale de l’éditeur de fis, un navigation assez aisée permet de passer d’un éditeur à un autre… Le FIS crée devra être enregistrer « nomdefichier.fis » dans le répertoire de simulation et chargé dans un bloc fuzzy controleur de Simulink.
IV.
TRAVAIL
DEMANDÉ.
Régulateur 1 a. Prise en main : Enregistrer dans votre répertoire, ouvrir et comprendre le fonctionnement des fichiers « mdlbac1v2.mdl » et « exploite.m ». Lancer des simulations pour différentes entrée de débit, d’ouverture de vanne. b. Modifier ce modèle de manière a intégrer une boucle de régulation floue. Incorporer notamment le bloc fuzzy controleur , le bloc retard d’un échantillon pour le calcul de la variation d’ erreur, un intégrateur numérique en sortie du RLF. c. Lancer l’éditeur de FIS pour créer le RLF que vous chargerez dans le fuzzy controleur lorsqu’il sera crée. Créer ce RLF… d. Tester votre régulateur et affiner le….
Régulateur 2 e. Modifier le fichier « mdlbac1v2.mdl » pour générer un modèle Simulink du système double-bac « mdlbac2.mdl » . Vous devrez, notamment, programmer graphiquement le débit de transfert entre les 2 bacs et les coupler. f. Reprendre la démarche précédente.
V.
PRINCIPALES
COMMANDES DU
TOOLBOX
FUZZY LOGIC MATLAB.
fuzzy mfedit ruleedit ruleview surfview
Lance l’éditeur de FIS Lance l’éditeur de fonctions d’appartenance. Lance l’éditeur de règles Lance l’interface graphique d’inférences Lance l’interface graphique de visualisation des surfaces de contrôle.
showfis showrule gensurf
affiche un synoptique du FIS affiche l’ensemble des règles de la base de règles génère une surface de contrôle du FIS
writefis readfis setfis …
Sauvegarde du FIS sur disque. charge un FIS à partir d’une sauvegarde Configure les propriétés du FIS …
Toutes ces commandes peuvent être utilisées à partir de la fenêtre de commande de Matlab.