Vous êtes sur la page 1sur 35

Compte rendu des Tps

Commande avancée

Réaliser par : Encadré par :


Khalil hihi Mr lahoucine bouhouch

Chadi elhabichi

Ecole Polytechnique privée d’Agadir


Année universitaire 2022/2023
TP 1 : Familiarisation avec "Fuzzy Logic" de Matlab/Simulink
Contrôleur Floue

Introduction :
Ce TP a pour but se familiariser à manipuler, d’une part Simulink et d'autre part la boite à outil
"Fuzzy Logic Toolbox" intégrés à Matlab.
Afin d’être capable de réaliser le schéma d'un régulateur flou sous Simulink et effectuer sa
simulation et sa comparaison avec le régulateur classique PID.

Développement :
Pour commencer Simulink, il suffit de taper la commande Simulink à la ligne de commandes de
Matlab. Le contrôleur à logique floue est situé sous les options "Fuzzy Logic Toolbox".

On obtient la fenêtre suivante :

Le contrôleur PID classique à appliquer au système sous étude possède la fonction de transfert ci-
dessous à développer son dénominateur et mettre sous forme d'un polynôme du troisième degré
en s :

On obtient alors le schéma suivant :


Le design du contrôleur flou se fait de la même façon que tous les systèmes flous avec Matlab. On
commence en tapant fuzzy à la ligne de commande. On obtient alors le FIS Editor ou Fuzzy Logic
Designer de Matlab, montré à la figure suivante.
Le signal de la sortie du schéma
On ajoutera le le contrôleurflou pour faire la comparaison entre les deux
Schéma ci-dessous de contrôleur flou et contrôleur PID

On commence à indiquer les intervalles des entrées et sorties

Pour le système simple sous étude, on n'utilise qu'une seule entrée qui est l'erreur
comme variable de contrôle.
On a donc un système très simple, avec une seule entrée et une sortie.
On ne choisit que 3 variables linguistiques possibles, soit Negative, Zero et Positive. Il est
généralement plus facile de commencer avec un nombre restreint de variables linguistiques
possibles, pour simplifier le design initial.

Dans notre cas, l'entrée utilisée est une entrée échelon unitaire. On choisit de développer les
fonctions d'appartenance du contrôleur flou pour l'entrée entre -1 et +1.

Commencer avec un intervalle de la sortie de -7.5 à +10. Le signal de sortie peut être bien plus
grand que le signal d'entrée afin de corriger rapidement l'erreur.
On applique les règles suivantes :
1. IF error is Negative THEN control is Negative
2. IF error is Zero THEN control is Zero
3. IF error is Positive THEN control is Positive
Après la détermination des règles, on a associé le fuzzy au WORKSPACE de MATLAB :

Le temps de stabilisation du contrôleur fuzzy est inférieur au temps de stabilisation du contrôleur


PID ;
 Le contrôleur fuzzy est plus facile et plus efficace que le PID .contre le fuzzy nécessite
seulement l’information de l’expert)

Visualisation des règles et surface :


Après la suppression de la première règle :

Le temps de stabilisation du contrôleur fuzzy est trop supérieur au temps de stabilisation du


contrôleur PID 










Changement des paramètres de zero :

Conclusion :
Après l’exécutions des différentes étapes cités dans les objectifs, on a ou aboutir aux objectifs
mentionnés au début.

On a pu alors réaliser le schéma d'un régulateur flou sous Simulink et effectuer sa simulation sa
comparaison avec le régulateur classique PID afin de savoir l’intérêt de régulateur flou.
TP2 : Contrôleur Floue de Niveau

Introduction :
Ce Tp a pour but de créer un système d'inférence floue associé au régulateur flou proposé, afin
d’Effectuer la simulation et la comparaison avec le régulateur classique PID.
Les objectifs de ce Tp sont :
• Compléter la réalisation en créant le système d'inférence flou du régulateur flou
proposé en utilisant la boite à outils "Fuzzy Logic Toolbox".
• Comparer les simulations des deux régulateurs en les visualisant sur un scope.

Mise en situation :

Une cuve contient un fluide sur une hauteur h. Cette cuve peut être alimentée par une pompe
munie d'une valve "V" imposant un débit volumique. Une autre vanne en fond de cuve engendre
un débit de fuite. Le contrôleur flou schématisé ci-dessous permettra de fournir un signal de
commande U en sortie agissant sur la valve V. Le régulateur Flou à compléter est doté de 2
entrées (Niveau, Derive) et une sortie (Valve). Il sera comparé au régulateur classique PID en
utilisant un schéma Simulink fourni :

 Schéma de comparaison entre un contrôleur PID et un contrôleur floue :


-Ajustement des fonctions d'appartenance des 2 entrées (Niveau et Dérivé) et de la
sortie ainsi que la base de règles selon les indications suivantes :

 Définition des entrées et de la sortie :


La sortie valve :
 Définition des règles d’inférence :

Le commutateur "Switch manuel" permet de comparer les 2 contrôleurs, en faisant dessus


un double clic. Et on peut visualiser sur le scope "Comparaison" les résultats de simulation,
en mettant d'abord le commutateur en position PID, ensuite mettre le commutateur en
position Flou.

 Le commutateur en position PID :


On remarque des oscillations qui dépassent l’idéal.

Dans un premier temps on voit que le niveau d’eau dépasse le niveau haut après il se
stabilise, de même pour le niveau bas, il diminue puis il se stabilise.
 Le commutateur en position FLOU :

Remarque :
-Absence des oscillations

Le niveau d’eau se stabilise directement

Remarque
En comparant les deux cas, on constate que le PID provoque souvent des oscillations par
contre le régulateur flou est exacte. On peut dire donc que le temps de réponse du
deuxième cas est faible par rapport au premier cas.
Alors le régulateur flou est plus précis d’avantage.
 Changement de l’intervalle pour :
Sortie Valve de [-3 3] :

Pour une sortie Valve de [-0.5 0.5] :

On constate l’apparition des oscillations c’est dû à la tension d’alimentation qui est très
petite
L’entrée Niveau [-0.5 0.5] :

On constate la diminution des oscillations par rapport au cas précédents

Pas de dépassement alors pas d’oscillations


Remettre les valeurs initiales et changement de l’entrée dérivé intervalle [-2 2]:

Remarque :
Elargir l’intervalle de [-0.5 0.5] à [-2 2] ; remarque qu’il s’affiche des oscillations par contre
dans le premier cas y a pas d’oscillations.

:
1ère règle : Si Niveau est "Ok" ET Dérivé est "Non" Alors Valve est "Ouvr-Lent"

Ajouté cette première règle on constate que le système a été perturbé et le niveau d’eau
dépasse largement le niveau haut.
2ème règle : Si Niveau est "Ok" ET Derive est "Non" Alors Valve est "Ferm-Lent"

Deuxième règle ajoutée va perturbé le système, le signal dépasse le niveau bas de la


consigne.

3ème règle : Si Niveau est "Ok" ET Derive est "Non" Alors Valve est "Ouvr-Rapid"

Troisième règle ajoutée va perturbé le système, le signal dépasse largement le niveau haut
de la consigne.

Remarque :
On peut dire donc que parmi tous ces cas-là, la quatrième règle seulement qui est adéquate à la
consigne dans la mesure où on ne voit pas d’oscillations sur l’oscilloscope et le temps de réponse
n’est pas trop long.

Conclusion :
On a pu créer un système d'inférence floue associé au régulateur flou proposé et effectuer la
simulation et la comparaison avec le régulateur classique PID.
TP3 : Contrôle de vitesse d'un moteur CC à excitation séparée
Comparaison Contrôleur Floue / PID
Introduction :
Ce TP a pour but de créer un système d'inférence floue associé aux régulateurs RLF. Afin d’effectuer
la simulation et la comparaison avec le régulateur classique PID.

Développement :
Dans le cas des machines tournantes, nous nous intéressons à un moteur à courant continu
(MCC). Le contrôle de sa vitesse de rotation peut se faire par divers régulateurs, par exemple à
base d'un PID classique, nécessitant une modélisation mathématique adéquate et un calcul assez
précis pour trouver les paramètres idéaux, ou encore plus simplement en utilisant un régulateur
flou (RLF) ne nécessitant pas de modèle mathématique mais plutôt une bonne base de
connaissances (Base de règles).

Dans ce TP nous allons comparer les 2 régulateurs Flou et classique PID afin d'estimer le
régulateur le mieux adapté.

Dans ce schéma bloc, sous forme de 2 boucles fermées, la fonction de transfert insérée dans
chacune des boucles représente le modèle d'une machine MCC pour laquelle nous souhaitons
réguler la vitesse. Concernant les paramètres du PID ils sont indiqués sur ce schéma. Comme
vous le remarquez au niveau du RLF, il possède 2 entrées l'erreur et sa dérivée (Err et DErr) et la
sortie (Control) permettant de fournir le signal de contrôle de la vitesse de la MCC.

Grâce à l'oscilloscope appelé ici Vitesse nous visualisons et comparons ce signal de contrôle
fourni par chacun des régulateurs.

Après on tape la commande "fuzzy" ; ce qui fera apparaitre la fenêtre "Fuzzy Logic Designer".
 Ajuster les fonctions d'appartenance des 2 entrées (Err et DErr) et de la sortie
(Control) Entrée : Err

Entrée : DErr
Sortie : Control

 Base de Règles :
La simulation de ces 2 régulateurs puis comparer-les par visualisation de leur sortie sur le scope
prévu à cet effet :
Courbe en mauve :PID
Courbe en JF :

Remarque :

Retard dans la stabilité mais moins d’oscillations

Par contre le PID y a beaucoup d’oscillations.


 Visualisation de la surface en 3D du domaine d'inférence :

Conclusion :
On a pu alors créer un système d'inférence floue associé aux régulateurs RLF et effectuer la
simulation et la comparaison avec le régulateur classique PID.
TP 4 : Hacheur "Boost" commandé par un contrôleur flou
Introduction
Ce TP a pour but de simuler un contrôleur du hacheur parallèle ou "Boost" par les outils
de la logique floue afin d’être capable de dessiner le schéma du régulateur flou d'un
hacheur parallèle (Boost) sous Simulink et - Effectuer sa simulation.

o Sous Simulink, réaliser le schéma donné ci-dessous, en concevant le régulateur à


l'aide de la boite à outils "Fuzzy Logic Toolbox".
o Voir en temps réel, par des visualisations à travers des scope, l'effet d'une consigne
fixe, puis variable sous forme d'escalier, sur la sortie de ce hacheur "Boost".

Développement
Comme on a précédemment vu, le développement d'un contrôleur flou intégré aux
schémas blocs sous Simulink, permettra une simulation en temps réel du système étudié.
Dans cet atelier nous allons tester la commande floue pour une consigne (Tension Ref.)
d'abord fixe, ensuite variable sous forme d'escalier (Voir les figures plus en bas).
L’entrée D-Erreur

La sortie alpha

-Comme les fonctions d'appartenance correspondent à 7 variables linguistiques pour chacune des
2 entrées, ce qui donnera 49 (= 7x7) règles pour le système d'inférence :
 La simulation
Voici les signaux qui représente les spectres du courant d’entrée et de sortie, ainsi que les signaux
de la tension d’entrée et de sortie
Signal de référence :

Après la simulation on peut voir donc les signaux :

On compare ces deux signaux (tension de référence et tension de sortie) :


Remarque :
Pour minimiser les piques, on doit agir sur les valeurs de R et C ainsi que les règles d’inférence et
fonctions d’appartenances.

Conclusion
On a pu simuler un contrôleur du hacheur parallèle ou "Boost" par les outils de la logique floue, en
effectuant sa simulation.

Vous aimerez peut-être aussi