ensa is - Bienvenue sur Catalogue des mémoires de projets de fin d
Transcription
ensa is - Bienvenue sur Catalogue des mémoires de projets de fin d
PROJET DE FIN D’ETUDES Auteur : Matthieu WIRTH Promotion : 2015 Titre : Soutenance : 17/09/2015 Mise en place d’un système de supervision IRM basé sur Raspberry Pi Structure d’accueil : Société RS²D (Reinvent Systems for Science and Discovery) ZA des Maréchaux, 13 rue Vauban 67450 Mundolsheim FRANCE Nb de volume(s) : 1 Nb de pages : 77 Nb de références bibliographiques : 13 Résumé : Depuis 2007, la société RS²D développe des appareils d’imagerie médicale (IRM) et des appareils de spectroscopie (RMN) destinés principalement aux études précliniques. Chacun de ces appareils possède un système de supervision. La supervision permet, en effet, de pouvoir contrôler le bon fonctionnement de chaque module du système en temps réel depuis un moniteur (à défaut un ordinateur). Dans le cas présent, chaque module de l’appareil renvoie ses informations vers une carte mère appelée « Chameleon » via une carte dite de « Monitoring » possédant entre autres un microcontrôleur. La carte mère est directement reliée à un ordinateur par un câble réseau. Les données de supervision n’étant pas les seules à transiter au sein de la carte mère, le but du stage est de remplacer le réseau actuel constitué des cartes de « Monitoring » par un réseau indépendant du Chameleon afin d’alléger ses phases de calcul. Le choix s’est porté sur l’utilisation de Raspberry Pis, qui sont des cartes électroniques présentant leur propre système d’exploitation ce qui permet d’implémenter tous types de programmes et de s’adapter à n’importe quelle électronique. Mots clés : R&D, Raspberry Pi, IRM, RMN, électronique, programmation, Python, Java, Conception Traduction : Since 2007, the RS²D Company is developing its own MRI (Magnetic Resonance Imaging) and NMR (Nuclear Magnetic Resonance) spectroscopy systems mostly dedicated to preclinical studies. Each of these systems is equipped with a supervision system. Supervision aims at controlling the operation status of each module in real time through a monitor (most of the time a computer). In our case, each module of the system sends information back to a motherboard called « Chameleon » through a monitoring board equipped with a microcontroller. The motherboard is bound to the computer via an Ethernet connection. Because supervision data is not the only one to transit through the motherboard, the purpose of the study is to replace the actual network with an independent one to lighten the calculation phases of the motherboard. RS²D also chose the Raspberry Pi to do the job because it implements its own operating system and it can therefore execute many types of source code and fit to any kind of electronic system. Matthieu WIRTH GE5S | Projet de fin d’études |Année Scolaire 2014/2015 -Mise en place d’un système de supervision IRM basé sur Raspberry Pi- Synthèse La société RS²D, après avoir fait du reconditionnement d’appareils RMN depuis l’année 2003, a commencé à développer sa propre électronique d’appareils IRM et RMN en 2007. Grâce à elle, l’entreprise a pu se faire connaître et ainsi vendre plusieurs systèmes à travers le monde. L’électronique se compose de plusieurs modules : Module de gradients permettant de faire varier le champ magnétique dans l’espace Amplificateur RF permettant d’amplifier le signal à émettre à travers l’échantillon Préampli permettant de traiter le signal RF reçu par les antennes RF Carte mère « Chameleon » traitant les données acquises et communiquant avec le software (voir figure 2) Module de « shims » permettant d’homogénéiser le champ magnétique Figure 1 : Spectromètre RMN développé par RS²D alléger la charge de calcul du FPGA, il a été décidé par la société de créer un réseau indépendant, n’effectuant que de la supervision, et basé sur Raspberry Pi. Le Raspberry Pi est une petite carte électronique possédant un système d’exploitation Linux et des entrées/sorties programmables, ce qui lui permet de s’adapter à tout type d’électronique. FPGA Figure 2 : Interface du software Java RS²D Chacun de ces modules renvoit des données à la carte mère à l’aide d’une carte dite de « Monitoring » qui lui est associée. Ensuite, toutes ces données sont traitées par un circuit logique programmable (ou « FPGA »). Parmis ces données, on trouve des données de supervision, telles que les états de fonctionnement de certains modules, les températures des circuits, etc… Ainsi, pour Figure 3 : Carte mère "Chameleon" Le but du stage est donc de remplacer certaines des cartes de Monitoring par des Raspberry Pi. En premier lieu, le stage a porté sur la gestion des alimentations de certains modules électroniques via le Raspberry Pi. 1 Matthieu WIRTH GE5S | Projet de fin d’études |Année Scolaire 2014/2015 -Mise en place d’un système de supervision IRM basé sur Raspberry Pi- Figure 4 : Carte de monitoring RS²D (à gauche) et Raspberry Pi (à droite) Il a alors fallu réaliser une carte permettant d’interfacer le Raspberry Pi avec le système électronique RS²D pour que celui-ci puisse agir dessus. La carte qui a été conçue permet donc de contrôler, soit manuellement, soit via une interface Java, l’alimentation de trois modules (amplificateur RF, carte mère et module de shims) ainsi que de contrôler si la température des bobines de gradient ne dépasse pas un certain seuil. En termes de conception, il a tout d’abord fallu établir un schéma électrique du circuit, puis il fallait faire le routage du circuit imprimé. Figure 6 : Carte de gestion d'alimentations soudée Par ailleurs, un code source a dû être écrit pour créer une structure de communication entre un serveur implanté sur le Raspberry Pi (codé en Python) et un client lancé depuis un ordinateur externe (codé en Java). Via ce client, il est possible de superviser la gestion des alimentations des modules cités en amont. Figure 5 : Routage de la carte de gestion d'alimentations Une fois ceci effectué, la carte a pu être soudée avec les composants choisis après le dimensionnement du circuit électrique. Figure 7 : Interface du client Java 2 Matthieu WIRTH GE5S | Projet de fin d’études |Année Scolaire 2014/2015 -Mise en place d’un système de supervision IRM basé sur Raspberry PiEn deuxième partie du stage, le travail s’est porté sur le test d’une carte conçue pour détecter et identifier les antennes RF lorsque celles-ci sont branchées. Cette carte étant également attachée à une carte de Monitoring, il était également nécessaire d’y adapter un Raspberry Pi. Figure 9 : Test de la commande des relais via I²C Figure 8 : Carte de détection des antennes RF et Raspberry Pi Une fois les tests réalisés à l’aide de la carte de Monitoring, celle-ci a été remplacée par un Raspberry Pi et un code source (en Python) a dû être écrit pour pouvoir réaliser les mêmes fonctions que cette dernière. Tout d’abord, il fallait s’assurer que la carte, puisqu’elle n’avait été développée que très récemment, était capable d’effectuer toutes les tâches pour lesquelles elle avait été créée et ce, avec la carte de Monitoring. Celles qui ont été testées pendant le stage sont les suivantes : Communication via SPI entre la carte de Monitoring et un convertisseur analogique-numérique (CAN) se trouvant sur la carte Commande de relais à l’aide d’extensions de ports GPIO (General Purpose Input/Output) via liaison I²C Détection de présence d’une antenne RF grâce à un circuit analogique et au CAN. On peut constater un exemple de test réalisé sur l’oscillogramme suivant. Celui-ci représente une commande envoyée en I²C a l’extension de ports GPIO pour que celle-ci mette une sortie à 1 ou 0 pour activer ou désactiver un relais.On constate le changement dans les parties entourées. Les autres bits correspondent à la configuration de l’extension GPIO. 3