|
|||||||||||||||||||||||||||||||||||||||||||
|
La physique des matériaux est un domaine complexe, qui connaît une grande expansion avec l'arrivée de nombreux nouveaux produits ces dernières années (matériaux composites à fibres de verre ou de carbone, colles, céramiques...). Comme ces matériaux sont complexes et nouveaux, il n'est pas facile d'en prévoir les comportements et propriétés. C'est pourquoi ce domaine fait particulièrement appel à l'expérimentation et à la simulation. Pour évaluer un produit donné, l'expérimentation suit un protocole de mesures répétitif et précis sur une série d'échantillons, suivie d'une extraction de l'information pertinente lourde en calculs. Le chercheur ou l'ingénieur peut alors interpréter ces données "prédigérées" caractérisant la structure du matériau. Quand il y a actions répétives et calculs lourds, alors l'ordinateur peut sûrement s'acquitter d'une partie du travail. Nous allons prendre connaissance dans cet épisode d'un banc de mesure et d'évaluation entièrement réalisé à partir d'un Amiga, lequel ne laisse plus grand chose à faire à l'expérimentateur si ce n'est tirer parti des résultats finaux... Dans la mesure où cet exemple peut directement intéresser d'autres laboratoires, nous détaillerons les aspects techniques qui illustrent bien l'intérêt de la machine dans ce contexte. Cela peut parfois rendre la lecture un peu difficile dans la seconde moitié de l'article. Que les non techniciens nous pardonnent ! Introduction Le Centre des Matériaux et Structures Composites (CMSC) hébergé par l'Université de l'État du Michigan (ce centre est l'un des plus réputés en la matière aux États-Unis) s'intéresse dans le cadre du projet qui nous occupe ici à l'étude de matériaux plastiques renforcés par des fibres de verre et de carbone. L'orientation prise par les fibres dans le substrat lors de l'injection dans le moule est difficilement prévisible et mesurable. Elle conditionne pourtant les propriétés du matériau (solidité, raideur...). L'objectif est donc de mesurer les directions prises par les fibres de carbone à l'intérieur des échantillons, qui sont heureusement transparents tandis que ces fibres sont noires (les fibres de verre sont invisibles car elles ont le même indice de réfraction que le plastique, mais on suppose qu'elles se comportent de la même façon que le carbone). Les tâches à effectuer (et dont l'Amiga se charge), que nous détaillerons plus loin, sont les suivantes :
Le banc de mesure comporte le dispositif de préparation des échantillons, le microscope couplé à une caméra et dont la cible peut se déplacer sur commande, deux moniteurs et un Amiga 3000 disposant de 6 Mo de mémoire. Celui-ci contrôle un appareil de capture vidéo externe (connecté par le port parallèle), une carte d'acquisition de données et une carte de pilotage de moteurs sur le bus PC de l'Amiga. Une carte passerelle élémentaire (Golden Gate) permet aux logiciels d'accéder simplement et rapidement au bus PC, ce qui ouvre la voie à toutes sortes de périphériques spécialisés ou bon marché, qu'on ne trouve pas toujours directement adaptés à notre machine (cette carte sans processeur ne fait que mapper en mémoire les extensions trouvées sur le bus PC, mais elle est livrée avec des pilotes de ports série et parallèle et permet d'utiliser ces extensions version IBM). Les moteurs pas à pas qui sont utilisés à plusieurs niveaux sont des moteurs dont on peut piloter la rotation à coup d'impulsions représentant une fraction de tour très précise. Toute la partie logicielle a été développée par le laboratoire en SAS C, et avec l'excellent logiciel domaine public GadToolsBox pour ce qui est de l'interface utilisateur (qui est assez soignée, comme en témoignent les images de cet article). Les icônes correspondant aux diverses tâches sont rangées à l'écran dans l'ordre chronologique où celles-ci seront effectuées, soit que l'utilisateur aura cliqué sur les icônes, soit qu'un script ou une tâche de fond aura lancé ladite application. Les programmes et les scripts ![]() ![]() Chop Le second programme, "Acquire", visualise la température en cinq points du container et du moule ainsi que la pression et la vitesse d'injection, et contrôle l'avancée du piston (il aurait pu tout aussi bien contrôler la température, mais ceci est effectué avec de simples thermostats). Les temps sont affichés au 100e de seconde près, grâce aux chronomètres (timers) de l'Amiga précis au millionième (en fait, la carte permet de contrôler ou d'acquérir 8 données 12 bits toutes les 73 microsecondes). On conserve ces données, car elles ont une influence déterminante sur l'orientation des fibres. ![]() Data Acquisition ![]() MCFG Dans cette boucle sur x et y, on déplace d'un cran la visée, on initialise un nouveau fichier image, puis on boucle sur les z de façon à obtenir une image 3D. Dans cette dernière boucle, il ne reste qu'à se déplacer d'un cran en z, capturer l'image sur 256 niveaux de gris, la binariser (passage en noir ou blanc) et la stocker. Le stockage des images 3D se fait à l'aide du format IFF Anim, dont la compression correspond bien au besoin. On va ainsi photographier 150 zones de 1 millimètre cube environ, qui donneront chacune une image 3D de 320x400x80 "voxels" binaires, soit à peu près 1,5 milliard de bits au total ! Chaque image 3D est acquise en une dizaine de minutes. Si l'utilisateur a lancé en lot le programme suivant, "3D Thinning", la tâche de squelettisation s'attaque à l'image 3D dès que celle-ci est prête (beaucoup de temps processeur est perdu lors de la récupération des images par le port parallèle, puisque l'appareil de capture d'images est pour l'instant externe. Le fait de lancer parallèlement l'acquisition d'une image et le traitement de la précédente, via des communications interprocessus, permet de rattraper ce temps perdu et ramène toute la manipulation de deux à une seule journée). ![]() 3D Thinning Le diamètre des fibres étant de l'ordre de 10 microns, celles-ci tracent des segments de quelques pixels de large dans l'image. Le grignotage se fait donc en plusieurs passes (tant qu'il se passe quelque chose), chacune testant le voisinage de chaque pixel aux bords des objets progressivement amincis, pour savoir si on peut enlever ce pixel sans couper l'objet en deux. L'opération suivante, "3D-FODAS" (3D Fiber Orientation Distribution AnalvsiS) analyse la scène squelettisée pour en tirer l'information cherchée : la répartition des directions prises par les fibres. Pour chaque fibre (reconnue en chaînant les voxels noirs voisins), il faut calculer le tenseur d'inertie, dont les valeurs propres donnent les principaux moments d'inertie, et dont le vecteur propre associé au plus petit est la direction globale de la fibre (seul compte ce résultat, son origine est compréhensible par ceux qui ont fait quelques études en mathématiques et en physique...). Pour avoir un résultat global sur tout l'échantillon, il faut moyenner en tenant compte de la longueur des fibres. Cette opération s'exécute en à peine une demi-minute. ![]() 3D Fiber Orientation Distribution Analysis ![]() On souhaite obtenir des fibres à peu près orientées dans la direction selon laquelle le matériau subira des contraintes. On cherche également à détecter des parois intérieures, qui se forment quand à un endroit les fibres ne sont plus totalement mêlées mais semblent contourner un obstacle, ce qui peut entraîner une perte locale de 90% de la solidité. Après quatre ans de travaux, le laboratoire a ainsi permis un type de mesure au coeur de la matière qui était totalement inaccessible auparavant. En rapprochant les répartitions constatées des conditions de production des échantillons, le laboratoire compte également faire avancer la prédiction de ces propriétés du matériau composite. Plusieurs firmes se sont avérées intéressées par l'étude elle-même, mais l'Amiga a été intégré à un tel point au banc d'expérimentation que la plupart des aspects pris séparément devraient également pouvoir se réintégrer dans toutes sortes de montages de laboratoires. La machine sert également à la production de comptes rendus sous TeX, à la réalisation de bandes vidéo de démonstration, à la mise au point des programmes et à l'émulation de terminaux ! Ce même laboratoire utilise quatre autres Amiga pour des tâches moins intégrées, comme l'acquisition et le traitement d'images, la détection et le comptage automatique des extrémités de fibres, la mesure de la forme de goutelettes, le contrôle de la congélation de matières biologiques... ![]()
Je tiens à remercier Jeff Wille, dont la thèse est à l'origine du projet décrit ici, pour lequel il encadre huit personnes. Un long échange de courriers électroniques a permis de vous présenter les travaux de son équipe (wille@egr.msu.edu). Étudiants, chercheurs, thésards, n'hésitez pas à faire circuler cet article dans vos labos ! Cet exemple volontairement détaillé avait pour but de mettre en relief l'adéquation de la machine aux besoins habituels des bancs d'expérimentation. Utilisez-le !
|