Axe MPI — UP4 : Projet

Électrocardiogramme

Dans le cadre d'un projet prospectif (en ce sens que le résultat n'est pas garanti et que les spécifications peuvent changer au cours du projet), nous vous proposons de réaliser un module électrocardiogramme. Nous avons nous même réalisé des parties plus ou moins complètes de ce projet, mais nous aimerions que vous le réalisiez dans son intégralité. Ceci permettra sans doute de faire émerger des problèmes et des solutions auxquels nous n'avions pas songés. De plus, la réalisation d'un électrocardiogramme n'est qu'une première étape pour la réalisation d'un électroencéphalogramme. Ce dernier serait utile dans le cadre de la réalisation d'un projet qui nous tient à cœur et qui viserait à contrôler des équipements par la pensée.

Description du projet

Pour mener à bien ce projet vous devrez réaliser une partie permettant de faire la captation, une partie permettant de calculer la fréquence cardiaque observée et enfin une dernière partie réalisant le tracé de la courbe de fréquence obtenue.

Dans ces trois parties, celle consacrée à la captation relève d'un montage électronique relativement compliqué et mettant en œuvre des composants assez fragiles. Le principe de fonctionnement du circuit vous sera rapidement présenté pour que vous puissiez comprendre comment cela s'articule. Cependant, une compréhension en profondeur n'est pas requise. Si nécessaire, nous vous assisterons dans la réalisation pratique. La section suivante est consacrée à la compréhension et à la réalisation de ce montage.

Les deux autres parties sont relativement plus simples et plus orientées vers l'informatique. Elles sont présentées dans les deux dernières sections de cette page.

Voici quelques documents à lire en préambule de la réalisation de votre projet :

Captation

Pour réaliser la partie concernant la captation nous nous inspirerons du projet OpenEEG et en particulier de la partie ModularEEG.

Nous avons simplifié le schéma pour ne disposer que de trois électrodes (deux pour la partie haute du corps et la troisième pour la jambe droite). En guise de simplification nous avons en fait supprimé les parties du schéma non nécessaires. Le reste est strictement identique à ce que propose OpenEEG dans son ModularEEG à cela près que nous avons ajouté une partie pour l'alimentation du schéma.

Ainsi, la réalisation de la partie captation doit être faite à partir de ce schéma simplifié et tout doit être effectivement câblé.

Ce câblage se fera sur des plaques d'essai sans soudure où l'on peut enficher les composants électroniques utilisés ainsi que des fils pour créer les connexions. Bien que ce moyen ne soit pas idéal en terme d'isolation électromagnétique, il permet à moindre frais d'avoir une réalisation qui tient la route.

Alimentation

Quelques remarques au sujet de l'alimentation de notre projet.

Ce projet vise à instrumenter une personne vivante. De ce fait, nous ne pouvons nous permettre de prendre de risque avec l'alimentation électrique. Il est hors de question d'alimenter notre montage en utilisant une source secteur, même si celle-ci voit sa tension réduite par une alimentation type alimentation de téléphone portable.

Nous préférerons utiliser une alimentation par pile et une pile 9V (type 6LF22) ou un couple de piles 4,5V (type 3LR12) feront parfaitement l'affaire.

Liaison avec le sujet observé

Pour pouvoir capter la fréquence cardiaque d'une personne, il est nécessaire de brancher celle-ci à notre dispositif de captation. Ceci est réalisé à l'aide d'électrodes médicales que l'on peut trouver assez facilement en pharmacie.

Ces électrodes sont réutilisables un certain nombre de fois (mais assez peu cependant). Il conviendra de prendre les précautions d'hygiène qui s'imposent pour leur manipulation, particulièrement lorsque l'on fait des tests sur une personne puis sur une autre.

Composants électroniques clés

Nous donnons ici, à titre d'information, ou pour les plus curieux d'entre vous, les datasheets des composants clés du montage.

Vous pouvez vous y référer pour vous assurer de la numérotation des broches (par exemple) et pour avoir une idée globale du fonctionnement de chacun des composants.

Amplificateur opérationnel de précision
Un amplificateur opérationnel est un composant électronique actif très utilisé, entre autre, dans la réalisation de filtres ou d'amplificateurs.
Datasheet
Amplificateur d'instrumentation
Un amplification d'instrumentation est un composant qui regroupe deux amplificateurs opérationnels et un ensemble de composants passifs, réglés très finement, et qui permet d'amplifier la différence de potentiel qui est appliquée à ses broches d'entrées.
Datasheet

Analyse et calcul de la fréquence

Pour pouvoir calculer la fréquence cardiaque captée par le montage électronique il va falloir procéder en deux étapes.

Tout d'abord il va falloir numériser l'information qui sort du montage de la première partie. Viendront ensuite les traitements nécessaires au calcul de la fréquence associée.

La numérisation (conversion de valeurs analogiques vers des valeurs numériques) se fait à l'aide d'un dispositif spécial appelé CAN (ou ADC en anglais). Ce dispositif peut être utilisé seul (c'est alors un nouveau composant électronique) ou bien il est possible d'utiliser celui qui est déjà inclus dans d'autres composants de plus haut niveau. C'est le cas du module à micro-contrôleur que nous allons manipuler.

Pour réaliser la partie conversion et la partie calcul de la fréquence, nous utiliserons donc un module à micro-contrôleur. Il en existe plusieurs et nous avons choisi d'opter pour les modules Arduino. Pour donner une description rapide, nous pouvons voir ce module comme un tout petit ordinateur (unité de calcul et mémoire) équipé de dispositifs de communication avec le monde réel. Une description un tout petit peu plus détaillée est donnée en page de garde. Une description complète est disponible sur le site du constructeur.

Le choix de ces modules s'est fait principalement pour leur architecture et leur environnement de développement libres et ouverts. Ils sont déclinés en plusieurs modèles en fonction des capacités que l'on désire avoir et permettent de répondre simplement à bon nombre de problèmes d'interfaçage du monde réel avec le monde numérique.

Numérisation

Cette partie ne devrait pas poser de problème particulier. Le module Arduino dispose de quoi faire un échantillonnage suffisant au vu de la plage des fréquences cardiaques (inférieures à 220 pulsations par minute).

En réalité, vu la forme de la courbe d'un électrocardiogramme, la fréquence maximale du signal est de l'ordre de 2 kHz. Selon le théorème d'échantillonnage de Nyquist-Shannon, la fréquence d'échantillonnage doit être supérieure au double de la fréquence maximale du signal échantillonné. Le microcontrôleur présent sur les modules Arduino est tout à fait capable d'échantillonner à plus de 4 kHz (environ 8 kHz selon la façon de le programmer).

Calcul de la fréquence

Déterminer la fréquence d'un signal peut se faire de différentes manières, en fonction du type de signal rencontré et de la qualité de ce dernier.

Dans notre cas, nous devrions obtenir un signal correct, de fréquence faible et d'amplitude suffisante. Il ne devrait donc pas être nécessaire d'employer des méthode compliquées et coûteuses pour en déterminer la fréquence (par exemple, l'utilisation d'une FFT ne devrait pas être nécessaire). Nous préférerons des méthodes simples comme le comptage des passages par zéro ou l'autocorrélation.

A noter tout de même que la fréquence cardiaque est déduite du temps écoulé entre deux pulsations. Chaque pulsation est représentée par un pic sur la courbe. La fréquence cardiaque est donc sensiblement différente de la fréquence du signal.

Tracé de la courbe

Le tracé de la courbe se fera sur un ordinateur. Les données échantillonnées seront transmises par le module Arduino à l'ordinateur via la liaison série/USB et récupérées par un logiciel permettant d'effectuer le tracé.

Le logiciel en question est Processing. Son interface ressemble beaucoup à l'interface de programmation de l'Arduino (cette dernière ayant été construite à partir de Processing) et le mode de programmation est très similaire. Le langage utilisé est le Java au lieu du C++, mais en pratique, pour ce que nous avons à faire, nous ne verrons presque pas la différence.

Pour que la transmission soit assez rapide, il faudra prendre soin de régler le débit de la liaison série à une valeur suffisante. Sans doute que la valeur par défaut de 9600 bauds ne sera pas satisfaisante et qu'il faudra aller vers les 57600 bauds ou même à la valeur maximale de 115200 bauds.

Il est cependant intéressant de calculer la valeur minimale nécessaire sachant qu'au plus cette valeur est élevée, au plus l'ordinateur recevant les données devra effectuer d'opérations et de ce fait, chauffer.

Au final, il est demandé, sur le tracé, d'avoir la courbe du rythme cardiaque ainsi que la valeur de la fréquence calculée par le module Arduino.

Récapitulatif

Le schéma ci-dessous montre le principe général de notre montage.

Votre groupe devra se diviser en plusieurs sous-groupes pour mener de front la réalisation de ces trois parties distinctes.

schéma de principe avec les trois parties  captation, analyse et calcul de la fréquence, puis enfin tracé de la courbe d'affichage de la fréquence (fichier SVG)

Documentation

Ce projet étant hautement prospectif, il vous est demandé de documenter au maximum tout ce que vous réalisez.

Il est également important pour nous que vous documentiez tout ce que vous avez testé, ce qui a fonctionné et ce qui n'a pas fonctionné et dans ce cas, pourquoi d'après vous cela n'a pas fonctionné. Une approche "journal de bord" sera grandement appréciée avec un déroulement chronologique des opérations.

La documentation devra être disponible pour chacune des parties de vos réalisations ainsi que pour l'ensemble. Il y aura donc en tout quatres grands chapitres dans votre document.

Captation

Devra apparaître dans cette partie le schéma de ce que vous avez effectivement réalisé.

Analyse et calcul de fréquence

Devront apparaître dans cette partie les algorithmes utilisés ainsi que le code employé pour mener à bien cette tâche.

Tracé de la courbe

Cette partie devra contenir le code utilisé pour recevoir les données, afficher la courbe et la fréquence.

Déroulement et évaluation

Déroulement du projet

Vous disposez, pour réaliser ce projet, de l'équivalent d'une semaine complète, soit 10 séances de 3 heures.

La première séance est consacrée à la présentation du projet et à la présentation du matériel utilisé. Vous devez, à l'issue, établir un planning de vos séances (façon diagramme de Gantt) et définir la répartition des tâches.

Évaluation

Votre travail sera évalué sur les points suivants :

Il vous sera également demandé de mettre à jour le planning que vous avez établi au début et de faire un retour constructif sur les différences entre le temps estimé et le temps réellement passé sur les diverses tâches.

Bon travail !