IMA5 2018/2019 P04 : Différence entre versions
(→Semaine 4) |
(→Semaine 4) |
||
Ligne 142 : | Ligne 142 : | ||
− | [[Fichier:18P04_ReponseCourantAmorti.png|vignette|center| | + | [[Fichier:18P04_ReponseCourantAmorti.png|vignette|center|1000 px| Réponse du courant avec filtrage de la consigne]] |
Rajout de l'asservissement de la tension de la capacité | Rajout de l'asservissement de la tension de la capacité |
Version du 2 décembre 2018 à 00:41
Sommaire
Présentation générale
Description
Les casques de réalité virtuelle permettent une immersion visuelle de grande qualité. Mais il manque le retour tactile des objets que l'on touche virtuellement. Pour pallier ce problème, il existe des gants haptiques qui fournissent sur les doigts de l’utilisateur des stimulations tactiles physiques. Ces gants utilisent des moteurs, des capteurs, des convertisseurs, une batterie pour actionner des effecteurs qui viennent stimuler la pulpe du doigt. C’est un système embarqué sur la paume de la main. La conception nécessite une bonne gestion énergétique (grâce à des convertisseurs) et le dimensionnement optimal des composants du système (moteur/réducteur/…)
Un prototype du GotouchVR est déjà réalisé, mais qui possède des défauts. En particulier une mauvaise gestion énergétique qui réduit très fortement la durée de vie de la batterie, et qui ne permet pas au système d'avoir une dynamique suffisante à l'application qu'il vise. Une étude a donc été réalisée par les chercheurs de l'IRCICA pour chercher les solutions possibles à ce problème
L'objet de ce projet est d'abord de simuler le fonctionnement du système avec la modification proposée, pour pouvoir déterminer sa capacité à résoudre les problèmes évoqués, ensuite étudier et choisir des composants pour mettre en place cette solution, et enfin la fabrication d'un prototype réel.
Objectifs
Le travail se découpe en 3 parties :
- Réalisation d’un prototype virtuel, sous Matlab/Simulink
- Optimisation énergétique des éléments : estimation de la durée de vie de la batterie, choix des composants,
- Prototype réel : fabrication / réalisation d’un élément du gant (impression 3D , PCB, …)
Préparation du projet
Cahier des charges
Le cahier des charges est défini en trois parties distinctes, correspondant aux trois parties du projet. Comme chaque partie dépend de la précédente, le cahier des charges va se préciser au fur et à mesure de l'avancée du projet.
- Réalisation d’un prototype virtuel sous Matlab/Simulink. Pour cela il faut :
- Simuler chaque composant du système : hacheur, capacité, inductances, moteur...
- Pour chaque composant, vérifier son modèle
- Obtenir un modèle fiable du prototype
- Optimisation énergétique des éléments : estimation de la durée de vie de la batterie, choix des composants,
- Prototype réel : fabrication / réalisation d’un élément du gant (impression 3D , PCB, …)
Choix techniques : matériel et logiciel
Liste des tâches à effectuer
Les tâches barrées sont celles qui sont déjà effectuées à ce jour
Réalisation du prototype virtuel
Création d'une simulation simplifiée de la partie électrique sous Matlab :
Définition du schéma électriqueCréation d'un visuel du schéma électriqueDéfinition des équations du systèmeÉlaboration de la REM du systèmeCréation d'un visuel pour la REMImplémentation sous MATLAB de la REM et les équations du systèmeChoix éventuels de valeurs de composants- Vérification du modèle du moteur
Ajout de l'asservissement de la tension de la capacité
- Modification de la REM et ajout de l'asservissement
Calcul des paramètres du correcteurFiltrage de la consigne pour éviter les overshootsAsservissement tout ou rien de la tension de la capacité
Ajout du correcteur de courant
Choix du correcteurCalculs des paramètresImplémentation sous MATLABVérification des résultats
Ajout du correcteur de vitesse
Choix du correcteurCalculs des paramètresImplémentation sous MATLAB- Vérification des résultats
Rapport de projet
- Elaboration de la REM
- Expliquer l'élabortation de la REM
- Expliquer l'implémentation sous MATLAB
- Valider la simulation
- Elaboration de la REM
Calendrier prévisionnel
- Mi-Octobre 2018 : Simulation fonctionnelle
- Fin Novembre 2018 : Tests sur le système existant
Réalisation du Projet
Semaine 0
La première entrevue avec le tuteur a permis de poser les bases du projet. Ont été définis les différents objectifs, la méthode et les rendez-vous concernant le projet.
Pour les objectifs, on a vu en particulier ceux concernant la première étape du projet, à savoir la modélisation du système.
- Dans un premier temps, il s'agit de mettre en place un modèle du système. On se base sur la REM de ce système.
- Nous avons ensuite modéliser la commande de ce système. En effet, le but est d'ajouter un LTC3125 qui doit permettre de garantir la limitation du courant. Ce composant est placé entre la batterie et la capacité, il sert à l'asservissement du courant issu de la batterie.
Semaine 1
La première étape de notre projet est la définition des équations qui définissent notre système. Pour chaque composant de notre schéma électrique, nous trouvons son équation temporelle que nous transformons dans le domaine de Laplace. Puis nous les mettons en forme pour respecter les causalités. Ainsi nous obtenons des équations faciles à implémenter sous Simulink.
A partir de ces formules, nous pouvons définir une Représentation Énergétique Macroscopique (REM). L'avantage de cette représentation, c'est qu'elle décompose le système en blocs soit linéaires, soit avec le fonctionnement d'un premier ordre. de plus, ils nous donnent un bon aperçu des échanges énergétiques effectués au sein de notre système. Ce qui nous permet facilement de les simuler et de les contrôler par la suite.
Dans un premier temps, cette représentation ne comprends que le système sans sa partie commande. L'ajout de la partie commande sera fait par la suite.
On peut alors implémenter le système sous Matlab. Il faut alors vérifier la justesse du modèle, nous commencerons par la partie qui connecte la capacité et la batterie.
TODO : Rajout des vérifs du système
Semaine 2
La semaine passée, nous avions vérifié que notre simulation correstpondent aux valeurs de composants que nous lui avions donné. Cependant, les valeurs ne correspondaient pas à la réalité par manque d'informations. Elles ont été rectifiées pour mieux y correspondre.
Notre modèle est à présent vérifié dans sa partie Batterie-Capacité, et comprend les bonnes valeurs. Il va maintenant falloir émuler le LTC3125 pour la suite de notre projet. Ce composant est un convertisseur DC-DC avec possibilité de limiter le courant. Dans notre schéma structurel, il est représenté par une inductance et un hacheur élévateur. On commence par asservir le courant pour modéliser le limiteur de tension.
Notre but est d'asservir le courant de la batterie soit Icharge, à partir du hacheur, commandé par K1. Nous devons donc inverser tous les blocs entre les deux soit notre hacheur Hach1 et le stockeur d'énergie Lcharge. Pour ce stockeur d'énergie, nous utilisons un PID, dont nous calculons les paramètres par identification.
On implémente alors notre correcteur sous Matlab-Simulink.
Du temps a également été consacré à la réalisation d'un schéma électrique pour le rapporta ainsi que le wiki. C'est le schéma présent en semaine 0 dans ce rapport. Par la même occasion, un visuel de la REM a été fait pour illustrer la semaine 1.
Semaine 3
La semaine précédente, nous avons implémenté notre contrôleur sous Matlab. Nous avons choisi un PI dans notre cas, le PID réduit le temps de réponse, mais il induit un plus fort dépassement.
Nous allons maintenant calculer nos paramètres de PI. Pour ce faire, nous calculons la fonction de transfert en boucle fermée; nos calculent prennent en paramètres les constantes du PI. Une fois ces calculs effectués, nous calculons les paramètres de notre PI, en fonction des paramètres du système et des performances qu'on lui réclame.
Sous matlab, on entre directement les valeurs des paramètres du PI en fonction des paramètres du modèle, pour qu'ils se recalculent automatiquement si on modifie une valeur du modèle.
Une fois cela implémenté, on observe la réponse de notre système à une consigne.
On voit que la réponse subit un dépassement de la consigne supérieur à 10%, alors que nous avons paramétré notre système pour qu'il n'y ait pas de dépassement, puisque notre but est de limiter les courants dans la batterie. Nous verrons par la suite si nous pouvons améliorer cet aspect.
Nous avons également modifié des paramètres moteurs , qui étaient erronés.
Semaine 4
Nous avions implémenté un correcteur pour asservir le courant dans la batterie. Mais nous avions encore un dépassement assez conséquent (>10%), alors que le LTC3125 n'en aura qu'un minime. Nous cherchons à réduire ce dépassement pour que notre simulation soit la plus exacte possible. Ce dépassement est dû au fait que le numérateur de notre fonction de transfert ne soit pas d'ordre zéro et qui induit donc un effet de dérivateur. Pour atténuer cet effet, nous allons filtrer la consigne en amont (Ce qui physiquement parlant a du sens puisque nous maîtrisons totalement notre consigne). Le résultat obtenu est pleinement satisfaisant.
Rajout de l'asservissement de la tension de la capacité
Semaine 5
Correction de la charge mécanique
Asservissement du courant moteur
Asservissement de la vitesse moteur
Ecriture du wiki
Semaine 6
Refonte du correcteur de vitesse
Semaine 7
Rectification des paramètres du moteur
Modification du correcteur
Rédaction du compte-rendu
Semaine 8
Rajout des réducteurs
Rajout de l'inertie de la pièce à mouvoir
Semaine 9
Rajout de la charge utilisateur dans le modèle