Bond Graph : Différence entre versions

De Wiki de Projets IMA
(vacance printemps)
Ligne 232 : Ligne 232 :
 
Nous nous somme rencontrés pendant la vacance pour finir la partie de retour d'état.
 
Nous nous somme rencontrés pendant la vacance pour 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
<br>
 
 
Pour obtenir des équations d'état, il faut définir des variables et des équations utiles pour le retour d’état.
 
Pour obtenir des équations d'état, il faut définir des variables et des équations utiles pour le retour d’état.
 
<br>
 
<br>
Ligne 240 : Ligne 239 :
 
<br>
 
<br>
 
Avec des matrices, nous avons modélisé notre modèle par retour d'état.
 
Avec des matrices, nous avons modélisé notre modèle par retour d'état.
 
 
 
 
 
 
  
 
== Problème rencontré ==
 
== Problème rencontré ==

Version du 1 mai 2013 à 07:12

Présentation du projet

Encadrant :

Belkacem Ould-Bouamama.

Binôme :

Qiaomu Li / Abdel-Hakim Mahir

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 Sybols2000
  • 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.


logiciel:

  • Bond Graph
  • Matlab Simulink
  • Symbols
  • IDENT



Avancement du projet

Séance par séance

4,février

Nous somme allé cherché M. Belkacem Ould-Bouamama, mais il était absent, donc nous ne pouvions pas aller dans la salle de travail C006 pour commencer notre projet.


7,févier

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

  • contact le encadrant du projet
  • présentation du projet par M. Belkacem Ould-Bouamama
  • discussion autour des differentes parties du projet


14, févier

Durant cette séance, nous avons pris la connaissance du sujet et analysé le fonctionnement du système (le fonctionnement des réservoirs).
On a essayé de contrôler le système manuellement pour mieux comprendre le fonctionnement du système. Et nous avons également testé un système qui est déjà réalisé par une autre équipe sur ce modèle ( ce système realise pas la même fonction comme nous )


25-27,févier

Nous avons analysé l’objectif du projet, et discuté comment on peut le réaliser étape par étape.
Nous avons pris plus de connaissance utiles pour la bonne réalisation du projet ( logiciels et outils tels que Symbols, Bond Graph, Matlab Simulink...)
Avec les connaissance qu’on a vu au cours de Bond Graph, nous avons défini des variables, les paramètres et les relations du modèle hydraulique. Comme nous n’avons pas le logiciel 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. Avec des relations qu’on a eu la séance dernière, nous avons réalisé notre modèle theorique sous Simulink.
Mais il nous manque des paramètres pour déterminer les gains du modèle. Nous n’avons pas les trouvé dans le document que M. Belkacem Ould-Bouamama nous a donné. Nous somme allé dans son bureau pour lui demander des paramètres, mais il n’était pas là.
Comme nous ne pouvions pas avancer , nous avons arrêté là pour cette séance et lui envoyé un email pour des paramètres.



6-7mars

Nous somme allé voir M.Ould-Bouamama et discuté ce que nous avons fait pour l’instant. Il a vérifié notre schéma Bond Graph et nous expliqué le fonctionnement des vanne. En réalité, on utilise que deux vanne, la troisième (la venne de la sortie du réservoir 2)est toujours fermée. Donc il y aura pas de débit qui sort de cette vanne.
Avec des données que nous avons eu, nous avons déterminé les paramètres du modèle.
Après, nous avons configuré notre modèle simulation -> Configuration Parameters pour la modification du type, fixed time etc.
Nous avons lancé notre modèle, et avec des courbes de h1 et h2, nous avons modifié des paramètres du modèle pour qu’il fonctionne mieux.



11,mars

A partir de cette séance, nous avons passé du modèle théorique au modèle réel.
Nous avons analysé la réalisation du modèle réel.
Comme la boitre de commande du système est commandé par une tension, nous avons discuté comment nous pouvions transmettre un débit en une tension. La solution est d'utiliser le bloc d'étalonnage.
Nous avons discuté avec M.Bouamama, il nous a expliqué le fonctionnement d'étalonnage. Comme le bloc d'étalonnage n'est pas dans notre but du projet, nous avons pris le même bloc d'étalonnage qui est déjà réalisé par une autre équipe.
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 dedans.
Puis, nous avons testé notre modèle réel avec un débit d'entrée. Vu que le modèle réel fonctinne 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.



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.
Puis nous avons validé notre modèle.
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'outi "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.


27-28mars

Durant les deux séances, nous avons utilisé l'outil "ident" pour trouver la fonction de transfert.
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.
Nous avons cherché des utilisations de "ident" sur Internet. Avec des données que nous avons obtenu par le modèle réel, nous avons essayé de trouver des paramètres de la fonction de transfert. Mais quand nous modélisions notre modèle avec la fonction de transfert, il nous a pas donné le bon résultat. Nous avons lancé plusieurs fois notre modèle pour trouver des bons paramètres de la fonction de transfert, mais chaque fois, "ident" nous a donné des paramètres différents. Nous avons perdu beaucoup de temps pour trouver la fonction.
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.
Voici le lien du vidéo :[1]
Après avoir obtenu des paramètres de la fonction de transfert S et E (fonction de transfert=S/E), nous avons modélisé le système théorique grâce à l'outil "ident".
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. Le signal d'entrée ne doit plus être un débit constant mais une consigne en hauteur.
Pour réalisé cet objectif, il faut modéliser du modèle avec PID.
Durant les séances, nous avons calculé des paramètres du PID( Kp, Ki, Kd )et les modifiés avec des phénomène que nous avons vu (le dépassement du niveau, le temps de monté, etc.) pour que le modèle fonctionne comme on veut.
A la fin, nous avons choisit un correcteur PI(les paramètres du PID en fonction des vannes ouvertes ).
Nous avons arrêté à valider le modèle avec PID pour le contrôle du niveau du réservoir.
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élisationréel ).




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 .
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
  • Analyse du schéma cascade et du retour d’état



10,avril

Durant cette, nous avons réalisé notre schéma cascade sous Simulink et le testé.
Au début, nous n'avons pas compris des parties qui correspond la pompe et les capteurs de niveau. Donc nous avons mis du temps d'analyser et discuter sur le schéma bloc dans le document.
Après nous avons modélisé des paramètres PID maître et esclave du schéma cascade de tel sorte à avoir un système stable, précis et rapide.
finalement nous avons validé notre schéma cascade après quelques tests.




vacance printemps

Nous nous somme rencontrés pendant la vacance pour 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éfinir des variables et des équations utiles pour le retour d’état.
Nous somme allé à la bibliothèque pour trouver des exemples hydrauliques. Notre modèle est de permier ordre, donc nous avons défini des équations et des paramètres pour ce modèle.
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.
Avec des matrices, nous avons modélisé notre modèle par retour d'état.

Problème rencontré