Bond Graph : Différence entre versions

De Wiki de Projets IMA
(20-21mars)
(vacance printemps)
 
(57 révisions intermédiaires par 4 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 +
<include nopre noesc src="/home/pedago/pimasc/include/video-RegulationHydraulique2012-iframe.html" />
 +
__TOC__
 +
<br style="clear: both;">
 
= '''Présentation du projet''' =
 
= '''Présentation du projet''' =
 
 
 
==== Encadrant :====
 
 
Belkacem Ould-Bouamama.
 
 
====Binôme :====
 
 
Qiaomu Li / Abdel-Hakim Mahir
 
  
 
====Objectif :====
 
====Objectif :====
Ligne 18 : Ligne 11 :
  
 
*Identification des systèmes ( boîte à outil IDENT)
 
*Identification des systèmes ( boîte à outil IDENT)
*modélisation et simulation dynamique par BG avec boîte à outil Sybols2000
+
*modélisation et simulation dynamique par BG avec boîte à outil Symbols2000
 
*boîte à outil RTW
 
*boîte à outil RTW
 
*mise en place des algorithmes de commande ( développé en cours ISA)
 
*mise en place des algorithmes de commande ( développé en cours ISA)
 
*travail en équipe
 
*travail en équipe
 
  
 
====Matériel:====
 
====Matériel:====
Ligne 41 : Ligne 33 :
 
*Symbols
 
*Symbols
 
*IDENT
 
*IDENT
 
 
 
 
  
 
= '''Avancement du projet''' =
 
= '''Avancement du projet''' =
Ligne 56 : Ligne 44 :
 
   
 
   
 
Cette séance a été mise à profit afin de mieux cerner le projet :
 
Cette séance a été mise à profit afin de mieux cerner le projet :
*contact le encadrant du projet  
+
*prise de contact de l'encadrant du projet  
 
*présentation du projet par M. Belkacem Ould-Bouamama
 
*présentation du projet par M. Belkacem Ould-Bouamama
*discussion autour des différentes parties du projet  
+
*discussion autour des différentes parties du projet
 
 
 
 
  
 
====14, févier====
 
====14, févier====
Ligne 87 : Ligne 73 :
 
Durant cette séance, nous avons déterminé des équations du modèle à partir du modèle Bond Graph. Grâce à ces équations, nous avons pu réaliser le modèle théorique sous Simulink.
 
Durant cette séance, nous avons déterminé des équations du modèle à partir du modèle Bond Graph. Grâce à ces équations, nous avons pu réaliser le modèle théorique sous Simulink.
 
<br>
 
<br>
Nous avions alors besoin de certaines valeurs de paramètres. On a donc contacté M. Belkacem Ould-Bouamama pour qu’il nous fournisse la documentation technique avec la valeur de certains paramètres (air exacte des 2 réservoirs,...)  
+
Nous avions alors besoin de certaines valeurs de paramètres. On a donc contacté M. Belkacem Ould-Bouamama pour qu’il nous fournisse la documentation technique avec la valeur de certains paramètres (air exacte des 2 réservoirs,...)
<br>
 
  
 +
[[Fichier:image.jpg|BG]]
  
  
Ligne 100 : Ligne 86 :
 
Nous avons donc dû rectifier légèrement le schéma Bond Graph.
 
Nous avons donc dû rectifier légèrement le schéma Bond Graph.
 
<br>
 
<br>
Ensuite, nous avons obtenus et déterminer la valeur de certains paramètres du modèle. Après avoir entrée ces valeurs sous Matlab, on a pu lancer la simulation du modèle.
+
Ensuite, nous avons obtenu et déterminé la valeur de certains paramètres du modèle. Après avoir entré ces valeurs sous Matlab, on a pu lancer la simulation du modèle.
 
<br>
 
<br>
 
Dans ce modèle le signal d’entrée est le débit Qe et les signaux de sorties sont les hauteurs h1 et h2 du niveau d’eau atteint dans les réservoirs 1 et 2.
 
Dans ce modèle le signal d’entrée est le débit Qe et les signaux de sorties sont les hauteurs h1 et h2 du niveau d’eau atteint dans les réservoirs 1 et 2.
Ligne 107 : Ligne 93 :
 
====11,mars====
 
====11,mars====
 
[[Fichier:courbes théorique.png|thumb|courbes théorique h1 et h2]]
 
[[Fichier:courbes théorique.png|thumb|courbes théorique h1 et h2]]
A partir de cette séance, nous avons passé du modèle théorique au modèle réel.
+
A partir de cette séance, nous sommes passé du modèle théorique au modèle réel.
 
<br>
 
<br>
 
Nous avons analysé la réalisation du modèle réel.
 
Nous avons analysé la réalisation du modèle réel.
Ligne 123 : Ligne 109 :
 
Nous avons réalisé notre modèle réel avec le bloc d'étalonnage sous Simulink. Puis nous avons configuré notre modèle avec le système.
 
Nous avons réalisé notre modèle réel avec le bloc d'étalonnage sous Simulink. Puis nous avons configuré notre modèle avec le système.
 
<br>
 
<br>
Dans le modèle réel, nous avons passé du temps pour bien comprendre le fonctionnement des blocs AnalogOutput, AnalogInput, et les channels dedans.
+
Dans le modèle réel, nous avons passé du temps pour bien comprendre le fonctionnement des blocs AnalogOutput, AnalogInput, et les channels du modèle.
 
<br>
 
<br>
Puis, nous avons testé notre modèle réel avec un débit d'entrée. Vu que le modèle réel fonctionne bien.
+
Puis, nous avons testé notre modèle réel avec un débit d'entrée.  
 
<br>
 
<br>
Nous avons ensuite fait un schéma sous Simulink qui comparait le modèle réel avec le modèle théorique. Nous avons remarqué que les deux modèles correspondent bien(l'allure réel est presque la même que l'allure théorique).
+
Vu que le modèle réel fonctionne bien, nous avons ensuite fait un schéma sous Simulink qui comparait le modèle réel avec le modèle théorique. Nous avons remarqué que les deux modèles correspondent bien(l'allure réel est presque la même que l'allure théorique).
 
<br>
 
<br>
 
Pour passer à l'étape suivante, nous avons pris un rendez-vous avec M.Bouamama pour la prochaine séance.
 
Pour passer à l'étape suivante, nous avons pris un rendez-vous avec M.Bouamama pour la prochaine séance.
Ligne 136 : Ligne 122 :
 
Au départ de cette séance, nous avons corrigé certains paramètres du modèle réel et théorique pour que le modèle théorique se rapproche le plus possible du modèle réel.
 
Au départ de cette séance, nous avons corrigé certains paramètres du modèle réel et théorique pour que le modèle théorique se rapproche le plus possible du modèle réel.
 
<br>
 
<br>
Puis nous avons validé notre modèle.
+
Nous sommes passé ensuite dans le bureau de M.Bouamama, il nous a demandé de simplifier notre modèle avec l'outil "ident". Il nous a expliqué un peu le fonctionnement de "ident" et nous a donné un document sur l'utilisation de "ident".
<br>
 
Après la validation du modèle. Nous somme passé dans le bureau de M.Bouamama, il nous a demandé de simplifier notre modèle avec l'outil "ident". Il nous a expliqué un peu le fonctionnement de "ident" et nous a donné un document sur l'utilisation de "ident".
 
 
<br>
 
<br>
 
Nous avons lu le document  pour prendre la connaissance de cet outil.
 
Nous avons lu le document  pour prendre la connaissance de cet outil.
Ligne 145 : Ligne 129 :
 
<br>
 
<br>
 
Essayer d'utiliser "ident" et trouver la fonction de transfert.
 
Essayer d'utiliser "ident" et trouver la fonction de transfert.
 
+
<br>
 
+
[[Fichier:comparer.jpg|comparer]]
 
 
 
 
  
 
====27-28mars====  
 
====27-28mars====  
Ligne 154 : Ligne 136 :
 
Durant les deux séances, nous avons utilisé l'outil "ident" pour trouver la fonction de transfert.
 
Durant les deux séances, nous avons utilisé l'outil "ident" pour trouver la fonction de transfert.
 
<br>
 
<br>
Vu que notre modèle est difficile à comprendre pour des gens qui n'ont pas de connaissance sur ce système hydraulique, il faut simplifier notre modèle en remplaçant du modèle théorique par la fonction de transfert.
+
L'intérêt de l'outil 'ident' est de simplifier notre modèle en remplaçant le modèle théorique par la fonction de transfert.
 
<br>
 
<br>
Nous avons cherché des utilisations de "ident" sur Internet. On a constaté qu’il existait plus types de modèles possibles : équations d’état, modèle ARX, Laplace...Nous avions décidé de travailler avec le modèle ARX. En fait ce modèle permettait d’obtenir des caractéristiques du système mais ne permettait pas de tracer facilement l’allure du signal de sortie sous Matlab. Du coup nous avons décidé d’utiliser le modèle de fonction de transfert dans Laplace. Nous avons perdu du temps à trouver la fonction de transfert.
+
Nous avons cherché des utilisations de "ident" sur Internet. On a constaté qu’il existait plusieurs types de modèles possibles : équations d’état, modèle ARX, Laplace...Nous avions décidé de travailler avec le modèle ARX. En fait ce modèle permettait d’obtenir des caractéristiques du système mais ne permettait pas de tracer facilement l’allure du signal de sortie sous Matlab. Du coup nous avons décidé d’utiliser le modèle de fonction de transfert dans Laplace. Nous avons perdu du temps à trouver la fonction de transfert.
 
<br>
 
<br>
Finalement nous avons trouvé un vidéo qui explique étape par étape comment nous pouvions  trouver la fonction de transfert plus rapide et avec la méthode plus simple.
+
Finalement nous avons trouvé une vidéo qui explique étape par étape comment nous pouvions  trouver la fonction de transfert plus rapidement et avec une méthode plus simple.
 
<br>
 
<br>
Voici le lien du vidéo :[http://www.youtube.com/watch?v=t6SPSRacD_0]
+
Voici le lien de la vidéo :[http://www.youtube.com/watch?v=t6SPSRacD_0]
 
<br>
 
<br>
 
Après avoir obtenu les valeurs des entrées et sorties du système envoyées à Workspace, nous avons modélisé le système théorique grâce à l'outil "ident" (fonction de transfert=S/E).   
 
Après avoir obtenu les valeurs des entrées et sorties du système envoyées à Workspace, nous avons modélisé le système théorique grâce à l'outil "ident" (fonction de transfert=S/E).   
 
<br>
 
<br>
 
Puis nous avons simulé le modèle avec la fonction de transfert obtenue.
 
Puis nous avons simulé le modèle avec la fonction de transfert obtenue.
 
 
 
 
  
 
====3-4avril====  
 
====3-4avril====  
Ligne 174 : Ligne 152 :
 
Objectif de la séance: contrôler le niveau d'eau du réservoir 1.  
 
Objectif de la séance: contrôler le niveau d'eau du réservoir 1.  
 
<br>
 
<br>
 +
[[Fichier:controleh1.jpg|thumb|contrôle h1 par niveau ]]
 
Le signal d'entrée ne doit plus être un débit constant mais une consigne en hauteur.   
 
Le signal d'entrée ne doit plus être un débit constant mais une consigne en hauteur.   
 
<br>
 
<br>
Pour réalisé cet objectif, il faut modéliser du modèle avec PID.
+
Pour réaliser cet objectif, il faut réaliser le modèle avec un correcteur PID.
 
<br>
 
<br>
Durant les séances, nous avons déterminés des paramètres du PID( Kp, Ki, Kd )en testant directement sur le modèle réel. Nous avons déterminé les valeurs des paramètres de tel sorte que le dépassement du niveau soit égal à 0, le temps de monté soit le plus rapide, et surtout que le système soit précis.
+
Durant les séances, nous avons déterminés des paramètres du PID( Kp, Ki, Kd )en utilisant la méthode Ziegler-Nichols. Nous avons déterminé les valeurs des paramètres de tel sorte que le temps de monté soit rapide, et surtout que le système soit précis.
 
<br>
 
<br>
Finalement, nous avons choisit un correcteur PI( On a choisit les paramètres du PID en fonction des vannes ouvertes ).  
+
Finalement, nous avons choisit un correcteur PI avec Kp=0.86, Ki=0.036
 
<br>
 
<br>
 
Nous avons validé notre modèle pour le contrôle du niveau d’eau des réservoirs.
 
Nous avons validé notre modèle pour le contrôle du niveau d’eau des réservoirs.
Ligne 186 : Ligne 165 :
 
Si on entre une consigne de 18 cm le niveau d'eau atteint bien 18 cm.
 
Si on entre une consigne de 18 cm le niveau d'eau atteint bien 18 cm.
 
<br>
 
<br>
A la fin de cette séance, nous avons fini toutes les parties de modélisation du système( modélisation théorique et modélisationréel ).  
+
A la fin de cette séance, nous avons fini toutes les parties de modélisation du système( modélisation théorique et modélisation réel ).
 
 
 
 
 
 
 
  
 +
[[Fichier:h1_pid.jpg|PID]]
  
 
====8,avril====
 
====8,avril====
  
Nous somme allé voir M.Bouamama. Il a vérifié un peu notre modèle et après nous avons passé à l'étape suivante: la régulation cascade et le schéma du retour d'état .
+
Nous sommes allé voir M.Bouamama. Il a vérifié un peu notre modèle et après nous sommes passé à l'étape suivante: la régulation cascade et le schéma de commande par retour d'état .
 
<br>
 
<br>
 
M.Bouamama nous a expliqué le principe du schéma cascade. Cette séance à été concentré sur:  
 
M.Bouamama nous a expliqué le principe du schéma cascade. Cette séance à été concentré sur:  
*Développement de connaissance sur le principe du schéma cascade  
+
*le développement de connaissance sur le principe du schéma cascade  
*Analyse du schéma cascade et du retour d’état
+
*l'analyse du schéma cascade et du retour d’état
 
 
 
 
 
 
 
 
  
 
====10,avril====
 
====10,avril====
  
Durant cette, nous avons réalisé notre schéma cascade sous Simulink et nous l’avons testé.
+
Durant cette séance, nous avons réalisé notre schéma cascade sous Simulink et nous l’avons testé.
 
<br>
 
<br>
 
Nous avons particulièrement mis du temps à analyser et comprendre les parties qui correspondent à la pompe et aux capteurs de niveau.  
 
Nous avons particulièrement mis du temps à analyser et comprendre les parties qui correspondent à la pompe et aux capteurs de niveau.  
 
<br>
 
<br>
Ensuite, nous avons déternimé des paramètres PID maître et esclave du schéma cascade après plusieurs simulations sur le système réel de telle sorte à avoir un système stable, précis et rapide.
+
Ensuite, nous avons déternimé les paramètres PID maître et esclave du schéma cascade de telle sorte à avoir un système stable, précis et rapide. Nous avons alors trouvé:
 +
<br>
 +
PID maître : Kp=0.87, Ki=0.036
 +
<br>
 +
PID esclave : Kp=1
 
<br>
 
<br>
 
finalement nous avons validé notre schéma cascade après quelques tests.
 
finalement nous avons validé notre schéma cascade après quelques tests.
 
[[Fichier:régulation cascade.png]]
 
[[Fichier:régulation cascade.png]]
 +
 +
courbes de h1(en bleu) et h2 (en vert):
 +
[[Fichier:courbe.JPG|courbe]]
  
 
==== vacance printemps ====  
 
==== vacance printemps ====  
 
[[Fichier:programme.jpg|thumb|programme]]
 
[[Fichier:programme.jpg|thumb|programme]]
Nous nous somme rencontrés pendant la vacance pour finir la partie de retour d'état.
+
Nous nous somme rencontrés pendant les vacance pours finir la partie de retour d'état.
 
*Objectif : faire le modèle du système par retour d'état
 
*Objectif : faire le modèle du système par retour d'état
Pour obtenir des équations d'état, il faut définir des variables et utiliser les équations du modèle utiles pour le retour d’état.
+
Pour obtenir des équations d'état, il faut d'abord définir des variables et utiliser les équations du modèle utiles pour le retour d’état.
 
<br>
 
<br>
Nous somme allé à la bibliothèque pour pour mieux comprendre quelle variable est la variable d’état.
+
Nous sommes allé à la bibliothèque pour pour mieux comprendre la variable correspondant à la variable d’état.
 
<br>
 
<br>
 
On en a déduit que H= (h1, h2) sont les variables d’état.  
 
On en a déduit que H= (h1, h2) sont les variables d’état.  
Ligne 232 : Ligne 211 :
 
Y=C*X+D*U
 
Y=C*X+D*U
 
<br>
 
<br>
Au départ, nous avons réalisé le modèle sans retour d'état. Puis nous avons fait un programme sous Matlab( développé en cours ISA ) qui permet de trouver des matrices M et K de retour d'état.
+
Au départ, nous avons réalisé le modèle sans retour d'état. Puis nous avons fait un programme sous Matlab( développé en cours ISA ) qui permet de vérifier la commandabilité et l'observabilité du système, et de trouver la matrice K en utilisant la commande Matlab '''acker'''(A,B,M).
 
<br>
 
<br>
Avec des matrices, nous avons modélisé notre modèle par retour d'état.
+
Nous avons remarqué que notre système est commandable et observable.
 +
<br>
 +
Avec ces matrices, nous avons modélisé notre modèle par retour d'état.
 
[[Fichier:schéma retour d'état.jpg]]
 
[[Fichier:schéma retour d'état.jpg]]
  
Ligne 248 : Ligne 229 :
 
====niveau des paramètres====
 
====niveau des paramètres====
  
*la difficulté de définir des paramètres pour le modèle théorique.
+
*la difficulté de définir des paramètres pour la réalisation du modèle théorique.
 
*la difficulté de trouver des bons paramètres du PID( Kp, Ki, Kd ) pour avoir des résultats compréhensibles.
 
*la difficulté de trouver des bons paramètres du PID( Kp, Ki, Kd ) pour avoir des résultats compréhensibles.
 +
 +
 +
 +
 +
 +
= '''Rapport partagé''' =
 +
 +
[[Fichier:rapport_hydraulique.pdf]]

Version actuelle datée du 14 juin 2013 à 13:42


Vidéo HD


Présentation du projet

Objectif :

Valider en temps réel un modèle dynamique ‘Bond Graph’ pour l’implémentation en temps réel d’un ensemble de commandes simples et avancées.

Compétence demandé :

  • Identification des systèmes ( boîte à outil IDENT)
  • modélisation et simulation dynamique par BG avec boîte à outil Symbols2000
  • boîte à outil RTW
  • mise en place des algorithmes de commande ( développé en cours ISA)
  • travail en équipe

Matériel:

Le système hydraulique est composé de:

  • deux réservoirs
  • trois vannes
  • un serpentin de retard
  • une pompe
  • un panneau de commande.
système hydraulique


logiciel:

  • Bond Graph
  • Matlab Simulink
  • Symbols
  • IDENT

Avancement du projet

Séance par séance

7,févier

Cette séance a été mise à profit afin de mieux cerner le projet :

  • prise de contact de l'encadrant du projet
  • présentation du projet par M. Belkacem Ould-Bouamama
  • discussion autour des différentes parties du projet

14, févier

Durant cette séance, nous avons pris plus amplement la connaissance du sujet et nous avons analysé le système(le fonctionnement des réservoirs).
On a essayé en particulier de contrôler le système manuellement pour mieux comprendre le fonctionnement du système.


25-27,févier

Nous avons analysé l’objectif du projet, et discuté sur la façon dont on pourrait le réaliser idéalement étape par étape.
Nous avons développés nos connaissances utiles pour la bonne réalisation du projet (logiciels et outils tels que Symbols, Bond Graph, Matlab Simulink...)
A l’aide du cours d’automatique sur les Bond Graph, nous avons défini des variables, les paramètres et les relations du modèle hydraulique. Comme nous n’avions pas le logiciel Symbols sur les Bond Graph, nous avons pris un rendez-vous avec M. Belkacem Ould-Bouamama pour lui demander ce logiciel.
A la fin, nous avons réalisé le schéma Bond Graph.



4,mars

Durant cette séance, nous avons déterminé des équations du modèle à partir du modèle Bond Graph. Grâce à ces équations, nous avons pu réaliser le modèle théorique sous Simulink.
Nous avions alors besoin de certaines valeurs de paramètres. On a donc contacté M. Belkacem Ould-Bouamama pour qu’il nous fournisse la documentation technique avec la valeur de certains paramètres (air exacte des 2 réservoirs,...)

BG



6-7mars

système simplifié

Lors de cette séance, notre encadrant a vérifié notre schéma Bond Graph et nous a demandé de changer la configuration du système : utiliser 2 vannes ouvertes (vanne du réservoir 1 et vanne entre les réservoir 1 et 2) et fermer la vanne du réservoir 2.
Nous avons donc dû rectifier légèrement le schéma Bond Graph.
Ensuite, nous avons obtenu et déterminé la valeur de certains paramètres du modèle. Après avoir entré ces valeurs sous Matlab, on a pu lancer la simulation du modèle.
Dans ce modèle le signal d’entrée est le débit Qe et les signaux de sorties sont les hauteurs h1 et h2 du niveau d’eau atteint dans les réservoirs 1 et 2. Modèle théorique.png

11,mars

courbes théorique h1 et h2

A partir de cette séance, nous sommes passé du modèle théorique au modèle réel.
Nous avons analysé la réalisation du modèle réel.
Comme la boite de commande du système est commandé par une tension, nous avons cherché à comprendre comment il est possible de convertir une tension en un débit. La solution est d'utiliser le bloc d'étalonnage.
Comme le bloc d'étalonnage ne fait pas partie de l’objectif de notre projet, nous avons pris un bloc d’étalonnage réalisé par une autre équipe. Nous nous sommes renseignés sur le fonctionnement de ce bloc d’étalonnage.
But de la prochaine séance:
La réalisation du modèle réel.

20-21mars

Nous avons réalisé notre modèle réel avec le bloc d'étalonnage sous Simulink. Puis nous avons configuré notre modèle avec le système.
Dans le modèle réel, nous avons passé du temps pour bien comprendre le fonctionnement des blocs AnalogOutput, AnalogInput, et les channels du modèle.
Puis, nous avons testé notre modèle réel avec un débit d'entrée.
Vu que le modèle réel fonctionne bien, nous avons ensuite fait un schéma sous Simulink qui comparait le modèle réel avec le modèle théorique. Nous avons remarqué que les deux modèles correspondent bien(l'allure réel est presque la même que l'allure théorique).
Pour passer à l'étape suivante, nous avons pris un rendez-vous avec M.Bouamama pour la prochaine séance.

modèle réel avec théorique

25,mars

Au départ de cette séance, nous avons corrigé certains paramètres du modèle réel et théorique pour que le modèle théorique se rapproche le plus possible du modèle réel.
Nous sommes passé ensuite dans le bureau de M.Bouamama, il nous a demandé de simplifier notre modèle avec l'outil "ident". Il nous a expliqué un peu le fonctionnement de "ident" et nous a donné un document sur l'utilisation de "ident".
Nous avons lu le document pour prendre la connaissance de cet outil.
But de la prochaine séance:
Essayer d'utiliser "ident" et trouver la fonction de transfert.
comparer

27-28mars

Durant les deux séances, nous avons utilisé l'outil "ident" pour trouver la fonction de transfert.
L'intérêt de l'outil 'ident' est de simplifier notre modèle en remplaçant le modèle théorique par la fonction de transfert.
Nous avons cherché des utilisations de "ident" sur Internet. On a constaté qu’il existait plusieurs types de modèles possibles : équations d’état, modèle ARX, Laplace...Nous avions décidé de travailler avec le modèle ARX. En fait ce modèle permettait d’obtenir des caractéristiques du système mais ne permettait pas de tracer facilement l’allure du signal de sortie sous Matlab. Du coup nous avons décidé d’utiliser le modèle de fonction de transfert dans Laplace. Nous avons perdu du temps à trouver la fonction de transfert.
Finalement nous avons trouvé une vidéo qui explique étape par étape comment nous pouvions trouver la fonction de transfert plus rapidement et avec une méthode plus simple.
Voici le lien de la vidéo :[1]
Après avoir obtenu les valeurs des entrées et sorties du système envoyées à Workspace, nous avons modélisé le système théorique grâce à l'outil "ident" (fonction de transfert=S/E).
Puis nous avons simulé le modèle avec la fonction de transfert obtenue.

3-4avril

Objectif de la séance: contrôler le niveau d'eau du réservoir 1.

contrôle h1 par niveau

Le signal d'entrée ne doit plus être un débit constant mais une consigne en hauteur.
Pour réaliser cet objectif, il faut réaliser le modèle avec un correcteur PID.
Durant les séances, nous avons déterminés des paramètres du PID( Kp, Ki, Kd )en utilisant la méthode Ziegler-Nichols. Nous avons déterminé les valeurs des paramètres de tel sorte que le temps de monté soit rapide, et surtout que le système soit précis.
Finalement, nous avons choisit un correcteur PI avec Kp=0.86, Ki=0.036
Nous avons validé notre modèle pour le contrôle du niveau d’eau des réservoirs.
Si on entre une consigne de 18 cm le niveau d'eau atteint bien 18 cm.
A la fin de cette séance, nous avons fini toutes les parties de modélisation du système( modélisation théorique et modélisation réel ).

PID

8,avril

Nous sommes allé voir M.Bouamama. Il a vérifié un peu notre modèle et après nous sommes passé à l'étape suivante: la régulation cascade et le schéma de commande par retour d'état .
M.Bouamama nous a expliqué le principe du schéma cascade. Cette séance à été concentré sur:

  • le développement de connaissance sur le principe du schéma cascade
  • l'analyse du schéma cascade et du retour d’état

10,avril

Durant cette séance, nous avons réalisé notre schéma cascade sous Simulink et nous l’avons testé.
Nous avons particulièrement mis du temps à analyser et comprendre les parties qui correspondent à la pompe et aux capteurs de niveau.
Ensuite, nous avons déternimé les paramètres PID maître et esclave du schéma cascade de telle sorte à avoir un système stable, précis et rapide. Nous avons alors trouvé:
PID maître : Kp=0.87, Ki=0.036
PID esclave : Kp=1
finalement nous avons validé notre schéma cascade après quelques tests. Régulation cascade.png

courbes de h1(en bleu) et h2 (en vert): courbe

vacance printemps

programme

Nous nous somme rencontrés pendant les vacance pours finir la partie de retour d'état.

  • Objectif : faire le modèle du système par retour d'état

Pour obtenir des équations d'état, il faut d'abord définir des variables et utiliser les équations du modèle utiles pour le retour d’état.
Nous sommes allé à la bibliothèque pour pour mieux comprendre la variable correspondant à la variable d’état.
On en a déduit que H= (h1, h2) sont les variables d’état.
Nous avons donc déterminé les équations d’état sous forme de matrice :
X’=A*X+B
Y=C*X+D*U
Au départ, nous avons réalisé le modèle sans retour d'état. Puis nous avons fait un programme sous Matlab( développé en cours ISA ) qui permet de vérifier la commandabilité et l'observabilité du système, et de trouver la matrice K en utilisant la commande Matlab acker(A,B,M).
Nous avons remarqué que notre système est commandable et observable.
Avec ces matrices, nous avons modélisé notre modèle par retour d'état. Schéma retour d'état.jpg

Problème rencontré

niveau d'outil

  • la compréhension du système d’acquisition
  • la compréhension du bloc d'étalonnage.
  • l’utilisation de l’outil "ident" sur lequel nous avons passé beaucoup de temps pour trouver la fonction de transfert.


niveau des paramètres

  • la difficulté de définir des paramètres pour la réalisation du modèle théorique.
  • la difficulté de trouver des bons paramètres du PID( Kp, Ki, Kd ) pour avoir des résultats compréhensibles.



Rapport partagé

Fichier:Rapport hydraulique.pdf