Vous êtes sur la page 1sur 54

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

Approbation du rapport final pour diffusion

Nom du conseiller

Date

Signature

Page 2
Conception d’un électromyogramme – Rapport final 6GIN333

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
Conception d’un électromyogramme – Rapport final 6GIN333

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
Conception d’un électromyogramme – Rapport final 6GIN333

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
Conception d’un électromyogramme – Rapport final 6GIN333

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
Conception d’un électromyogramme – Rapport final 6GIN333

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
Conception d’un électromyogramme – Rapport final 6GIN333

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
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

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
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

Fréquence Fréquence
Type Tension
basse(Hz) haute (Hz)

ECG 200 µV à 5 mV 0.5 3


10 µV à 200
EEG 4 40
µV
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
Conception d’un électromyogramme – Rapport final 6GIN333

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
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

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
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

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
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écalage offset 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

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
Conception d’un électromyogramme – Rapport final 6GIN333

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
Conception d’un électromyogramme – Rapport final 6GIN333

60 coefficients
Magnitude Response (dB)
4

0
Magnitude (dB)

-2

-4

-6

-8
0 0.1 0.2 0.3 0.4 0.5 0.6
Frequency (kHz)

70 coefficients
Magnitude Response (dB)
4

0
Magnitude (dB)

-2

-4

-6

-8
0 0.1 0.2 0.3 0.4 0.5 0.6
Frequency (kHz)

80 coefficients
Magnitude Response (dB)
4

0
Magnitude (dB)

-2

-4

-6

-8
0 0.1 0.2 0.3 0.4 0.5 0.6
Frequency (kHz)

Page 31
Conception d’un électromyogramme – Rapport final 6GIN333

90 coefficients
Magnitude Response (dB)
4

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.02

0 1 2 3 4 5 6 7 8
Time (mseconds)

Figure 17 : Réponse impulsionnelle du filtre

Page 32
Conception d’un électromyogramme – Rapport final 6GIN333

Pôles et Zéros
Pole/Zero Plot

0.8

0.6

0.4

Imaginary Part 0.2


80
0

-0.2

-0.4

-0.6

-0.8

-1

-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)


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

-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
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.
Magnitude Response Estimate

-10 Bandpass FIR Window : Quantized


Bandpass FIR Window : Reference
-20
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
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

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
Conception d’un électromyogramme – Rapport final 6GIN333

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
Conception d’un électromyogramme – Rapport final 6GIN333

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.

Page 41
Conception d’un électromyogramme – Rapport final 6GIN333

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
Conception d’un électromyogramme – Rapport final 6GIN333

 
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
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


 
+
Entrée (+) Triode
+ -
Entrée (-) Triode
- R1=100K +
+

+ -
Sortie du signal
R6=1M INA 121
+

R2=100K -
-

R
+
R5=1M
-

Pot. 0-3.3V AD8031


+ - + -
-
R3=100K R4=100K
 
Figure 27 : Schéma électrique (INA121+offset)

Figure 28 : Schéma électrique (plaquette pour conversion)

Page 46
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

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
Conception d’un électromyogramme – Rapport final 6GIN333

-----------------------------------------------------------------------
-- 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
Conception d’un électromyogramme – Rapport final 6GIN333

------------------------------------------------------------------------
-- 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
Conception d’un électromyogramme – Rapport final 6GIN333

------------------------------------------------------------------------
-- 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
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

Vous aimerez peut-être aussi