Bond Graph : Différence entre versions

De Wiki de Projets IMA
(Page créée avec « 14, févier On a lu le sujet et essayé de le comprendre. On a analysé la machine du projet ( deux réservoirs ), ce qu’il comporte et comment ça fonctionne. Et on a ess... »)
 
(vacance printemps)
 
(129 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''' =
  
14, févier
+
====Objectif :====
On a lu le sujet et essayé de le comprendre. On a analysé la machine du projet ( deux réservoirs ), ce qu’il comporte et comment ça fonctionne. Et on a essayé de le contrôler un peu manuellement.
 
  
 +
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.
  
25,févier
+
==== Compétence demandé :====
On a analysé l’objectif du projet, les logiciels et outils qu’on doit utiliser pour la suite. Après l’analyse, on a définit les variables pour ce modèle hydraulique, et les relations entre eux.
 
  
 +
*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
  
27,février
+
====Matériel:====
Après avoir vérifié, on a corrigé des erreurs dans les relations qu’on avait fait la séance dernière. Puis chaqu’un a fait le schéma Bond Graphs sur les papiers. Ensuit on a comparé nos schémas pour obtenir un modèle Bond Graphs qui soit correct. Et on a commencé à trouver le modèle sous simulinks à partir de Bonde Graphs.
 
  
 +
Le système hydraulique est composé de:
 +
*deux réservoirs
 +
*trois vannes
 +
*un serpentin de retard
 +
*une pompe
 +
*un panneau de commande.
 +
[[Fichier:système hydraulique.jpg|thumb|système hydraulique]]
  
4,mars
 
On a fait le schéma sous simulinks à partir de Bond Graphs. Mais on connait pas les paramètres de la machine de notre projet. Donc on a demandé monsieur Bouamama, mais pas vu la réponse. De coup on est bloqué sur ça.
 
  
 +
====logiciel:====
  
6,mars
+
*Bond Graph
On a eu les paramètres de notre projet, et on a cherché les équations pour déterminer les paramètres de notre schéma simulinks. Comme on était pas d’accord avec quelque valeurs, on a discuté et essayé de trouver une solution. Mais on a pas trouvé à la fin de la séance.
+
*Matlab Simulink
 +
*Symbols
 +
*IDENT
  
 +
= '''Avancement du projet''' =
  
7, mars
+
On a demandé l’aide du professeur, et on a trouvé les bonnes valeurs pour notre modèle. Puis on a essayé de simuler notre modèle. Au début, le modèle marchait pas bien, donc on a corrigé encore et modifié les paramètres pour qu’il marchait mieux.
+
== Séance par séance ==
  
  
11,mars
 
Au départ, on a modifié encore un peu notre modèle pour qu’il marchait bien, et on a obtenu le résultat( une courbe ) qui correspond bien notre modèle théorique. Puis on a analysé l’étape suivante : comment réaliser le modèle réel avec la boîte acquisition et les deux réservoirs.
 
  
 +
====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
  
20,mars
+
====14, févier====
On a analysé le document et les schémas blocs que le professeur nous a donné sur la réalisation du modèle réel. Et on a essayé de trouver des informations sur Internet et faire la même chose. On a également essayé de comprendre le bloc Etalonnage, comment ça fonctionne dans notre cas.
 
  
 +
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).
 +
<br>
 +
On a essayé en particulier de contrôler le système manuellement pour mieux comprendre le fonctionnement du système.
  
21,mars
 
On a réalisé notre modèle réel, et contrôlé les deux réservoirs par le débit d’entrée. Puis on a fait un modèle qui comparait les résultats du modèle réel avec théorie. Mais par contre, après que le professeur a vérifié notre modèle, on trouvait qu’on a fait une grosse erreur. On a utilisé le correcteur pour contrôler notre modèle, mais en fait, pour l’instant, il ne faut pas utiliser le correcteur. Donc, on devait retirer tous les correcteurs et modifier tous les modèles.
 
  
 +
====25-27,févier====
  
25,mars
+
Nous avons analysé l’objectif du projet, et discuté sur la façon dont on pourrait le réaliser idéalement étape par étape.
Au départ, on a vérifié que nos nouveaux modèles fonctionnaient correctement. Puis on a discuté sur le document que monsieur Bouamama nous a donné sur l’outil ’ident’. On a commencé à essayer d’utiliser ‘ident’ pour trouver la fonction de transfert de notre modèle.
+
<br>
 +
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...)
 +
<br>
 +
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.
 +
<br>
 +
A la fin, nous avons réalisé le schéma Bond Graph.
  
  
27,mars
 
On a continué à essayer d’utiliser ‘ident’ pour trouver la fonction de transfert. On a lancé plusieus fois notre modèle pour obtenir des données correctes qui doivent être utilisé dans ‘ident’. Avec ‘ident’, on a trouvé les paramètres A et B pour la fonction de transfert. On sait que la fonction est B/A. Mais le problème est, quand on simplifie notre modèle avec la fonction de transfert, on n’arrive pas à retrouver le même résultat qu’avant. On n’a pas comprit le problème.
 
  
  
28,mars  
+
====4,mars====
On a continué à chercher des informations sur ‘ident’ et à la fin, on a trouvé un vidéo qui enseigne comment utiliser l’outil ‘ident’. On a suivi des étapes et finalement on a réussi à trouver la fonction de transfert qui nous donnait le bon résultat pour notre modèle.
+
 +
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>
 +
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,...)
  
 +
[[Fichier:image.jpg|BG]]
  
3,avril
 
Au début, on a contrôlé le niveau d’eau par le modèle sans PID( par le débit d’entrée), maintenent, on veut contrôler le niveau d’eau par la hauteur( modèle avec PID). Pour faire ça, on a ajouté des correcteurs PID. Et on a commencé à faire les calcules afin de déterminer les paramètres du PID( Kp, Ki, Kd).
 
  
  
4,avril
 
On a essayé de contrôler le niveau d’eau dans les réservoirs avec le modèle avec PID, on a continué à modifié les paramètres du PID par rapport le phénomène qu’on a vu ( le dépassement du niveau d’eau dans les réservoirs, la rapidité, la précision etc. ). A la fin, on a réussi à contrôler le niveau d’eau ( le niveau d’eau dans les réservoirs atteintent bien notre niveau de consigne ).
 
  
 +
====6-7mars====
 +
[[Fichier:système_simplifié.jpg|thumb|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.
 +
<br>
 +
Nous avons donc dû rectifier légèrement le schéma Bond Graph.
 +
<br>
 +
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>
 +
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.
 +
[[Fichier:modèle théorique.png]]
  
8,avril
+
====11,mars====
Monsieur Bouamama a vérifié notre modèle, puis il nous a demandé de faire la régulation cascade et le retour d’état. Il nous a expliqué les principes. Aujourd’hui, on a commencé à faire le schéma cascade.
+
[[Fichier:courbes théorique.png|thumb|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.
 +
<br>
 +
Nous avons analysé la réalisation du modèle réel.
 +
<br>
 +
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.
 +
<br>
 +
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.
 +
<br>
 +
But de la prochaine séance:
 +
<br>
 +
La réalisation du modèle réel.
  
 +
====20-21mars====
  
10,avril
+
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.
On a réalisé le schéma cascade, mais quand on a essayé de contrôler les réservoirs, on n’a pas réussi à contrôler le niveau d’eau. Au début, on pensait qu’il fallait modifier les paramètres des PID maître et esclave, donc on a utilisé des paramètres qui sont donnés dans le document. Mais après avoir modifié les PID, on n’a toujours pas réussi à bien contrôler le niveau d’eau.
+
<br>
 +
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>
 +
Puis, nous avons testé notre modèle réel avec un débit d'entrée.
 +
<br>
 +
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>
 +
Pour passer à l'étape suivante, nous avons pris un rendez-vous avec M.Bouamama pour la prochaine séance.
 +
[[Fichier:modèle réel avec théorique.png|thumb|modèle réel avec théorique]]
  
 +
====25,mars====
  
25,avril
+
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.
On a continué à modifier le schéma cascade. An comparant notre schéma cascade avec le schéma bloc dans le document, on a réussi à modifier correctement notre schéma et bien contrôler le niveau d’eau avec le schéma cascade ( le niveau d’eau dans les deux réservoirs atteignent et maintiennent bien le niveau de consigne ). Après on a commencé à faire le retour d’état. On a réussi à faire les équations de retour d’état, puis on a fait le schéma de retour d’état.
+
<br>
 +
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>
 +
Nous avons lu le document pour prendre la connaissance de cet outil.
 +
<br>
 +
But de la prochaine séance:
 +
<br>
 +
Essayer d'utiliser "ident" et trouver la fonction de transfert.
 +
<br>
 +
[[Fichier:comparer.jpg|comparer]]
 +
 
 +
====27-28mars====
 +
 
 +
Durant les deux séances, nous avons utilisé l'outil "ident" pour trouver la fonction de transfert.
 +
<br>
 +
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>
 +
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>
 +
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>
 +
Voici le lien de la vidéo :[http://www.youtube.com/watch?v=t6SPSRacD_0]
 +
<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). 
 +
<br>
 +
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.
 +
<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. 
 +
<br>
 +
Pour réaliser cet objectif, il faut réaliser le modèle avec un correcteur PID.
 +
<br>
 +
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>
 +
Finalement, nous avons choisit un correcteur PI avec Kp=0.86, Ki=0.036
 +
<br>
 +
Nous avons validé notre modèle pour le contrôle du niveau d’eau des réservoirs.
 +
<br>
 +
Si on entre une consigne de 18 cm le niveau d'eau atteint bien 18 cm.
 +
<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élisation réel ).
 +
 
 +
[[Fichier:h1_pid.jpg|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 .
 +
<br>
 +
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é.
 +
<br>
 +
Nous avons particulièrement mis du temps à analyser et comprendre les parties qui correspondent à la pompe et aux capteurs de niveau.
 +
<br>
 +
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>
 +
finalement nous avons validé notre schéma cascade après quelques tests.
 +
[[Fichier:régulation cascade.png]]
 +
 
 +
courbes de h1(en bleu) et h2 (en vert):
 +
[[Fichier:courbe.JPG|courbe]]
 +
 
 +
==== vacance printemps ====
 +
[[Fichier:programme.jpg|thumb|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.
 +
<br>
 +
Nous sommes allé à la bibliothèque pour pour mieux comprendre la variable correspondant à la variable d’état.
 +
<br>
 +
On en a déduit que H= (h1, h2) sont les variables d’état.
 +
<br>
 +
Nous avons donc déterminé les équations d’état sous forme de matrice :
 +
<br>
 +
X’=A*X+B
 +
<br>
 +
Y=C*X+D*U
 +
<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 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>
 +
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]]
 +
 
 +
== '''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]]

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