Projet # : 109 - UQAC€¦ · CONSEILLER : Danny Ouellet, ing. COORDONNATEUR : Jacques Paradis,...
Transcript of Projet # : 109 - UQAC€¦ · CONSEILLER : Danny Ouellet, ing. COORDONNATEUR : Jacques Paradis,...
Université du Québec à Chicoutimi
MODULE D’INGÉNIERIE GÉNIE ÉLECTRIQUE
PROJET DE CONCEPTION EN INGÉNIERIE (6GIN333)
Rapport final
Projet # : 109
Conception d’un électromyogramme
Préparé par
Jean-Daniel Coudé
Pour
(PROMOTEUR) Hung Tien Bui
UQAC
30 Avril 2010
CONSEILLER : Danny Ouellet, ing. COORDONNATEUR : Jacques Paradis, ing.
Conception d’un électromyogramme – Rapport final 6GIN333
Page 2
Approbation du rapport final pour diffusion
Nom du conseiller
Date
Signature
Conception d’un électromyogramme – Rapport final 6GIN333
Page 3
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.
Conception d’un électromyogramme – Rapport final 6GIN333
Page 4
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.
Conception d’un électromyogramme – Rapport final 6GIN333
Page 5
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
Conception d’un électromyogramme – Rapport final 6GIN333
Page 6
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
Conception d’un électromyogramme – Rapport final 6GIN333
Page 7
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
Conception d’un électromyogramme – Rapport final 6GIN333
Page 8
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
Conception d’un électromyogramme – Rapport final 6GIN333
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
Conception d’un électromyogramme – Rapport final 6GIN333
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
Conception d’un électromyogramme – Rapport final 6GIN333
Page 11
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é.
Conception d’un électromyogramme – Rapport final 6GIN333
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
Conception d’un électromyogramme – Rapport final 6GIN333
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
Conception d’un électromyogramme – Rapport final 6GIN333
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
Page 14
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.
Conception d’un électromyogramme – Rapport final 6GIN333
Page 15
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.
Conception d’un électromyogramme – Rapport final 6GIN333
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
Conception d’un électromyogramme – Rapport final 6GIN333
Page 17
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.
Conception d’un électromyogramme – Rapport final 6GIN333
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
Conception d’un électromyogramme – Rapport final 6GIN333
Page 19
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.
Conception d’un électromyogramme – Rapport final 6GIN333
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
Conception d’un électromyogramme – Rapport final 6GIN333
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
Conception d’un électromyogramme – Rapport final 6GIN333
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
Conception d’un électromyogramme – Rapport final 6GIN333
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
Conception d’un électromyogramme – Rapport final 6GIN333
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 (R0=R1=R2=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
Conception d’un électromyogramme – Rapport final 6GIN333
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 2e 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
Conception d’un électromyogramme – Rapport final 6GIN333
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
Conception d’un électromyogramme – Rapport final 6GIN333
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
Conception d’un électromyogramme – Rapport final 6GIN333
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
Conception d’un électromyogramme – Rapport final 6GIN333
Page 29
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,
Conception d’un électromyogramme – Rapport final 6GIN333
Page 30
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.
Conception d’un électromyogramme – Rapport final 6GIN333
60 coefficients Magnitude Response (dB)
4
Page 31
0 0.1 0.2 0.3 0.4 0.5 0.6-8
-6
-4
-2
0
2
Frequency (kHz)
Mag
nitu
de (
dB)
70 coefficients Magnitude Response (dB)
4
0 0.1 0.2 0.3 0.4 0.5 0.6-8
-6
-4
-2
0
2
Frequency (kHz)
Mag
nitu
de (
dB)
80 coefficients Magnitude Response (dB)
4
0 0.1 0.2 0.3 0.4 0.5 0.6-8
-6
-4
-2
0
2
Frequency (kHz)
Mag
nitu
de (
dB)
Conception d’un électromyogramme – Rapport final 6GIN333
90 coefficients Magnitude Response (dB)
4
Page 32
0 0.1 0.2 0.3 0.4 0.5 0.6-8
-6
-4
-2
0
2
Frequency (kHz)
Mag
nitu
de (
dB)
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
0 1 2 3 4 5 6 7 8
-0.02
0
0.02
0.04
0.06
0.08
Time (mseconds)
Impulse Response
Am
plitu
de
Figure 17 : Réponse impulsionnelle du filtre
Conception d’un électromyogramme – Rapport final 6GIN333
Pôles et Zéros
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Real Part
Imag
inar
y P
art
80
Pole/Zero Plot
Figure 18 : pôles et zéros du filtre
Réponse en fréquence (amplitude et phase)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5-80
-70
-60
-50
-40
-30
-20
-10
0
Frequency (kHz)
Mag
nitu
de (
dB)
Magnitude Response (dB)
Figure 19 : Réponse en fréquence du filtre (Amplitude)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
-18
-16
-14
-12
-10
-8
-6
-4
-2
0
Frequency (kHz)
Pha
se (
radi
ans)
Phase Response
Figure 20 : Réponse en fréquence du filtre (Phase)
Page 33
Conception d’un électromyogramme – Rapport final 6GIN333
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.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
-70
-60
-50
-40
-30
-20
-10
0
Frequency (kHz)
Mag
nitu
de (
dB)
Magnitude Response Estimate
Bandpass FIR Window : Quantized
Bandpass FIR Window : Reference
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
Conception d’un électromyogramme – Rapport final 6GIN333
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 fc = 3.28 x 0.707 = 2.32V
Fréquences trouvées pour une amplitude de 2.32V
fc (basse) = 86 Hz
fc (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
Conception d’un électromyogramme – Rapport final 6GIN333
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
Conception d’un électromyogramme – Rapport final 6GIN333
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
Conception d’un électromyogramme – Rapport final 6GIN333
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
Conception d’un électromyogramme – Rapport final 6GIN333
Page 39
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.
Conception d’un électromyogramme – Rapport final 6GIN333
Page 40
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.
Conception d’un électromyogramme – Rapport final 6GIN333
Page 41
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. Ceux-
ci offrent une excellente stabilité dans leur conversion ainsi qu’une impressionnante
précision.
Conception d’un électromyogramme – Rapport final 6GIN333
Page 42
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.
Conception d’un électromyogramme – Rapport final 6GIN333
Page 43
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.
8. site www.digikey.com
Conception d’un électromyogramme – Rapport final 6GIN333
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 VIN+ = VIN- = 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
Conception d’un électromyogramme – Rapport final 6GIN333
Dans le cas ou VIN+= 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 (RG). 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
Conception d’un électromyogramme – Rapport final 6GIN333
ANNEXE – B Schémas électriques
R6=1M
+
-
Page 46
+-
R5=1M
+-
R4=100K
+ -
R3=100K
+ -
R2=100K
+ -
R1=100K
+ -
Pot. 0-3.3V
R +-
INA121
AD8031
+
-
Entrée (+) Triode
Entrée (-) Triode
Sortie du signal
Figure 27 : Schéma électrique (INA121+offset)
Figure 28 : Schéma électrique (plaquette pour conversion)
Conception d’un électromyogramme – Rapport final 6GIN333
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
Conception d’un électromyogramme – Rapport final 6GIN333
Page 48
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).
Conception d’un électromyogramme – Rapport final 6GIN333
Page 49
----------------------------------------------------------------------- -- 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.
Conception d’un électromyogramme – Rapport final 6GIN333
Page 50
------------------------------------------------------------------------ -- 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.
Conception d’un électromyogramme – Rapport final 6GIN333
Page 51
------------------------------------------------------------------------ -- 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.
Conception d’un électromyogramme – Rapport final 6GIN333
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
Conception d’un électromyogramme – Rapport final 6GIN333
Figure 32 : Démonstration du redresseur
Figure 33 : Présentation du montage
Page 53
Conception d’un électromyogramme – Rapport final 6GIN333
Figure 34 : Signal obtenu lors du faible contraction du muscle (bas)
Figure 35 : Signal obtenu lors du forte contraction du muscle (bas)
Page 54