4-1/ Contrôle du niveau d'eau

Travaillez avec SIMULINK

A partir de SIMULINK on va lancer la simulation de réglage de niveau d’eau dans un
réservoir. C’est l’application «sltankrule» qui se trouve dans le répertoire : MTALAB\TOOLBOX\FUZZY\FUZZYDEMOS ; pour le contrôleur flou un fichier tank.fis est chargé pour la simulation.
On considère alors le système suivant:

 

 

Une première réflexion aboutit à un régulateur flou fonctionnant avec les règles suivantes :

1/ Si (le niveau est okay) alors (la valve n’aura pas de changement no_change).
2/ Si (le niveau est bas low) alors (on ouvrirait la valve rapidement open_fast).
3/ Si (le niveau est haut high) alors (on fermerait la valve rapidement close_fast).

L’un des avantages de la boîte à outils Logique Floue «Fuzzy Logic» est de pouvoir tester les régulateurs floue directement sur un environnement de simulation SIMULINK ceci permet de chercher la meilleure configuration de règles, de plages des entrée et des sorties qui permettent une réponse satisfaisante du système à réguler.

La simulation montre que trois règles ne suffisent pas pour la régulation ; le niveau d'eau tend à osciller autour de la consigne ce qui est illustré par la figure si contre

 

On a donc besoin d’une autre entrée pour notre régulateur c’est la variation du niveau de l’eau (exprimée par sa dérivée) et ceci pour ralentir le mouvement de la valve quand on est proche du niveau imposé par la consigne. On ajoutera alors à notre système d’inference les règles suivantes :

4/ Si (le niveau est bon good) and (sa dérivée est négative negative) alors (la valve serait fermée lentement close_slow).
5/ Si (le niveau est bon good) and (sa dérivée est positive) alors (la valve serait ouverte lentement open_slow).

En insérant les deux dernières règles dans notre système d’inférence, on obtiendra le résultat suivant : le système atteint la consigne.

 

  

Une caractéristique importante de ce système est le fait que ce réservoir met beaucoup plus de temps à se vider qu’à se remplir et ceci à cause du petit diamètre de la conduite de sortie. On peut y remédier en choisissant une fonction d’appartenance close_slow légèrement différente de celle open_slow ==>asymétrie de la sortie valve; un régulateur PID n’offre pas cette possibilité.

On peut commander le système précédent soit par un régulateur flou (valeur du swich –1), soit par un régulateur PID (valeur du swich 1) ; On fait la simulation pour chaque cas de commande et on obtient :

 

 

 ==> Régulation avec PID On voit que la réponse du système à une entrée échelon présente des dépassement.

 

  

 ==> Régulation avec Logique floue Elle paraît être la régulation idéale dans ce cas (meilleure que la régulation PID), En effet ses règles émanent d’une expérience réelle.

 

 Comment implémenter ce régulateur dans le demos sltankrule