• Aucun résultat trouvé

5 Acquisition et traitement des signaux EMG

5.2 Le microcontrôleur MSP430F5529

Pour ce projet, le microcontrôleur MSP430F5529 (Texas Instruments USA) a été choisi. Il possède un convertisseur analogique/numérique (ADC : Analog to Digital Converter), avec 12 bits de précision, pour convertir des données. De plus, il permet des communications UART (Universal Asynchronous Receiver-Transmitter) et SPI (Serial Peripheral Interface). Texas Instruments fournit notamment un kit d’utilisation très pratique que nous utiliserons au début du projet avec la Breadboard. Nous programmerons celui-ci à l’aide du logiciel Code Composer Studio 6.2.0 de Texas Instruments, dans un langage C.

Dans un premier temps, nous aurons besoin du microcontrôleur pour la conversion des données analogiques (provenant de la Breadboard) au format numérique en réalisant un échantillonnage à une fréquence de 5kHz. Cette fréquence a été choisie ici pour bien visualiser et analyser les signaux EMG, lors de cette phase de test sous Breadboard.

Dans un second temps, lorsque nous remplacerons la Breadboard par un système plus sophistiqué, ce microcontrôleur permettra la programmation des différents composants et l’échantillonnage sera fait à une fréquence de 1kHz, fréquence à la limite du théorème de

33

Shannon. La fréquence limite est choisie afin de limiter le nombre de données à traiter par la suite, car de nombreux calculs auront besoin d’être effectués sur les données dans un temps imparti. Enfin, nous aurons besoin d’établir une communication UART entre l’ordinateur et le microcontrôleur afin de transmettre les données à l’ordinateur. Cette communication pourra être remplacée plus tard par une communication sans fils Radio Fréquence (RF).

5.3 1ers traitements sur platine d’expérimentation

Dans un premier temps, la partie pour l’acquisition et le traitement analogique des données a été réalisée à l’aide d’une Breadboard. La Figure 24 présente le circuit utilisé pour un des canaux. Plusieurs exemplaires ont été mis en place afin de pouvoir mesurer en temps réel plusieurs canaux à la fois.

Figure 24 : Circuit réalisé pour un canal.

Tout d’abord, un filtre RFI permet de s’assurer que les hautes fréquences (supérieures à 10kHz) sont coupées. Le deuxième étage du circuit (composé d’un amplificateur d’instrumentation INA126, d’un amplificateur opérationnel LM358AM, de R1, C4, et R2) caractérise un filtre passe-haut avec comme fréquence de coupure 20Hz (les fréquences inférieures à 20Hz sont éliminées) et un gain de 10V/V. Le troisième étage (composé d’un LM358AM, de R3, R4 et C5) est un filtre passe-bas de fréquence de coupure 500Hz, donc toutes les fréquences supérieures à 500Hz sont coupées. Enfin le dernier étage du circuit (composé d’un LM358AM, de R5 et R6) est un inverseur qui permet de fournir un gain suffisant (Gain de 25V/V) pour analyser les signaux de façon correcte. De plus, un pont diviseur nous permet de créer une tension de référence à 1,25V afin de pouvoir ensuite travailler avec un microcontrôleur qui gère uniquement les tensions positives. Cette tension de référence est appliquée aux bornes positives des amplificateurs opérationnels (alimentés en 3,3V). Malgré l’ordre peu élevé des filtres utilisés, ce circuit est efficace pour obtenir des signaux facilement observables à l’œil nu. Il faudra par contre envisager des filtres numériques supplémentaires pour renforcer la qualité des signaux.

INA126

LM358AM

34

Ce circuit permet donc de conserver le signal utile de l’EMG : entre 20Hz et 500Hz. Il possède également un gain en tension de 250V/V afin d’amplifier suffisamment l’entrée pour la visualiser correctement.

Tableau 3 : Tableau des performances du circuit.

Paramètre Valeur

EMG amplitude max (V) 0.005

EMG amplitude min (V) 0.0005

Gain en tension (V/V) 250

Bande passante (Hz) 20 – 500

Common Mode Rejection Ratio (CMRR en dB) 75

Nous avons testé ce circuit avec 2 canaux afin de voir son efficacité de filtrage. En sortie de notre circuit analogique sur Breadboard, le microcontrôleur MSP du kit convertit les données sous format numérique (ADC) à une fréquence d’échantillonnage de 5KHz puis les envoie par UART à l’ordinateur. Nous avons configuré l’envoi des données en une séquence de 32 bits contenant le canal 1 et le canal 2 en série. Voici le schéma bloc de l’acquisition par microprocesseur.

Figure 25 : Schéma bloc de l’acquisition par microprocesseur pour 2 canaux, lors de l’utilisation de la

Breadboard.

La réception des données se fait sous Matlab. Dans un premier temps, le microcontrôleur envoyant les données en une séquence, nous devons trier les données reçues pour les placer dans deux variables distinctes représentant les deux canaux sous Matlab. Ces variables sont alors affichées en temps réel avec la fonction stripchart de Matlab. Des filtres supplémentaires ont été utilisés sous Matlab afin d’augmenter la qualité des signaux. Les avantages de ces filtres numériques, par rapport aux filtres analogiques, sont leurs facilités de conception, d’ajustement de leurs caractéristiques (ordres, fréquences de coupures…) et leurs stabilités dans le temps (pas d’usure de composants, etc.). Par contre, un des inconvénients serait qu’ils rajoutent une complexité de calcul. Les ordres des filtres ont été choisis de façon à optimiser le filtrage tout en ayant des temps de calcul acceptables pour ne pas ralentir l’exécution du programme. Voici ce qui a été implémenté :

35

• Filtre passe-bas de Butterworth d’ordre 10 avec une fréquence de coupure à 500Hz afin de couper les hautes fréquences non utiles.

• Filtre passe-haut de Butterworth d’ordre 8 de fréquence de coupure 20Hz pour couper la composante continue et les fréquences de 0 à 20Hz non voulues.

• Filtre coupe-bande de Butterworth d’ordre 4 avec une fréquence de coupure à 60Hz pour filtrer le bruit provenant de l’alimentation.

La Figure 26 nous montre la qualité des signaux obtenus.

Figure 26 : Courbe du signal provenant du canal annulaire en flexion en sortie de la Breadboard avec

l’acquisition sous Matlab.

Malgré la qualité acceptable de ces signaux, il a fallu se pencher sur la miniaturisation du système d’acquisition et de traitement. En effet, l’utilisation d’une Breadboard n’était pas envisageable pour la suite du projet. Il aurait notamment fallu reproduire les circuits de la Figure 24 en 7 exemplaires pour enregistrer les 7 canaux en temps réel. La Figure 27 nous donne un aperçu de la taille des circuits sous Breadboard. Nous avions besoin de réduire considérablement la taille du système. C’est pourquoi, dans la suite de ce projet, nous utiliserons le composant ADS1298 spécialisé dans l’acquisition des signaux biologiques.

Figure 27 : Breadboard contenant 5 exemplaires du circuit de la Figure 24.