Rapport final. Université du Québec à Chicoutimi. Conception d un électromyogramme. Projet # : 109. Préparé par. Jean-Daniel Coudé.

Documents pareils
TP Modulation Démodulation BPSK

Filtres passe-bas. On utilise les filtres passe-bas pour réduire l amplitude des composantes de fréquences supérieures à la celle de la coupure.

1. PRESENTATION DU PROJET

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Mode d emploi ALTO MONITOR PROCESSEUR D ÉCOUTE. Version 1.0 Juillet 2003 Français

Projet audio. Analyse des Signaux ELE2700

Systèmes de transmission

Numérisation du signal

Projet de synthèse de l'électronique analogique : réalisation d'une balance à jauges de contrainte

A. N(p) B + C p. + D p2

Manipulations du laboratoire

Expérience 3 Formats de signalisation binaire

Transmission de données. A) Principaux éléments intervenant dans la transmission

Automatique Linéaire 1 Travaux Dirigés 1A ISMIN

TD1 Signaux, énergie et puissance, signaux aléatoires

Equipement. électronique

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA)

Université de La Rochelle. Réseaux TD n 6

Cours d électricité. Circuits électriques en courant constant. Mathieu Bardoux. 1 re année

Manipulation N 6 : La Transposition de fréquence : Mélangeur micro-ondes

Transmission d informations sur le réseau électrique

Technique de codage des formes d'ondes

Exemple d acquisition automatique de mesures sur une maquette de contrôle actif de vibrations

8563A. SPECTRUM ANALYZER 9 khz GHz ANALYSEUR DE SPECTRE

Chaine de transmission

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

Electron S.R.L. - MERLINO - MILAN ITALIE Tel ( ) Fax Web electron@electron.it

Partie Agir : Défis du XXI ème siècle CHAP 20-ACT EXP Convertisseur Analogique Numérique (CAN)

CHAPITRE V. Théorie de l échantillonnage et de la quantification

ELEC2753 Electrotechnique examen du 11/06/2012

Donner les limites de validité de la relation obtenue.

TP: Représentation des signaux binaires. 1 Simulation d un message binaire - Codage en ligne

Mesures de temps de propagation de groupe sur convertisseurs de fréquence sans accès aux OL

PRODUIRE DES SIGNAUX 1 : LES ONDES ELECTROMAGNETIQUES, SUPPORT DE CHOIX POUR TRANSMETTRE DES INFORMATIONS

Étude des Corrélations entre Paramètres Statiques et Dynamiques des Convertisseurs Analogique-Numérique en vue d optimiser leur Flot de Test

Acquisition et conditionnement de l information Les capteurs

LES CARACTERISTIQUES DES SUPPORTS DE TRANSMISSION

! analyse du fonctionnement

ÉVALUATION FORMATIVE. On considère le circuit électrique RC représenté ci-dessous où R et C sont des constantes strictement positives.

Chap17 - CORRECTİON DES EXERCİCES

FAG Detector III la solution pour la surveillance et l équilibrage. Information Technique Produit

SYSTEME DE PALPAGE A TRANSMISSION RADIO ETUDE DU RECEPTEUR (MI16) DOSSIER DE PRESENTATION. Contenu du dossier :

Les technologies pour la santé, une discipline transversale pour la pédagogie en EEA : application aux troubles du sommeil

BTS Groupement A. Mathématiques Session Spécialités CIRA, IRIS, Systèmes électroniques, TPIL

Instruments de mesure

Information. BASES LITTERAIRES Etre capable de répondre à une question du type «la valeur trouvée respecte t-elle le cahier des charges?

CAPTEURS - CHAINES DE MESURES

QUESTION 1 {2 points}

Chapitre 1 Régime transitoire dans les systèmes physiques

Chapitre I La fonction transmission

Animation pédagogique sur l oscilloscope à mémoire Hameg HM 507

LÕenregistrement Enregistrement analogique et enregistrement numžrique

Oscilloscopes à échantillonnage pour ordinateurs Windows

Modules d automatismes simples

Mesures d antennes en TNT

Précision d un résultat et calculs d incertitudes

Oscilloscope actif de précision CONCEPT 4000M

Electron S.R.L. SERIE B46 - SYSTEMES DIDACTIQUES DE TELEPHONIE

Eléments constitutifs et synthèse des convertisseurs statiques. Convertisseur statique CVS. K à séquences convenables. Source d'entrée S1

Intérêt du découpage en sous-bandes pour l analyse spectrale

- MANIP 2 - APPLICATION À LA MESURE DE LA VITESSE DE LA LUMIÈRE

CLIP. (Calling Line Identification Presentation) Appareil autonome affichant le numéro appelant

Recommandations pour la définition des appareils de mesures utilisés en protection cathodique

Caractéristiques des ondes

L analyse boursière avec Scilab

Le transistor bipolaire. Page N 6 Tranlin

Régler les paramètres de mesure en choisissant un intervalle de mesure 10µs et 200 mesures.

La fonction exponentielle

EMETTEUR ULB. Architectures & circuits. Ecole ULB GDRO ESISAR - Valence 23-27/10/2006. David MARCHALAND STMicroelectronics 26/10/2006

Objet : Alimentation pour ordinateur portable et autre. Alimentation Schéma 1

SIGNAUX NUMERIQUES ET MODULATIONS NUMERIQUES

Notions d asservissements et de Régulations

Le transistor bipolaire

DI-1. Mode d'emploi. Direct Box

Mini_guide_Isis_v6.doc le 10/02/2005 Page 1/15

REALISATION D UNE CALCULATRICE GRACE AU LOGICIEL CROCODILE CLIPS 3.

Multichronomètre SA10 Présentation générale

Cours 9. Régimes du transistor MOS

Mesure de la pression différentielle et différentielle bidirectionnelle expliquée à l'aide du capteur

Union générale des étudiants de Tunisie Bureau de l institut Préparatoire Aux Etudes D'ingénieurs De Tunis. Modèle de compte-rendu de TP.

I- Définitions des signaux.

TP_Codeur_Incrémental

CH IV) Courant alternatif Oscilloscope.

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

Système de surveillance vidéo

TeamConnect. SL TeamConnect CU1, Unité centrale SL TeamConnect CB1, Combox CARACTÉRISTIQUES

DimNet Gradateurs Numériques Evolués Compulite. CompuDim 2000

0 20mV; 0 40mV; 0 80mV; 0 160mV; 0 320mV; 0 640mV; 0 1,28V; 0 2,56V 0 5V; 0 10V

V- Manipulations de nombres en binaire

TP 7 : oscillateur de torsion

Mini_guide_Isis.pdf le 23/09/2001 Page 1/14

CONVERTISSEURS NA ET AN

MODULES ÉLECTRIQUES. - systèmes électriques DC - onduleurs - convertisseurs - interrupteurs statiques. Notre alimentation Votre confiance

MESURES D UN ENVIRONNEMENT RADIOELECTRIQUE AVEC UN RECEPTEUR CONVENTIONNEL ETALONNE

500 W sur 13cm avec les modules PowerWave

III Capteurs et actuateurs

Chapitre 2 : communications numériques.

Transcription:

Université du Québec à Chicoutimi MODULE D INGÉNIERIE GÉNIE ÉLECTRIQUE PROJET DE CONCEPTION EN INGÉNIERIE () Projet # : 109 Conception d un électromyogramme Rapport final Préparé par Jean-Daniel Coudé Pour (PROMOTEUR) Hung Tien Bui UQAC 30 Avril 2010 CONSEILLER : COORDONNATEUR : Danny Ouellet, ing. Jacques Paradis, ing.

Approbation du rapport final pour diffusion Nom du conseiller Date Signature Page 2

Remerciements Je tiens à remercier quelques personnes sans qui ce projet n aurait jamais été une aussi grande réussite dans les délais demandés. Les personnes que je souhaite remercier sont : M. Dany Ouellet, M. Richard Martin et M. Hung Tien Bui. Monsieur Ouellet était mon conseiller de projet, il m a bien orienté devant les quelques difficultés que j ai rencontrées et il a bien répondu à mes questions. Monsieur Martin, le technicien en électronique m a beaucoup aidé sur l aspect technique du projet, il a su me conseiller sur différents choix de composantes que je devais faire. Monsieur Bui, le promoteur du projet m a toujours éclairé sur quelques points du projet et il était toujours disponible pour répondre aux questions. Je vous remercie tous très sincèrement. Page 3

Résumé L objectif de ce projet est de faire la conception d un électromyogramme avec des composantes de bases. En plus de réaliser un électromyogramme fiable, le coût de production du prototype doit être le plus faible possible. Les signaux de l électromyogramme doivent être affichés en temps réel et le traitement du signal doit être fait numériquement. Une recherche a permis de connaître le chemin que doit suivre le signal pour être traité correctement. Les principaux aspects de conception reliés au projet sont : l implémentation d un préamplificateur de très faibles signaux électrique, la synchronisation de convertisseur A/N et N/A et enfin le traitement numérique du signal implémenté sur un FPGA avec une programmation en VHDL. Ensuite, une étude des coûts du projet est présentée pour démontrer le faible coût de production. Malgré les quelques difficultés rencontrées, il fut possible de créer un électromyogramme fonctionnel. Page 4

Table des matières Remerciement... 3 Résumé... 4 Table des matières... 5 Liste des tableaux et figures... 7 1. Introduction... 9 1.1 Problématique et état de l art reliés au projet... 9 1.2 Objectifs généraux et spéciques du projet... 11 2. Recherche sur l électromyogramme... 11 2.1 Type d électrode pour l électromyogramme... 12 2.2 Caractéristiques du signal de l électromyogramme... 14 2.3 Traitement du signal de l électromyogramme... 17 3. Aspects techniques et éléments de conception relatifs au projet... 19 3.1 Préamplificateur... 19 3.2 Décalage offset de la tension... 23 3.3 Filtre pour l échantillonnage... 25 3.4 Convertisseur A/N... 27 3.5 Traitement numérique... 29 3.5.1 Filtrage numérique... 29 3.5.2 Redressement... 35 3.6 Convertisseu N/A... 36 3.7 Filtre pour affichage... 38 Page 5

4. Coût total du projet... 39 5. Analyses et discussions... 40 6. Conclusion et recommandations... 42 Bibliographie... 43 Annexe A INA121... 44 Annexe B Schémas électriques... 46 Annexe C Programmation VHDL... 47 Annexe D Présentation du fonctionnement... 52 Page 6

Liste des tableaux et figures Figure 1 : Électromyogrammes avec électrode de surface... 9 Figure 2 : Sonde (triode) pour capter les signaux des muscles... 10 Figure 3 : Électrodes de surface... 12 Figure 4 : Électrode aiguille... 13 Figure 5 : Spectre de fréquence du signal du muscle... 15 Figure 6 : Allure du filtre numérique (idéal)... 16 Figure 7 : Diagramme du traitement en général... 18 Figure 8 : Préamplificateur pour les signaux obtenus par les muscles... 20 Figure 9 : Schéma électrique pour le préamplificateur (G=1000)... 22 Figure 10 : Schéma électrique d un amplificateur en additionneur non-inverseur... 23 Figure 11 : Amplificateur en additionneur non-inverseur (Gain=1)... 24 Figure 12 : Transformation du signal... 25 Figure 13 : Schéma électrique du filtre RC passe-bas... 26 Figure 14 : Diagramme de synchronisation (MCP3001)... 27 Figure 15 : Représentation du MCP3001... 28 Figure 16 : Réponse en fréquence du filtre (60-500 Hz)... 32 Figure 17 : Réponse impulsionnelle du filtre... 32 Figure 18 : Pôles et zéros du filtre... 33 Figure 19 : Réponse en fréquence du filtre (Amplitude)... 33 Figure 20 : Réponse en fréquence du filtre (Phase)... 33 Figure 21 : Réponse réelle du filtre après quantifiaction... 34 Page 7

Figure 22 : Redresseur de signal... 35 Figure 23 : Diagramme de synchronisation (AD5611)... 36 Figure 24 : Représentation du AD5611... 37 Figure 25 : Circuit interne du INA121... 44 Figure 26 : Réponse en fréquence (INA121)... 45 Figure 27: Schéma électrique (INA121 + offset)... 46 Figure 28 : Schéma électrique (plaquette pour conversion)... 46 Figure 29 : Diagramme programmation VHDL... 47 Figure 30 : Sortie du INA121 (préamplificateur)... 52 Figure 31 : Test communication convertisseur entrée (haut) et sortie (bas)... 52 Figure 32 : Démonstration du redresseur... 53 Figure 33 : Présentation du montage... 53 Figure 34 : Signal obtenu lors du faible contraction du muscle (bas)... 54 Figure 35 : Signal obtenu lors du forte contraction du muscle (bas)... 54 Tableau 1 : Caractéristiques électriques... 14 Tableau 2 : Coût du projet... 39 Page 8

1. Introduction 1.1 Problématique et état de l art reliés au projet L'électromyogramme est un appareil qui lit les signaux électriques qui proviennent des muscles et des nerfs. Cet appareil permet de faire une analyse de la contraction musculaire et aussi de la conduction nerveuse du corps humain. L électromyogramme est utilisé en médecine afin de prévenir ou encore d indiquer la présence d une maladie dans un muscle ou dans le système nerveux de la personne. Le fonctionnement général de l électromyogramme est que lors d'une contraction forte d un muscle, le signal envoyé sera plus fort que lorsque la contraction est plus faible. Les mesures obtenues par l électromyogramme sont importantes pour des applications telles que les prothèses, les diagnostics biomécaniques ainsi que procéder à des analyses de mouvements dans différents sports. Figure 1 : Électromyogrammes avec électrode de surface Page 9

La problématique du projet est que l électromyogramme est un appareil très dispendieux, comme celle présentée dans la figure précédente (environ 300 à 400 $). Afin de permettre qu un plus grand nombre de personnes aient accès à cet appareil, il serait intéressant de pouvoir concevoir un électromyogramme fiable qui ne couterait pas trop cher. Le but du projet est donc de concevoir un électromyogramme à partir de composantes de base (comme les microcontrôleurs, les amplificateurs opérationnels et les FPGA) pour que le coût total du projet soit le plus faible possible. Afin de rendre l électromyogramme fiable, les signaux captés seront amplifiés et traités numériquement pour enlever les bruits internes et externes du corps humain. La seule composante qui a été fournie en début de session pour commencer le projet est une triode non amplifiée (Figure2). Figure 2 : Sonde (triode) pour capter les signaux des muscles Page 10

1.2 Objectifs généraux et spécifiques du projet Les objectifs généraux du projet sont de concevoir un électromyogramme à partir de composantes de bases et de réduire le coût de production au maximum. Il est donc essentiel de faire de bons choix de conception pour réussir à avoir la meilleure fiabilité avec le coût de production le plus faible possible. Les objectifs spécifiques du projet sont : Faire l affichage à l oscilloscope en temps réel du signal Procéder au traitement numérique sur un FPGA Filtrage doit être numérique 2. Recherche sur l électromyogramme Pour bien comprendre les problèmes à résoudre dans le cadre du projet de la conception d un électromyogramme à faible coût, il fut nécessaire et essentiel de faire une recherche sur l électromyogramme pour bien comprendre son fonctionnement. Tous les documents qui ont été consultés pour la création du rapport et du projet sont présentés dans la section bibliographie à la fin. Les recherches décrites dans cette section concerneront les aspects théoriques du projet soit : les différents types d électrode qui peuvent être utilisés avec un électromyogramme, les caractéristiques électriques du signal de l électromyogramme et la manière dont le signal doit être traité. Page 11

2.1 Types d électrode pour l électromyogramme Pour débuter, il existe deux grandes catégories d électrode pour l électromyogramme. Il y a l électrode de surface (électrode utilisée dans le projet) ainsi que l électrode aiguille. Celui de surface est beaucoup plus facile à installer et peut être utilisé par le grand public. Étant donné sa facilité d installation, l électrode de surface est principalement utilisée dans le domaine sportif pour prendre des mesures sur la force développée. Suite à plusieurs mesures, il permet d observer l amélioration de l entraînement musculaire. Une préparation de la peau est souvent nécessaire et ce type d électrode est souvent utilisé avec un gel spécialisé qui permet d avoir des mesures plus précises. Figure 3 : Électrodes de surface Page 12

Le second type est l électrode aiguille, ce type est utilisé pour le diagnostic médical d où l importance d avoir un diplôme pour pouvoir l utiliser. Les mesures prises sont toutefois beaucoup plus précises et permettent d établir des diagnostics sur la présence d un muscle atrophié ou encore le dysfonctionnement des nerfs. Donc dans le projet, pour vérifier le fonctionnement de l électromyogramme, la force qui sera développée par le muscle devrait être proportionnelle à l amplitude du signal. Dans chacune des catégories, il existe un nombre impressionnant de types d électrode différents. Figure 4 : Électrode aiguille Page 13

2.2 Caractéristiques du signal de l électromyogramme Pour présenter les caractéristiques du signal obtenu avec un électromyogramme (EMG), on peut démontrer les différences qu il existe entre d autres types d appareil du même genre. Ces appareils sont l électrocardiogramme (ECG) qui mesure le fonctionnement du cœur et l électroencéphalogramme (EEG) qui mesure les signaux provenant de la surface du crâne. Le tableau suivant présente les caractéristiques principales du signal de chacun des appareils si dessus. Tableau 1 : Caractéristiques électriques Type Tension Fréquence basse(hz) Fréquence haute (Hz) ECG 200 µv à 5 mv 0.5 3 EEG 10 µv à 200 µv 4 40 EMG 10 µv à 3 mv 20 3000 Du tableau, on voit que chacun des signaux possède ces propres caractéristiques ce qui permet de déterminer qu elles sont les critères que l on doit avoir pour bien filtrer notre signal. Si l on observe le signal EMG, son amplitude varie d une valeur allant de 10 µv à 3 mv. Une aussi grande plage de valeur s explique par le fait que plusieurs paramètres sont à prendre en considération soit : le positionnement de l électrode, la préparation préalable de la peau et aussi la grosseur du muscle étudié. Du côté de la fréquence, on peut voir que la bande de fréquence qui est présente dans le signal obtenu par les muscles et les nerfs est très large (environ 3KHz). Il est très difficile d obtenir une valeur exacte concernant la fréquence haute du signal. Page 14

Dans certains volumes, ils affirment que la fréquence haute peut atteindre des fréquences de 3KHz alors que dans d autres, ils prétendent que la fréquence haute est de 1KHz maximum. Une explication que l on peut donner est que cela change beaucoup en fonction du muscle que l on veut étudier, un muscle petit ne possèdera pas nécessairement le même spectre de fréquences qu un muscle de plus grandes dimensions. Une recherche plus arrondie a permis de découvrir que l ensemble des muscles respecte le spectre en fréquence suivant (figure 5). Figure 5 : Spectre de fréquences du signal du muscle Comme le présente le graphique, les fréquences importantes à conserver dans le signal du muscle vont de 20 à 500 Hz. La meilleure façon d obtenir un signal de l électromyogramme fiable est un filtre passe-bande allant de 20 à 500 Hz. Comme le montre le graphique (figure 5), plus la fréquence augmente, plus la puissance du signal devient négligeable, donc il n est pas nécessaire d avoir un filtre dont la fréquence haute va jusqu à 3 khz. Il y a aussi les fréquences dans la gamme de 50 à 150 Hz qui possèdent l énergie la plus importante. Étant donné que l électromyogramme créé dans ce projet sera utilisé pour tous les muscles en général, il sera important de conserver les fréquences de 50 à 150 Hz. Page 15

Il ne faudra pas oublier d éliminer la fréquence d alimentation du réseau qui ajoutera un bruit au signal (fréquence de 60 Hz). Voici un graphique qui présente une idée générale de l allure que devra avoir le filtre numérique dans le meilleur de cas (filtre pratiquement idéal). Figure 6 : Allure du filtre numérique (idéal) Le filtre présenté si dessus est idéal, donc pour le projet il ne sera pas nécessairement identique à celui-ci. Les contraintes de coût ainsi que les contraintes pour le traitement numérique (erreur de quantification) vont occasionner des modifications sur la réponse en fréquence du filtre utilisé. Les justifications, des choix réalisés ainsi que la réponse en fréquence sera présentée dans les sections ultérieures. Page 16

2.3 Traitement du signal de l électromyogramme Dans cette section, il sera présenté les recherches qui ont été effectuées pour déterminer de quelle manière doit être traité le signal de l électromyogramme. À la fin, un schéma présentera les éléments qui doivent être en place pour rendre le signal obtenu par la sonde (triode) proportionnelle à la force développée par le muscle ciblé. Par la suite, chacune des parties sera reprise avec beaucoup plus de détail qui justifiera la sélection et le choix des différentes composantes. Suite à la recherche bibliographique qui a été effectuée, il a été possible d établir un schéma présentant le chemin de traitement que devra suivre le signal pour obtenir des résultats valables. La première partie est très importante, car une mauvaise acquisition du signal pourrait affecter la validité des résultats obtenus. La première partie est le préamplificateur du signal du muscle, étant donné que le signal possède une amplitude très faible qui va de 10 µv à 3 mv, il sera nécessaire de faire attention pour avoir un amplificateur différentiel qui possède de bonnes caractéristiques pour ne pas amplifier des bruits indésirables. La seconde partie sera le conditionnement du signal, une translation du signal est nécessaire étant donné que le convertisseur analogique numérique fonctionne seulement en positif. La troisième partie sera un filtre analogique de premier ordre qui annulera le recouvrement spectral et limitera le courant qui entrera dans le convertisseur. Les prochaines parties seront des sections dans le domaine numérique. La quatrième partie est l acquisition du signal par le convertisseur analogique numérique. Ensuite, il y aura un traitement numérique qui sera un filtre passe-bande (20 à 500 Hz dans le meilleur des cas) et un redressement. La dernière étape sera de ramener le signal dans le domaine analogique (convertisseur N/A) et d en faire la visualisation sur un oscilloscope en temps réel. Page 17

Voici un diagramme qui présente visuellement le traitement que suivra le signal de son acquisition par l électrode jusqu à l affichage sur l oscilloscope. Figure 7 : Diagramme du traitement en général Page 18

3. Aspects techniques et éléments de conception relatifs au projet Les éléments de conception qui ont été réalisés dans le projet seront présentés en détail. Les éléments sont : Préamplificateur Décalage de la tension Filtre pour échantillonnage Convertisseur A/N Traitement numérique Convertisseur N/A Filtre pour l affichage 3.1 Préamplificateur Le préamplificateur est la première étape du projet, elle consiste à l amplification du signal obtenue par les muscles avec l électrode qui a été fournie en début de session (Figure 2). Le signal obtenu directement avec cette sonde donne des signaux d amplitude extrêmement faible environ 10 µv à 3 mv. Une recherche a alors été effectuée pour trouver le meilleur moyen pour amplifier un signal d amplitude aussi faible. Sachant que cette sonde fonctionne en différentiel, voici une image qui montre bien le fonctionnement général du préamplificateur. Page 19

Figure 8 : Préamplificateur pour les signaux obtenus par les muscles Afin d éviter les erreurs de mesure, le préamplificateur doit être très précis et posséder un bon taux de réjection du mode commun. Le taux de réjection du mode commun assure que l étage différentiel est de haute qualité. Étant donné que le signal est faible, le gain est aussi un critère pour la sélection du préamplificateur, il est important qu il possède un bon gain. Enfin, la bande passante du préamplificateur doit être adéquate au projet. Connaissant les critères pour la sélection du préamplificateur, une recherche a permis de trouver un amplificateur d instrumentation spécialisé pour les signaux d électrocardiogramme (ECG), d électroencéphalogramme (EEG), d électromyogramme (EMG). L amplificateur d instrumentation est le INA121. Il possède toutes les caractéristiques énumérées précédemment pour avoir un bon amplificateur de faibles signaux. Les caractéristiques de cet amplificateur sont : - Un excellent taux de réjection du mode commun (106 db) - Déjà composé de trois amplificateurs opérationnels avec des résistances internes de haute précision. - Gain ajustable avec une seule résistance (maximum de 10 000) - Bande passante parfaite pour le projet Page 20

Le prix étant abordable pour ce type d amplificateur et vu qu il donne de bons résultats, le choix du INA121 était un bon choix pour le projet. La fonction de transfert qui permet de sélectionner le gain de l amplificateur est : L amplificateur INA121 permet d avoir un gain qui peut atteindre des valeurs allant jusqu à maximum 10 000. Afin de vérifier qu elle était la tension qu il était possible d avoir avec la flexion du biceps, des tests ont été effectués avec un gain de 100. Suite à plusieurs flexions, un tel gain a permis d avoir un signal à la sortie allant de -150 à 150 mv lors de flexions maximales du biceps. Le signal du muscle est donc d environs 3mV au maximum (crête crête). Pour le convertisseur analogique numérique la tension devait être amené à environ -1.5 à 1.5 V, l amplificateur fut donc testé avec un gain de 1000. Le gain de 1000 a permis d avoir le signal exactement dans l intervalle désiré. Le gain de 1000 a toutefois occasionné un petit problème. Le problème est que d avoir un gain aussi important à créer un offset de tension à la sortie de l amplificateur soit environ 600 mv. Le problème ne peut être corrigé par le INA121, car celui-ci n a aucun correcteur d offset. La solution trouvée a été d utiliser un gain de 1000 comme prévu pour le préamplificateur et de faire la correction d offset avec l amplificateur d ajout d offset (l étage suivant). Le total des deux offsets (préamplificateur et ajout d offset) doit donner un résultat de 1.5 V. Page 21

Voici le schéma électrique pour le préamplificateur du signal. Figure 9 : Schéma électrique pour le préamplificateur (G=1000) La fiche technique a permis de savoir que la bande passante n affectera pas le signal étant donné qu avec un gain de 1000, la bande passante est de 0 à 5 khz. Cette bande passante est largement supérieure aux fréquences que l on désire conserver. Le graphique consulté pour connaître la fréquence de coupure du préamplificateur ainsi que de l information supplémentaire sur le INA121 est présenté à l annexe A. Il fut très difficile de bien voir le signal obtenu vu qu un bref mouvement de la sonde engendre beaucoup de données faussées. Il a été réalisé plusieurs flexions maximales pour voir que les données étaient sensiblement les mêmes lorsque la sonde ne bougeait pas et lorsqu elle était à la même position sur le muscle. Un autre problème qui a été observé durant cette section est que le niveau de tension continu de la sonde est très instable et change beaucoup ce qui va rendre très difficile l acquisition par le convertisseur analogique numérique. Page 22

3.2 Décalage offset de la tension Cet élément est utilisé pour modifier le signal pour qu il soit possible de faire la conversion analogique numérique par le convertisseur MCP3001. La raison pour cette modification sera présentée dans la section 4.4 convertisseur A/N. Pour le moment l objectif est d amener le signal du préamplificateur qui va de -1.5 à 1.5V vers un signal dont la plage des valeurs va de 0 à 3V. L élément utilisé pour cette fonction est un amplificateur opérationnel qui ajoutera un décalageoffset de la tension. L ajout de décalage DC de 1.5V se fera avec un amplificateur (AD8031) monté en additionneur non-inverseur. L amplificateur AD8031 a été sélectionné parce qu il fonctionne bien et son prix est vraiment faible. Une autre manière d effectuer aurait été de mettre un redresseur, mais cela aurait ajouté des sources de bruits ainsi qu une augmentation considérable des coûts pour les composantes. Le schéma électrique d un amplificateur en additionneur non-inverseur est présenté si dessous avec sa fonction de transfert. Figure 10 : Schéma électrique d un amplificateur en additionneur non-inverseur Fonction de transfert : Page 23

Où n est le nombre d entrées dans le cas présent (n=2) Bien qu il soit possible d ajouter un gain à ce type de montage, il n est pas utile de le faire pour le projet. Pour le projet, il suffit d additionner une tension continue, de 1.5V+offset INA121 au signal du préamplificateur. Les résistances qui seront sélectionnées auront la même valeur pour avoir un gain unitaire (R 0 =R 1 =R 2 =100kΩ). Il faudrait aussi ajouter un potentiomètre afin de permettre que l ajout d offset soit variable, cela permet facilement de faire varier la tension pour corriger le décalage occasionné par le INA121. Voici le schéma électrique de l amplificateur. Figure 11 : Amplificateur en additionneur non-inverseur (Gain=1) Page 24

Afin de suivre les transformations que subit le signal, voici un signal aléatoire qui pourrait être enregistré par l électromyogramme. La figure présente une idée générale de la forme du signal à la sortie d un chacun des blocs vus précédemment. Figure 12 : Transformation du signal 3.3 Filtre pour l échantillonnage Le filtre pour l échantillonnage sera un simple filtre RC passe-bas de premier ordre. Le choix de ce type de filtre est principalement dû à la contrainte de prix du projet, un filtre RC de premier ordre est beaucoup moins dispendieux qu un filtre de 2 e ordre. La précision sur la fréquence de coupure n étant pas le critère le plus important de cette section, un filtre RC passe-bas de premier ordre va accomplir parfaitement le travail. La fréquence de coupure est sélectionnée en respectant le théorème de Nyquist pour éviter le recouvrement spectral soit : Page 25

La relation qui permet de faire la sélection pour la valeur de la résistance et le condensateur est l équation qui permet de déterminer la fréquence de coupure. Sachant que la fréquence d échantillonnage pour le convertisseur analogique numérique qui a été sélectionné est de 10 khz et que la résistance est de 510Ω pour limiter le courant, un simple calcul permet de trouver la valeur du condensateur nécessaire. Les valeurs des composantes sont : R = 510Ω C = 62nF la valeur disponible au laboratoire 68 nf. Figure 13 : Schéma électrique du filtre RC Page 26

3.4 Convertisseur A/N Toute la programmation VHDL est présentée dans l annexe C du rapport pour ne pas alourdir le texte. Le convertisseur analogique numérique qui a été choisi est le MCP3001. Le faible coût de ce convertisseur est l un de ses principaux avantages (environ 2.16 $ l unité). Il y a aussi les caractéristiques électriques du convertisseur qui sont idéales pour le projet. Le MCP3001 oblige que le signal soit dans des valeurs allant de 0 à 5.7V, c est pour cela qu il est important de faire quelques petites modifications avant que le signal entre dans le convertisseur. Pour le projet, la plage de valeurs que le MCP3001 peut saisir est de 0 à 3.3 V. La résolution que possède ce convertisseur est de 10bits, cette résolution représente une excellente précision pour le projet, soit des bonds de : Le convertisseur envoie les bits selon une interface en série (SPI serial interface) donc, pour procéder à la conversion des données analogiques, il est nécessaire de respecter une certaine procédure qui est présentée dans la fiche technique du MCP3001. Une programmation en VHDL sur le programme Quartus fut créée pour assurer que la synchronisation est parfaite et que la fréquence d échantillonnage est respectée. Tout d'abord, voici le graphique fourni avec la fiche technique du MCP3001 montrant la façon dont les bits sont envoyés par le convertisseur. Figure 14 : Diagramme de synchronisation (MCP3001) Page 27

En programmation VHDL, la première étape fut de créer une horloge (CLK_ADC) de 100KHz et de voir qu elle serait la fréquence d échantillonnage. Ensuite, une autre horloge fut créée pour contrôler le démarrage de la conversion (CS_ADC). L horloge CS_ADC fonctionne avec l horloge CLK_ADC. Voici la façon dont fonctionne CS_ADC : CS_ADC = 0 pour 14 front descendant de CLK_ADC et CS_ADC = 1 pour 1 front descendant de CLK_ADC Suite à la création des deux horloges, une séquence d acquisition des données au bon moment fut créée en VHDL. En affichant la valeur obtenue sur des D.E.L., il fut possible de voir que la synchronisation était parfaite et que le convertisseur analogique numérique fonctionnait parfaitement. La seule chose qui reste à ajuster est d avoir la bonne fréquence d échantillonnage. Le test fait avec une horloge CLK_ADC de 100KHz, donne une fréquence d échantillonnage de 6.66KHz. Pour avoir la fréquence d échantillonnage désiré (10KHz), il suffit d ajuster la CLK_ADC en faisant une simple règle de trois. Suite aux tests de fonctionnement du MCP3001, il fut possible d observer que le MCP3001 est très stable dans l envoi de données et dans la conversion. Enfin, le MCP3001 était un excellent choix pour le projet. Figure 15 : Représentation du MCP3001 Page 28

3.5 Traitement numérique Maintenant que le signal de l électromyogramme est amplifié, décalé et ensuite échantillonné par le MCP3001, la prochaine étape est de faire le traitement numérique du signal avec un FPGA. La première étape est de filtrer le signal avec un passe-bande et ensuite de faire le redressement. 3.5.1 Filtrage numérique La conception du filtre numérique qui a été implémenté dans le FPGA s est réalisée avec l outil FDAtool sur le logiciel MATLAB. Cet outil permet de faire rapidement les calculs nécessaires pour le filtrage numérique. Il permet de voir les différences qu il existe entre les nombreux types de filtres numériques. Plusieurs tests ont été réalisés pour voir quel type de filtre serait le mieux adapté pour le projet. Le filtre qui a été retenu pour le projet est filtre de type FIR (filtre à réponse finie) passe-bande de 60 à 450 HZ. Ce type de filtre n est pas récursif donc, il varie seulement selon l entrée. Le filtre utilise un fenêtrage de Hamming. Bien que l utilisation d un filtre IIR (filtre à réponse infinie) aurait réduit de beaucoup l espace dans le FPGA, ce type de filtre engendre une déformation (distorsion) du signal étant donné que le déphasage n est pas linéaire du tout. Les filtres IIR peuvent aussi être instables. Pour être certain de n avoir aucun problème de déformation, le filtre implémenté est de type FIR. Bien que le filtre idéal était un passe-bande de 20 à 500 Hz avec la fréquence de 60 Hz coupée, il fut nécessaire de faire quelques compromis, car réaliser ce filtre nécessiterait un nombre impressionnant de coefficients. La fréquence de coupure basse du filtre implémenté est de 60 Hz, cela permet d être certain que la fréquence d alimentation du réseau n affecte pas le signal. Lorsque l on regarde le spectre de fréquences (Figure 5), les fréquences de 20 à 60 Hz ne possèdent pas une grande énergie, Page 29

donc il n est pas essentiel de les conserver. Le choix de la fréquence d échantillonnage modifie la réponse en fréquence du filtre. Afin d avoir la meilleure représentation du signal suite à la conversion et une réponse en fréquence acceptable, la fréquence d échantillonnage sélectionnée est de 10 khz. Les raisons qui expliquent le choix d un fenêtrage de Hamming sont : Bande passante la plus linéaire Le second lobe est beaucoup plus atténué que l autre type de fenêtrage Possède une meilleure réponse en fréquence que les autres types de fenêtrage pour un nombre de coefficients égaux. Possède une phase linéaire Le choix du nombre de coefficients du filtre s est fait en observant les différences qu il y avait avec le spectre en fréquence. Le but est d avoir la meilleure réponse possible avec le moins possible de coefficient. Plus le nombre de coefficients est petit, plus l espace nécessaire dans le FPGA est petit. En réduisant la précision des coefficients, il est possible de réduire le nombre de coefficients, car certains se retrouvent à être égaux à zéro. Bien que cette réduction de précision permette de réduire le nombre de coefficients, elle engendre aussi une erreur de quantification du filtre (erreur qui modifie l allure exacte de la réponse en fréquence du filtre). Une précision de 6 chiffres pour les coefficients permet d en annuler plusieurs sans trop modifier la réponse du filtre. Voici différentes réponses en fréquence de filtres ayant les mêmes caractéristiques, seulement le nombre de coefficients qui sont différents. Page 30

60 coefficients 4 Magnitude Response (db) 2 0 Magnitude (db) -2-4 -6-8 0 0.1 0.2 0.3 0.4 0.5 0.6 Frequency (khz) 70 coefficients 4 Magnitude Response (db) 2 0 Magnitude (db) -2-4 -6-8 0 0.1 0.2 0.3 0.4 0.5 0.6 Frequency (khz) 80 coefficients 4 Magnitude Response (db) 2 0 Magnitude (db) -2-4 -6-8 0 0.1 0.2 0.3 0.4 0.5 0.6 Frequency (khz) Page 31

90 coefficients 4 Magnitude Response (db) 2 0 Magnitude (db) -2-4 -6-8 0 0.1 0.2 0.3 0.4 0.5 0.6 Frequency (khz) Figure 16 : Réponses en fréquence pour différents nombres de coefficients Si l on observe les quatre graphiques précédents, celui qui possède la meilleure réponse avec le plus petit nombre de coefficients est celui avec 80 coefficients. Les deux premiers (60 et 70) ne coupent pas assez en basse fréquence. Le filtre choisi pour le projet possède donc 80 coefficients. Bien que ce nombre paraît être beaucoup, une fois quantifié (réduction de la précision), le nombre est réduit à 49. Voici une synthèse présentant les principales caractéristiques du filtre numérique sélectionné pour le projet sans la quantification. L erreur de quantification occasionnée par la réduction des coefficients sera présentée par la suite. Réponse impulsionnelle Impulse Response 0.08 0.06 Amplitude 0.04 0.02 0-0.02 0 1 2 3 4 5 6 7 8 Time (mseconds) Figure 17 : Réponse impulsionnelle du filtre Page 32

Pôles et Zéros Pole/Zero Plot Imaginary Part 1 0.8 0.6 0.4 0.2 0-0.2-0.4-0.6-0.8-1 80-2 -1.5-1 -0.5 0 0.5 1 1.5 2 Real Part Figure 18 : pôles et zéros du filtre Réponse en fréquence (amplitude et phase) 0 Magnitude Response (db) -10-20 Magnitude (db) -30-40 -50-60 -70-80 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 Frequency (khz) Figure 19 : Réponse en fréquence du filtre (Amplitude) Phase Response 0-2 -4-6 Phase (radians) -8-10 -12-14 -16-18 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 Frequency (khz) Figure 20 : Réponse en fréquence du filtre (Phase) Page 33

Erreur du filtre Afin de réduire le nombre de coefficients, il est possible de réduire la précision de ceux-ci. En réduisant la précision, certains coefficients tombent égaux à zéro, ce qui réduit l espace nécessaire. Le prix à payer pour la réduction de la précision des coefficients est l apparition d erreurs sur la réponse en fréquence. En faisant l acquisition numérique sur 10 bits fait aussi apparaître une erreur de quantification. L outil FDAtool permet de visualiser l erreur obtenue selon la précision des coefficients qui est sélectionnée. Si l on observe le graphique suivant, on peut voir que l erreur occasionnée n affecte pas le projet étant donné que l erreur se retrouve principalement dans la bande coupée. Magnitude Response Estimate 0-10 -20 Bandpass FIR Window : Quantized Bandpass FIR Window : Reference Magnitude (db) -30-40 -50-60 -70 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 Frequency (khz) Figure 21 : Réponse réelle du filtre après quantification La quantification déplace la fréquence de coupure basse à 67 Hz et ne touche pas à la fréquence de coupure haute. Pour déterminer si le filtre numérique est juste, il fut testé avec un sinus en changeant sa fréquence, il est possible de voir le changement sur son amplitude. Pour une raison inconnue, les fréquences ne sont pas exactement les mêmes, les fréquences de coupures mesurées sont : 86 et 845 Hz. Ces changements sont Page 34

probablement dus à l erreur qu occasionnent le convertisseur analogique numérique et la quantification des coefficients ainsi qu une erreur sur la fréquence d échantillonnage. L amplitude du signal = 3.28V Amplitude aux f c = 3.28 x 0.707 = 2.32V Fréquences trouvées pour une amplitude de 2.32V f c (basse) = 86 Hz f c (haute) = 845 Hz 3.5.2 Redressement La rectification du signal est importante dans le traitement du signal parce qu il permet d avoir une meilleure moyenne de l amplitude du signal. Le redressement du signal dans un FPGA est très simple. Il suffit de vérifier si le bit le plus significatif de la donnée est égal à 1, si c est le cas on le met à zéro. Sinon on soustrait 1000000000 moins la valeur. Voici un graphique qui présente le fonctionne du redresseur dans le FPGA. Figure 22 : Redresseur de signal Pour permettre de vérifier si le redressement fonctionnait bien, un bouton fut ajouté pour sélectionner si le redresseur est activé un non. Il fut donc possible de mettre un sinus en entrée de ±1.5 V et de le rectifier (figure 33). Page 35

3.6 Convertisseur N/A La manière qui a été sélectionnée pour faire la conversion des valeurs numériques en valeurs analogiques est l utilisation du AD5611. Bien que plusieurs façons ont été étudiées pour faire le même travail comme une convertisseuse R2R, l avantage du AD5611 est qu il n est pas trop dispendieux et qu il fonctionne avec un seul fils. Un autre avantage du AD5611 est que son fonctionnement est sensiblement le même que le MCP3001. La résolution du AD5611 est aussi de 10bits et il fonctionne selon une interface série (SPI serial interface) comme pour le MCP3001. Il était avantageux d utiliser ce type de convertisseur puisque le MCP3001 fonctionne bien, il était facile de faire quelques modifications pour réussir à faire la conversion avec le AD5611. Voici la synchronisation qu il faut respecter sur l envoi de chacun des bits. Figure 23 : Diagramme de synchronisation (AD5611) Suite à l analyse du schéma de synchronisation, on peut procéder de la même façon que le MCP3001 pou réaliser la conversion. Soit la création d une horloge (CLK_DAC) et d une horloge (CS_DAC). Il n est pas nécessaire que la vitesse du convertisseur numérique analogique soit la même que le convertisseur analogique numérique. La vitesse du convertisseur A/N est réglée avec la fréquence d échantillonnage du filtre, pour le convertisseur N/A, la vitesse choisie est beaucoup plus rapide pour être certain d avoir Page 36

aucune erreur de données. La vitesse de l horloge CLK_DAC choisit est de 5MHz, le CS_DAC elle est égale à : CS_DAC= 0 pour 17 fronts montants de CLK_DAC et CS_DAC = 1 pour 1 front montant de CLK_DAC La fréquence de conversion pour le AD5611 est : Comme pour le convertisseur analogique numérique, une fois la programmation VHDL complétée, des tests ont démontré que le AD5611 fonctionne bien et qu il est très stable dans son envoi de données. Le premier test a été d envoyer une valeur directement au convertisseur N/A. Le second test réalisé a été de communiquer entre le MCP3001 et le AD5611 sans filtrage. À l entrée du MCP3001, il y avait la tension d un potentiomètre (0 à 3.3V). Le FPGA renvoie les données numériques au AD5611 qui reconvertit les données en valeurs analogiques. La tension en entrée était exactement la même à la sortie. Ces tests ont permis de démontrer que le AD5611 fonctionnait bien. Figure 24 : Représentation du AD5611 Page 37

3.7 Filtre pour l affichage Le filtre pour l affichage est un filtre passe-bas RC de premier ordre comme pour le filtre de l échantillonnage. La fonction de ce filtre est de rendre la courbe affichée à l oscilloscope plus linéaire, il est utilisé pour enlever les valeurs discrètes et lisser la courbe lors de l affichage. La précision n est pas nécessaire pour ce filtre, un simple filtre RC fait parfaitement le travail et son coût est négligeable, soit une résistance et un condensateur. La fréquence de coupure du filtre a été choisie en faisant des tests visuels. Une fréquence de coupure de 5 Hz donnait un résultat parfait. Pour trouver les valeurs des composantes nécessaires, on utilise la même relation que tantôt soit : Fixant la valeur de la résistance à 100kΩ. On trouve un condensateur de : La valeur de condensateur le plus prêt disponible au laboratoire est de 0.33 F Page 38

4. Coût total du projet L un des objectifs du projet était de concevoir un électromyogramme fiable avec le coût de production le plus faible possible. Il est donc essentiel de présenter le coût total afin de démontrer que le projet est une réussite. Il sera présenté un tableau montrant le prix de chacun des éléments qui composent le prototype de l électromyogramme. Tableau 2 : Coût du projet Composantes Quantité Prix/unitaire ($) Prix ($) Sonde (triodes) 1 25.00 25.00 INA121PA 1 6.88 6.88 Ampli op. AD8031 3 1.60 4.80 A/D MCP3001 1 2.16 2.16 D/A AD5611 1 3.15 3.15 Diodes (FDLL4148) 2 négligeable Résistances 7 négligeable Condensateurs 2 négligeable FPGA (EP1C3T100C8N) 1 10.70 10.70 Total 52.69$ *Les montants ont été obtenus sur le site www.digikey.com Bien que le FPGA utilisé pour créer le prototype est celui-ci de la plaque Altera (Cyclone II EP2C35F672C6), une évaluation de l espace nécessaire pour le traitement numérique a été réalisée pour déterminer lequel des FPGA sur le marché peut accomplir le travail. Le FPGA choisi est cyclone EP1C3T100C8N. Le tableau montre que le projet possède un coût total de 52.69 $. Ce montant est inférieur au prix de l électromyogramme présent sur le marché. Les prix peuvent atteindre des valeurs allant de 300 $ à 400 $ ce qui prouve que le prototype créé est beaucoup plus avantageux. Une recherche encore plus approfondie permettrait sans aucun doute d améliorer les performances ainsi que le coût de l électromyogramme. Page 39

5. Analyses et discussions La grande recherche qui a été réalisée au tout début du projet a permis de commencer le travail de la bonne façon. Elle a permis de concevoir un schéma général sur les différentes parties de conception qui étaient essentielles à avoir. Suite à des tests, la partie acquisition du signal par la sonde (triode) fonctionne moins bien que prévu, le niveau de tension continu est très sensible et bouge beaucoup. Pour faire l acquisition du signal, il doit posséder une tension continue de 1.5V. Étant donné son instabilité, il est difficile d obtenir des données valables. Lorsque la triode est positionnée sur un muscle, il ne faut pas la déplacer sinon les données enregistrées sont erronées. Étant donné un manque de temps, il ne fut pas possible de trouver un moyen qui aurait permis de résoudre ce problème. L utilisation d une solution lubrifiante spécialisée ou d une autre sonde aurait peut-être réglé le problème. Malgré cela, il fut possible d ajuster un préamplificateur (INA121) pour avoir l amplification d un signal très faible. L amplificateur INA121 possède un offset important, mais le réglage de l offset se fait avec l étage suivant soit : l ajout d offset au signal pour avoir une tension continue de 1.5 V. Il n était pas avantageux de concevoir son propre amplificateur d instrumentation, car le INA121 ne coûte pas trop cher et il possède des résistances internes très précises. La programmation VHDL a été réalisée par blocs [figure 30]. Lorsqu une partie était terminée, elle était immédiatement testée. En utilisant cette démarche, il fut possible de s assurer que tous fonctionnaient bien avant de passer à l étape suivante. Une fois que les convertisseurs fonctionnaient bien, le filtrage numérique a été étudié. L outil utilisé est le module FDAtool dans le logiciel MATLAB. Cet outil permet de concevoir rapidement des filtres numériques et de voir ce que produit la variation de différents paramètres. Le choix du filtre s est fait avec FDAtool, car il permet de faire la programmation VHDL et de donner l erreur de quantification du filtre. Le filtre a été testé avec un sinus pour déterminer si les fréquences de coupures correspondaient. Page 40

Pour une raison qu on ignore, la fréquence de coupure haute du filtre ne correspondait pas exactement à la valeur attendue. Les fréquences de coupures mesurées sont : 86 et 845 Hz au lieu de (67-450 Hz). Sans être certain, la variation est peut-être due à une erreur sur la fréquence d échantillonnage du convertisseur analogique numérique. Une fois les parties testées indépendamment (le préamplificateur et la programmation VHDL), la connexion du prototype complet fut réalisée. Même si la sonde (triode) était extrêmement sensible pour le niveau de tension continu, des tests avec l électromyogramme sur un biceps ont démontré qu il répondait de la manière attendue. Lors d une contraction faible, l amplitude du signal est plus faible que lors d une contraction forte du muscle [figure 35 et figure 36]. La force développée dans le muscle est proportionnelle à l amplitude du signal obtenu. Pour voir que l électromyogramme donne toujours les mêmes résultats, les tests ont été réalisés plusieurs fois. Le point faible du projet est la sonde (triode) pour capter les signaux, elle possède un niveau de tension continue peu stable et très sensible. Ce problème rend difficile la lecture des signaux. Avoir eu plus de temps, il aurait été intéressant d utiliser une autre sonde ou encore l utilisation d un gel spécialisé. Le point fort du projet est tout le traitement numérique fait dans le FPGA, celui-ci est complet et facile à modifier pour faire des ajustements ou encore être utilisé pour obtenir d autres filtres numériques. Il pourrait aussi être utilisé dans d autre projet ou le traitement numérique est nécessaire. Un autre point qui a bien fonctionné est la communication avec les convertisseurs. Ceuxci offrent une excellente stabilité dans leur conversion ainsi qu une impressionnante précision. Page 41

6. Conclusion et recommandations L ensemble des objectifs énoncés en début de rapport (généraux et spécifiques) a été respecté et réalisé. Il fut possible de créer un électromyogramme à partir de composantes de bases. L étude des coûts du prototype démontre que la problématique de créer un électromyogramme fiable à faible coût est une réussite. Le coût du prototype est de 52.69 $, ce montant est très faible comparativement au prix sur le marché (environ 300-400 $). Même s il fut possible de vérifier que le prototype fonctionne bien, avoir eu plus de temps, il aurait été intéressant de trouver un moyen pour rendre la lecture de la sonde (triode) moins sensible. Les choix qui ont été réalisés pour la sélection des composantes associent la contrainte de prix et aussi la performance. Une recherche plus approfondie et une meilleure connaissance des produits disponibles sur le marché permettraient surement d améliorer le prototype. Enfin, le projet s est bien déroulé et les résultats obtenus sont concluants. Page 42

Bibliographie 1. Fiche technique INA121 : http://focus.ti.com/lit/ds/symlink/ina121.pdf 2. Fiche technique MCP3001 : http://www.chipcatalog.com/microchip/mcp3001.htm 3. SURFACE ELECTROMYOGRAPHY DETECTION AND RECORDING, Carlo J. De Luca : http://www.delsys.com/attachments_pdf/wp_semgintro.pdf 4. Electromyographie et electrodiagnostics : vitesses de conduction nerveuse, potentiels évoqués,jean Dumoulin Bisschop, Guy de; Bence, Yves,Paris, Maloine. 1984 5. Explorations fonctionnelles neuro-musculaires en medecine du sport Commandre, F. Bence, Y. collab. Paris : Masson 1982 6. http://books.google.ca/books?id=hizjzukrn8uc&printsec=frontcover&hl=fr &source=gbs_v2_summary_r&cad=0#v=onepage&q=&f=false 7. Fiche technique AD5611 : http://www.datasheetcatalog.org/datasheet2/d/0klaz0qw1439qlyhpt8g4yt5jtfy. pdf 8. site www.digikey.com Page 43

ANNEXE A INA121 Figure 25 : Circuit interne du INA121 Le INA121 est composé de deux étages distincts soit le premier étage (A1 et A2) servant à la réjection du mode commun et le second étage A3 qui s agit d un amplificateur de différence. L étage d entrée est monté de manière à ce qu il ne génère pas d erreur de mode commun de par sa symétrie. Dans le cas ou l amplificateur est idéal, si V IN+ = V IN- = V, on retrouve V en entrée de l amplificateur de différence. En faisant une étude du circuit, par superposition, on obtient : Dans le cas ou VIN - = 0V On retrouve un amplificateur non-inverseur (A2) et un amplificateur inverseur (A1) : Page 44

Dans le cas ou V IN+ = 0V On retrouve un amplificateur non-inverseur (A1) et un amplificateur inverseur (A2) : Par superposition, on trouve : Après l amplificateur de différence on a : On a donc un gain réglable à l aide d une seule résistance (R G ). Le circuit du INA121 est réalisé de manière intégrée permettant ainsi une très grande précision sur les résistances internes ainsi qu une très bonne stabilité thermique. Figure 26 : Réponse en fréquence (INA121) Page 45

ANNEXE B Schémas électriques Entrée (+) Triode Entrée (-) Triode R6=1M - + + R5=1M + - INA 121 R + + - R1=100K + - R2=100K + - Sortie du signal - Pot. 0-3.3V AD8031 - + - + - R3=100K Figure 27 : Schéma électrique (INA121+offset) R4=100K Figure 28 : Schéma électrique (plaquette pour conversion) Page 46

ANNEXE C Programmation VHDL Figure 29 : Diagramme programmation VHDL Ce diagramme présente les parties de la programmation VHDL qui a été réalisée pour le projet. Entrées et sorties CLK : in std_logic; ADC_din : in std_logic; Bouton : in std_logic; CLK_CS_ADC : buffer std_logic; CLK_CS_DAC : buffer std_logic; CLK_ADC : buffer std_logic; CLK_DAC : buffer std_logic; DAC_out : out std_logic; Page 47

Code du projet ---------------------------------------------------------------------- -- Processus pour diviser la fréquence CLK_ADC (150KHz) ----------------------------------------------------------------------- Div1: process (CLK) variable CNT1 : integer := 0; begin if rising_edge(clk) then if CNT1 < 167 then CNT1 := CNT1 + 1; else CLK_ADC <= not(clk_adc); CNT1 := 0; end if; end if; end process Div1; Cette section utilise l horloge (CLK) de 50 MHz du bord Altera pour créer une horloge (CLK_ADC) de 150 KHz pour contrôler le convertisseur MCP3001. ---------------------------------------------------------------------- -- Processus pour diviser la fréquence (ADC_CS)(fe = 5KHz) ----------------------------------------------------------------------- Div2: process (CLK_ADC) variable CNT2 : integer := 0; begin if falling_edge(clk_adc) then CNT2 := CNT2 + 1; if CNT2 < 14 then CLK_CS_ADC <= '0'; elsif CNT2 = 14 then CLK_CS_ADC <= '1'; elsif CNT2 = 15 then CNT2 := 0; end if; end if; end process Div2; Cette section utilise l horloge (CLK_ADC) pour créer le CS_ADC qui active la conversion (Fréquence d échantillonnage de 10 KHz). Page 48

----------------------------------------------------------------------- -- Processus pour transferer la valeur de l'adc ----------------------------------------------------------------------- ADC: process (CLK_ADC, CLK_CS_ADC) variable temp1: integer := 0; begin if CLK_CS_ADC = '1' THEN temp1 := 0; elsif (rising_edge(clk_adc)) then temp1 := temp1 + 1; if (temp1=4) then -- MSB data (bit 9) data(9) <= ADC_din; elsif (temp1=5) then -- data (bit 8) data(8) <= ADC_din; elsif (temp1=6) then -- data (bit 7) data(7) <= ADC_din; elsif (temp1=7) then -- data (bit 6) data(6) <= ADC_din; elsif (temp1=8) then -- data (bit 5) data(5) <= ADC_din; elsif (temp1=9) then -- data (bit 4) data(4) <= ADC_din; elsif (temp1=10) then -- data (bit 3) data(3) <= ADC_din; elsif (temp1=11) then -- data (bit 2) data(2) <= ADC_din; elsif (temp1=12) then -- data (bit 1) data(1) <= ADC_din; elsif (temp1=13) then -- LSB data (bit 0) data(0) <= ADC_din; data_adc <=data; end if; end if; end process ADC; Le code présenté précédemment sert à capter les données envoyées par le MCP3001 au bon moment. Page 49

------------------------------------------------------------------------ -- Processus pour signer le signal (SIGN) ------------------------------------------------------------------------ SIGN: process (data_adc) begin if data_adc >= "1000000000" then filtre_in <= data_adc - "1000000000"; else filtre_in <= data_adc + "1000000000"; end if; end process SIGN; Avant d entrer dans le filtre, les valeurs doivent être signées en complément deux. Le complément deux est utilisé parce qu il permet de réduire les calculs dans le domaine numérique. Le code du filtre n est pas présnté, car celui-ci est très long (environ 1000 lignes de codes) et répétitif pour les calculs et la création de chacun de coefficient. ------------------------------------------------------------------------ -- Processus pour enlever le signe du signal (UNSIGN) ------------------------------------------------------------------------ UNSIG: process (filtre_out) begin if filtre_out >= "1000000000" then data_unsig <= filtre_out - "1000000000"; else data_unsig <= filtre_out + "1000000000"; end if; end process UNSIG; Cette section réalise l opération inverse que tantôt soit enlevée la représentation signée de complément deux ce qui permet de retrouver le signal. Page 50

------------------------------------------------------------------------ -- Processus pour redresser le signal ------------------------------------------------------------------------ RED: process (filtre_out) begin if filtre_out(9) = '1' then data_red1 <= filtre_out; else data_red1 <= "1111111111" - filtre_out; end if; end process RED; data_red <= not(data_red1); Comme expliquer a la section 5.4.2, le signal est redressé avec ce code de programmation VHDL. ------------------------------------------------------------------------ -- Processus pour sélectionner le redressement ------------------------------------------------------------------------ BTN: process (Bouton, data_red, data_unsig) begin if Bouton = '1' then data_dac <= data_red; else data_dac <= data_unsig; end if; end process BTN; Un multiplexer qui permet de sélectionner si le redressement est activé ou non. Pour la programmation du AD5611, celle-ci est semblable à celle du MCP3001, elle n est donc pas présentée. Page 51

ANNEXE D Présentation du fonctionnement Figure 30 : Sortie du INA121 (préamplificateur) Figure 31 : Test communication convertisseur - entrée (haut) et sortie (bas) Page 52

Figure 32 : Démonstration du redresseur Figure 33 : Présentation du montage Page 53

Figure 34 : Signal obtenu lors du faible contraction du muscle (bas) Figure 35 : Signal obtenu lors du forte contraction du muscle (bas) Page 54