Voici un blog qui décrit l'évolution de notre projet au cours des 8 semaines de travail, on découvrira ici notre progression, nos difficultés, nos choix ...
Pour commencer et mieux comprendre le travail des semaines suivantes, voilà quelques explications à propos du fonctionnement de notre système.
Nous voulons contrôler le déplacement d'un soleil artificiel pour voir les effets du rayonnement solaire sur les batiments. Le but final du projet est d'avoir un soleil artificiel qui se déplace dans un hangar. Ce soleil va éclairer une maisonette qui se trouve dans le ce même hangar.
De quoi a-t-on besoin pour simuler un soleil ? Pour simuler le soleil (en tous cas le rayonnement que l'on reçoit), il faut avoir une source lumineuse bien particulière :
le même spectre : quel type de rayonnement (sa couleur par exemple).
la même puissance : alors non on ne va pas prendre une lampe de la puissance que le soleil parce que ça risque d'être un peu chaud et de toutes façons ça n'existe pas et il faudrait la placer très très loin ce qui ne ne serait pas très pratique. Au lieu de ça, on a une astuce qui consiste à utiliser le fait que le soleil se trouve très loin de la Terre, on peut le simuler avec une source lumineuse plus petite et moins puissante que l'on met plus proche.
des rayons lumineux parallèles : les rayons qui nous parviennent du Soleil arrivent de façon parallèle, ce n'est pas le cas du rayonnement venant d'une ampoule classique, il faut donc mettre en place un système de miroirs pour les faire sortir parallèlement. (faire graphique avec et sans miroir pour montrer la différence entre les rayons)
une puissance variable : il est clair que la puissance reçue par le soleil à Rio le midi n'est pas la même que celle reçue à Paris à 17h. Cette variabilité doit pouvoir être simulée mais la lampe ne permet pas simplement de le faire sans changer son spectre. Il faut donc concevoir un système permettant d'occulter la lumière en partie pour contrôler la puissance émise. (ajouter image)
et enfin une trajectoire, cela est fait grâce à un câble-robot, voyons maintenant comment celui-ci fonctionne.
Le câble-robot : La source de lumière est placée sur une plateforme, elle est suspendue avec des câbles qui sont attachés à des moteurs. En enroulant ou déroulant les câbles on peut faire déplacer la plateforme et donc la source.
Nous travaillons sur une maquette de ce système (les moteurs, les câbles, la plateforme, à une échelle 1/5). Il y a 8 moteurs qu'il faut commander en même temps, cela est possible avec des cartes électroniques (Arduino, Kangaroo, Sabertooth) et des programmes informatiques (en python et en arduino). Le but est de pouvoir donner à l'ordinateur une liste de coordonnées (adresses par laquelle la plateforme doit passer), qu'il fasse les calculs et commande automatiquement les moteurs grâce aux cartes électroniques pour que la plateforme passe par les coordonnées demandées.
(photo des ordinateurs, des cartes, de la maquette, du code...)
Cela n'est pas facile, il faut calculer exactement sur quel câble tirer, de combien enrouler le câble, à quel moment le faire pour chaque moteur. S'il y a la moindre erreur de calculs ou de commande la plateforme ne suivra pas la bonne trajectoire et les câbles peuvent se casser.
Interface utilisateur
C'est déjà la dernière semaine de projet. L'essentiel de l'effort est consacré à la transmission de notre travail au groupe suivant pour faciliter sa prise en main, ainsi qu'à la préparation de la soutenance finale du projet dans laquelle nous expliquerons les fonctionnalités concrètes actuelles de la maquette, et les perspectives pour la suite. Nous réalisons aussi un film pour présenter notre travail. En effet, le projet est loin d'être terminé.
Un groupe d'irréductibles ingénieurs acharnés décide cependant d'en finir avec la pâle tournante, et c'est un succès ! La voici qui tourne malgré son poids conséquent. La commande est en wifi.
Une interface utilisateur pour décider des trajectoires à donner au mobile, en fournissant seulement la position géographique, l'exposition et la date est mise en place.
Vient alors le moment de ranger soigneusement tous nos travaux, d'emballer correctement les pièces pour qu'elles ne soient pas abimées au cours des mois qui viennent. Nous ne reverrons notre maquette qu'en mai, lors du forum de présentation des projets.
Les perspectives pour la suite sont les suivantes :
combiner les deux interfaces utilisateurs précédemment citées, qui pour l'instant constituent des travaux disjoints.
Parvenir à fixer correctement les huit moteurs fonctionnels sur la maquette et leur donner des trajectoires complexes (les fameuses paraboles).
trouver des trajectoires intelligentes dont la réalisation pratique n'est pas impactée par des croisements de fils.
Trouver la bonne lampe, et parvenir à paralléliser et élargir le faisceau. De manière générale, passer à l'échelle 1.
Les moteurs sont enfin mis sur la maquette, et quelle satisfaction de voir enfin apparaître les premières traces d'un câble robot fonctionnel. Nous parvenons à faire tourner quatre moteurs simultanément pour réaliser l'élévation ou la descente du support de la lampe, avec une stabilité très satisfaisante sachant que seuls les moteurs du haut sont en place, et que les fils utilisés sont très peu résistants et rigides. Nous avons la confirmation que nous avons la main mise sur la trajectoire effectuée par la maquette. Cependant, des problèmes se posent lors de l'implémentation de trajectoires plus complexes : demander au support de faire le tour du cadre de la structure représente déjà un véritable défi qui nous fait prendre conscience de la sensibilité d'un tel système. En effet, un des moteurs tourne à une vitesse très légèrement différente des autres, ce qui engendre rapidement un déséquilibre du support, qui au fur et à mesure de la trajectoire se penche au lieu de rester droit. Le problème est probablement d'autant plus important qu'il est difficile de réaliser une trajectoire avec seulement quatre moteurs. On comprend qu'il reste un certain travail de tâtonnement dans les codes pour arriver à créer les trajectoires paraboliques tant attendues.
Du côté de la réalisation de la pâle tournante, l'octogone (structure sur laquelle sont fixés les composants du système de refroidissement) est fabriqué. Les ventilateurs sont câblés, les radiateurs collés, le moteur est relié au disque.
Côté maths, une nouvelle idée concernant l'exploration des trajectoires survient : plutôt que d'écarter des trajectoires qui présentent un risque de croisement des fils, on peut chercher des trajectoires proches, légèrement modifiées, qui assurent en même temps que l'exposition de la maison à la lampe reste au total la même sur le mouvement. Autrement dit, tout se passe de telle sorte que l'étude thermique n'est pas affectée. L'algorithme à mettre en œuvre est étudié, mais estimé de complexité relativement élevée (plus court chemin).
La parallélisation du mouvement des différents moteurs progresse tant bien que mal, il faut un certain temps dans la semaine pour arriver à d'abord faire marcher deux moteurs simultanément, puis quatre, et enfin faire un montage à 8 moteurs. A la fin, 7 fonctionnent ensemble et un dernier qui fonctionne pourtant seul ne parvient pas à tourner avec le reste. Nous rencontrons beaucoup de problèmes de faux contacts dans le montage, avec des moteurs qui s'emballent et ne respectant plus leurs commandes. C'est un montage qui comporte beaucoup de fils, c'est pourquoi il est difficile d'identifier tous les faux contacts éventuels. Nous avons espoir cependant, qu'en les fixant sur la maquette le problème se règle.
La fabrication du disque pour le régulateur de la lampe se concrétise, avec le choix de l'aluminium comme matériau pour la plaque, qui est usinée par le groupe. On récupère ensuite des composants de vieux ordinateurs pour fabriquer le système de refroidissement : ventilateurs et radiateurs.
La partie théorique mathématique s'adapte aux besoin de la maquette pour fournir une trajectoire à quatre moteurs seulement, car on pressent qu'il est trop ambitieux de compter tout de suite sur une trajectoire à 8 moteurs qui soit parfaitement fonctionnelle. On veut y aller pas à pas pour tester le bon fonctionnement des moteurs sur la maquette avec des trajectoires de plus en plus complexes, afin d'identifier des éventuels problèmes avant qu'ils s'accumulent.
Cette semaine, le projet avance particulièrement bien.
Les simulations thermiques faites sur le logiciel Thermet (logiciel du CES), sont complétées et validées grâce au logiciel Abaqus.
La forme du disque (pâle cachant la lampe) est validée, ainsi que le matériau utilisé (aluminium) et la méthode de refroidissement. Le disque est découpé, des ventilateurs d'ordinateurs sont récupérés pour le système de refroidissement.
La maquette est reproduite sur Python en 3D. On peut choisir les positions des attaches des câbles sur la boîte. On peut alors vérifier sur si une trajectoire est possible, sans croisement des câbles. Les trajectoires que nous souhaitons sont des paraboles qui dépendent de la latitude et de la saison : les calculs de trajectoires nécessaires de pouvoir reproduire sont faits. Il ne reste qu'à faire un algorithme de recherche des meilleures positions d'attache en fonction de toutes les trajectoires que celles-ci permettent.
Pour la partie Arduino, 7 moteurs fonctionnent (du moins à coup sûr individuellement lorsqu'ils sont pilotés par les cartes). Ils sont tous retunés pour pouvoir être utilisés ensemble dans le système final: l'arduino reliée à quatre couples de cartes sabertooth / kangaroo, elles mêmes chacune pilotant deux moteurs. Les moteurs tournent les uns et après les autres et non ensemble, c'est pourquoi on entame une démarche de discrétisation du mouvement pour permettre à deux moteurs d'une même carte de tourner ensemble.
Trajectoire du module pour simuler le rayonnement lumineux sur une journée.
Le problème dans son ensemble commence à être mieux maîtrisé, et c'est l'occasion pour le groupe de tester, de mettre en œuvre de nouvelles idées.
Pour la partie maths, la détermination des trajectoires se précise, on comprend mieux quelles sont les trajectoires possibles en fonction de la latitude et de la saison, et quel mouvement donner au moteur.
On comprend que la liberté de mouvement doit être assez importante sur toutes les translations et plusieurs rotations pour obtenir les mouvements paraboliques souhaités. Les configurations de position des moteurs et des câblages que nous avions testées à la main s'avèrent insuffisantes face aux mouvement voulus: les câbles vont nécessairement se croiser à un moment ou à un autre.
Il va s'agir de trouver un positionnement plus optimal, et cela va devoir passer par une automatisation des tests. On commence à développer un programme python qui nous permet de fixer les moteurs et les câbles à la boîte, et de définir en fonction de la position du solide la plus petite distance entre deux câbles. On peut choisir une configuration, tester différentes positions et voir si elles posent problème. Le processus est encore long, et on vise encore plus d'automatisation avec des tableaux de configurations / trajectoires à tester.
Après quelques corrections, nous parvenons à auto-tuner les moteurs, à leur donner un mouvement simple de rotations de sens alterné par exemple, et à faire marcher deux moteurs sur une même carte Sabertooth. Un problème cependant: les moteurs tournent alternativement et non en même temps, ce qui n'est pas souhaitable sur la maquette. Nous disposons maintenant de 7 moteurs, dont au moins 5 fonctionnels.
Pour réguler la puissance du soleil, il est envisagé d'utiliser une pâle tournante pour que la puissance reçue par la maisonnette soit un créneau. On peut alors choisir le rapport cyclique pour obtenir la puissance lumineuse moyenne souhaitée. Ceci est validé par nos encadrants, le modèle resterait tout à fait valable.
En début de semaine, nous n'avons pas de moteur fonctionnel, ce qui rend difficile l'avancement de la partie Arduino.
En revanche, on s'intéresse au passage du Python à l'Arduino.
La partie maths détermine les trajectoires voulues, dans le but de reproduire l'évolution de l'inclinaison des rayons sur la façade au cours de la journée.
La partie Arduino ne pouvant pas beaucoup avancer, un certain nombre d'entre nous se dirige sur la maquette afin de voir le travail qui est à faire. En essayant de faire bouger manuellement la boîte en tirant sur les câbles, on se rend compte d'un problème crucial: l'amplitude des mouvements est très largement limitée par le croisement des fils qui s'opère lors du déplacement. Or, chaque fil doit absolument rester tendu. On se met alors à tester plusieurs configurations à la main pour évaluer les limites, en réfléchissant vis-à-vis des trajectoires que l'on cherche à produire.
La partie lampe avance plutôt bien: ils déterminent grâce à des simulations la température du matériau, qui à l'aide d'un système de refroidissement basé sur des ailettes, atteint la température raisonnable de 50°C.
En fin de semaine se déroule le changement des capteurs pour la réparation des moteurs: un test sur oscilloscope confirme alors le bon fonctionnement des capteurs.
Cette semaine a été l'occasion pour nous de retourner dans les locaux de l'école après la semaine de cours à distance. Nous sommes heureux de pouvoir enfin toucher pour de vrai la maquette qui a été commencée l'année dernière.
Mais nous nous rendons compte de l'étendue du travail restant. Nous avons probablement été trop optimistes sur l'avancement de la maquette, il reste beaucoup de choses à faire pour qu'elle soit fonctionnelle (faire fonctionner correctement les moteurs, les commander, vérifier la validité des calculs...). Cela va nous prendre un temps considérable et demander beaucoup de travail dans les prochaines semaines.
Pour la partie Arduino/moteur, on s'attelle à comprendre pourquoi les cartes Sabertooth et Kangaroo sont utilisées, plutôt que directement des Arduino. On identifie plusieurs points. Cela permet de n'utiliser qu'une seule Arduino qui centralise toutes les commandes, et à laquelle on relie chaque Kangaroo. Les cartes Kangaroo et Sabertooth gèrent la partie automatique / contrôle dans le mouvement. Nous n'avons pas besoin de coder toute la partie PID... Cependant les codes Arduino du groupe précédent sont peu clairs, on identifie difficilement leurs fonctions. La première chose que l'on doit faire est le tunage des moteurs. Malgré beaucoup d'efforts, les moteurs refusent de tourner.
En fin de semaine, on comprend que les moteurs sont défectueux. En effet, les capteurs à effet hall fonctionnent mal, ce qui peut expliquer les mauvaises réponses des moteurs aux codes Arduino. Il faut changer les capteurs.
La partie maths / python a essayé de s'approprier les codes des années passées.
Des calculs thermiques manuels ont été engagés pour déterminer si des solutions de refroidissement du matériau de la lampe étaient envisageables. Nous avons aussi réfléchi à des solutions d'élargissement du faisceau de la lampe.
Site web de l'année précédente
Cette semaine a été pour nous l'occasion de découvrir ce projet et le travail réalisé au cours des années précédentes. Tout commence par du temps passé à comprendre ce qui a déjà été fait, pourquoi mais aussi comment. Sans cela on risque de perdre beaucoup de temps sur des choses déjà réalisées et étudiées.
Ensuite il faut décider de ce que l'on va apporter au projet. Nous avons décidé que terminer la maquette commencée l'année dernière (qui n'a pas pu être finalisée avec le confinement...) est une bonne première étape. Si tout cela se passe bien d'ici deux semaines nous devrions avoir une maquette qui fonctionne. C'est-à-dire: avoir fixé des moteurs qui fonctionnent, les câbles reliés à une boite vide (qui doit normalement contenir la lampe), et arriver à exécuter les programmes de déplacement de la boîte. Pour ce qui est de la lampe, on ne la rajoutera pas sur la maquette, mais seulement sur la structure finale.
Nous avons aussi pour but de faire varier la puissance que le bâtiment reçoit du soleil. La puissance que l'on reçoit du soleil n'est pas toujours la même : le soleil à Rio au Brésil sur la page le midi et à Paris à 17h n'a pas la même puissance.
Cette différence est considérable et si l'on veut reproduire l'effet du soleil sur les bâtiments, on est obligés de prendre cela en compte. La lampe que l'on a choisie pour simuler le soleil ne peut pas faire varier sa puissance, on doit donc concevoir un système pour laisser passer plus ou moins de lumière. C'est un peu comme fermer plus ou moins les rideaux pour laisser entrer beaucoup ou peu de lumière. Des solutions techniques ont déjà été imaginées au cours des années précédentes, il faut maintenant valider les choix de conceptions et préciser les solutions.