ii UNIVERSITÉ DE MONTRÉAL ALARME DE CONDITIONNEMENT

publicité
ii
UNIVERSITÉ DE MONTRÉAL
ALARME DE CONDITIONNEMENT ULTRASONORE PROGRAMMABLE
POUR LE TRAITEMENT DE L’ÉNURÉSIE
ALEXANDRE BEAUCHAMP-PARENT
DÉPARTEMENT DE GÉNIE ÉLECTRIQUE ET DE GÉNIE INFORMATIQUE
ÉCOLE POLYTECHNIQUE DE MONTRÉAL
MÉMOIRE PRÉSENTÉ EN VUE DE L’OBTENTION
DU DIPLÔME DE MAÎTRISE ÈS SCIENCES APPLIQUÉES
(GÉNIE ÉLECTRIQUE)
AVRIL 1999

Alexandre Beauchamp-Parent, 1999.
iii
UNIVERSITÉ DE MONTRÉAL
ÉCOLE POLYTECHNIQUE DE MONTRÉAL
Ce mémoire intitulé :
ALARME DE CONDITIONNEMENT ULTRASONORE PROGRAMMABLE
POUR LE TRAITEMENT DE L’ÉNURÉSIE
Présenté par : BEAUCHAMP-PARENT Alexandre
En vue de l’obtention du diplôme de : Maîtrise ès sciences appliquées
a été dûment accepté par le jury d’examen constitué de :
M. BOIS Guy, Ph.D., président
M. SAWAN Mohamad, Ph.D., membre et directeur de recherche
M. NERGUIZIAN Chahé, M.Eng., membre
iv
DÉDICACE
À Gertrude B. Bryan,
sans qui rien ne fût…
v
REMERCIEMENTS
Je voudrais exprimer mes plus sincères remerciements à mon directeur de recherche, M.
Mohamad Sawan, professeur au département de génie électrique et génie informatique de
l’École Polytechnique de Montréal, qui a toujours su m’écouter et me conseiller avec
diligence. Sa rigueur au travail, ainsi que sa motivation quotidienne pour le
développement d’idées nouvelles, m’auront grandement inspiré ces deux dernières
années.
Je tiens aussi à remercier les membres du jury et professeurs à l’École Polytechnique, M.
Guy Bois et M. Chahé Nerguizian, pour avoir accepté de participer à l’examen de ce
mémoire.
De la même façon, je remercie la compagnie Alliance Medical Inc., et plus
particulièrement son président M. Karim Menassa, pour le financement d’un projet aussi
stimulant. Ma reconnaissance va également à ses employés (et futurs collègues de travail)
qui m’ont offert le support technique indispensable pour la concrétisation de ce projet.
Je ne pourrais passer sous silence les bons moments passés en compagnie de mes
collègues et associés de recherche de l’équipe PolyStim. Mes remerciements aussi à
Gaétan Décarie, technicien de l’École Polytechnique, pour sa contribution à la réalisation
vi
du premier prototype. Finalement, je voudrais remercier tous mes ami(e)s, ainsi que ma
famille, qui ont été présents durant ce joyeux périple.
vii
RÉSUMÉ
Au Canada, plus de 300 000 enfants souffrent d'énurésie nocturne1. Bien que ce malaise
soit sans danger pour la santé, il provoque régulièrement des troubles d’ordre émotionnel
et affectif. La thérapie comportementale de l’alarme de conditionnement est, jusqu’à ce
jour, la plus fréquemment prescrite par les urologues et pédiatres car elle est la seule à
offrir une guérison durable lorsque terminée. Cette thérapie qui conditionne
graduellement la vessie de l’enfant à associer le réveil à la miction ne prévient toutefois
pas les fuites d’urine durant la période de traitements. En effet, les alarmes de
conditionnement commerciales utilisent des électrodes dans les sous-vêtements et
déclenchent une alarme qui réveille l’enfant avec le début de la miction. Ce mémoire de
maîtrise propose et décrit la conception et la réalisation d’une alarme de conditionnement
ultrasonore reconfigurable, qui estime le volume vésical de l’enfant afin de le réveiller
avant le début de la miction. La prédiction de la miction est basée sur l’estimation noninvasive de la profondeur vésicale à l’aide d’un cristal ultrasonore excité dans le mode
pulse/écho. L’alarme de conditionnement utilise un contrôleur rapide qui commande
l’excitation de la sonde et la détection des échos. Le contrôleur emploie une technique
d’amplification sélective pour localiser les parois vésicales et effectue le traitement
numérique des échos détectés afin de déclencher l'alarme uniquement lorsque les résultats
sont reproduits durant au moins cinq cycles consécutifs de mesures (orientation stable de
la sonde). En outre, une interface usager assure la calibration du dispositif selon la
viii
morphologie de l’enfant. Finalement, un écran LCD affiche les résultats obtenus afin de
valider le fonctionnement de l’alarme avant et pendant les tests cliniques.
1
Ce nombre s’élève à trois millions aux États-Unis.
ix
ABSTRACT
Nocturnal enuresis (bed-wetting) is a common disorder for children between the ages of 5
and 15. Though the problem usually clears up on its own, nocturnal enuresis sometime
leads to serious psychological and social consequences if not dealt with properly.
Behavior modification approaches, such as the enuresis alarm system, have been
clinically proven to be the only nocturnal enuresis treatment strategy with persistent
effectiveness. Available enuresis alarm systems, which condition the child to anticipate
micturition, do not prevent bed-wetting during therapy. This master’s thesis describes a
new reconfigurable and miniaturized version of an ultrasonic monitor that wakens the
patient a short time before his bladder reaches a critical volume (start of micturition). The
detection approach is based on the estimation of the bladder’s depth using a single, costeffective transducer excited in a pulse/echo mode. The device’s architecture is designed
around the use of a controller which respectively excites the transducer to generate the
emitting ultrasound beam and detects echoes reflected by the patient’s abdominal
interfaces. Furthermore, a time-window amplification technique is used to locate the
bladder walls. When the bladder reaches a critical depth, the controller activates the
alarm when measurements are reproduced over several exciting cycles (stable probe
orientation). The enuresis alarm system is reconfigurable to adjust the threshold depth
according to the child’s bladder morphology. A 4X16 character LCD screen has been
implemented to validate measurements performed during the upcoming clinical
evaluation of the device.
x
TABLE DES MATIÈRES
DÉDICACE................................................................................................................................................. IV
REMERCIEMENTS....................................................................................................................................V
RÉSUMÉ....................................................................................................................................................VII
ABSTRACT ................................................................................................................................................ IX
TABLE DES MATIÈRES............................................................................................................................X
LISTE DES FIGURES..............................................................................................................................XII
LISTE DES TABLEAUX ......................................................................................................................XVII
LISTE DES ANNEXES ....................................................................................................................... XVIII
INTRODUCTION ........................................................................................................................................ 1
CHAPITRE I ................................................................................................................................................ 5
1
PROBLÉMATIQUE DE L’ÉNURÉSIE ........................................................................................... 5
1.1
PROCESSUS URINAIRE ....................................................................................................................... 5
1.1.1
Anatomie du système urinaire................................................................................................. 6
1.1.2
Processus de miction .............................................................................................................. 7
1.1.3
Morphologie de la vessie ........................................................................................................ 9
1.2
DESCRIPTION DU MALAISE .............................................................................................................. 13
1.3
THÉRAPIES ACTUELLES ................................................................................................................... 18
1.3.1
Médication ............................................................................................................................ 20
1.3.2
Alarme de conditionnement .................................................................................................. 22
1.4
INNOVATION THÉRAPEUTIQUE PROPOSÉE........................................................................................ 24
CHAPITRE II............................................................................................................................................. 26
2
MÉTHODOLOGIE DES TRAVAUX............................................................................................. 26
2.1
TECHNIQUE D’ESTIMATION DU VOLUME VÉSICAL ........................................................................... 27
xi
2.1.1
Considérations pratiques...................................................................................................... 28
2.1.2
Théorie des ultrasons............................................................................................................ 36
2.2
REVUE DES TRAVAUX ANTÉRIEURS ................................................................................................. 46
2.3
APERÇU DE LA NOUVELLE ALARME DE CONDITIONNEMENT ULTRASONORE .................................... 55
CHAPITRE III ........................................................................................................................................... 61
3
CONCEPTION ET RÉALISATION DE LA NOUVELLE ALARME........................................ 61
3.1
DÉMARCHES ................................................................................................................................... 61
3.2
CALCULS PRÉLIMINAIRES ................................................................................................................ 64
3.3
RÉALISATION MATÉRIELLE ............................................................................................................. 76
3.3.1
Alimentations DC ................................................................................................................. 76
3.3.2
Émetteur ............................................................................................................................... 79
3.3.3
Récepteur.............................................................................................................................. 85
3.4
RÉALISATION LOGICIELLE ............................................................................................................... 89
CHAPITRE IV.......................................................................................................................................... 102
4
SYNTHÈSE DES TESTS ET RÉSULTATS ................................................................................ 102
4.1
VALIDATION DES ÉTAGES ÉLECTRONIQUES ................................................................................... 102
4.1.1
Alimentations DC ............................................................................................................... 103
4.1.2
Émetteur ............................................................................................................................. 105
4.1.3
Récepteur............................................................................................................................ 114
4.2
VALIDATION DU FONCTIONNEMENT SUR UN ADULTE .................................................................... 121
4.3
COMPLÉMENTS DES RÉSULTATS .................................................................................................... 124
CONCLUSION ......................................................................................................................................... 126
RECOMMANDATIONS .............................................................................................................................. 128
RÉFÉRENCES ......................................................................................................................................... 131
xii
LISTE DES FIGURES
Figure 1.1 Appareil urinaire formé des reins, des uretères, de la vessie et de
l’urètre (Dugas, 1979). ..................................................................................... 7
Figure 1.2 Morphologie du système urinaire et illustration des deux sphincters.
Le sphincter interne, situé dans le col vésical, est commandé par
voie réflexe autonome (involontaire) par le système nerveux
parasympathique. Le sphincter externe (volontaire) est stimulé par
les nerfs honteux (tirée de Moore, 1992). ........................................................ 8
Figure 1.3 Position de la vessie chez le genre masculin (plan sagittal). Le
plancher vésical est situé au niveau de la symphyse pubienne. Le
sommet du fundus de la vessie peut atteindre le niveau du nombril
au moment de la miction (Moore, 1979)........................................................ 10
Figure 1.4 La vessie vide d’un enfant est située dans la cavité abdominale audessus de la symphyse pubienne (tirée de Moore, 1979)............................... 10
Figure 1.5 Contours de la vessie (plan sagittal) de quatre sujets différents au
moment de la miction (trait plein) et après l’évacuation de l’urine
(trait pointillé). ............................................................................................... 12
Figure 1.6 Histogramme illustrant le pourcentage des enfants souffrant
d’énurésie en fonction de l’âge (London Enuresis Clinic, 1998). ................. 15
Figure 1.7 Histogramme illustrant le pourcentage de guérison de l’énurésie par
les thérapies de l’imipramine, du DDAVP et de l’alarme de
conditionnement à deux moments différents ((Monda et Husmann,
1995). ............................................................................................................. 23
Figure 2.1 Illustration des deux plans (sagittal et transversal) à partir desquelles
le volume vésical est estimé par imagerie médicale (Williot, 1988). ............ 31
Figure 2.2 Paramètres utilisés par Hartnell (1987) pour estimer le volume
vésical par imagerie médicale. ....................................................................... 33
xiii
Figure 2.3 Modélisation de la vessie d’un enfant proposée par Williot (1988). .............. 33
Figure 2.4 Illustration des seize orientations de la sonde pour balayer le plan
sagittal (tirée de Kruczkowski, 1990). ........................................................... 36
Figure 2.5 Principe de l’évaluation de la distance séparant deux interfaces
(Christensen, 1988). ....................................................................................... 40
Figure 2.6 Architecture d’un appareil ultrasonique fonctionnant dans le mode A
(Christensen, 1988). ....................................................................................... 40
Figure 2.7 Schéma d’une sonde ultrasonore composée d’un élément piézoélectrique (Christensen, 1988). ...................................................................... 42
Figure 2.8 Comportement du faisceau d’ultrasons émis par un transducteur sans
lentille focale (Christensen, 1988). ................................................................ 43
Figure 2.9 Illustration de l’amélioration de la résolution latérale d’un
transducteur muni d’une lentille focale (Christensen, 1988). ........................ 44
Figure 2.10 Illustration des deux types de configuration d’affichage
(Christensen, 1988). ....................................................................................... 46
Figure 2.11 Illustration de l’approche initialement utilisée pour prédire la
miction. a) la vessie est vide et aucun écho est détecté. b) la vessie
atteint un volume critique et deux échos sont réfléchis. ................................ 47
Figure 2.12 Architecture du dispositif développé par Pétrican (1998). ........................... 48
Figure 2.13 Illustration de la technique d’amplification sélective des échos
provenant uniquement du mur postérieur de la vessie (tirée de
Pétrican, 1998). .............................................................................................. 51
Figure 2.14 Illustration de la nouvelle approche d’estimation basée sur la
mesure de la profondeur vésical..................................................................... 58
Figure 2.15 Architecture de la nouvelle alarme de conditionnement. Un
contrôleur rapide et peu coûteux estime la profondeur vésicale et
valide le déclenchement de l’alarme.............................................................. 60
Figure 3.1 Exemple de morphologie abdominale d’un enfant dont la vessie est
pleine permettant d’estimer le temps de propagation de l’onde
xiv
acoustique au travers différentes interfaces situées entre la sonde et
le mur postérieur. ........................................................................................... 66
Figure 3.2 Illustration des différentes couches formant la sonde ultrasonore.................. 75
Figure 3.3 Schéma du circuit d’alimentation de 15 V utilisant un convertisseur
DC/DC et une pile alcaline de 9 V................................................................. 77
Figure 3.4 Schéma électrique du convertisseur DC/DC générant une tension DC
maximale de 200 V pour l’excitation du transducteur................................... 80
Figure 3.5 Schéma électrique du générateur d’impulsions. ............................................. 82
Figure 3.6 Schéma électrique du récepteur composé de l’étage d’amplification,
du démodulateur et de l’étage de détection des échos. .................................. 85
Figure 3.7 Schéma bloc des étages commandés par le contrôleur. .................................. 90
Figure 3.8 Organigramme illustrant le déroulement du programme effectué par
le contrôleur. .................................................................................................. 93
Figure 3.9 Organigramme illustrant le rôle du contrôleur lors de l’excitation de
la sonde. ......................................................................................................... 96
Figure 3.10 Organigramme illustrant le rôle du contrôleur lors de la détection
des échos. ....................................................................................................... 98
Figure 3.11 Organigramme illustrant le traitement numérique effectué par le
contrôleur après la détection des échos.......................................................... 99
Figure 3.12 Affichage de la profondeur critique ajustée par l’usager lorsque le
dispositif est dans le mode calibration. ........................................................ 101
Figure 3.13 Affichage des résultats obtenus lorsque le dispositif opère dans le
mode alarme. Le contenu de l’écran est mis à jour à la fin de chaque
cycle d’excitation. On y retrouve la profondeur vésicale estimée, le
nombre d’échos détectés et, pour les trois premiers, le temps écoulé
depuis l’excitation de la sonde et leur détection. ......................................... 101
Figure 4.1 Illustration de la détection d’une pile à faible voltage. Le contrôleur
active l’alarme ultrasonore lorsque la tension d’entrée est inférieure
à 7.69 V. ....................................................................................................... 104
xv
Figure 4.2 Durée d’activation du convertisseur DC/DC lors de la mise soustension du dispositif pour trois hautes tensions sélectionnées par
l’usager......................................................................................................... 107
Figure 4.3 Durée d’activation du convertisseur DC/DC entre chacun des cycles
d’excitation du transducteur dont la période est fixée à deux
secondes. ...................................................................................................... 108
Figure 4.4 Illustration de la variation de la durée du pulse d’excitation
commandé par le contrôleur......................................................................... 109
Figure 4.5 Illustration de l’amplitude du pulse d’excitation en fonction de
plusieurs charges résistives. ......................................................................... 110
Figure 4.6 Illustration de la protection du « high-side driver » contre un voltage
négatif survenant aux bornes d’une charge inductive pulsée
(transducteur de 1 MHz). ............................................................................. 110
Figure 4.7 Amplitude d’excitation en fonction de la durée du pulse appliqué sur
le transducteur de 1 MHz. ............................................................................ 111
Figure 4.8 Illustration de l’atténuation de la deuxième période du signal
ultrasonore en fonction de la durée du pulse d’excitation. .......................... 112
Figure 4.9 Pulse d’excitation du transducteur de 3.5 MHz............................................ 113
Figure 4.10 Analyse AC de l’étage d’amplification. ..................................................... 116
Figure 4.11 Illustration du fonctionnement de l’étage d’amplification sur un
milieu de propagation idéal (sans atténuation) à l’aide du
transducteur de 3.5 MHz. Le signal VEXC correspond à l’amplitude
des échos captés aux bornes du transducteur. Les signaux VAMP-min
et VAMP-max sont les échos amplifiés lorsque le gain est
respectivement de 20 dB et 30 dB. .............................................................. 118
Figure 4.12 Illustration du fonctionnement du détecteur d’enveloppe lorsque le
signal démodulé est VAMP-max. L’usager peut modifier la contante de
décharge à l’aide du potentiomètre POT4. VDEM-min et VDEM-max
correspondent à l’enveloppe des échos amplifiés lorsque le gain est
xvi
de 30 dB et que l’usager modifie respectivement τDÉCHARGE de 5 µs à
15 µs............................................................................................................. 119
Figure 4.13 Illustration du fonctionnement du détecteur d’échos lorsque le
signal démodulé est VDEM-min (τDÉCHARGE = 5 µs). L’usager peut
modifier l’amplitude du seuil de détection critique à l’aide du
potentiomètre POT5. ECHOmax illustre le cas où la résolution axiale
est privilégiée au détriment de la détection d’échos de faibles
amplitudes. ................................................................................................... 120
Figure 4.14 Illustration de la détection des murs vésicaux d’un adulte à l’aide de
la sonde de 3.5 MHz. ................................................................................... 122
Figure 4.15 Illustration de la détection des murs vésicaux d’un adulte à l’aide de
la sonde de 1 MHz. ...................................................................................... 123
Figure 4.16 Photo de la première version de l’alarme de conditionnement. Le
prototype fut intégré sur un circuit imprimé de quatre couches. Les
composants électroniques sont situés sur les deux cotés du PCB afin
de minimiser le volume du dispositif........................................................... 125
xvii
LISTE DES TABLEAUX
Tableau 3.1 Évaluation des paramètres acoustiques des milieux de propagation
illustrés à la Figure 3.1................................................................................... 66
Tableau 3.2 Évaluation des temps de propagation de l’onde aux travers les
différentes interfaces de la région abdominale illustrées à la Figure
3.1................................................................................................................... 67
Tableau 3.3 Temps écoulé depuis l’excitation du transducteur lors de la
détection des échos provenant des interfaces de la Figure 3.1....................... 69
Tableau 3.4 Caractéristiques des deux transducteurs utilisés pour tester le
dispositif expérimentalement. ........................................................................ 74
Tableau 3.5 Description du rôle des composants électroniques utilisés dans la
conception de l’alimentation de 15 V. ........................................................... 78
Tableau 3.6 Description du rôle des composants électroniques utilisés dans la
conception du convertisseur DC/DC.............................................................. 81
Tableau 3.7 Description du rôle des composants électroniques utilisés dans la
conception du générateur d’impulsions. ........................................................ 84
Tableau 3.8 Description du rôle des composants électroniques utilisés dans la
conception du récepteur (étage d’amplification, démodulateur,
détecteur d’échos). ......................................................................................... 87
Tableau 3.9 Description des fonctions de l’interface usager lors de la validation
clinique du dispositif...................................................................................... 91
Tableau 4.1 Liste des appareils utilisés lors de la conception du dispositif................... 103
xviii
LISTE DES ANNEXES
Annexe A Schémas électriques détaillés………………………………………………139
Annexe B Codes de programmation assembleur………………………………………146
Annexe C Aperçu de la validation clinique……………………………………………189
Annexe D Description des nouveaux paramètres de calibrage…………………….….193
1
INTRODUCTION
Quoique l’incontinence nocturne soit un malaise sans danger pour la santé physique, il
nuit certainement à l’évolution psychologique et émotionnelle des enfants. Pour cette
raison, la plupart des énurétiques âgés de six ans et plus suivent une thérapie destinée à
remédier graduellement à cette fâcheuse situation. Il existe actuellement divers
traitements pour corriger ce problème, mais ils comportent tous un ou plusieurs
inconvénients importants. Prenons, notamment, la thérapie qui utilise une alarme pour
conditionner l’enfant énurétique à se réveiller immédiatement après le début du processus
de miction. À l’évidence, ces alarmes ne préviennent pas les fuites d’urine puisqu’elles
emploient des électrodes détectant l’humidité dans le sous-vêtement de l’enfant. Plusieurs
études s’emploient à décrire l’efficacité des thérapies actuelles et elles considèrent le
conditionnement de la vessie, à l’aide d’une telle alarme, comme la solution durable et
satisfaisante au problème de l’énurésie nocturne. À notre avis, sa lacune principale réside
dans son incapacité, durant la thérapie, à réveiller l’enfant avant qu’il mouille son lit. Ce
mémoire décrit justement la conception et la réalisation d’une alarme de conditionnement
ultrasonore miniaturisée, mais prédisant le début du processus de miction des enfants
énurétiques. S’appuyant sur l’approche thérapeutique des alarmes de conditionnement
traditionnelles, notre dispositif ultrasonore réveille toutefois l’enfant avant le début de la
miction afin qu’il évite de mouiller son lit. Pour illustrer la portée de l’innovation
thérapeutique proposée dans le cadre de cet ouvrage, nous démontrerons au premier
chapitre les avantages de l’utilisation de notre alarme de conditionnement ultrasonore.
2
Plus spécifiquement, notre alarme permet d’une part, l’atténuation de la souffrance
psychologique et émotionnelle subie par les enfants énurétiques et d’une autre part, la
réduction probable de la durée des traitements actuels. Afin d’assurer une meilleure
compréhension de la technique développée pour prédire la miction, nous débuterons le
premier chapitre avec une description anatomique du système urinaire. Puis nous
expliquerons le processus de la miction, ainsi que la morphologie de la région
abdominale, tout particulièrement la position, la forme et le volume de la vessie.
Notre objectif étant l’amélioration de la thérapie la plus souvent recommandée par les
urologues et pédiatres, notre démarche nous mènera tout naturellement à traiter de
l’approche proposée pour réveiller l’enfant avant la miction. Le second chapitre
explicitera donc les différentes techniques d’estimation du volume vésical et illustrera les
critères spécifiques de notre application dans le but de justifier clairement le choix des
ultrasons. Une initiation à la théorie des ultrasons suit pour illustrer l’utilisation clinique
traditionnelle d’estimation du volume d’urine contenue dans la vessie. Nonobstant le fait
que notre dispositif s’inspire d’un ancien prototype développée par notre équipe de
recherche, notre contribution réside dans l’architecture électronique proposée qui
augmente significativement la précision et la fiabilité de la prédiction de la miction. En
effet, la version initiale prédisait la miction par la détection du mur postérieur de la vessie
lorsque cette dernière atteignait un volume critique prédéterminé. Toutefois,
l’architecture électronique totalement analogique de cette alarme ne validait pas la
provenance de l’écho détecté, à savoir le mur postérieur de la vessie. Conséquemment,
3
tout mouvement sur la sonde, même ceux provoqués par la simple respiration de l’enfant,
rendait l’alarme peu fiable pour la détection de cette interface. La pauvreté des résultats
cliniques obtenus lorsque l’orientation de la sonde était instable nous a obligé à concevoir
une toute nouvelle architecture électronique miniaturisée. Pour augmenter la fiabilité 2 de
cette première version, tout en conservant un coût et un volume similaire, notre nouvelle
alarme de conditionnement utilise un contrôleur rapide qui détermine l’instant propice
pour déclencher l’alarme. En outre, ce contrôleur améliore la précision3 de l’estimation
du volume vésical en ce qu’il traite tous les échos détectés et non seulement celui
provenant du mur postérieur de la vessie.
Les critères de sélection du contrôleur seront explicités au chapitre 3 à l’aide d’un
exemple qui illustre le temps de propagation d’une onde ultrasonore aux travers
différentes interfaces de la région abdominale d’un enfant. Afin d’optimiser l’efficacité
des tests cliniques prévus pour le mois de mai, nous avons procédé à la conception de
deux transducteurs, dont les spécifications privilégient la profondeur de pénétration plutôt
que la résolution axiale. L’architecture électronique, composée de deux alimentations DC
(5 V et 15 V), d’un émetteur pour l’excitation de la sonde, d’un récepteur pour la
détection des échos et d’une interface usager4 pour le calibrage du dispositif selon la
morphologie de l’enfant, est décrite au chapitre 3. Nous en profiterons, par ailleurs, pour
2
Nous entendons par fiabilité, la possibilité de détecter et rejeter les résultats erronés (les mesures sont
destinées à ne pas être constamment reproduites dans le temps).
3
Nous entendons par précision, le temps écoulé entre le réveil de l’enfant et le début réel du processus de
miction.
4
Les paramètres de calibrage, programmés à l’aide de l’interface usager, sont affichés sur un écran à
cristaux liquides qui n’est pas porté par l’enfant durant la nuit.
4
expliquer le rôle de chacun des composants utilisés dans la conception matérielle de notre
alarme de conditionnement. Une description de la conception logicielle démontrera, à
l’aide d’organigrammes, le déroulement du programme qui assure l’excitation de la
sonde, la détection des échos et l’estimation de la profondeur vésicale. Le chapitre 4 est,
quant à lui, destiné à rapporter les résultats obtenus à la suite de la validation
expérimentale de ces étages électroniques. Nous démontrerons que notre alarme réussit à
détecter les parois vésicales d’un adulte dont la morphologie présente des conditions de
propagation et de réflexions moins propices que celles rencontrées chez les enfants.
Finalement, le mémoire se terminera avec des recommandations
commercialisation de notre alarme de conditionnement.
visant
la
5
CHAPITRE I
1
PROBLÉMATIQUE DE L’ÉNURÉSIE
Le but de ce chapitre consiste à illustrer la problématique de l’incontinence nocturne chez
les enfants. Pour y arriver, nous procéderons à la description des organes du système
urinaire de l’être humain, pour ensuite expliquer le processus de la miction assurant
l’élimination de l’urine emmagasinée dans la vessie. Nous décrirons également la
morphologie de la vessie afin de justifier clairement les démarches poursuivies lors de ce
projet. Ensuite, nous définirons l’énurésie (incontinence) et présenterons les causes et les
conséquences de ce problème très répandu chez les enfants, tout en explicitant les
avantages et les inconvénients des thérapies basées jusqu’alors sur la médication et
l’alarme de conditionnement. Finalement, nous introduirons l’innovation thérapeutique
proposée dans le cadre de ce projet.
1.1
Processus urinaire
Nous débuterons cette section par la description de l’ensemble du système urinaire
composé des reins, des uretères, de la vessie et de l’urètre. Ainsi, nous verrons les
organes impliqués depuis la formation de l’urine au niveau des reins jusqu’à son
élimination par l’urètre. Ensuite, nous définirons la miction car ce terme est utilisé tout le
long de ce texte. Nous terminerons cette section par l’illustration de la morphologie de la
vessie, c’est-à-dire sa position, sa forme et son volume.
6
1.1.1
Anatomie du système urinaire
Les reins5, situés dans la paroi postérieure de la cavité abdominale, régularisent la
quantité d’eau présente dans le corps et filtrent le sang pour en extraire les toxines
(Figure 1.1). L’urine quitte les reins par deux uretères6, reliés sur la face postérieure de la
vessie aux orifices urétéraux. Notez bien que l’urine ne remonte jamais dans les uretères
puisque ceux-ci se contractent sous l’effet de la pression vésicale. Quant à la vessie, elle
est un organe musculaire qui accumule l’urine formée au niveau des reins. Elle est
composée d’une part par une section appelée fundus qui sert de réservoir pour
emmagasiner l’urine et, d’autre part, par un col vésical7 qui prend la forme d’un
entonnoir relié à l’urètre.
L’urètre est le conduit par lequel l’urine est évacuée du corps humain. Autour de l’urètre
se trouve deux sphincters contrôlés lors de la miction. Le premier, constitué de muscles
lisses situés à l’intérieur du col vésical, est innervé par les fractions parasympathiques du
système nerveux autonome (sphincter interne) alors que le second, composé de muscles
striés, est innervé par des fibres volontaires (sphincter externe).
5
Organes en forme de haricot mesurant environ 12 cm de longueur, 6 cm de hauteur et 3 cm d’épaisseur.
Tube musculaire de 5 mm de diamètre dont la longueur est de 20 à 30 cm.
7
Le col vésical mesure de 2 à 3 cm.
6
7
Figure 1.1 Appareil urinaire formé des reins, des uretères, de la vessie et de l’urètre
(Dugas, 1979).
1.1.2
Processus de miction
La miction, définie comme étant l’évacuation de l’urine contenue dans la vessie, repose
sur deux composantes nerveuses : l’une involontaire et l’autre volontaire (Figure 1.2).
Avant que les parois de la vessie se distendent, le sphincter interne serre le col vésical
pour empêcher les fuites d’urine. Lorsque les mécanorécepteurs, situés sur le fundus de la
vessie, détectent que les parois vésicales sont étirées, par voie de réflexe, le système
8
parasympathique provoque la contraction du sphincter interne (miction involontaire) par
la stimulation du muscle détrusor situé dans le col vésical. Ainsi, le réflexe involontaire
de la miction assure l’ouverture du col vésical. L’évacuation de l’urine est donc assurée
par la contraction des muscles abdominaux et l’ouverture volontaire du sphincter externe
via les nerfs honteux (miction volontaire).
Figure 1.2 Morphologie du système urinaire et illustration des deux sphincters. Le
sphincter interne, situé dans le col vésical, est commandé par voie réflexe autonome
(involontaire) par le système nerveux parasympathique. Le sphincter externe
(volontaire) est stimulé par les nerfs honteux (tirée de Moore, 1992).
9
1.1.3
Morphologie de la vessie
À la section 2.3, nous expliquerons notre approche pour prédire la miction basée sur
l’estimation du volume vésical à l’aide d’un transducteur orienté pour mesurer la
profondeur de la vessie. Pour prédire la miction, la distance caractéristique mesurée entre
les murs antérieur et postérieur de la vessie doit être représentative du volume vésical.
Afin d’optimiser la corrélation entre la profondeur et le volume vésical, nous devons
positionner adéquatement la sonde, ce qui nous oblige à décrire au préalable la
morphologie vésicale (position, forme et volume) et ce, en fonction de l’âge de la
personne et du volume d’urine contenu dans la vessie.
La vessie est un organe musculaire creux se trouvant dans la cavité pelvienne. En
pratique, chez le mâle adulte, elle est située devant le rectum et derrière la symphyse
pubienne (Figure 1.3). Chez la femme adulte, elle est derrière la partie supérieure du
vagin et devant l’utérus. Vide, la vessie d’un adulte ressemble à un ballon dégonflé se
trouvant dans la région pelvienne mineure, derrière et légèrement au-dessus de l’os
pubien. Lorsque la vessie se remplit, son sommet monte dans la région pelvienne
majeure, parfois jusqu’au niveau du nombril. La vessie vide d’un jeune enfant se trouve
entièrement dans la cavité abdominale (Figure 1.4). À mesure que l’enfant grandit, la
vessie descend progressivement derrière le pubis. À l’âge de six ans, la vessie se trouve
dans la région pelvienne majeure. Ce n’est pas avant la puberté que la vessie atteint la
région pelvienne mineure. Il est par conséquent difficile de définir la position exacte de la
vessie puisqu’elle dépend de l’âge et du volume d’urine. Cependant, la position de cet
10
organe chez le jeune enfant facilite l’estimation de son volume puisqu’il n’est pas caché
par l’os pubien.
Figure 1.3 Position de la vessie chez le genre masculin (plan sagittal). Le plancher
vésical est situé au niveau de la symphyse pubienne. Le sommet du fundus de la
vessie peut atteindre le niveau du nombril au moment de la miction (Moore, 1979).
Figure 1.4 La vessie vide d’un enfant est située dans la cavité abdominale au-dessus
de la symphyse pubienne (tirée de Moore, 1979).
11
La forme de la vessie est difficilement déterminable car elle est unique à l’individu, et
qu’elle dépend de la position du sujet (couché/debout/assis) et du volume d’urine. Pleine,
la vessie a une forme plus ou moins ovale. La dilatation de la vessie s'effectue de façon
relativement uniforme grâce aux trois couches musculaires dont elle est entourée. Une
étude réalisée par Hartnell et al. (1987) affirme que la vessie ne possède aucune forme
prédéterminée. La Figure 1.5 illustre la variation de la forme de la vessie à deux moments
différents, pour quatre sujets masculins (plan sagittal). Le contour fait de traits continus
démontre la forme de la vessie avant la miction, alors que celui tracé en pointillé
représente la vessie après la miction. On constate que la forme de la vessie varie dans le
temps, en fonction du volume d’urine, et ce d’un individu à l’autre. Il est important de
noter que le haut de la vessie monte progressivement vers la tête du patient lorsque le
volume d’urine augmente. De plus, on constate une augmentation de la profondeur
vésicale. Bien qu’il soit difficile de modéliser la vessie, nous mentionnerons à la section
2.1.2 quelques unes des formules mathématiques utilisées pour estimer le volume vésical,
à partir de deux images caractéristiques 2D (plan transversal et sagittal) obtenues par
ultrasons.
La vessie forme une poche très élastique dont le volume correspond approximativement à
celui de l'urine. Après la miction, le volume d’urine est pratiquement nul bien que l’on
retrouve occasionnellement un volume d’urine résiduel chez certains individus dont le
processus urinaire est déficient.
12
Figure 1.5 Contours de la vessie (plan sagittal) de quatre sujets différents au
moment de la miction (trait plein) et après l’évacuation de l’urine (trait pointillé).
Pleine, la vessie peut atteindre un volume de 1 litre (jusqu'à 2 litres en cas d'obstruction
des voies urinaires) au moment de la miction. La vitesse normale de remplissage de la
vessie se situe autour de 6 ml/min le jour, alors que la nuit les hormones ADH
(«AntiDiuretic Hormones») réduisent de
moitié
la
production
d’urine8,
soit
approximativement à 3 ml/min. Pour les enfants âgés de moins de douze ans, une formule
empirique est utilisée pour estimer le volume vésical (Pétrican, 1998) telle que
Vml = ( Âge + 2) × 30
8
La concentration de l’urine double durant la nuit.
(1.1)
13
1.2
Description du malaise
Cette section décrit le problème de l’énurésie nocturne chez les enfants. Tout d’abord,
nous définirons ce malaise afin de distinguer l’énurésie nocturne primaire de l’énurésie
nocturne secondaire. Puis, nous exposerons quelques causes hautement susceptibles
d’entraîner l’incontinence nocturne ainsi que les conséquences principalement négatives
et subies par les enfants et leur famille.
Il arrive fréquemment que les enfants âgés de six ans ou moins, spécialement les garçons,
continuent de mouiller leur lit une nuit par semaine malgré un entraînement à la propreté
(Roumeliotis, 1998). Les parents de ces enfants sont toujours étonnés d’apprendre que
cette condition est fréquente et n’indique pas nécessairement un problème sérieux9.
Toutefois, lorsque cette condition persiste ou qu’elle s’aggrave, l’enfant peut souffrir
d’un malaise appelé énurésie nocturne. L’énurésie signifie étymologiquement
l’écoulement des urines. Un synonyme couramment utilisé pour désigner cette condition
est l’incontinence urinaire. Le petit Larousse (1989) définit l’énurésie comme une
émission involontaire d’urine, généralement nocturne, persistant ou apparaissant à un âge
où la propreté est généralement acquise.
Il faut faire la distinction entre l’énurésie diurne et nocturne, tant au niveau des causes,
des conséquences et des méthodes de traitement (Kidshealth, 1998). Dans le cadre de ce
projet, nous proposons une innovation thérapeutique et développons une solution pratique
9
C’est pourquoi on préfère parler de malaise plutôt que de maladie.
14
axées sur le traitement de l’énurésie nocturne. Par conséquent, nos démarches sont
orientées sur ce malaise spécifiquement et non pas sur celui de l’énurésie diurne. Les
considérations pratiques de l’énurésie nocturne seront présentées à la section 2.1.1.
Les urologues diagnostiquent l’énurésie nocturne en tenant compte de l’âge de l’enfant.
En effet, un enfant âgé de cinq ou six ans est énurétique s’il mouille son lit au minimum
deux ou trois nuits par semaine, tandis qu’un enfant plus vieux l’est à partir d’une épisode
par semaine (Roumeliotis, 1998). En outre, il existe deux types d’incontinence nocturne
appelés respectivement primaire et secondaire. La première recoupe les cas où l’enfant
n’a jamais cessé d’uriner et ce, depuis sa naissance. En d’autres mots, l’enfant n’a connu
aucune période de propreté au cours de sa vie. La seconde s’attache aux cas où l’enfant
est déjà demeuré propre pour un intervalle d’au moins 6 mois avant de recommencer à
mouiller son lit (Roumeliotis, 1998).
Au Canada, plus de 300 000 enfants souffrent d’incontinence nocturne, alors qu’aux
États-Unis, ce chiffre s’élève à plus de 5 millions (Rhône-Poulenc, 1998; Mayo Clinic,
1998). En Angleterre, 750 000 enfants âgés de sept ans sont énurétiques (Collinson,
1998). Statistiquement, 15% à 20% des enfants de cinq et six ans sont énurétiques la nuit
(Kidshealth, 1998). Par ailleurs, Silberstein (1998) affirme que plus du quart des enfants
âgés de quatre ans souffrent de ce malaise. La Figure 1.6 illustre le pourcentage d’enfants
énurétiques de l’âge de 5 à 16 ans, tel que rapporté par le site London Enuresis Clinic
15
(1998). On remarque que 18% des enfants âgés de cinq ans sont énurétiques alors que
seulement 1% le sont à l’âge de 16 ans.
Pourcentage (%)
Énurésie nocturne
20
15
10
5
0
5
7
10
16
Âge (ans)
Figure 1.6 Histogramme illustrant le pourcentage des enfants souffrant d’énurésie
en fonction de l’âge (London Enuresis Clinic, 1998).
Les causes de l’incontinence nocturnes sont nombreuses et encore mal connues. Ici, il
importe d’expliquer les causes les plus fréquemment rencontrées afin que le lecteur
puisse comprendre le principe de chacune des thérapies expliquées à la prochaine section.
Chez les enfants, âgés de 3 ans et moins, l’incontinence nocturne est considérée normale
car les neurones associés au contrôle du sphincter externe ne sont pas encore totalement
développés. Occasionnellement, ces enfants vont même uriner involontairement durant le
jour. Lorsque les épisodes d’incontinence sont exclusivement éprouvées pendant la nuit,
plusieurs facteurs peuvent être impliqués. Voici une description des causes les plus
souvent rencontrées :
16
•
facteurs héréditaires : 57% des enfants énurétiques observés à l’hôpital duPont (USA)
ont un membre direct de leur famille (père, mère, frère, sœur) qui a déjà été atteint
d’énurésie nocturne (Kidshealth, 1998; Silberstein, 1998).
•
facteurs psychologiques : le stress d’un divorce et de l’école peut entraîner ou
aggraver l’énurésie nocturne (Kidshealth, 1998; Mayo Clinic, 1998).
•
facteurs liés aux troubles du sommeil : on observe que 40% des enfants énurétiques
ont un sommeil plus profond que celui des enfants normaux. Dans cette hypothèse, le
processus de miction survient normalement et l’enfant relaxe son sphincter externe
sans se réveiller. Cette cause de l’énurésie est plus fréquente chez les garçons que les
filles, particulièrement pour ceux souffrant encore d’incontinence nocturne primaire à
l’âge de 12 ans.
•
facteur endocrinien : les hormones antidiurétiques réduisent la quantité d’urine
produite durant la nuit afin de retarder le processus de miction. Chez les enfants
normaux, la production d’urine chute de moitié durant la nuit contrairement aux
énurétiques qui peuvent en déverser jusqu’à quatre fois plus. Une diminution ou une
absence de sécrétion d’hormones diurétiques (ADH) est à l’origine de cette
augmentation du volume d’urine qui déclenche le réflexe de miction durant le
sommeil de l’enfant (Silberstein, 1998).
•
facteurs comportementaux ou béhavioristes : il a été démontré que les enfants
hyperactifs souffrant du syndrome AD/HD («Attention Disorder / Hyperactivity
Disorder») demeurent incontinents la nuit plus longtemps que les enfants de nature
calme et posée. Par ailleurs, la motivation de l’enfant à devenir continent est un
17
facteur déterminant pour la guérison. Les enfants peu affectés par leur condition
deviennent, en général, continents moins rapidement (London Enuresis Clinic, 1998).
•
facteurs reliés aux anomalies du système urinaire : les enfants dont le système
nerveux parasympathique est défectueux souffrent généralement d’incontinence
nocturne et diurne. Par ailleurs, des infections aux voies urinaires peuvent provoquer
l’incontinence nocturne (Kidshealth, 1998).
•
Facteur lié à la constipation : la constipation peut entraîner l’énurésie nocturne. Dans
ce cas, l’énurésie disparaît généralement une fois que le problème de constipation est
soigné (Kidshealth, 1998).
L’incontinence nocturne est un malaise sans danger pour la santé et qui disparaît
généralement avec le temps. En effet, la majorité des enfants sont continents à l’âge de
quatre ans (Collinson, 1998). Toutefois, le problème ne doit pas être pris à la légère
puisqu’il peut mener à des troubles d’ordre émotionnel et affectif chez l’enfant. L’enfant
peut souffrir d’angoisse, d’humiliation, de culpabilité, d’anxiété et d’un manque de
confiance en soi, en plus de s’éloigner affectueusement de ses parents (Silberstein, 1998).
Ce problème peut également retarder le développement social de l’enfant car ce dernier
croit souvent être le seul atteint de ce malaise (Kidshealth, 1998; Collinson, 1998). Ainsi,
il évite d’en parler à ses amis par peur du jugement et préfère se priver d’une vie normale,
plutôt que d’accepter le malaise. Par exemple, il ne fréquente pas les camps de vacances
et évite de dormir hors de chez lui.
18
1.3
Thérapies actuelles
L’enfant qui mouille son lit n’a, à priori, aucune mauvaise intention. L’incontinence
nocturne n’est pas un acte volontaire ou un signe de paresse de sa part (Kidshealth, 1998;
Silberstein, 1998). C’est pourquoi l’on conseille aux parents de ne pas humilier, gronder
ou punir leur enfant10 énurétique (London Enuresis Clinic, 1998). De tels comportements
contribuent habituellement à détériorer davantage l’estime et la confiance en soi de
l’enfant et aggrave inutilement la situation (Silberstein, 1998; Rhône-Poulenc, 1998;
Health Sense International, 1998). La durée et l’efficacité d’une thérapie dépendent, en
majeure partie, de l’attitude des parents à l’égard du problème. En effet, on observe que
les enfants énurétiques corrigent plus rapidement leur malaise lorsque leurs parents les
appuient moralement et usent de positivisme et de patience face à l’adversité (Kidshealth,
1998; Collinson, 1998). Avant tout, les parents doivent consulter un urologue qui
examine l’enfant et propose la thérapie la mieux adaptée au problème et à la volonté des
parents. L’énurésie nocturne n’est pas un problème sérieux, mais risque de le devenir s’il
n’est pas traité adéquatement.
Sans thérapie, la majorité des cas d’énurésie nocturne se résolvent avec le temps, en
raison d’une décroissance annuelle de 15%. Ainsi, la plupart des enfants âgés de six ans
et moins ne suivent aucune de thérapie puisque le problème n’est pas encore considéré
majeur (Mayo Clinic, 1998). À cet égard, l’âge moyen des enfants énurétiques traités à
l’hôpital duPont pour enfants (USA) est de 10 ans (Kidshealth, 1998). Évidemment, le
10
L’enfant peut être ou non énurétique.
19
but des thérapies est de réduire le temps requis pour corriger le problème et il arrive
qu’un enfant devienne continent après seulement un ou deux mois de traitements.
Il existe plusieurs thérapies pour traiter l’incontinence nocturne. Le but de cette section
n’est pas d’expliquer exhaustivement chacune de ces thérapies mais plutôt de décrire
celles qui aujourd’hui offrent les meilleures chances de guérison. Nous débuterons avec
les avantages et inconvénients de la thérapie basée sur la médication. Ensuite, nous
expliquerons le principe de la thérapie de l’alarme de conditionnement et illustrerons
qu’elle s’avère le seul traitement durable de l’énurésie nocturne. En réalité, nous voulons
souligner que l’innovation thérapeutique que nous proposons à la section 1.4 est fondée
sur une amélioration de la thérapie la plus efficace actuellement.
Avant de décrire les thérapies basées sur la médication et l’alarme de conditionnement,
mentionnons que l’acuponcture (Xi, 1998), l’hypnose et l’homéopathie demeurent des
techniques utilisées pour traiter l’énurésie (London Enuresis Clinic, 1998). Certes,
plusieurs recommandations pratiques, combinées à la thérapie, peuvent aider à diminuer
la fréquence des épisodes d’incontinence nocturne. Les parents sont incités à limiter la
quantité de fluide11 absorbé par l’enfant avant son coucher afin de minimiser la quantité
d’urine produite durant la nuit. Ils doivent de surcroît s’assurer que l’enfant urine avant
d’aller au lit (Mayo Clinic, 1998).
11
Éviter surtout les boissons contenant de la caféine.
20
1.3.1
Médication
Nous aborderons, à l’intérieur de cette sous-section, deux médicaments prescrits par les
urologues pour lutter contre l’incontinence nocturne : l’imipramine et le desmopressin
acetate.
Premièrement, l'imipramine, aussi appelé tofranil, est un antidépresseur utilisé depuis les
années 1960 pour relaxer les muscles lisses de la vessie (Kidshealth, 1998; Silberstein,
1998). L’imipramine retarde la transmission de l’influx nerveux du système
parasympathique qui survient lors de la miction involontaire (Health Sense International,
1998). Ce médicament, absorbé sous forme de comprimé, est à la fois efficace et peu
onéreux, mais il entraîne occasionnellement des effets secondaires qui obligent parfois et
momentanément la suspension du traitement. Parmi ces effets secondaires, on retrouve la
nervosité, l’insomnie, le mal de ventre, la fatigue, les réactions allergiques et la
diminution de la pression sanguine (Silberstein, 1998). De plus et aux États-Unis, la FDA
(«Food & Drug Administration») soupçonne l’imipramine d’avoir causé quatre-vingt
décès d’enfants depuis les années soixante-dix (Health Sense International, 1998).
Lorsqu’une thérapie est abandonnée puis reprise, il faut généralement augmenter les
doses pour obtenir un résultat similaire. La nécessité d’une augmentation démontre que
l’imipramine perd de son efficacité avec le temps. Le pourcentage de succès de
l’imipramine pour corriger l’énurésie après six mois de traitement tourne autour de 36%
(Figure 1.7). Par ailleurs, le succès du traitement par l’imipramine semble diminuer avec
l’arrêt de son utilisation. En effet, six mois après la fin de la thérapie, seulement 16% des
21
enfants demeurent continents. Autrement dit, plus de la moitié des enfants traités avec
succès après six mois de thérapie redeviennent incontinents dans une période de six mois
après l’arrêt des traitements. Par conséquent, ce médicament est souvent limité à une
utilisation ponctuelle pour éviter que l’enfant mouille son lit lorsque la situation l’oblige.
Pour la plupart des enfants qui utilisent l’imipramine, la continence est attribuée à la
durée de la thérapie qui permet ironiquement au problème de disparaître naturellement
(Silberstein, 1998).
Deuxièmement, le « desmopressin acetate » communément appelé DDAVP est une
hormone antidiurétique synthétique qui fut récemment développée par Rhône-Poulenc
(1998). Rappelons que les hormones antidiurétiques régissent la production d’urine
durant la nuit. Ce médicament peut être prisé ou avalé dès l’âge de six ans. Le
pourcentage de succès du DDAVP après six mois de traitement est autour de 68% (Figure
1.7) comparativement à 36% pour l’imipramine. Ainsi, l’utilisation de l’imipramine
s’atténue puisqu’elle est remplacée, progressivement, par le DDAVP qui agit plus
rapidement et présente moins d’effets secondaires (Rhône-Poulenc, 1998). Toutefois, tout
comme l’imipramine, l’efficacité du DDAVP semble grandement diminuer lorsque
l’enfant cesse de l’utiliser. Six mois après la fin de la thérapie, seulement 10% des
enfants demeurent continents. Par conséquent, seul 15% des enfants traités avec succès
après six mois de thérapie demeurent continents six mois après l’arrêt des traitements. De
plus, ce médicament est coûteux (100$ par mois) et cette particularité s’avère un obstacle
pour un traitement de l’énurésie à long terme (Health Sense International, 1998). Le
22
DDAVP entraîne aussi quelques effets secondaires tels que les maux de tête et l’irritation
des voies nasales. En fait et tout comme l’imipramine, le DDAVP semble plus approprié
pour un usage ponctuel, lorsque l'enfant est amené à passer la nuit hors de chez lui, par
exemple.
1.3.2
Alarme de conditionnement
L’alarme de conditionnement est conçue pour modifier le comportement de l’enfant
énurétique afin qu’il apprenne à se réveiller de lui-même, lorsque débute la miction. Les
alarmes commerciales sont toutes basées sur le même principe : une électrode12 qui en
détectant l’humidité déclenche une alarme, sonore ou vibrante, lorsque l’enfant urine
dans son sous-vêtement. Le but de cette thérapie est de conditionner l’enfant à associer le
réveil aux sensations naturelles perçues lorsque la vessie est pleine (London Enuresis
Clinic, 1998). Ce type de thérapie demande une importante motivation de la part de
l'enfant et de ses parents (Kidshealth, 1998). En effet, les parents auront à se lever
régulièrement pendant la nuit afin de vérifier que leur enfant s’est bien réveillé avec le
déclenchement de l’alarme. Les alarmes s’adressent donc plus particulièrement aux
enfants qui sont suffisamment mûrs pour réaliser l’enjeu social de leur malaise. L’âge
idéal pour débuter un tel traitement est de sept ans (Steele, 1993; Collinson, 1998).
L’avantage de ce traitement est qu’il permet à 56% des enfants de corriger définitivement
leur problème d’incontinence nocturne, comparativement à 16% pour l’imipramine et
10% pour le DDAVP. Plusieurs études ont démontré que la thérapie de l’alarme de
23
conditionnement est celle qui offre une solution durable au problème de l’énurésie
(Monda et Husmann, 1995). Notons également que ce traitement est peu onéreux
puisqu'il en coûte de 50$ à 100$ pour un tel dispositif et qu'aucune dépense
supplémentaire n’est requise durant la thérapie. Palco Laboratories commercialise une
telle alarme de conditionnement appelée «Wet-Stop» qui se vend 65$US. Notez qu’une
alarme de conditionnement est particulièrement recommandée pour les enfants souffrant
du syndrome AD/HD («Attention Disorder / Hyperactivity Disorder») qui utilisent déjà
des médicaments pour traiter leur hyperactivité (Kidshealth, 1998).
Pourcentage (%)
Guérison de l'énurésie nocturne
80
70
60
50
40
30
20
10
0
68
63
56
36
16
Imipramine
6 mois après la fin
de la thérapie
10
DDAVP
Après 6 mois de
thérapie
Enuresis
alarm
Thérapies
Figure 1.7 Histogramme illustrant le pourcentage de guérison de l’énurésie par les
thérapies de l’imipramine, du DDAVP et de l’alarme de conditionnement à deux
moments différents ((Monda et Husmann, 1995).
12
L’électrode est généralement placée dans le sous-vêtement de l’enfant.
24
1.4
Innovation thérapeutique proposée
Les alarmes commerciales actuellement disponibles sur le marché sont conçues pour
réveiller l’enfant au début de la miction, c’est-à-dire une fois la fuite d’urine détectée. Par
conséquent et tout au long de la thérapie, l’enfant persiste à mouiller son lit jusqu’à ce
qu’il réussisse à associer le réflexe de la miction au réveil. Nos recherches tentent
précisément de maximiser l’efficacité des alarmes de conditionnement traditionnelles.
Nous proposons donc, dans ce mémoire, de réveiller l’enfant avant que débute la miction.
Cette innovation thérapeutique de l’énurésie nocturne devrait avoir les répercussions
suivantes :
•
diminution de la durée de la thérapie. Du fait que l’alarme est déclenchée avant que
l’enfant urine, l’efficacité du conditionnement de la vessie sera accrue étant donné
que la miction volontaire sera totalement contrôlée par l’enfant (sphincter externe)
après qu’il soit réveillé.
•
augmentation du taux de participation à la thérapie. Puisque cette alarme prévient les
fuites d’urine, nous croyons que l’utilisation de la médication ne sera plus autant
justifiée que par le passé. Plus d’enfants et leur famille adhéreront à cette thérapie
puisque, à l’instar de la médication, elle permettra de régler le problème
ponctuellement. L’augmentation du taux de participation à cette thérapie aura aussi
des répercussions d’ordres économiques.
25
•
atténuation des troubles émotifs. Les effets négatifs causés par l’humiliation,
l’angoisse, la culpabilité et l’anxiété subies par les enfants qui mouillent leur lit seront
réduits si nous pouvons réveiller l’enfant avant la miction.
•
augmentation du pourcentage de guérison de l’énurésie. Puisque les enfants savent
qu’ils seront réveillés avant d’uriner, ils éprouveront moins de stress et seront
davantage motivés à corriger leur problème. Comme nous l’avons déjà mentionné, la
participation active de l’enfant est la condition primordiale pour la réussite de cette
thérapie.
Au moment où le réflexe de miction est déclenché, le volume vésical atteint un seuil que
nous appellerons seuil critique ou volume critique. À l’évidence ce seuil, différent pour
chaque enfant, ne constitue pas une limite maximale puisque la miction peut être
volontairement retardée à l’aide du sphincter externe. Ainsi, pour réveiller l’enfant avant
la miction, l’alarme de conditionnement que nous proposons estime le volume vésical. De
la sorte, nous déclenchons l’alarme lorsque le volume de la vessie est légèrement sous le
seuil critique. À la section 2.1, nous déterminerons la méthode la mieux adaptée à
l’estimation du volume vésical pour le traitement de l’énurésie nocturne.
26
CHAPITRE II
2
MÉTHODOLOGIE DES TRAVAUX
Ce chapitre décrit les démarches poursuivies lors de ce projet afin de proposer une alarme
de conditionnement capable de prédire la miction par l’estimation du volume vésical d’un
enfant durant la nuit. Au chapitre 1, nous avons traité la problématique de l’énurésie
nocturne pour ensuite exposer le principe de la thérapie de conditionnement par une
alarme et son inconvénient majeur. Malgré l’efficacité de cette thérapie pour corriger
l’énurésie de façon durable, l’alarme disponible commercialement ne prévient pas les
fuites d’urine. Nous croyons qu’une telle thérapie serait davantage prisée si nous
pouvions réveiller l’enfant avant la miction. La section 2.1 s’attarde aux considérations
pratiques de notre application afin de justifier le choix des ultrasons comme méthode
d’estimation s’adaptant le mieux au traitement de l’énurésie nocturne. Ensuite, nous
ferons la revue de nos travaux de recherche précédents qui ont permis de développer une
alarme de conditionnement ultrasonore, testée cliniquement sur des enfants de l’hôpital
Sainte-Justine de Montréal (Pétrican, 1998). Nous décrirons l’approche d’estimation
adoptée par notre équipe pour déclencher l’alarme au moment où le volume vésical
atteint un seuil critique. De plus, nous décrirons l’architecture de cette alarme conçue,
expliquerons les tests de validation effectués et rapporterons les résultats obtenus. Nous
justifierons pourquoi cette alarme n’a pu être commercialisée jusqu’à maintenant, et
illustrerons les changements requis pour assurer la fiabilité des mesures effectuées
27
pendant le sommeil de l’enfant. Nous terminerons ce chapitre par une brève description
de la nouvelle alarme proposée dans le cadre de ce projet.
2.1
Technique d’estimation du volume vésical
Cette section cherche à décrire les considérations pratiques associées au traitement de
l’incontinence nocturne, lesquelles justifieront le choix des ultrasons comme méthode la
mieux adaptée à l’estimation du volume de la vessie. Notre intention n’est pas la
couverture exhaustive de chacune des méthodes d’estimation du volume vésical, mais
bien la démonstration que les ultrasons s’avèrent la seule qui respecte toutes les
particularités de notre application. Pour de plus amples renseignements, les différentes
techniques non-invasives sont bien documentées dans la littérature (Pétrican, 1998).
Ensuite, nous expliquerons comment les ultrasons sont généralement utilisés pour estimer
le volume de la vessie. La première technique décrite emploie l’imagerie médicale pour
modéliser mathématiquement le volume vésical, à partir de distances caractéristiques
mesurées sur deux sections perpendiculaires de la vessie. Puis, nous décrirons le principe
des calculs réalisés par certains appareils ultrasoniques qui estiment directement (sans
imagerie médicale) le volume vésical par sommation de volumes infinitésimaux,
régulièrement espacés. Ces démarches sont réalisées afin de démontrer que la profondeur
et la hauteur de la vessie d’un enfant (plan sagittal) sont des paramètres qui permettent de
prédire la miction. Ainsi, nous illustrerons la dualité entre la précision de l’estimation du
volume vésical et la complexité de l’approche utilisée.
28
Pour terminer, nous expliciterons les principes fondamentaux des ultrasons. Nous
décrirons les propriétés de propagation et de réflexion des ultrasons dans le corps humain
et examinerons comment ils sont générés et traités. Nous traiterons également du
transducteur ultrasonore, élément à partir duquel les ultrasons sont émis et reçus. Notre
description de ses propriétés (fréquence, diamètre, facteur de qualité) permettra d’illustrer
sa résolution axiale et latérale lorsqu’il est excité dans le mode pulsé. Pour finir, nous
décrirons l’architecture globale d’un appareil ultrasonique afin d’illustrer le but de
chacun des étages fondamentaux, c’est-à-dire ceux responsables de l’excitation du cristal
ultrasonore et du traitement des échos reçus.
2.1.1
Considérations pratiques
Il existe à ce jour plusieurs techniques pour estimer le volume vésical. Toutefois,
l’application pour laquelle nous développons une nouvelle alarme de conditionnement
nous impose quelques restrictions et ceci nous amène à rejeter la plupart de ces méthodes.
À la section 1.2, nous avons décrit le malaise de l’énurésie nocturne. Il importe ici de
souligner les considérations pratiques de notre application afin de démontrer que les
ultrasons s’avèrent la méthode d’estimation appropriée au traitement de l’incontinence
nocturne.
La méthode adaptée pour évaluer le volume vésical ne doit pas contraindre l’enfant à
subir des interventions chirurgicales. En effet, il serait peu justifié de devoir opérer un
29
enfant afin de corriger un problème de cette importance. Par conséquent, toutes les
techniques invasives doivent être rejetées. En effet, le volume vésical ne peut être estimé
par la mesure de la pression interne ou de la dilatation surfacique des parois vésicales
(effet Hall) puisque les capteurs requis doivent être implantés directement sur la vessie.
L’alarme de conditionnement que nous développons doit rivaliser avec les alarmes
actuellement sur le marché. Cette alarme doit occuper le plus petit volume possible pour
que l’enfant puisse la porter durant la nuit. Son coût doit être similaire à celui des alarmes
traditionnelles. Aussi, nous devons choisir une méthode d’estimation du volume vésical
qui soit suffisamment précise lorsque les critères de dimensions et de coût sont respectés.
Voilà pourquoi, l’évaluation du volume vésical par la mesure de son impédance
bioélectrique est une méthode rejetée puisqu’elle n’est pas considérée portable et sans
assistance. En effet, cette méthode requiert une multitude d’électrodes encombrantes,
influencés par la température et l’humidité, et nécessite la présence d’une seconde
personne pour assurer la précision des mesures. Elle est plutôt utilisée cliniquement pour
estimer la quantité totale d'eau dans le corps humain (Thomas, 1992).
Le choix des ultrasons est légitime puisque cette méthode d’estimation non-invasive, sans
danger pour la santé, nécessite une électronique dont la complexité peut être minimisée
afin de réduire la grosseur et le coût de l’alarme. Nous proposons alors de développer une
alarme de conditionnement ultrasonore peu encombrante, tout en étant suffisamment
précise pour réveiller l’enfant avant la miction. À la section 2.2, nous décrirons
30
l’architecture de l’alarme précédemment conçue par notre équipe (Pétrican, 1998) et
illustrerons la conséquence de sa miniaturisation sur la précision de l’évaluation du
volume vésical.
Les ultrasons sont fréquemment utilisés pour estimer le volume résiduel d’urine des
patients éprouvant de la difficulté à vider complètement leur vessie après la miction
(Kruczkowski, 1990). Traditionnellement, les urologues retirent cette urine stagnante à
l’aide d’un cathéter, introduit directement dans l’urètre. Les ultrasons interviennent
généralement pour vérifier si la vessie contient un volume d’urine supérieur à 100 ml
avant de recourir à cette technique invasive qui provoque occasionnellement des
infections aux voies urinaires (Revord, 1993). Typiquement, l’estimation du volume
vésical par ultrasons peut ou non utiliser l’imagerie médicale.
Depuis les années soixante, l’imagerie médicale est employée pour estimer le volume de
la vessie. La technique d’estimation utilise deux sections de la vessie provenant de plans
perpendiculaires, l’un transversal et l’autre sagittal (Figure 2.1). De nos jours, ces deux
images 2D sont relevées à l’aide d’un appareil ultrasonique, généralement en temps réel,
où la sonde sectorielle (Griffiths, 1986) ou linéaire, balaye la région abdominale afin de
relever la plus grande section de la vessie dans chacun de ces deux plans (sagittal et
transversal). Chez un adulte, nous l’avons mentionné, la vessie est légèrement située
31
derrière la symphyse pubienne, ce qui complique l’acquisition de ces images. En effet, la
direction de propagation des ultrasons doit faire un angle de 10° à 20° (vers le bas) par
rapport au plan transversal. Par conséquent, la précision de l’évaluation du volume
vésical dépend de l’expérience du technicien procédant à l’acquisition des images. Avec
celles-ci, la vessie peut être modélisée et son volume peut être estimé mathématiquement.
L’erreur d’estimation se situe généralement autour de 20% du volume réel (Hartnell,
1987).
Transversal
Sagittal
Figure 2.1 Illustration des deux plans (sagittal et transversal) à partir desquelles le
volume vésical est estimé par imagerie médicale (Williot, 1988).
La
Figure
2.2
illustre
les
distances
caractéristiques
servant
à
modéliser
mathématiquement le volume vésical d’un adulte selon la méthode de Hakenberg (1983)
et celle de Poston et al. (1983).
(
)
Poston et al. (1983) :
V = 0.7 • H • L • P1
Hakenberg et al. (1983) :
V = 0.65 • H • P1 • P 2 2 • L
(
(2.1)
)
(2.2)
32
Le but ne consiste pas à décrire tous les modèles mathématiques existants (ellipsoïde,
sphère, parallélépipède), mais plutôt à illustrer la possibilité d’évaluer le volume de la
vessie à partir de distances caractéristiques telles que la hauteur, la largeur, et la
profondeur. Ces distances sont représentatives du volume d’urine puisqu’elles
augmentent dans le temps, à mesure que la vessie se remplit. Or, Harrison et al. (1976)
ont constaté que le plan sagittal représente la section de la vessie qui est la plus sensible à
une augmentation du volume d’urine. Voilà pourquoi, à la section 2.3, nous proposons
une méthode pour prédire la miction qui est basée sur la variation de la profondeur et de
la hauteur de la vessie.
À la section 1.1, nous avons mentionné que la vessie ne possède pas de forme
prédéterminée, d’où les différents modèles utilisés pour en estimer le volume.
Néanmoins, la vessie d’un enfant est schématisée à l’aide généralement d’un
parallélépipède tel qu’illustré à la Figure 2.3 (Williot, 1988). On constate donc chez
l’enfant que la profondeur vésicale est relativement constante sur toute la hauteur. Par
ailleurs et puisque la vessie d’un enfant n’est pas cachée par la symphyse pubienne, elle
est plus facilement détectable que celle d’un adulte. En effet, la vessie d’un enfant se
déplace entre la région pelvienne majeure et la cavité abdominale ce qui facilite
l’acquisition des images, l’angle incident de pénétration du faisceau d’ultrasons étant
parallèle au plan transversal. En d’autres mots, les démarches nécessaires pour acquérir
33
les deux plans caractéristiques de la vessie sont simplifiées lorsqu’elles sont réalisées sur
un enfant.
Figure 2.2 Paramètres utilisés par Hartnell (1987) pour estimer le volume vésical
par imagerie médicale.
Vue antérieure
Gauche
Tête
Sagittal
P
Transversal
Pieds
H
Droite
L
Vue postérieure
Figure 2.3 Modélisation de la vessie d’un enfant proposée par Williot (1988).
34
L’estimation du volume vésical par imagerie médicale n’est donc pas appropriée au
traitement de l’incontinence nocturne puisque qu’elle nécessite l’assistance d’une
seconde personne pour adéquatement relever les deux sections de la vessie. De plus, cette
technique requiert des écrans volumineux pour visualiser les images en mode B à partir
desquelles le volume vésical est estimé par diverses équations mathématiques.
Finalement, notez que notre application nous oblige à fixer la sonde sur l’enfant durant la
nuit, ce qui nous permet, au meilleur des cas, de relever une seule section de la vessie.
La Figure 2.4 illustre le principe de fonctionnement d’un dispositif développé par
Kruczkowski et al. (1990) qui estime directement le volume résiduel d’urine, sans
imagerie médicale. Le principe consiste à additionner le volume de plusieurs régions
vésicales régulièrement espacées. Ce dispositif utilise une sonde sectorielle fixée sur le
patient de telle sorte que son orientation parcourt toute la vessie par incrément de 5°.
Ainsi, la sonde couvre 80° dans le plan sagittal et 100° dans le plan transversal, ce qui
produit 320 pyramides ayant un sommet commun (sonde). Le volume VPp d’une
pyramide dont la base est située sur le mur postérieur de la vessie est :
VPp = 1 * H p * Abp
3
(2.3)
où Hp est la hauteur de la pyramide, entre la sonde et le mur postérieur, et Abp est l’aire de
(
sa base tel que : Abp = 2 * H p * Tan(Θ )
2
)
2
(Kruczkowski, 1990). Afin de considérer
35
uniquement la portion de la vessie contenue dans VPp, nous devons y soustraire le volume
VPa de la pyramide dont la base est située sur le mur antérieur de la vessie tel que :
VPa = 1 * H a * Aba
3
(2.4)
où Ha est la distance entre la sonde et le mur antérieur. Ainsi, le volume vésical contenu
dans une pyramide se calcule comme suit :
3
VV = VPp − VPa = 4 * ( H p − H a 3 ) * Tan 2 (5° )
3
2
(2.5)
Puisque ces appareils ultrasoniques estiment directement le volume vésical, le traitement
numérique des données recueillies est complexe. Ainsi, bien que ces dispositifs soient
davantage portables que ceux munis d’écran CRT (pour visualiser les images), ils
demeurent généralement très coûteux parce qu’ils utilisent une sonde sectorielle pour
rassembler l’information. De plus, une telle sonde s’avère trop volumineuse pour être
portée durant la nuit. Par conséquent, les appareils ultrasoniques utilisés pour calculer
directement le volume vésical ne sont pas adaptés au traitement de l’incontinence
nocturne. Toutefois nous avons pu illustrer, à l’aide de l’équation 2.5, la relation directe
entre le volume vésical et la profondeur P de la vessie (Figure 2.3) telle que
P ≈ H p − H a , si nous considérons que pour la vessie d’un enfant, la profondeur est
presque uniforme sur toute la hauteur (Williot, 1988).
36
Figure 2.4 Illustration des seize orientations de la sonde pour balayer le plan
sagittal (tirée de Kruczkowski, 1990).
2.1.2
Théorie des ultrasons
Une onde ultrasonore est une onde mécanique de pression (onde acoustique) supportée
par un milieu gazeux, liquide ou solide. À l’instar des infrasons et du son, les ultrasons ne
se propagent pas dans le vide. Ces ondes, de fréquences supérieures à celles perceptibles
par l’oreille (20KHz pour les enfants), répondent aux mêmes équations de propagation
que les ondes électromagnétiques et possèdent les mêmes propriétés de réflexion, de
réfraction et d’atténuation. L’énergie acoustique d’une onde ultrasonore provient de la
stimulation des molécules du milieu, à l’aide d’un élément piézo-électrique (céramique
ou polymère) que l’on fait vibrer en appliquant une tension élevée à ses bornes. Ainsi, le
37
champ électrique résultant déforme la structure atomique du transducteur ce qui génère
une onde de compression et de cisaillement. En pratique, les ondes de cisaillement sont
rapidement atténuées aux fréquences utilisées en imagerie médicale (sauf dans les os).
Par conséquent, on considère habituellement que l’énergie se propage dans la direction
des ondes de compression (onde plane longitudinale), orientées selon le champ électrique
maximal (perpendiculaire à la face du cristal). Pour de plus amples renseignements
concernant les équations de propagation des ondes ultrasonores, le lecteur peut se référer
à l’ouvrage de Christensen (1988).
La vitesse de propagation d’une onde ultrasonore dépend des caractéristiques intrinsèques
du milieu dans lequel elle est supportée. En effet, la célérité (vitesse de phase) d’une onde
est définie telle que :
c= 1
ρ0 * K
(2.6)
où ρ0 est la masse volumique (densité) et K est l’élasticité (compressibilité) du milieu de
propagation. Dans les tissus mous, tels que la graisse, les muscles et les organes (vessie),
la célérité des ultrasons se situe autour de 1500 m/s (eau). Par ailleurs, lorsqu’une onde
ultrasonore traverse une interface, la variation de la célérité des deux milieux entraîne un
changement de la longueur d’onde puisque λ = c , où f est la fréquence fondamentale
f
de résonance du transducteur. Dans le domaine de l’imagerie médical, la fréquence
utilisée se situe habituellement entre 1 MHz et 10 MHz afin d’optimiser la résolution
axiale (faible longueur d’onde).
38
La tension appliquée sur un transducteur peut être continue ou pulsée. Dans le cadre de ce
projet, nous développons un dispositif qui prédit la miction à partir d’une distance
caractéristique mesurée entre les murs antérieur et postérieur de la vessie. Afin d’éviter
un recouvrement entre l’onde incidente et les échos reçus, le mode d’excitation du
transducteur sera pulsé.
L’excitation pulsée d’un transducteur placé contre la peau génère une onde plane
longitudinale (modèle simplifié) qui se propage dans différents tissus possédant chacun
leur impédance intrinsèque Z telle que Z = ρ 0 K = ρ 0 c . Lorsqu’une onde ultrasonore
traverse une interface de deux milieux d’impédances différentes, une fraction de la
puissance acoustique incidente est réfléchie (écho) vers le cristal. Cette puissance
réfléchie par l’interface est proportionnelle à la variation d’impédance entre ces deux
milieux. Puisque l’élément piézo-électrique agit à la fois comme émetteur et récepteur
d’ultrasons (propriétés bidirectionnelles), une tension électrique sinusoïdale se développe
à ses bornes lorsqu’un écho est reçu. En tenant compte de la célérité des milieux ayant
supportés la propagation de l’onde, il est possible de déduire la distance qui sépare deux
interfaces par la mesure du temps écoulé entre la détection de ses échos. La Figure 2.5
illustre le principe permettant d’évaluer la distance entre deux interfaces où les milieux
de propagation impliqués possèdent une impédance différente (ρ1 ≠ ρ2) mais une célérité
semblable (c1 ≈ c2). Soit un milieu de propagation c2 (urine), nous voulons évaluer la
distance l2 (profondeur vésicale). Le premier écho détecté (a), appelé bang initial,
39
provient de l’interface cristal/peau. Les deux échos suivants (b et c) représentent
respectivement la réflexion de l’onde incidente sur l’interface c1/c2 (mur antérieur) et
l’interface c2/c1 (mur postérieur). Soient t1 et t2, les instants de la réception de ces deux
échos, on obtient aisément les distances recherchées telles que
l1 =
t1
• c1
2
et
l2 =
(t 2 − t1 ) • c
2
2
(2.7)
où le facteur ½ traduit le fait que l'onde ultrasonore effectue un trajet aller/retour avant
d’être détectée par le transducteur. Par ailleurs, la Figure 2.5 illustre l’atténuation des
ultrasons dans les tissus humains, puisque l’amplitude des échos détectés diminue de
façon proportionnelle à la distance parcourue (∝ à e −αz , où α est le coefficient
d’atténuation et z est la distance parcourue). Notons également que l’atténuation d’une
onde ultrasonore dans les tissus humains augmente en fonction de la fréquence du
transducteur (∝ à fβ, où 1≤β≤2). Finalement, le dernier écho détecté (d) représente le cas
d’une réflexion multiple de l’écho b puisque t 3 = 2t1 .
La Figure 2.6 illustre l’architecture générale d’un appareil ultrasonique qui permet de
détecter les différentes interfaces traversées par une onde ultrasonore provenant d’un seul
élément piézo-électrique. Cette architecture englobe un transducteur et de multiples
étages électriques essentiels à la génération des ultrasons (émetteur) et à la détection des
échos (récepteur). Cette démarche sert à démontrer le fonctionnement des étages à partir
desquelles nous développerons une alarme de conditionnement miniaturisée.
40
Figure 2.5 Principe de l’évaluation de la distance séparant deux interfaces
(Christensen, 1988).
Figure 2.6 Architecture d’un appareil ultrasonique fonctionnant dans le mode A
(Christensen, 1988).
41
La Figure 2.7 illustre le schéma d’une sonde ultrasonore fabriquée à partir d’un seul
élément piézo-électrique. Les caractéristiques du transducteur telles son diamètre D, sa
fréquence fondamentale de résonance f et son facteur de qualité Q détermine la résolution
(axiale et latérale) du système ultrasonique. En effet, la résolution axiale RA est définie
comme étant la distance minimale séparant deux interfaces rapprochées telle qu’elles
peuvent être détectées sans qu’il y ait recouvrement des échos. Comme première
approximativement, le nombre de périodes contenu dans une onde de puissance
acoustique est approximativement égale à Q. Ainsi, la durée de l’onde émise suivant
l’excitation du transducteur est t =
Q
, où le facteur ½ traduit le fait que la période d’une
2f
onde de puissance acoustique est la moitié de celle d’une onde de pression de fréquence f.
Ainsi, la résolution axiale RA d’un transducteur est :
Q * cm Q * λ
t
R A ≈ cm =
=
2
4* f
4
(2.8)
où cm est la célérité du milieu situé entre les deux interfaces. Par ailleurs, l’équation 2.8
tient compte du fait que l’onde doit effectuer un trajet aller/retour entre les deux
interfaces. Ainsi, l’équation 2.8 suggère une amélioration de la résolution axiale
(diminution de RA) lorsque la fréquence du transducteur augmente (λ diminue) et son
facteur de qualité diminue. En effet, un transducteur excité dans le mode pulsé possède
généralement un faible Q (entre 2 et 5) afin qu’il cesse de vibrer rapidement. Ainsi, un
absorbant acoustique, dont l’impédance est adaptée à celle du transducteur (minimise les
réflexions provenant de l’arrière du transducteur), est généralement placé derrière
42
l’élément piézo-électrique afin d’optimiser sa résolution axiale (au détriment de la
puissance acoustique émise).
Figure 2.7 Schéma d’une sonde ultrasonore composée d’un élément piézo-électrique
(Christensen, 1988).
La résolution latérale RL d’un transducteur est définie comme étant la distance minimale
séparant deux interfaces situées dans un même plan (perpendiculaire à la direction de
propagation de l’onde ultrasonore), telle qu’elles peuvent être détectées indépendamment
l’une de l’autre. En d’autres mots, la résolution latérale dépend du diamètre du faisceau
d’ultrasons au niveau des dites interfaces. La Figure 2.8 démontre l’allure d’un faisceau
d’ultrasons émis par un transducteur non focalisé de diamètre D. On constate que le
faisceau ultrasonore se propage uniformément sur une distance ZR (champ proche) avant
2λ 

de diverger ( φ d = sin −1  0.61  ) dans la région du champ éloigné. Ainsi, la distance de
D

transition ZR entre le champ proche et le champ éloigné se calcule comme suit :
43
ZR =
D2 D2 * f
=
4λ
4 * cm
(2.9)
où D est le diamètre du transducteur. Dans le domaine de l’imagerie médicale, un
transducteur est généralement conçu afin que les interfaces à détecter se situent dans la
région du champ proche. Ainsi, dans cette région, la résolution latérale RL correspond au
diamètre D du transducteur. Selon l’équation 2.9, on remarque que la distance de
transition ZR augmente proportionnellement à D2. Ainsi, plus les interfaces sont
profondes, plus le diamètre D d’un transducteur augmente au détriment de la résolution
latérale dans la région du champ proche.
Figure 2.8 Comportement du faisceau d’ultrasons émis par un transducteur sans
lentille focale (Christensen, 1988).
Afin d’optimiser la résolution latérale RL d’un transducteur, on utilise généralement une
lentille focale placée devant l’élément piézo-électrique (Figure 2.9). La résolution latérale
d’un transducteur dont la distance focale lf est située dans le champ proche se calcule
comme suit :
44
 l f * cm 
lf 

RL ≈ 2.44 λ = 2.44
 D* f 
D
(2.10)
L’équation 2.10 reflète une diminution13 de RL proportionnellement à D. Une
augmentation du diamètre D optimise par conséquent la résolution latérale d’un
transducteur focalisé, en plus d’augmenter la distance de transition ZR (équation 2.9).
Finalement, notons qu’une lentille focale sert aussi à adapter l’impédance du transducteur
à celle du milieu immédiat de propagation (surface de la peau) afin d’optimiser le
transfert d’énergie acoustique et minimiser les réflexions multiples.
Figure 2.9 Illustration de l’amélioration de la résolution latérale d’un transducteur
muni d’une lentille focale (Christensen, 1988).
Le rôle du circuit d’excitation (émetteur) de la Figure 2.6 est de faire vibrer le
transducteur afin de générer le faisceau incident d’ultrasons. Pour ce faire, ce circuit
excite le transducteur par un pulse de haute tension, typiquement entre 50V et 200V. Afin
d’optimiser la résolution axiale, ce pulse de tension doit être de courte durée, soit aux
13
Une diminution de RL se traduit par une amélioration de la résolution latérale.
45
alentours de 500 ns à 1500 ns, et posséder un temps de monté rapide (50ns). Puisque
l’émetteur et le récepteur sont connectés ensemble, via le transducteur, un commutateur
isole le premier étage d’amplification contre cette haute tension d’excitation. Une fois le
transducteur excité, le récepteur effectue l’amplification et le traitement des échos.
L’amplitude de la tension développée aux bornes du transducteur lors de la réception
d’un écho est de l’ordre de quelques centaines de millivolts (200 mV à 500 mV) . Ainsi,
les échos sont d’abord amplifiés par un étage de gain fixe allant de 20dB à 25dB. Puis,
afin de compenser pour l’atténuation de l’onde causée par les tissus humains, les échos
sont à nouveau amplifiés, cette fois par un étage dont le gain augmente en fonction du
temps (amplificateur TGC). Les échos sont ensuite démodulés pour conserver
uniquement l’enveloppe du signal. Finalement, on procède à l’affichage des résultats. La
Figure 2.10 illustre les deux types de configuration d’affichage où la variation
d’impédance d’une interface peut être estimée soit par l’amplitude de l’écho (mode A) ou
l’intensité d’un pixel lumineux (mode B). À partir de la configuration mode B, il est
possible de balayer, par rotation du transducteur (mécanique ou électrique), un plan
autour d'un axe fixe afin d’afficher une image en deux dimensions (section). La plupart
des dispositifs ultrasonores utilisés dans le domaine de l’imagerie médicale affiche des
images de ce genre, telles qu’illustrées à la Figure 2.2.
46
Figure 2.10 Illustration des deux types de configuration d’affichage (Christensen,
1988).
2.2
Revue des travaux antérieurs
Afin de minimiser la complexité de l’alarme, notre équipe décide d’estimer le volume de
la vessie à l’aide d’une sonde peu coûteuse et peu volumineuse, fabriquée d’une seul
élément piézo-électrique. Cette sonde est placée sur l’abdomen de l’enfant de manière à
détecter le mur postérieur de la vessie et uniquement lorsqu’elle atteint un volume
critique. En d’autre mots, l’approche d’estimation pour prédire la miction est basée sur la
détection de la vessie au moment où sa hauteur reflète un volume proche de celui qui
déclenche le réflexe involontaire de la miction. En effet, la sonde doit être placée (lieu et
orientation) telle que le mur postérieur de la vessie vide d’un enfant, située dans la région
pelvienne majeure, ne réfléchit aucun écho. À mesure que la vessie se remplit d’urine, le
sommet du fundus, lié au nombril par le ligament ombilical médian, monte
progressivement dans la cavité abdominale. Pour prédire la miction, il suffit que l’onde
ultrasonore soit réfléchie par l’interface entre les trois épaisses couches de muscles
formant la vessie et l’urine (mur postérieur) quelques minutes avant la miction. Malgré le
47
fait que les tissus mous, les muscles et le gras situés devant la vessie forment un milieu
plutôt homogène (faible variation d’impédance), des échos peuvent provenir de ces
interfaces, sans compter celui qui est réfléchi par le mur antérieur de la vessie. Nous
décrirons un peu plus loin dans cette section, la technique utilisée pour discerner le mur
postérieur de la vessie de ces autres interfaces.
Faisceau d’ultrasons
Sonde
Faisceau d’ultrasons
Sonde
Vessie
pleine
Vessie
vide
Pubis
a)
Pubis
b)
Figure 2.11 Illustration de l’approche initialement utilisée pour prédire la miction.
a) la vessie est vide et aucun écho est détecté. b) la vessie atteint un volume critique
et deux échos sont réfléchis.
L’architecture du dispositif ultrasonore conçue par notre équipe est fortement inspirée
d’un appareil ultrasonique portable dédié à la détection du liquide amniotique chez les
espèces porcines et bovines. Ce dispositif, fabriqué par la compagnie Alliance Médical
Inc., identifie les animaux en période de gestation par la détection de la paroi arrière de
48
l’utérus. Lorsqu’un animal porte une progéniture, le faisceau incident d’ultrasons est
réfléchi par cette paroi et une alarme se met en marche. L’alarme de conditionnement est
donc une adaptation de ce dispositif vétérinaire dont l’architecture fut simplifiée afin de
minimiser sa taille, son coût et sa consommation de courant. L’architecture de l’alarme
de conditionnement développée par Pétrican est présentée à la Figure 2.12. Notez que
tous les étages sont alimentés via un compteur binaire alimenté à 9V.
Pile 9V
Alarme
Compteur
binaire
Convertisseur
DC/DC
Comparateur
Générateur
d'impulsions
Amplificateur
vidéo
Émetteur
Récepteur
Sonde ultrasonore
Figure 2.12 Architecture du dispositif développé par Pétrican (1998).
Voici la description des principaux modules :
•
Sonde ultrasonore : l’élément piézo-électrique dont le diamètre D est de 19mm
résonne à une fréquence f de 3.5 MHz. Cette fréquence s’avère un bon compromis
49
entre la résolution (axiale et latérale) et la profondeur de pénétration du faisceau
ultrasonore (atténuation ∝ à la fréquence). Cette fréquence correspond au standard
utilisé en imagerie médicale pour le diagnostique de la région abdominal. Ce
transducteur est muni d’une lentille dont la distance focale lf de 10 cm permet
d’optimiser la détection du mur postérieur de la vessie14. Son facteur de qualité Q
étant inférieur à 2, la résolution axiale RA et la résolution latérale RL au point focal
sont respectivement inférieures à 0.3 mm (équation 2.8) et 6 mm (équation 2.10)
lorsque nous considérons la célérité de l’eau comme milieu de propagation
(cm=1500m/s).
•
Compteur binaire : ce composant intégré contrôle l’alimentation de chaques étages
électroniques du dispositif afin de minimiser la consommation de courant pendant les
périodes latentes. En effet, puisque la vessie prend entre deux et trois heures pour
collecter environ 400ml d’urine durant la nuit, il n’est pas nécessaire de
continuellement effectuer des mesures. Ainsi, ce compteur binaire désactive
l’alimentation de tous les étages entre chaques cycles d’excitation du transducteur.
Par ailleurs, il sert aussi à améliorer le rapport signal sur bruit au niveau du récepteur
puisqu’il désactive l’émetteur pendant l’amplification des échos. Par ce fait même, le
compteur binaire permet de simplifier la complexité du filtre passe-haut situé à
l’entrée de l’étage d’amplification, ce qui facilite la miniaturisation de l’architecture
de l’alarme de conditionnement.
14
Selon l’équation 2.9, la distance de transition ZR est supérieure à 20 cm (cm = 1500 m/s). Le faisceau
ultrasonore converge donc au point focal, situé à 10 cm du transducteur.
50
•
Émetteur : l’émetteur sert à exciter le transducteur dans le but de générer le faisceau
incident d’ultrasons. Il est composé d’un convertisseur DC/DC dont la sortie de 60 V,
produite à partir d’une pile de 9 V, est utilisée par le générateur d’impulsions lors de
l’excitation du transducteur. Le générateur d’impulsions fait vibrer le transducteur à
l’aide d’un pulse de 60V dont la durée est typiquement de 1µs. Par ailleurs, le temps
de montée de ce pulse d’excitation est d’environ 30 ns.
•
Récepteur : le rôle du récepteur est de traiter les échos afin de déclencher l’alarme
lorsqu’ils sont réfléchis par le mur postérieur de la vessie. Il est composé d’un étage
d’amplification et d’un comparateur analogique dont la sortie active l’alarme. Le gain
fixe de l’étage d’amplification est sélectionné tel que l’écho amplifié possède une
amplitude crête à crête de 2 V (Pétrican, 1998). De plus, l’entrée de l’amplificateur
est protégée contre le pulse de 60 V à l’aide de deux diodes inversées, connectées en
parallèle (l’amplitude crête d’un écho est inférieure au seuil de polarisation directe
d’une diode au silicium). L’amplificateur possède les propriétés suivantes : faible
courant d’alimentation (5.0 mA), faible bruit à l’entrée ( 1.7nV / Hz ), bande
passante en boucle fermée supérieure à 10 MHz pour un gain de 40dB et large plage
dynamique (> à 5 V pour VCC = 9 V). Afin de détecter uniquement les échos
provenant du mur arrière de la vessie, le compteur binaire active l’étage
d’amplification 67µs après l’excitation du transducteur (trajet aller/retour). Ainsi, tous
les échos provenant d’interfaces situées à 5 cm du transducteur sont négligés
(cm=1500m/s). Par conséquent, un écho réfléchi par le mur antérieur de la vessie,
situé à moins de 5 cm du transducteur, ne déclenche pas l’alarme de conditionnement
51
puisqu’il n’est pas amplifié. Ainsi, il suffit de débuter l’amplification à l’intérieur de
la vessie puisque l’urine est un milieu homogène sans réflexion. Lorsque l’amplitude
d’un écho amplifié dépasse la tension de référence du comparateur analogique,
l’alarme se déclenche. Cette tension de référence est fixée telle que le bruit présent à
la sortie de l’amplificateur ne peut faire basculer la sortie du comparateur. La Figure
2.13 illustre la technique d’amplification sélective pour déclencher l’alarme
uniquement lors de la détection du mur postérieur de la vessie.
Figure 2.13 Illustration de la technique d’amplification sélective des échos
provenant uniquement du mur postérieur de la vessie (tirée de Pétrican, 1998).
Afin de valider son approche prédisant la miction, Pétrican (1998) teste initialement son
alarme de conditionnement sur un ballon en silicone servant à modéliser une vessie dont
le volume est variable par l’ajout ou le retrait d’eau. De plus, la distance séparant le
52
transducteur du ballon peut varier afin de simuler différentes morphologies vésicales
d’enfants. L’objectif de cette première phase de validation consiste à vérifier le bon
fonctionnement de l’alarme et ce, pour divers volume vésical. Ainsi, Pétrican vérifie que
l’alarme se déclenche chaque fois que le ballon intercepte le faisceau d’ultrasons. De
plus, ces tests permettent de quantifier expérimentalement les situations extrêmes qui
perturbent le fonctionnement normal de l’alarme de conditionnement. À titre d’exemple,
lorsque le ballon atteint un volume tel que son sommet intercepte le faisceau d’ultrasons
et que son mur postérieur est situé à moins de 5 cm du transducteur, l’alarme ne sonne
jamais. En outre, l’architecture du dispositif ne permet pas de discerner le mur arrière du
mur avant lorsque ce dernier est situé à plus de 5 cm de la sonde. Dans ce cas, l’alarme
est déclenchée dès la réception du premier écho, en l’occurrence celui réfléchi par le mur
avant. Ensuite, Pétrican teste cliniquement son alarme de conditionnement sur 41 enfants
du Département d’Urologie de l’hôpital Sainte-Justine. Ces tests sont divisés en deux
phases cliniques décrites comme suit :
•
Phase 1 : cette première phase de tests cliniques est divisée en trois étapes, lesquelles
sont réalisées à l’aide d’une sonde tenue manuellement en place par Pétrican15. On
souhaite vérifier ici le bon fonctionnement du dispositif lorsque l’enfant est immobile
et que la sonde est idéalement orientée. Pour un enfant âgé de 10 ans et moins,
Pétrican détermine expérimentalement que le faisceau d’ultrasons doit se propager
parallèlement au plan transverse. Pour un jeune adulte (18 ans), l’angle idéal de
propagation est entre 15° et 20° (vers le bas). La première étape consiste à vérifier
15
Situation idéalisée pour valider l’approche d’estimation du volume vésical.
53
qu’il n’y a aucune interface au-dessus de la vessie qui peut déclencher l’alarme
lorsque la vessie est vide. Pétrican place donc la sonde sur l’abdomen de l’enfant pour
que l’alarme se déclenche lorsque la vessie est pleine et pour qu’elle s’éteigne, une
fois la miction terminée (vessie vide). Pétrican prouve de surcroît que la hauteur de la
vessie varie suffisamment pour discerner une vessie gonflée d’une vessie vide. La
deuxième étape consiste à mesurer la distance verticale séparant les positions de la
sonde détectant respectivement une vessie pleine et une vessie vide. Pétrican mesure
expérimentalement des distances variant de 2 à 3 cm, ce qui démontre
expérimentalement que la hauteur de la vessie est directement reliée16 au volume
d’urine contenu dans la vessie. Finalement, la troisième étape sert à évaluer la
précision17 de l’estimation du volume vésical. Ainsi, 300 ml d’une solution à base
d’eau distillée est injectée par cathéter dans la vessie de trois enfants et ce, en prenant
soin de marquer la position de la sonde lorsque le volume atteint 150 ml. Avec la
sonde adéquatement positionnée sur ce niveau de détection, Pétrican vérifie que
l’alarme demeure activée entre les volumes de 150 ml et 300 ml. Puis, la vessie est
graduellement vidée jusqu’à ce que l’alarme cesse de sonner. À ce moment, la
différence entre le volume résiduel d’urine dans la vessie et le volume prévu (150 ml)
correspond à l’erreur d’estimation de l’approche utilisée par Pétrican. L’erreur
moyenne, mesurée par cathéter à 22.33 ml (entre 12 ml et 35 ml) ou 15%, est très
petite comparativement aux erreurs d’estimation de ±100 ml et ±20% rapportées par
16
Cette fonction n’est pas parfaitement linéaire.
La précision est estimée en ml afin de la convertir ultérieurement en temps à partir du taux de
remplissage de la vessie durant la nuit.
17
54
Griffiths (1986) dans une étude qui compare plusieurs modèles d’estimation du
volume vésical par imagerie médicale. Notez cependant que cette précision découle
du positionnement de la sonde en relation à un volume vésical connu. À l’inverse,
nous ne pouvons pas comparer la précision rapportée par Pétrican à celles des
techniques d’estimation décrites à la section 2.1.1. Par ailleurs, cette précision illustre
un cas idéal, celui où la sonde est immobile puisque Pétrican l’oriente toujours dans
la même direction.
•
Phase 2 : cette phase clinique sert à valider le fonctionnement de l’alarme lorsque la
sonde n’est plus idéalement orientée par Pétrican. Bien qu’elle soit fixée sur
l’abdomen de l’enfant à l’aide d’une ceinture élastique conçue pour éviter les
déplacements, son orientation peut changer pendant que l’enfant respire
normalement. Pétrican constate que la détection du mur postérieur de la vessie varie
occasionnellement d’un cycle d’excitation au suivant et conclut que l’instabilité de
l’alarme est causée par le changement dans l’orientation de la sonde. Ainsi, les
mesures sont non reproductibles puisque l’alarme détecte des interfaces de hauteurs
différentes lorsque l’orientation de la sonde varie. Notez qu’un changement de 5° de
la direction de propagation du faisceau incident entraîne une variation verticale de 1.3
cm du lieu de réflexion sur le mur postérieur de la vessie lorsqu’il se situe à une
distance de 15 cm du transducteur, ce qui se répercute par une erreur d’estimation
proche de 50%. Si le faisceau d’ultrasons pointe vers en haut de la direction optimale,
le volume vésical est sous-estimé (l’alarme est inutilement inhibée), alors qu’il est
surestimé (l’alarme activée trop tôt) dans le cas contraire. La conclusion tirée par
55
Pétrican est que l’alarme est peu fiable étant donné l’instabilité de la sonde. En effet,
la précision de l’estimation du volume vésical dépend uniquement du lieu de
réflexion de l’onde sur le mur postérieur de la vessie, ce qui ne peut être garanti
lorsqu’un enfant dort la nuit.
En résumé, Pétrican mentionne que son approche pour prédire la miction est assez précise
lorsque la sonde est parfaitement orientée. Toutefois, l’alarme s’avère peu fiable aussitôt
que l’orientation de la sonde varie. Il observe même une situation où l’alarme suit le
rythme respiratoire de l’enfant. Pétrican propose deux solutions pour améliorer les
performances de l’alarme de conditionnement. La première consiste à utiliser plusieurs
transducteurs, excités un à la fois, pour améliorer la précision de l’estimation du volume
vésical. La deuxième consiste à améliorer la technique d’amplification sélective afin
d’ignorer les interfaces situées derrière le mur postérieur de la vessie. La prochaine
section traite de ces deux améliorations dans le but de décrire le principe de la nouvelle
alarme de conditionnement.
2.3
Aperçu de la nouvelle alarme de conditionnement ultrasonore
À priori, l’utilisation d’une sonde fabriquée de plusieurs transducteurs peut
potentiellement augmenter la précision de l’estimation du volume vésical. Toutefois,
l’inconvénient majeur de la dernière alarme développée par notre équipe ne réside pas
dans la précision de l’approche d’estimation mais plutôt dans la conception du dispositif
qui active l’alarme aussitôt qu’un écho est détecté. Puisque nous savons que la direction
56
de propagation du faisceau d’ultrasons varie de façon imprévisible dans le temps, notre
préoccupation première consiste à modifier l’architecture du dispositif afin de déclencher
l’alarme uniquement lorsque les résultats sont reproduits sur plusieurs cycles
d’excitation. Par exemple, nous devons à tout le moins nous assurer que la vessie est
détectée au minimum deux fois consécutivement avant de conclure que son volume est
critique. Par conséquent, plutôt que de recourir à une sonde complexe, coûteuse et
volumineuse, nous proposons de remplacer directement le compteur binaire de la Figure
2.12 par un contrôleur rapide et peu coûteux (15$ et moins) dont le rôle est de déclencher
l’alarme après la validation des résultats. Pour chaque cycle d’excitation, le contrôleur
détecte les échos et détermine si la profondeur vésicale est critique. Si tel est le cas, il
tient compte des résultats obtenus précédemment pour déterminer l’état de l’alarme
(activée ou éteinte). À la section 3.5, nous expliciterons la démarche des tests cliniques
dont le but consiste à déterminer principalement l’erreur causée par une modification de
l’orientation de la sonde sur les profondeurs vésicales estimées. Selon la reproductibilité
des mesures obtenus, nous ajusterons l’algorithme de validation du déclenchement de
l’alarme pour assurer la fiabilité de la prédiction de la miction.
Le contrôleur n’augmente pas seulement la fiabilité de l’alarme lorsqu’elle est utilisée sur
des patients ambulatoires, il améliore aussi la précision de l’estimation du volume
vésical. En effet, rappelons-nous que l’ancienne approche d’estimation se basait
exclusivement sur la détection du mur postérieur de la vessie. Puisque l’état de l’alarme
est maintenant déterminé par un contrôleur, nous pouvons modifier l’ancienne technique
57
d’amplification sélective afin de détecter aussi le mur antérieur de la vessie. De la sorte,
le contrôleur traite tous les échos reçus et mesure la profondeur vésicale. Comme nous
l’avons démontré à la section 2.1.1, cette distance caractéristique permet d’estimer le
volume de la vessie. Ce paramètre supplémentaire contribue donc à améliorer la précision
de l’estimation servant à prédire la miction. La Figure 2.14 illustre la nouvelle approche
d’estimation. La sonde est placée sur l’abdomen de l’enfant afin de mesurer la distance
entre les murs antérieur et postérieur de la vessie. Lorsque la vessie est vide, le contrôleur
ne détecte aucun écho. À mesure qu’elle se remplit d’urine, la vessie monte dans la cavité
abdominale. Lorsqu’elle intercepte le faisceau d’ultrasons, le contrôleur détecte deux
échos et évalue la profondeur vésicale par la mesure du temps écoulé entre leur détection
(équation 2.7). On considère la célérité de l’urine approximativement comme celle de
l’eau (1500 m/s). La profondeur critique PC illustrant la distance entre les murs antérieur
et postérieur de la vessie quelques instants avant la miction est programmée à même le
contrôleur. Lorsque la distance mesurée est inférieure à PC, le contrôleur mémorise la
profondeur vésicale calculée. Au moment où la profondeur vésicale dépasse PC, le
contrôleur effectue son algorithme de validation, lequel tient compte des résultats
antérieurs pour assurer la fiabilité de l’estimation du volume vésical.
58
d>PC
d<PC
Faisceau
d’ultrasons
Sonde
Pubis
Figure 2.14 Illustration de la nouvelle approche d’estimation basée sur la mesure de
la profondeur vésical.
L’architecture de la nouvelle alarme de conditionnement est présentée à la Figure 2.15.
Essentiellement, la seule modification majeure apportée à l’ancien design concerne
l’utilisation d’un contrôleur pour mesurer la profondeur vésicale et imposer des
conditions de validation avant l’activation de l’alarme. Toutefois, en plus d’améliorer la
précision de l’estimation et la fiabilité de l’alarme utilisé durant la nuit, le contrôleur
contribue à optimiser les considérations suivantes :
•
Consommation de courant : le contrôleur active précisément l’alimentation de
chaques étages électroniques utilisés pour l’excitation du transducteur et le traitement
des échos. Contrairement à l’ancien design, nous pouvons commuter les alimentations
afin de limiter la durée du fonctionnement de chaques étages au temps minimum
59
requis18. Ainsi, notre nouvelle alarme échantillonne la sortie du convertisseur DC/DC
afin d’aviser le contrôleur lorsque le haut-voltage peut être utilisé pour exciter le
transducteur.
•
Technique d’amplification sélective : en désactivant le récepteur au moment
approprié, le contrôleur peut ignorer les échos provenant d’interfaces situées derrières
le mur postérieur de la vessie. De cette façon, nous simplifions la détection des échos
provenant des murs de la vessie.
•
Modification des paramètres de fonctionnement de l’alarme : l’utilisation d’un
contrôleur nous permet de modifier plusieurs paramètres logiciels. Parmi les
ajustements
logiciels
possibles,
mentionnons
la
période
d’excitation
du
transducteur19, les temps de commutations de la fenêtre d’amplification de l’étage de
réception, le seuil de détection critique PC illustrant la profondeur de la vessie d’un
enfant lorsque son volume est proche de la miction, la célérité des différents milieux
ayant supportés la propagation de l’onde ultrasonore (muscle, gras, urine), la durée du
pulse d’excitation pour l’optimisation de la résolution axiale et les diverses conditions
de validation du déclenchement de l’alarme. En d’autres mots, l’alarme de
conditionnement peut être ajustée selon la morphologie vésicale de n’importe quel
enfant afin d’optimiser la prédiction de la miction.
18
Pour l’ancien design, la durée d’activation de chaques étages est fixe puisqu’elle dépend de la fréquence
d’opération du compteur binaire et du poids de sa sortie qui l’alimente.
19
La période d’excitation influence la durée de vie de la pile 9V.
60
Pile 9V
Alarme
(5 V)
Alimentations
(5 V, 15 V)
Interface de
l'usager
Contrôleur
(5 V)
(5 V)
Comparateur
Convertisseur
DC/DC
(15 V)
Démodulateur
(15 V)
Générateur
d'impulsions
Amplificateur
vidéo
(15 V)
(15 V)
Écran LCD
Émetteur
(5 V)
Récepteur
Sonde ultrasonore
Figure 2.15 Architecture de la nouvelle alarme de conditionnement. Un contrôleur
rapide et peu coûteux estime la profondeur vésicale et valide le déclenchement de
l’alarme.
D’autre part, la nouvelle alarme de conditionnement possède une interface versatile pour
que l’usager puisse modifier facilement les paramètres de fonctionnement de l’alarme
lorsque nous la testons expérimentalement. Lors des tests cliniques, nous pourrons donc
ajuster rapidement la distance critique DC selon la morphologie de l’enfant. Finalement,
mentionnons que nous utilisons un écran à cristaux liquides pour afficher les profondeurs
vésicales estimées, lesquelles seront analysées ultérieurement pour optimiser l’algorithme
de validation de l’alarme.
61
CHAPITRE III
3
CONCEPTION ET RÉALISATION DE LA NOUVELLE ALARME
Ce chapitre explicite la conception et la validation expérimentale de la nouvelle alarme
de conditionnement prédisant la miction par l’estimation de la profondeur vésicale. Nos
travaux de recherche sont essentiellement destinés à l’amélioration de la fiabilité de
l’ancienne alarme (Pétrican, 1998) lorsqu’elle est utilisée sur des patients ambulatoires,
c’est-à-dire lorsque la sonde n’est pas idéalement orientée. À la section 2.3, nous avons
proposé l’utilisation d’un contrôleur qui détecte les échos, estime la profondeur vésicale
et active l’alarme lorsque les résultats suggèrent que l’orientation de la sonde est stable.
Ce dispositif, validé expérimentalement sur un adulte, est maintenant prêt à être testé sur
des enfants de l’Hôpital Général pour Enfants de Montréal. La section 3.1 résume les
démarches poursuivies pour réaliser cette alarme. Les propriétés souhaitées du contrôleur
et de la sonde sont décrites à la section 3.2. Ces calculs préliminaires déterminent les
spécifications minimales requises pour respecter les critères de notre application. Les
sections 3.3 et 3.4 couvrent respectivement la description des étages électroniques
(alimentations DC, émetteur et récepteur) et la programmation logicielle du contrôleur.
3.1
Démarches
Cette section décrit les démarches entreprises pour concevoir une alarme de
conditionnement miniaturisée qui estime la profondeur vésicale d'un enfant. Dans le
62
cadre de ce projet de maîtrise, nous avons réalisé deux versions de la nouvelle alarme de
conditionnement. La première fût validée expérimentalement dans un milieu de
propagation idéale où la réflexion était quasi totale (Beauchamp-Parent, 1998). Outre
l’utilisation d’un contrôleur, nos préoccupations initiales concernant le design de cette
première version portaient sur l’optimisation de la consommation de courant et la
miniaturisation des composants électroniques. Ainsi, nous avons initialement choisi de
réduire et de régulariser la tension d’alimentation des étages électroniques à 5V (au lieu
de 9V) en utilisant deux piles alcalines de 1.5 V. Cette première version ne disposait donc
pas de la tension d’alimentation de 15 V schématisée sur la Figure 2.15 20. De surcroît,
nous avons procédé à l’amélioration des performances de chacun des étages électroniques
(émetteur et récepteur), sans pour autant modifier les caractéristiques d’excitation de la
sonde. En effet, les résultats rapportés par Pétrican (1998) supposent qu’une tension
d’excitation de 60 V est suffisante pour exciter les transducteurs que nous avons conçus
et puis fait fabriquer (section 3.2). Lorsque nous avons testé cette alarme dans un milieu
de propagation avec atténuation (par exemple sur un humain), nous avons pu observer
que les échos provenant d’interfaces éloignées (paroi postérieure de la vessie) étaient de
trop faibles amplitudes pour que le récepteur les détecte. Notre conclusion est que
l’atténuation causée par les tissus, le gras et les muscles, ainsi que la diminution du
coefficient
de
réflexion
des
interfaces
de
la
région
abdominale
réduisent
considérablement le rapport signal sur bruit des échos détectés. Par ailleurs, la réduction
20
La première version de l’alarme de conditionnement utilise toutefois le contrôleur de la Figure 2.15.
63
de la tension d’alimentation21 entraîne aussi une diminution de la plage dynamique de
l’étage d’amplification, limitant davantage la détection des échos par l’étage de
comparaison. Par conséquent, nous avons procédé à une révision du design de la
première version afin d’augmenter la puissance acoustique émise par le transducteur, sans
dégrader la résolution axiale des échos réfléchis par les interfaces de la région
abdominale. L’augmentation du pulse d’excitation requise pour accroître la profondeur
de pénétration du faisceau d’ultrasons nécessite que nous modifions le design du
convertisseur DC/DC, pour élever l’amplitude de la haute tension jusqu’à 200 V (plus du
double de la première version). Conséquemment, les transistors MOS de puissance de
l’émetteur possèdent une tension de claquage drain-source V(BR)DSS qui supporte une
tension minimale de 200V. Puisque le seuil de conduction V(TH)GS de ces transistors croît
proportionnellement avec V(BR)DSS et que nous devons minimiser leurs résistances drainsource RDS, afin de minimiser les pertes d’inductance et augmenter l’amplitude du pulse
d’excitation (section 3.3.2), nous modifions aussi le design de l’étage d’alimentation du
dispositif pour y ajouter une tension DC de 15 V. La deuxième version décrite au chapitre
III utilise une pile de 9 V pour générer les deux tensions d’alimentation (5 V et 15 V).
L’amélioration des performances du dispositif entraîne toutefois des conséquences
négatives, à savoir une augmentation de la superficie et de la consommation de
puissance. Cependant, lors de cette révision de design, nous avons accordé une
prépondérance au fonctionnement du dispositif, validé expérimentalement sur un adulte
(section 4.2). Le but consiste à développer un prototype fonctionnel que nous pouvons
21
L’ancienne alarme dispose d’une alimentation de 9 V, au lieu de 5 V pour notre première version.
64
tester sur des patients ambulatoires et ce, le plus rapidement possible. Puisque les tests
cliniques entraîneront obligatoirement une révision de la conception logicielle
(algorithme d’identification des parois vésicales et algorithme de validation du
déclenchement de l’alarme) selon les résultats obtenus, il importe que le dispositif détecte
les échos réfléchis par les parois vésicales d’un adulte. Ainsi, la priorité est la réalisation
d’une alarme de conditionnement fonctionnelle, peu importe le coût et la taille des
composants électroniques utilisés. Une fois que nous aurons validé cliniquement le
dispositif sur des enfants énurétiques, nous procéderons aux modifications permettant de
réduire le coût , la grosseur et la consommation de courant du dispositif. L’architecture
électronique de notre alarme de conditionnement est déjà conçue pour faciliter cette
future intégration.
3.2
Calculs préliminaires
Cette section décrit la méthode utilisée pour choisir un contrôleur et un transducteur dont
les caractéristiques respectent les critères de notre application. Puisque le contrôleur est
responsable de la détection des échos, il est important d’évaluer sa fréquence d’horloge
minimale fmin selon la résolution axiale souhaitée. Par ailleurs, nous illustrerons certaines
autres propriétés du contrôleur servant à faciliter le développement et à améliorer les
performances du dispositif (coût, surface, consommation de courant). De plus, nous
expliquerons le choix du transducteur en fonction de la résolution latérale requise pour
détecter la vessie d’un enfant.
65
La meilleure méthode pour illustrer les critères de design particuliers de notre application
consiste à estimer le temps de propagation d’une onde ultrasonore entre diverses
interfaces situées dans la région abdominale d’un enfant. Nous pourrons ainsi avoir une
idée du temps écoulé entre la détection du mur antérieur et celle du mur postérieur de la
vessie. De surcroît, nous estimerons fmin du contrôleur telle que l’épaisseur du muscle de
la vessie établie la résolution axiale minimale. Par conséquent, la Figure 3.1 schématise la
région abdominale d’un enfant dans le plan sagittal. Les dimensions illustrent la distance
parcourue par l’onde traversant différents milieux situés entre la sonde et le mur
postérieur de la vessie. Notez que la variation d’impédance entre la sonde et la peau
entraîne une réflexion du faisceau incident. Toutefois, l’écho se confond au bang initial
puisque la distance parcourue est pratiquement nulle. Ainsi, l’onde traverse
respectivement la peau, un milieu composé de gras et d’eau, la paroi antérieure de la
vessie (muscles), un milieu d’urine (eau) et finalement la paroi postérieure de la vessie
(muscles). Le Tableau 3.1 résume les paramètres acoustiques de différents milieux de
propagation traversés par l’onde acoustique (Christensen, 1988). Prenez également note
que l’on retrouve la plus grande variation d’impédance22 entre les tissus gras et les
muscles. En outre, les vitesses de phase du Tableau 3.1 sont utilisées pour estimer celles
des milieux situés dans la région abdominale.
22
Interface où le coefficient de réflexion est le plus élevé.
66
Peau
(tissu mou)
Mur antérieur
de la vessie
(muscles)
Urine
(eau)
Eau et
Tissu gras
D
Mur postérieur
de la vessie
(muscles)
#1
Eau et
Tissu gras
#3
Sonde
#2
#5
#6
#4
5 cm
P = 10 cm
0.25 cm
0.25 cm
0.5 cm
Figure 3.1 Exemple de morphologie abdominale d’un enfant dont la vessie est
pleine permettant d’estimer le temps de propagation de l’onde acoustique au travers
différentes interfaces situées entre la sonde et le mur postérieur.
Tableau 3.1 Évaluation des paramètres acoustiques des milieux de propagation
illustrés à la Figure 3.1.
Masse volumique ρ0 Vitesse de propagation
Impédance
Milieu de propagation
(g/cm3)
(105 cm/s)
(Kg/cm2s)
Tissu gras
0.94
1.48
139
Muscles
1.07
1.57
168
Eau (urine)
1.00
1.50
150
Tel qu’illustré à la section 2.1.2, le temps de propagation tpropagation d’une onde traversant
un milieu de célérité (vitesse de phase) cmoy sur une distance dparcourue est :
67
t propagation =
d parcourue
(3.1)
cmoy
Le Tableau 3.2 résume le temps de propagation de l’onde dans chacun des milieux
rencontrés entre la sonde et le mur postérieur de la vessie. Notez que les vitesses de phase
cmoy sont une approximation des valeurs du Tableau 3.1 puisque, en réalité, elles
dépendent de la morphologie de l’enfant. En effet, la morphologie de l’enfant (tissus gras
et musculaires) influencera différemment le temps de propagation de l’onde dans le
milieu #2. Finalement, puisque nous désactivons le récepteur derrière le mur postérieur
de la vessie, l’estimation du temps de propagation de l’onde dans le milieu #6 importe
peu.
Tableau 3.2 Évaluation des temps de propagation de l’onde aux travers les
différentes interfaces de la région abdominale illustrées à la Figure 3.1.
Milieu #
cmoy
dparcourue
tpropagation
(105 cm/s)
(cm)
(µs)
Description
1
Peau (tissu mou)
1.53
0.5
3.3
2
Tissu gras et eau
1.49
5
33.6
3
Muscles (mur ant.)
1.57
0.25
1.6
4
Eau (urine)
1.50
10
66.7
5
Muscles (mur post.)
1.57
0.25
1.6
TOTAL
106.8
68
À partir du Tableau 3.2, nous pouvons estimer le temps écoulé entre l’excitation du
transducteur et la détection des échos provenant des interfaces de la région abdominale.
Tout d’abord, nous supposons que nous débutons la détection des échos quelque part
entre la peau et le mur antérieur de la vessie. Idéalement, nous voulons que le premier
écho détecté provienne du mur antérieur de la vessie. Nous expliquerons à la section 3.4
comment le contrôleur discerne le mur antérieur de la vessie des autres interfaces pouvant
se trouver devant lui. Le Tableau 3.3 démontre la réflexion de quatre échos identifiant
respectivement les interfaces tissus gras/muscles, muscles/urine, urine/muscles et
muscles/tissus gras. Pour notre application, nous souhaitons détecter les parois vésicales
sans nécessairement mesurer leur épaisseur. Par conséquent, le contrôleur ne doit pas
obligatoirement faire la distinction entre les échos #1 et #2. Nous acceptons donc une
résolution axiale qui soit légèrement supérieure à 0.25 cm. Concrètement, la résolution
axiale maximale sera fixée par le récepteur (démodulateur et comparateur). Nous voulons
ainsi nous assurer que le contrôleur ne limite pas la résolution axiale des échos détectés.
Nous pouvons alors évaluer la fréquence minimale d’opération du contrôleur de telle
sorte qu’il puisse distinguer, dans le pire des cas, deux interfaces séparées de 0.25 cm.
D’après le Tableau 3.3, le temps écoulé entre la réception des échos #1 et #2 est de 3.2
µs.
69
Tableau 3.3 Temps écoulé depuis l’excitation du transducteur lors de la détection
des échos provenant des interfaces de la Figure 3.1.
Interfaces
Temps écoulé
des milieux
(µs)
1
2 et 3
73.8
2
3 et 4
77.0
3
4 et 5
210.4
4
5 et 6
213.6
Écho #
Durant la fenêtre de détection sélective, le contrôleur échantillonne la sortie du récepteur.
Lors de la détection d’un écho, le nombre minimum d’instructions élémentaires de code
requis pour effectuer la sauvegarde du temps écoulé23, depuis l’excitation du
transducteur, tourne autour de 10. Conséquemment, une résolution axiale de 0.25 cm 24
nous force à choisir un contrôleur dont la période d’un cycle d’instruction élémentaire est
inférieure à 320 ns. Lorsque le contrôleur utilise une horloge à quatre phases sans
recouvrement pour effectuer une instruction, celui-ci doit alors fonctionner à une
fréquence minimale de 12.5 MHz.
Les autres caractéristiques du contrôleur que nous recherchons sont :
•
Un comparateur analogique intégré à même le contrôleur pour régulariser la sortie
du convertisseur DC/DC. La tension d’excitation du transducteur est alors identique
23
24
Depuis l’excitation du transducteur.
L’épaisseur de la peau correspond au temps écoulé entre la détection des échos #1 et #2.
70
dans le temps, ce qui optimise la reproductibilité des mesures. Le comparateur
analogique minimise de surcroît la consommation de courant puisqu’il avise le
contrôleur aussitôt que la haute tension est stable. De la sorte, le contrôleur active le
convertisseur DC/DC pour la durée minimum requise. Nous décrirons à la section
3.3.2 le design du convertisseur DC/DC, dont la tension de sortie peut être modifiée
par l’usager afin de varier la quantité d’énergie acoustique émise par le transducteur
(selon la morphologie de l’enfant).
•
Un compteur intégré à même le contrôleur pour calculer le temps écoulé entre
l’excitation du transducteur et la réception des différents échos. Ce compteur est
utilisé par le contrôleur pour estimer la profondeur vésicale. En supposant que la
résolution axiale est de 0.25 cm, la période de ce compteur doit être inférieure à 3.2
µs, ce qui ne pose aucun problème lorsque la fréquence d’opération du contrôleur
respecte la résolution axiale souhaitée.
•
Le coût du contrôleur doit être inférieur à 20$ afin de minimiser celui de l’alarme de
conditionnement. Par ailleurs, nous considérons aussi le coût des outils de
développement (programmeur).
•
Le contrôleur doit posséder suffisamment de mémoire pour respectivement
sauvegarder le programme (« EPROM ») et les diverses variables temporaires
mémorisées durant l’exécution du programme (« RAM »). De cette façon, nous
voulons nous assurer qu’aucune mémoire externe n’est requise puisque nous
souhaitons limiter la surface totale du dispositif.
71
Afin de respecter toutes les conditions élaborées ci-haut, nous avons choisi le contrôleur
PIC14000, fabriqué par la compagnie Microchip Technology Inc. (1998), pour détecter
les échos et estimer la profondeur vésicale d’un enfant. Voici les principales
caractéristiques de ce contrôleur :
•
Ce contrôleur opère à une fréquence maximale de 20 MHz à l’aide d’un simple
oscillateur à cristal externe. Cette fréquence est divisée à l’intérieur du contrôleur
pour générer une horloge à quatre phases sans recouvrement. La période d’un cycle
d’instruction est de 200 ns, ce qui nous assure que le contrôleur ne limite pas la
résolution axiale que nous avons précédemment fixée à 0.25 cm. Ce contrôleur
possède une architecture RISC, composée de deux étages pipelinés, qui décode la
plupart des instructions en un seul cycle.
•
Ce contrôleur possède un comparateur analogique interne dont la sortie est capable de
générer une interruption sensible au niveau logique. La tension de référence,
connectée sur l’entrée négative de ce comparateur, varie de 150 mV à 850 mV. À la
section 3.3.2, nous démontrerons la technique utilisée pour échantillonner la sortie du
convertisseur DC/DC afin de régulariser la haute tension le plus rapidement possible.
•
Ce contrôleur possède un compteur interne TMR0. La période de ce compteur de 8 bits
est déterminée par le contenu du registre
OPTION.
La plus petite période
d’incrémentation dépend de celle d’un cycle d’instruction élémentaire. Un registre
PRESCALER
(3 bits) permet d’augmenter cette période par multiple de deux (2 à 256).
Pour une fréquence d’opération du contrôleur de fopération, les périodes TTMR0 possibles
de ce compteur sont :
72
TTMR 0 =
où 0 ≤
PRESCALER
4
f opération
* 2 ( PRESCALER+1)
(3.2)
≤ 7. Pour fixer une période équivalente à celle d’une instruction
élémentaire (200 ns), le registre
PRESCALER
doit être assigné à la fonction
« Watchdog Timer ». Puisque le contrôleur de notre dispositif opère à une fréquence
de 20MHz, la période d’incrémentation du compteur TMR0 varie de 200 ns à 51.2 µs.
•
Chez Digi-Key (1997), un distributeur de composants électroniques, la version
EPROM de ce contrôleur (PIC14000/JW) coûte 19.21$ par unité. Nous avons utilisé
ce contrôleur pour développer notre dispositif puisque sa mémoire ROM s’efface
rapidement à l’aide de rayon ultraviolets. Toutefois, il importe de mentionner que la
version OTP (« One Time Programmable ») de ce contrôleur est moins coûteuse, soit
autour de 8$ (766$ pour 100 unités). En outre, le kit de développement que nous
avons utilisé pour programmer ce contrôleur est le « PICSTART Plus Programmer ».
Son prix est d’environ 250$.
•
Ce contrôleur de 28 broches possède 4K x 14 bits de mémoire ROM, ce qui est jugé
suffisant pour supporter le programme à développer. Puisque nous codons en
assembleur, nous estimons employer moins de 2048 instructions. Par ailleurs, lors de
l’exécution du programme, nous disposons de 192 octets de mémoire RAM pour
sauvegarder les différents résultats ou paramètres servant à l’estimation de la
profondeur vésicale et à la validation du déclenchement de l’alarme. Par conséquent,
ce contrôleur favorise la miniaturisation du dispositif puisqu’il est autonome et
73
compact. En effet, celui-ci dispose d’une vingtaine de broches de contrôle (« I/O »)
dont six fournissent jusqu’à 25 mA.
Dans le cadre de ce projet, nous désirons évaluer les performances de deux transducteurs
différents. En effet, nous croyons que les tests expérimentaux sont aussi destinés à
connaître le compromis idéal entre la résolution (axiale et latérale) du transducteur et la
distance de pénétration du faisceau incident. Par conséquent, nous avons choisi de tester
deux transducteurs, oscillant respectivement à 3.5 MHz et 1.0 MHz. Il est à noter que le
premier dispositif, conçu par notre équipe, utilisait de la même façon un transducteur de
3.5 MHz. Cependant, puisque nous tolérons une résolution axiale supérieure à 0.25 cm,
nous pouvons diminuer la fréquence du second transducteur au profit de la profondeur de
détection. Nous voulons ainsi optimiser l’amplitude des échos provenant du mur
postérieur de la vessie. Par ailleurs, la résolution latérale maximale permise pour détecter
les parois vésicales d’un enfant étant de quelques centimètres, nous choisissons d’utiliser
un transducteur sans lentille, réduisant ainsi la hauteur de la sonde. En supposant que le
diamètre du transducteur est suffisant pour que la région du champ proche englobe la
vessie, la densité surfacique d’énergie acoustique est constante relativement à la distance
parcourue. Cette propriété favorise la reproductibilité des mesures, indépendamment de la
morphologie de l’enfant. Le Tableau 3.4 résume les propriétés des deux transducteurs
conçus par notre équipe de recherche et fabriqués par la compagnie AMD (AMERICAN
MEDICAL DESIGN, USA). Le diamètre D des transducteurs est déterminé à partir de
74
l’équation 2.9, telle que ZR ≥ 20 cm25 et la vitesse de phase est celle des muscles26. Notez
que nous pourrons ultérieurement27 réduire la distance de transition ZR (si la divergence
du faisceau sur le mur postérieur de la vessie est acceptable) afin de réduire le diamètre D
du transducteur. Le Tableau 3.4 illustre le compromis entre la fréquence (profondeur de
pénétration) et le diamètre D du transducteur. Ainsi, le rapport des diamètres D2 et D1
(Tableau 3.4) est inversement proportionnel à
f2
f1
, si on considère ZR fixe (équation
2.9). Autrement dit, plus la fréquence du transducteur diminue (augmentation de la
distance de pénétration), plus son diamètre augmente pour conserver la même distance de
transition entre le champ proche et le champ éloigné.
Tableau 3.4 Caractéristiques des deux transducteurs utilisés pour tester le dispositif
expérimentalement.
F
D
Qmax
cmuscle
RA
ZR
RL (dparcourue ≤ ZR)
(MHz)
(mm)
-
(m/s)
(mm)
(cm)
(mm)
1
3.5
19
5
1570
0.6
20
38
2
1.0
38
5
1570
2
23
19
Transducteur #
En supposant que le facteur de qualité Q de ces transducteurs est inférieur à 5 (AMD,
1998), nous pouvons estimer la résolution axiale RA de nos deux transducteurs à l’aide de
l’équation 2.8. Nous nous assurons ainsi que les deux sondes ne limitent pas la résolution
25
Distance maximale entre la sonde et le mur postérieur.
Nous voulons faire l’analyse d’un cas extrême afin de déterminer le plus grand diamètre D requis pour
garantir que la vessie se trouve dans le champ proche.
26
75
axiale du dispositif, ultérieurement fixée à 2.5 mm de muscles vésicaux. Finalement, la
résolution latérale d’une sonde correspond au diamètre de son transducteur puisqu’il n’est
pas muni de lentille focale. La Figure 3.2 schématise les sondes que nous avons conçus.
Nous apporterons, en conclusion de ce mémoire, des suggestions pour l’amélioration des
performances des sondes selon les résultats expérimentaux que nous aurons obtenus.
Connecteur SSMB
Inductance
Circuit imprimé
Couche
d’adaptation
d'impédance
D
Couche d'absorbtion
Élément piézo-électrique
Figure 3.2 Illustration des différentes couches formant la sonde ultrasonore.
27
Lorsque nous commercialiserons l’alarme de conditionnement.
76
3.3
Réalisation matérielle
Cette section est consacrée aux circuits électroniques qui composent l’alarme de
conditionnement ultrasonore, conçus et réalisés dans le cadre de ce projet. Nous traiterons
plus précisément de la topologie de l’étage d’alimentations, de l’émetteur et du récepteur.
De surcroît, nous décrirons le rôle des composants électroniques utilisés et rapporterons
leurs principales caractéristiques. Nous expliquerons ici le fonctionnement de ces étages
du dispositif, alors que nous rapporterons, à la section 4.1, les résultats illustrant leur
fonctionnement. Veuillez consulter l’annexe A pour obtenir la valeur ou le numéro des
composants électroniques utilisés lors de la réalisation du dispositif28.
3.3.1
Alimentations DC
L’alarme de conditionnement utilise une traditionnelle pile alcaline de 9V, modèle
MN1604 (580 mAh) de Duracell Inc. (1998), pour générer deux alimentations DC
régularisées. La première de 5V alimente le contrôleur, l’interface de l’usager
programmable, l’alarme sonore et l’écran de validation (figure 2.15). Pour générer une
alimentation de 5 V à partir d’une pile de 9 V, nous avons utilisé le composant LM340,
un régulateur de tension de type « step-down » fabriqué par National Semiconductor
(1998). Ce dernier fournit un courant maximal de 1 A. La seconde alimentation du
dispositif est de 15 V. Elle alimente l’émetteur et le récepteur. Cette tension est souhaitée
pour commuter efficacement29 les transistors MOS de puissance Q2 et Q3, capables de
28
29
L’annexe A sera retirée de ce mémoire suivant sa publication officielle.
Minimisation de la résistance drain-source lorsque le transistor de puissance est fermé.
77
supporter une tension maximale drain-source de 200 V. Par ailleurs, l’alimentation de 15
V augmente aussi la plage dynamique de l’étage d’amplification permettant au contrôleur
de détecter des échos de plus faibles amplitudes30. La Figure 3.3 illustre le schéma
électrique du circuit générant la tension de 15 V. Nous utilisons le composant MAX643,
un convertisseur DC/DC de type « step-up » fabriqué par Maxim Integrated Products
(1998).
5V
R4
LBO
L1
VIN
D2
15V
N/C
LX
C3
LBO
C4
C5
Q1
EXT
VOUT
R2
MAX643
S1
LBI
C2
CCOM
P
9V
R1
D1
C1
R3
GND
VFB
Figure 3.3 Schéma du circuit d’alimentation de 15 V utilisant un convertisseur
DC/DC et une pile alcaline de 9 V.
Le principe de ce circuit consiste à charger un courant dans la bobine L1 (Q1 fermé) pour
ensuite la décharger (Q1 ouvert), via la diode schottky D2, sur les condensateurs C3, C4
et C5. La puissance maximale livrée par ce convertisseur est de 10 W. Par conséquent,
lorsque nous régularisons une tension de 15 V, nous disposons d’un courant DC maximal
30
Le premier prototype de l’alarme alimente l’étage d’amplification à 9V (non régularisée).
78
autour de 650 mA. Le composant MAX643 est muni d’un détecteur de basse tension qui
vérifie l’état de la pile l’alimentant. La sortie LBO est reliée au contrôleur qui sonne
l’alarme lorsque la tension de l’entrée LBI descend sous 1.31 V.
Le Tableau 3.5 décrit le rôle de chacun des composants utilisés dans la conception de
l’alimentation de 15 V.
Tableau 3.5 Description du rôle des composants électroniques utilisés dans la
conception de l’alimentation de 15 V.
Composants
Description
Fonction
S1
Commutateur SPDT mécanique Mise sous tension du dispositif (On/Off).
D1
Diode schottky (5 A)
Isole le MAX643 contre une polarisation
inverse de la pile.
R1
Résistance ¼ W
Décharge le condensateur C1 lorsque le
dispositif est éteint.
C1
Condensateur électrolytique
Filtre les oscillations de la pile alcaline
de 9 V.
R2-R3
Résistances ¼ W
Détecte une pile dont la tension est
inférieure à VLB.
L1
Bobine toroïdale de puissance
Emmagasine l’énergie (courant) pour la
(IPK > 5 A)
conversion de tension effectuée par le
MAX643 (9 V à 15 V).
Q1
Transistor NMOS à faible
résistance RDS
Commute la bobine L1.
79
D2
Diode schottky (5 A)
Isole les condensateurs C3, C4 et C5
lorsque Q1 est fermé et L1 se charge en
courant.
C2
Condensateur (céramique)
Compense le diviseur de tension interne
fixant la sortie à 15 V.
R4
Résistance ¼ W
Monte la sortie LBO à l’alimentation de
5 V lorsque le voltage de la pile est < à
VLB (NMOS à sortie drain ouvert).
C3, C4, C5 Condensateurs électrolytiques
(aluminium)
3.3.2
Filtre les oscillations de la sortie
régularisée à 15 V.
Émetteur
Le rôle de l’émetteur consiste à exciter le transducteur afin de générer le faisceau
d’ultrasons. Il est constitué de deux étages électroniques de puissance alimentés à 15 V :
le convertisseur DC/DC haut voltage et le générateur d’impulsions. Le convertisseur
DC/DC conçu dans le cadre de ce projet utilise quelques composants discrets pour
générer, à partir de l’alimentation de 15 V, une tension maximale de 200 V. La Figure 3.4
illustre le schéma électrique de cet étage. Le principe de fonctionnement de ce circuit est
identique à celui de l’alimentation de 15 V. Le contrôleur commute Q2 (EN_OSC) afin
d’élever la sortie VHIGH jusqu’à ce que la tension du nœud connectée à l’entrée positive
du comparateur analogique interne du contrôleur (DC_SAMPLE) dépasse la tension de
référence programmable (PREFA). Cette technique de rétroaction permet au contrôleur
d’échantillonner la sortie VHIGH, dans le but d’interrompre l’activation du convertisseur
DC/DC aussitôt que la haute tension est stable minimisant de cette façon la
80
consommation de courant (optimisation de la durée de vie de la pile). Le potentiomètre
POT1 permet à l’usager de réduire la tension VHIGH dans le but de trouver le meilleur
compromis entre l’amplitude du pulse d’excitation (∝ à l’amplitude des échos) et la
consommation de courant liée à la durée d’activation de cet étage.
15V
C7
L2
D3
C6
VHIGH
VG2
U1
Q2
C8
C9
EN_OSC
R5
DC_SAMPLE
R6
POT1
Figure 3.4 Schéma électrique du convertisseur DC/DC générant une tension DC
maximale de 200 V pour l’excitation du transducteur.
Le Tableau 3.6 décrit le rôle de chacun des composants utilisés dans la conception du
convertisseur DC/DC.
81
Tableau 3.6 Description du rôle des composants électroniques utilisés dans la
conception du convertisseur DC/DC.
Composants
C6-C7
Description
Condensateurs
Fonction
Découple U1 et filtre l’alimentation de
15 V.
U1
Driver MOS ultra-rapide
Minimise le temps de charge de la
capacité de grille de Q2 (commutation
rapide). Réduit les pertes associées à RDS
de Q2.
Q2
Transistor NMOS de puissance Commute la bobine L2.
à faible RDS (V(BR)DSS = 200 V)
L2
D3
C8, C9
Inductance toroïdale de
Emmagasine l’énergie (courant) pour la
puissance (IPK > 1.0 A)
conversion de tension de 15 V à VHIGH.
Diode de recouvrement ultra-
Isole les condensateurs C8 et C9 lorsque
rapide (4 A, 200 V)
Q2 est fermé et L2 se charge en courant.
Condensateurs (V > 200 V)
Convertit l’énergie (courant)
emmagasinée dans L2 en tension.
R5, R6,
Résistances ¼ W
Échantillonne la sortie VHIGH.
POT1
Le rôle du générateur d’impulsions consiste à développer un pulse de haut voltage aux
bornes du transducteur pour qu’il vibre et qu’il émette le faisceau incident d’ultrasons.
Par ailleurs, il doit aussi isoler l’émetteur du récepteur durant l’activation de ce dernier
afin d’augmenter l’impédance de la charge31 vue par le transducteur, ce qui a pour effet
31
Émetteur et récepteur connectés en parallèle.
82
de maximiser l’amplitude des échos détectés32. La Figure 3.5 illustre le schéma électrique
du générateur d’impulsions.
D4
IR2117
15V
VHIGH
VCC
C10
VB
C11
EN_PULSER
U2
C12
IN
VG3
Q3
HO
VS3
COM
VS
Q4
R7
Q5
Q6
Protection du
IR2117
VG3
Q7
VEXC
R8
RL
Transducteur
ultrasonore
Figure 3.5 Schéma électrique du générateur d’impulsions.
Pour que la montée et descente du pulse de haute tension soit la plus abrupte possible
(actif à la montée et descente), nous optons pour l’utilisation d’un « high-side driver »
(IR2117) commandé directement par le contrôleur (EN_PULSER). Ce composant
électronique, fabriqué par International Rectifier (1998), possède une alimentation
flottante (entre VB et VS33) lui permettant ainsi de contrôler la commutation d’une haute
32
Nous parlons du transfert d’énergie acoustique en énergie électrique lorsqu’un écho est capté par le
transducteur.
33
Aux bornes de C12 dans le mode d’alimentation « bootstrap ».
83
tension via un transistor NMOS de puissance (Q3). Lorsque le IR2117 est alimenté dans
le mode « bootstrap », la diode de recouvrement D4 charge le condensateur C12 (VB) à
15 V. L’énergie emmagasinée sur ce condensateur est utilisée pour charger34 la grille de
Q3 (drain est connecté à VHIGH). La tension de l’entrée VS doit être supérieure à –5V afin
de limiter l’alimentation flottante à 20 V. Puisque l’impédance du transducteur est
inductive35, une tension négative apparaît à ses bornes après son excitation, ce qui nous
oblige à protéger l’entrée VS du IR2117 (R7, R8, Q4, Q5, Q6, Q7). La topologie de ce
circuit génère donc un pulse d’excitation VEXC dont l’amplitude est inférieure à VHIGH.
Cette perte est attribuable, d’une part, au seuil de conduction VTH de Q3, qui affecte
directement VS3 aussitôt que la sortie HO du IR2117 est inférieure à VHIGH + VTH, et
d’autre part, par l’électronique de protection du IR2117 qui entraîne une diminution de
l’impédance36 vue par la source de Q3 (accentue VDS3) et ajoute une autre chute de
tension causée par Q7 (RDS7).
Le Tableau 3.7 décrit le rôle de chacun des composants utilisés dans la conception du
générateur d’impulsions.
34
La tension de la sortie HO du IR2117 ferme Q3.
35 On veut émettre une onde ultrasonore symétrique afin que les échos possèdent une amplitude positive et
négative (important lors d’une inversion de phase de 180° sur certaines interfaces).
36 Les résistances séries R7 et R8 sont connectées en parallèle avec l’impédance série formée par RDS7 et
RL.
84
Tableau 3.7 Description du rôle des composants électroniques utilisés dans la
conception du générateur d’impulsions.
Composants
C10-C11
U2
Description
Fonction
Condensateurs
Découple U2 et IR2117.
Driver MOS ultra-rapide
Convertit le niveau logique de
commande entre le contrôleur et le
IR2117.
D4
Diode de recouvrement ultra-
Recharge C12 à 15 V pour l’alimentation
rapide (200 V)
flottante du IR2117 suivant l’excitation
du transducteur (mode « bootstrap »).
C12
Condensateur
Q3
Transistor NMOS de puissance Commute le haut voltage provenant du
à faible RDS (V(BR)DSS = 200 V)
Q4, Q5, Q6 Transistors bipolaires NPN
Emmagasine l’énergie pour fermer Q3.
convertisseur DC/DC.
Agissent comme une diode zener à faible
courant lors de la fermeture de Q7 (VGS7
≈ 18 V).
R7
Résistances ¼ W
Maintient la sortie Vs du IR2117
supérieure à 0 V.
R8
Résistances ¼ W
Assure la conduction inverse de Q4, Q5
et Q6 lors de la fermeture de Q7.
Q7
Transistor PMOS de puissance
Isole le IR2117 du transducteur dont
à faible RDS (V(BR)DSS = 200 V)
l’impédance est inductive. Lors de la
détection des échos, l’impédance de Q7
maximise le transfert d’énergie électrique
entre le transducteur et le récepteur.
85
3.3.3
Récepteur
Le rôle du récepteur consiste à informer le contrôleur lors de la détection des échos. Il est
composé d’un étage d’amplification, d’un démodulateur (détecteur d’enveloppe) et d’un
étage de détection des échos (comparateur analogique). La Figure 3.6 illustre le schéma
électrique du récepteur alimenté à 15 V37, via le contrôleur (EN_AMP), aussitôt
l’excitation du transducteur terminée38.
EN_INT
15V
15V
C14
U3
C13
EN_AMP
Q8
R10
VEXC
R14
VIN+
POT5
C15
R9
VAMP
R15
VDEM
U5
D7
D5
D6
R11
ECHO
U4
POT3
Ultrasonic
Transducer
R16
R13
POT2
C16
C17
R12
Étage d'amplification
POT4
Démodulateur
Étage de détection
Figure 3.6 Schéma électrique du récepteur composé de l’étage d’amplification, du
démodulateur et de l’étage de détection des échos.
37
Augmente la plage dynamique de l’amplificateur.
Ne pas confondre l’activation du récepteur (alimentation de l’amplificateur et du comparateur à 15 V via
EN_AMP) avec la technique d’amplification sélective qui consiste à activer EN_INT (autorise le contrôleur
à détecter les échos).
38
86
À l’entrée du récepteur39, une électronique de protection, composée de R9, D5 et D6,
isole l’entrée positive de l’amplificateur U4 du pulse de haute tension excitant le
transducteur (VEXC). Afin de détecter des échos dont l’amplitude est située entre [0 V, 15
V], une tension DC est superposée aux échos amplifiés à la sortie de l’amplificateur
(topologie non-inverseur). Ce dernier possède un gain maximal en boucle fermé de 30 dB
que l’usager peut diminuer, par l’entremise du potentiomètre POT3, lorsque sa sortie est
saturée et que la résolution axiale est trop élevée.
L’étage d’amplification est connectée à un démodulateur qui redresse l’enveloppe
positive des échos amplifiés (D7, C17, R13 et POT4). L’enveloppe de ces échos est
ensuite comparée à une tension de référence (seuil de détection) dont l’amplitude excède
la somme de la tension DC et du bruit amplifié, démodulé et filtré (C17). Lorsque
l’amplitude de l’enveloppe d’un écho dépasse le seuil de détection et que l’amplification
sélective est activée (EN_INT haut), la sortie du comparateur (ECHO) bascule à 5 V pour
informer le contrôleur de la réception d’un écho. Puisque le contrôleur détecte les échos
par l’échantillonnage du pulse logique à la sortie du comparateur, la durée de ce pulse
doit être suffisante pour permettre au contrôleur de le détecter lorsque les échos sont de
faibles amplitudes, sans toutefois les confondre (« aliasing ») lorsque deux échos sont de
grandes amplitudes. Ainsi, pour optimiser la résolution axiale du dispositif en fonction de
l’amplitude des échos reçus40, l’usager dispose de deux potentiomètres. Le premier,
POT4, modifie la constante de décharge de C17 (largeur de l’enveloppe), alors que le
39
L’entrée du récepteur est connectée à la sortie du générateur d’impulsions.
87
second, POT5, ajuste le seuil de détection. Autrement dit, la résolution axiale du
dispositif est améliorée lorsque POT4 diminue et POT5 augmente. L’inverse optimise la
détection d’échos de faibles amplitudes.
Le Tableau 3.8 décrit le rôle de chacun des composants utilisés dans la conception du
récepteur.
Tableau 3.8 Description du rôle des composants électroniques utilisés dans la
conception du récepteur (étage d’amplification, démodulateur, détecteur d’échos).
Composants
Description
Fonction
C13, C14
Condensateurs
Découple U3 et l’alimentation de 15 V.
U3
Driver MOS ultra-rapide
Convertit le niveau logique de EN_AMP à
15 V afin de minimiser RDS8 lors de
l’activation du récepteur.
Q8
Transistor PMOS à faible RDS
Alimente le récepteur à 15 V lorsque
EN_AMP
R9
Résistance ¼ W
est haut.
Limite le courant dans les diodes D5 et
D6 lors de l’excitation du transducteur.
D5, D6
Diodes signal
Protège l’entrée l’amplificateur du pulse
de haute tension lors de l’excitation du
transducteur.
C15
Condensateur
Isole le transducteur de la tension DC
ajoutée pour la détection des échos entre
[0 V, 15 V]. Sert aussi de filtre passehaut (R9, R10, R11 et POT1).
40
L’amplitude des échos reçus dépend principalement du milieu de propagation (section 4.2).
88
R10, R11,
Résistances ¼ W
Fixe la tension DC, superposée à
POT2
l’amplitude des échos.
R12, POT3 Résistances ¼ W
Fixe le gain en boucle fermée de
l’amplificateur.
C16
Condensateur
Prévient l’amplification de la tension DC
présente à l’entrée positive de
l’amplificateur. Sert de filtre passe-haut
(augmente le gain en boucle fermé
proportionnellement à la fréquence).
D7
Diode signal
Redresse l’écho amplifiée afin d’obtenir
uniquement l’amplitude positive.
C17
Condensateur
Maintient l’enveloppe positive à ses
bornes. Sert de filtre passe-bas pour
l’élimination du bruit superposé à
l’enveloppe.
R13, POT4 Résistances ¼ W
Établit la constante de décharge de C17
pour l’ajustement (POT4) de la durée de
détection des échos (sortie du
comparateur).
R14, R15,
Résistances ¼ W
POT5
Fixe la tension de référence du
comparateur pour la détection des échos.
POT5 permet de modifier le seuil de
détection afin de négliger l’effet du bruit.
R16
Résistances ¼ W
Monte la sortie du comparateur à 5 V
lorsque EN_INT est haut et qu’un écho
est détecté (sortie à collecteur ouvert).
89
3.4
Réalisation logicielle
Cette section explique le rôle du contrôleur lorsque notre alarme de conditionnement
ultrasonore opère normalement. Nous aborderons les diverses fonctions qu’il exerce
depuis l’excitation du transducteur au déclenchement de l’alarme pour réveiller l’enfant
lorsque la profondeur vésicale, calculée à maintes reprises, est supérieure au seuil critique
défini par l’usager41. Pour le dire autrement, nous allons décrire la programmation
réalisée dans le cadre de ce projet42, et plus spécifiquement le programme permettant de
valider le fonctionnement du dispositif sur un milieu de propagation simulant celui du
corps humain. Le schéma bloc de la Figure 3.7 illustre clairement les étages électroniques
commandés par le contrôleur. Nous avons déjà mentionné que le contrôleur active
l’émetteur et le récepteur afin de mesurer le temps écoulé entre l’excitation du
transducteur et la réception des différents échos. Puisque que nous connaissons la célérité
(vitesse de phase) du milieu de propagation, le contrôleur calcule la distance qui sépare
chacune des interfaces situées entre la sonde et le mur postérieur de la vessie. Étant donné
que l’urine contenue dans la vessie constitue un milieu homogène qui ne cause aucune
réflexion
du
faisceau
incident
d’ultrasons,
la
profondeur
vésicale
implique
nécessairement l’évaluation de la distance séparant deux échos successifs. Parce qu’il
s’avère impossible de prédire l’orientation de la sonde, tout comme la nature et le nombre
d’interfaces situées devant le mur antérieur de la vessie, le défi consiste à identifier quels
échos successifs représentent respectivement le mur antérieur et le mur postérieur de la
vessie. Un peu plus loin dans cette section, nous expliquerons le stratagème employé
41
Le seuil critique est ajusté à l’aide de l’interface de l’usager.
90
pour que le contrôleur cible adéquatement les murs vésicaux. Par la suite, nous
illustrerons l’avantage de l’estimation du volume vésical dédié à la prédiction de la
miction. En effet, la fiabilité et la précision des mesures effectuées par le dispositif
augmentent à mesure que le volume vésical croît.
Interface de l'usager
Écran à cristaux liquides
LBO
Alarme sonore
PULSER_SELECT
MODE
EN_LCD
LCD_DB7
LCD_DB4
LCD_DB6
LCD_RS
LCD_RW
ÉCHO
DC_SAMPLE
EN_INT
EN_PULSER
Convertisseur
DC/DC à tension
variable
BUZZER
LCD_DB5
PIC14000/JW
EN_OSC
LBO
EN_AMP
Générateur
d'impulsions à
durée variable
Détecteur
d'échos
Étage
d'amplification à
gain variable
Émetteur
Transducteur
ultrasonore
Démodulateur
Récepteur
Figure 3.7 Schéma bloc des étages commandés par le contrôleur.
Par ailleurs, la Figure 3.7 illustre l’interface usager connectée au contrôleur. Elle est
formée de deux commutateurs mécaniques qui permettent à l’usager de modifier
rapidement les différents paramètres programmables, accélérant ainsi le développement
42
La finalité est la détection des murs vésicaux d’un adulte à l’aide d’un oscilloscope.
91
et la validation du fonctionnement de l’émetteur et du récepteur. Lors des tests cliniques,
cette interface usager sera utilisée pour calibrer le dispositif selon la morphologie vésicale
de l’enfant. Le Tableau 3.9 résume les fonctions de l’interface usager du dispositif. Les
deux modes d’opération servent à ajuster, d’une part la profondeur vésicale critique et,
d’autre part, la durée d’excitation de la sonde selon la morphologie de l’enfant.
Tableau 3.9 Description des fonctions de l’interface usager lors de la validation
clinique du dispositif.
Modes d’opération43
Ajustements logiciels44
Description
Sélection de la profondeur vésicale Permet à l’usager d’ajuster le
critique prédisant la miction de
seuil de détection d’une
l’enfant testé cliniquement.
vessie pleine selon la
Incrément fixe de 1 mm/sélection.
morphologie de l’enfant.
Sélection de la durée du pulse
Permet à l’usager
d’excitation de la sonde adaptée à
d’optimiser la résolution
la morphologie de l’enfant.
axiale de la sonde utilisée (1
Calibration
Estimation
Incrément fixe de 700 ns/sélection. MHz ou 3.5 MHz).
43
Le commutateur spécifiant le mode d’opération du dispositif est du type SPDT (« single-pole-doublethrow »).
44
Le commutateur d’incrémentation du paramètre propre au mode d’opération du dispositif est du type
tactile momentané.
92
Pour nous assurer de la justesse de divers paramètres programmés (profondeur critique)
et vérifier l’exactitude des calculs réalisés par le contrôleur (profondeur vésicales
estimées en fonction des temps de réception des échos détectés), les données et résultats
sont affichés sur un écran à cristaux liquides. Tout comme l’oscilloscope permet de
visualiser le fonctionnement des étages électroniques commandés par le contrôleur,
l’écran LCD (« liquid crystal display ») valide le programme effectué par le contrôleur.
Cet écran LCD constitue un outil supplémentaire de développement qui ne sera pas
intégré dans l’alarme de conditionnement commercialisée. Il est uniquement utilisé
durant les phases de tests expérimentaux et cliniques (Hôpital Général pour Enfants de
Montréal) afin de vérifier la précision des mesures effectuées. Le code assembleur du
programme de validation expérimentale est situé à l’annexe B.
La Figure 3.8 correspond à l’organigramme du programme exécuté par le contrôleur
lorsque nous validons expérimentalement, via l’oscilloscope et écran LCD, le dispositif
sur un milieu de propagation simulant l’atténuation des tissus humains.
93
Non
Pile fonctionnelle ?
(VIN < 7.7 V)
Oui
Mode alarme ?
Non
(Mode calibration)
Oui
(Mode alarme)
Excitation de la sonde
Détection des échos
Traitements numériques
Profondeur >
seuil critique ?
Non
Oui
Algorithme de validation
Estimations
fiables ?
Non
Oui
Activation de l'alarme
Affichage des résultats
Controleur en mode "standby"
Figure 3.8 Organigramme illustrant le déroulement du programme effectué par le
contrôleur.
94
(1)
Vérification de l’état de la pile 9V : le programme débute avec une vérification de
la tension de la pile alimentant l’alarme de conditionnement ultrasonore. Le
contrôleur échantillonne l’entrée LBO (Figure 3.7) afin de s’assurer que la tension
VIN (Figure 3.3) est supérieure à 7.7 V (Figure 4.1). Lorsque le signal LBO est à un
bas niveau, le contrôleur active l’alarme qui signale à l’usager qu’il lui faut changer la
pile. Pendant ce temps, le dispositif cesse d’effectuer des mesures pour éviter
d’accroître inutilement la décharge de la pile, dont la tension doit obligatoirement être
supérieure à celle de l’alimentation du contrôleur et de l’écran LCD. En effet, la
transmission de données du contrôleur vers l’écran45 oblige ce dernier à autoriser la
poursuite de la communication, ce qu’il ne peut accomplir si sa tension
d’alimentation est insuffisante. Conséquemment, le programme demeure en boucle
infinie, compromettant ainsi la suite de la vérification de l’état de la pile.
(2)
Vérification du mode d’opération : lorsque la pile du dispositif est fonctionnelle, le
contrôleur identifie ensuite le mode d’opération du dispositif. À l’aide du
commutateur S2 (annexe A), l’usager choisit l’un des modes suivants : « calibration »
ou « alarme ».
(a)
Durant le mode « calibration », l’alarme de conditionnement n’effectue pas
d’estimation de la profondeur vésicale46, réduisant ainsi la consommation de
puissance pendant que l’usager ajuste le dispositif selon la morphologie de
l’enfant énurétique. Ce mode d’opération permet alors de prolonger la durée de
45
46
Cette situation survient lorsque le dispositif affiche les données et résultats sur l’écran LCD.
L’émetteur et le récepteur sont inactifs durant le mode « calibration ».
95
vie de la pile lorsque l’alarme de conditionnement est alimentée47 et que la sonde
n’est pas encore adéquatement positionnée sur le patient (mode « standby »). Ce
mode d’opération permet ainsi à l’usager de modifier la profondeur vésicale
critique afin de l’adapter à la morphologie abdominale de l’enfant énurétique,
optimisant de cette façon la précision de la prédiction du début de la miction. Les
données courantes sont alors affichées sur l’écran LCD afin de les valider.
(b)
Durant le mode « alarme », le dispositif effectue une estimation de la profondeur
vésicale toutes les deux secondes. Afin d’optimiser la résolution axiale de la
sonde utilisée, l’usager peut ajuster, en tout temps, la durée du pulse d’excitation.
(3)
Excitation de la sonde : le mode « alarme » débute par l’excitation de la sonde pour
générer le front incident d’ondes ultrasonores. Ainsi, le contrôleur active l’émetteur
tel qu’illustré par l’organigramme de la Figure 3.9. Il initie d’abord l’activation du
convertisseur DC/DC afin de produire la tension élevée VHIGH (Figure 3.4) requise
pour faire vibrer le transducteur. Lorsque la haute tension est stable (la sortie du
comparateur analogique interne bascule et génère une interruption), le contrôleur
désactive le convertisseur DC/DC afin de limiter le bruit provoqué par la
commutation de Q2 (Figure 3.4). Il initialise ensuite le compteur temporel, puis
génère le pulse de haute tension selon la largeur d’impulsion sélectionnée par
l’usager.
47
L’alarme de conditionnement est dite alimentée lorsque le commutateur S1 (figure A.1) est fermé.
96
Activation du convertisseur DC/DC
Interruption du
comparateur analogique
interne ?
Non
Oui
Désactivation du convertisseur DC/DC
Initialisation du compteur temporel
Génération du pulse d'excitation
Figure 3.9 Organigramme illustrant le rôle du contrôleur lors de l’excitation de la
sonde.
(4)
Détection des échos : suivant l’excitation de la sonde, le contrôleur commande le
récepteur et détecte les échos. Il débute par l’activation de l’alimentation de 15V des
étages d’amplification et de comparaison. Durant la période transitoire, correspondant
au temps de charge des condensateurs C15 et C16 (Figure 3.6), la sortie de
l’amplificateur est instable, ce qui empêche la détection des interfaces situées
immédiatement sous la peau. Toutefois, cette limitation ne constitue pas un
désavantage puisque l’alarme de conditionnement utilise une technique de détection
sélective (DS) qui retarde déjà le début de l’échantillonnage de la sortie du
comparateur48. Puisque l’estimation de la profondeur vésicale correspond
48
Le contrôleur détecte les échos par échantillonnage de la sortie du comparateur analogique.
97
obligatoirement49 à une distance séparant deux échos successifs, le contrôleur doit
pouvoir identifier le mur antérieur. En pratique, il s’avère impossible de prédire le
nombre d’interfaces situées entre la sonde et le mur antérieur de la vessie. Nous
ignorons donc la nature du premier écho réfléchi lorsque nous débutons la détection
immédiatement après la stabilisation de la sortie de l’amplificateur50. La technique de
détection sélective facilite la localisation du mur antérieur de la vessie parmi la
multitude d’échos détectés. Il suffit d’imposer un délai temporel entre le moment où
la sonde est excitée et le début de la détection des échos afin que la distance
maximale entre deux échos successifs corresponde toujours à l’estimation de la
profondeur vésicale. Afin d’assurer la fiabilité des mesures effectuées à partir du
moment où la profondeur vésicale de l’enfant atteint la moitié de la distance critique
prédisant la miction, nous débutons la détection des échos à proximité du mur
antérieur de la vessie lorsque le volume est maximal. Cette situation correspond au
cas limite51 qui garantit la détection du mur antérieur indépendamment du volume
vésical. Ainsi, pour la morphologie vésicale illustrée à la Figure 3.1 (section 3.2), un
délai inférieur à 73.8 us (Tableau 3.3) remplit ladite condition. En pratique, le délai
optimal varie d’un enfant à l’autre. Toutefois, notre alarme de conditionnement
permet un ajustement logiciel de ce délai de détection selon les dimensions
spécifiques de l’enfant. La Figure 3.10 démontre le rôle du contrôleur lors de la
détection des échos. Celui-ci échantillonne la sortie du comparateur et sauvegarde le
49
On néglige l’hypothèse d’une pierre au rein.
La sortie de l’amplificateur se stabilise environ 30 us après l’excitation de la sonde. En pratique, la
distance parcourue par le faisceau d’ultrasons correspond approximative de 2.25 cm lorsque la célérité du
milieu de propagation est 1500 m/s.
50
98
contenu du compteur temporel lors de la réception d’un écho. La période de détection
sélective se termine lorsque le faisceau d’ultrasons atteint le mur postérieur de la
vessie ou que le nombre d’échos reçus est supérieur à sept. En fonction de l’exemple
précédent, la détection sélective cesse au plus tard 215 us après l’excitation de la
sonde (Tableau 3.3). Lorsque la détection sélective est terminée, le contrôleur
désactive l’alimentation du récepteur jusqu’au cycle d’excitation suivant, prolongeant
ainsi la durée de vie de la pile 9V.
Activation du récepteur
Délai de détection sélective (DS)
Échantillonnage de la sortie du comparateur
Écho détecté ?
Non
Oui
Sauvegarde du compteur temporel
Non
Fin de la
DS ?
Désactivation du récepteur
Figure 3.10 Organigramme illustrant le rôle du contrôleur lors de la détection des
échos.
51
La distance entre la sonde et le mur antérieur est minimale lorsque la vessie est pleine.
99
(5)
Traitements numériques : le traitement des données recueillies durant l’activation
du récepteur débute par une vérification de la croissance des temps de détection
sauvegardés par le contrôleur, tel qu’illustré à la Figure 3.11. Nous voulons garantir
de cette manière que le contrôleur estime la profondeur vésicale à partir de données
valides. Si tel n’est pas le cas, le contrôleur ignore ce cycle d’excitation et rejette le
résultat courant pour ne pas influencer l’algorithme de validation du déclenchement
de l’alarme. Lorsque les temps de détection croissent, le contrôleur localise alors
l’écho réfléchi par le mur antérieur de la vessie. Il est important de noter que notre
technique de détection sélective augmente la fiabilité de l’identification de ce mur, à
mesure que la vessie se remplit. Finalement, puisque l’écho réfléchi par le mur
postérieur suit immédiatement celui du mur antérieur, le contrôleur estime la
profondeur vésicale par la différence des temps de détection de ces échos.
Détection d'erreurs
Temps de
détection
croissants ?
Non
Oui
Localisation du mur antérieur
Estimation de la profondeur vésicale
Affichage des résultats
Figure 3.11 Organigramme illustrant le traitement numérique effectué par le
contrôleur après la détection des échos.
100
(6)
Vérification du volume vésical : lorsque la profondeur vésicale estimée dépasse le
seuil critique prédisant la miction, le contrôleur exécute un algorithme de validation
pour vérifier si le résultat courant corrobore les précédents. Cette technique améliore
la fiabilité du déclenchement de l’alarme car elle permet d’identifier une variation
soudaine de la profondeur estimée qui peut soi résulter d’un déplacement de la sonde
ou soi d’une mauvaise identification du mur antérieur de la vessie. Si tel est le cas, le
contrôleur ignore le résultat courant et affiche les résultats du cycle d’excitation
courant. À l’opposé, lorsque la profondeur vésicale estimée est reproduite sur
plusieurs cycles d’excitation, le contrôleur active l’alarme.
(7)
Activation de l’alarme : deux situations distinctes provoquent le déclenchement de
l’alarme. La première survient lorsque la pile n’est plus fonctionnelle. À ce moment,
l’alarme sonne à intermittence, toutes les deux secondes, jusqu’à ce que l’usager
éteigne le dispositif et qu’il remplace la pile désuète. La seconde situation se produit
lorsque la vessie atteint le volume prédisant sa miction.
Affichage des résultats : lorsque le dispositif opère dans le mode calibration, l’écran
LCD affiche la profondeur vésicale critique ajustée par l’usager (Figure 3.12). Dans le
mode alarme, le dispositif estime la profondeur vésicale de l’enfant et l’affiche sur
l’écran LCD (Figure 3.13). Pour augmenter l’efficacité des tests cliniques à venir, nous
affichons aussi le nombre d’échos détectés ainsi que les trois premiers temps de
réception.
101
Figure 3.12 Affichage de la profondeur critique ajustée par l’usager lorsque le
dispositif est dans le mode calibration.
Figure 3.13 Affichage des résultats obtenus lorsque le dispositif opère dans le mode
alarme. Le contenu de l’écran est mis à jour à la fin de chaque cycle d’excitation. On
y retrouve la profondeur vésicale estimée, le nombre d’échos détectés et, pour les
trois premiers, le temps écoulé depuis l’excitation de la sonde et leur détection.
102
CHAPITRE IV
4
SYNTHÈSE DES TESTS ET RÉSULTATS
Ce chapitre est consacré à la description des résultats expérimentaux de notre alarme de
conditionnement ultrasonore. Tout d’abord, nous rapporterons les résultats de la
validation du fonctionnement de l’étage d’alimentations, de l’émetteur et du récepteur.
Nous en profiterons pour élaborer davantage sur les considérations pratiques que nous
avons suivies et respectées lors de la conception et réalisation de ces étages électroniques.
Nous illustrons par la suite le fonctionnement de l’alarme de conditionnement testée sur
la vessie d’un adulte, pour enfin expliciter les caractéristiques physiques et électriques de
cette alarme.
4.1
Validation des étages électroniques
Cette section rapporte divers résultats expérimentaux qui illustrent le fonctionnement des
étages électroniques conçus à la section 3.3 (alimentations DC, émetteur et récepteur). Le
Tableau 4.1 contient la liste des outils que nous avons utilisés lors de la réalisation et de
la validation du dispositif.
103
Tableau 4.1 Liste des appareils utilisés lors de la conception du dispositif.
#
Description
Modèle
Fabricant
Oscilloscope numérique 2
1 canaux - 100MHz
Sauvegarde des courbes
THS720
Tektronix
(500MS/s par canal)
pour présentation à l’aide
du logiciel WaveStar.
2 Alimentation DC
RPS-712MB Zurich
3 Sonde de courant
8112
4 Multimètre
SMART2
5
Caractéristiques
Kyoritsu
2 canaux de 20V (5A/9A)
Bande passante: 100KHz
Échelles: 200mA/2A/20A
Radio
Résistance, condensateur,
Shack
transistor BJT, diode
Logiciel d’interface avec
Programmeur de
PICSTART
Microchip
développement
PLUS
Tech., Inc. MPLAB inclus (v.1.30.00)
6 Fantôme avec atténuation 84-317
4.1.1
Nuclear
Émulation des tissus
Associates humains (milieu atténuant)
Alimentations DC
Les résistances R2 et R3 de la Figure 3.3 ont été choisies pour que la tension VIN
minimum se situe autour de 7.7 V. La sortie LBO descend lorsque l’entrée LBI du
MAX643 est inférieure à 1.31 V (« bandgap interne »). La Figure 4.1 illustre l’état de la
sortie LBO en fonction de la tension d’entrée VIN (Figure 3.3). Lorsque VIN descend sous
7.69V, le contrôleur active l’alarme sonore pour prévenir l’usager qu’il lui faut changer la
pile.
La bobine L1 est toroïdale (Figure 3.3) afin de réduire le bruit causé par l’émission
d’ondes électromagnétiques. Nous optimisons ainsi le rapport signal sur bruit des échos
104
reçus. De prime abord, nous souhaitons que l’alimentation de 15 V offre le maximum de
courant disponible pour alimenter l’émetteur et le récepteur. Pour ce faire, nous avons
sélectionné l’inductance de la bobine afin qu’elle supporte le courant maximal survenant
lorsque la période d’oscillations de Q1 est maximum (convertisseur PWM à 50 KHz), la
tension de pile est maximum (9.5 V) et la résistance RDS de Q1 est minimum (0.5 V
max.). Nous fixons le courant maximal à celui supporté par la diode schottky D2, soit à 5
A. Notez que l’inductance d’une bobine dépend de son mode de conduction (continu ou
discontinu). Selon notre démarche, nous choisissons une bobine L1 dont l’inductance
minimum spécifiée est au moins supérieure à celle calculée précédemment et qui soit
capable de supporter le courant maximal de 5 A.
VIN:
2V 2s
LBO:
5V 2s
dX: 3.67 s dY: 0 V
X1: 1.27 s Y1: 7.69 V
X2: 4.94 s Y2: 7.69 V
T
VIN
LBO
0
0 X1
X2
Figure 4.1 Illustration de la détection d’une pile à faible voltage. Le contrôleur
active l’alarme ultrasonore lorsque la tension d’entrée est inférieure à 7.69 V.
105
4.1.2
Émetteur
Le courant maximal livré par l’alimentation de 15 V étant limité autour de 650 mA, nous
devons choisir une bobine toroïdale L2 qui supporte ce courant, tout en emmagasinant un
2
maximum d’énergie (∝ à L ∗ I PK
) lorsque Q2 est activé (Figure 3.4). Puisque le
contrôleur commute Q2, nous devons ajuster la fréquence et le rapport de cycle du signal
de contrôle EN_OSC en fonction de l’inductance sélectionnée. Le courant dans une
bobine croît linéairement (avant sa saturation) tel que iON (t ) =
VLON
L
∗ t + I 0 , où VLON est la
tension aux bornes de L2 lorsque Q2 est fermé, t est la durée de charge de L2 et I0 est le
courant initialement chargé dans L2 au moment de ladite commutation. Au moment où
Q2 est ouvert, le courant emmagasiné dans L2 se décharge linéairement, via la diode de
recouvrement D3 (200 V), sur les condensateurs C8 et C9. La diode D3 isole la bobine
L2 des condensateurs C8 et C9 pour éviter que ces derniers se déchargent aussitôt que le
courant dans la bobine est nulle. Autrement dit, le courant iOFF (t ) de la bobine L2 n’est
jamais négatif52. Par conséquent, le courant iOFF (t ) décroît linéairement de iON (t ) vers
zéro tel que la pente de décharge est
VLOFF
L
, où VLOFF est la tension présente aux bornes de
L2 lorsque Q2 est ouvert. Lorsque le courant i(t) atteint zéro, nous recommençons
aussitôt le cycle de commutation de Q2 afin de limiter une décharge inutile de C8 et C9
52
On néglige la capacité parasite de l’anode de D3.
106
via les résistances R5, R6 et POT153. En supposant que la bobine L2 est complètement
déchargée lorsque Q2 est fermé (I0 = 0 A), les temps de commutation sont définis comme
suit :
t ON =
L
VLON
t OFF =
∗ I PK
L
VLOFF
∗ (− I PK )
(4.1)
(4.2)
où IPK est le courant limite dont dispose L2, soit autour de 500 mA (< à 650 mA), VLON ≈
15 V et VLOFF ≈ -200 V54. Le rapport de cycle souhaité de EN_OSC diffère donc de 50%
puisque L2 se décharge plus rapidement qu’elle se charge (tON > tOFF).
Un errata publié par Microchip Technology Inc. (1998) stipule que la tension
d’échantillonnage DC_SAMPLE est élevée de 0.5 V avant l’entrée positive du
comparateur analogique interne. En supposant que la tension de référence programmable
est fixée à 0.75 V (entrée négative), le contrôleur active le convertisseur DC/DC jusqu’à
ce que la tension échantillonnée vaut 0.25 V (diviseur de tension formé par R5 et
R6/POT1). La Figure 4.2 illustre la durée d’activation tON du convertisseur DC/DC au
moment de la mise sous-tension du dispositif et ce, pour différentes tensions VHIGH
(Figure 3.4) sélectionnées à l’aide du potentiomètre POT1.
53
Pour limiter les pertes d’énergie associées à ces résistances, l’impédance totale de cette branche de
rétroaction s’élève à plus de 2 MΩ.
54
Après que le dispositif soit mis sous-tension, la tension VHIGH demeure autour de 200V au début de
chaques cycles d’excitation.
107
VHIGH:
50 V 200 ms
190 V
160 V
130 V
VHIGH
0
0
VG2: 10 V 200 ms
tON
V
G2
0
Figure 4.2 Durée d’activation du convertisseur DC/DC lors de la mise sous-tension
du dispositif pour trois hautes tensions sélectionnées par l’usager.
La Figure 4.3 démontre le temps requis pour rétablir la haute tension avant chacun des
cycles d’excitation. Lorsque la période latente est fixée à deux secondes, on constate que
VHIGH chute approximativement de 8 V.
Le contrôleur active le générateur d’impulsions via sa sortie EN_PULSER. Afin d’ajuster
la puissance acoustique émise, l’usager peut modifier la durée du pulse via l’interface de
l’usager. La Figure 4.4 illustre deux pulses d’excitation autour de 130 V (VEXC) sur une
charge passive RL de 1 KΩ (Figure 3.5). La largeur minimale d’un pulse commandé par
le PIC14000 correspond à t1 = 800 ns (4 cycles d’instructions). L’incrément temporel
minimum sélectionné par l’usager afin d’augmenter la largeur du pulse est de 600 ns.
108
Ainsi, la durée du deuxième pulse, illustrée sur cette figure, équivaut à t2 = 1.4 µs. Le
temps de montée et descente du pulse est de l’ordre de 100 ns.
VHIGH-DC
VHIGH-AC
T
0
VG2:
VHIGH-AC:
VG2
10 V 50 ms
2 V 50 ms
VHIGH-DC: 50 V 50 ms
0
tON
0
Figure 4.3 Durée d’activation du convertisseur DC/DC entre chacun des cycles
d’excitation du transducteur dont la période est fixée à deux secondes.
L’amplitude du pulse d’excitation dépend nécessairement de l’impédance de la charge
RL. Lorsque Q3 et Q7 sont fermés (Figure 3.5), la résistance statique RDS de ces
transistors entraîne une diminution de l’amplitude du pulse à mesure que l’impédance de
la charge décroît55. En d’autres termes, l’équivalent Thévenin vu par le transducteur est :
RTH ≈ RDS7 + ( R 7 + R8) // RDS3 56
55
56
Ici, on néglige l’effet de R7 et R8.
Ici, on néglige Q4, Q5 et Q6.
(4.3)
109
VTH = VHIGH *
( R7 + R8)
( R7 + R8 + RDS3 )
(4.4)
Par conséquent, une diminution de RL augmente l’effet de RTH, ce qui se répercute par
une diminution de VEXC (Figure 4.5).
VEXC:
RL = 1 K Ω
20 V 200 ns
VEXC
01↓
T
0
t1
t2
Figure 4.4 Illustration de la variation de la durée du pulse d’excitation commandé
par le contrôleur.
La Figure 4.6 illustre le fonctionnement de l’électronique de protection servant à protéger
l’entrée VS du IR2117 d’une tension négative survenant lorsque la charge RL est le
transducteur de 1 MHz (impédance inductive). Constatez que l’amplitude du signal VS3
est toujours positive, contrairement à celle du pulse d’excitation. Par ailleurs, l’amplitude
de VEXC se situe autour de 110 V. Selon la Figure 4.5, nous pouvons déduire que
l’impédance du transducteur de 1 MHz (en résonance) vaut approximativement 40Ω.
110
RL = 1 K Ω
RL = 110 Ω
RL = 39 Ω
RL = 12 Ω
VEXC
VEXC:
20 V 200 ns
0
t1
0
Figure 4.5 Illustration de l’amplitude du pulse d’excitation en fonction de plusieurs
charges résistives.
VHIGH, VG3, VS3, VG7, VEXC:
50 V 200 ns
VHIGH
VG3
Y1
VS3
dX: 0 s dY: 46.7 V
X1: 141 ns Y1: 156 V
X2: 141 ns Y2: 110 V
Y2
VG7
VEXC
0
0
X1
X2
t1
Figure 4.6 Illustration de la protection du « high-side driver » contre un voltage
négatif survenant aux bornes d’une charge inductive pulsée (transducteur de 1
MHz).
111
La bobine du transducteur se charge en courant durant l’excitation proprement dite. Plus
la durée d’une impulsion est élevée, plus le courant qu’elle emmagasine augmente, ce qui
accentue avec le temps la chute de tension aux bornes de Q3 et Q7. Autrement dit,
l’amplitude du pulse d’excitation décroît proportionnellement avec la durée d’excitation
(Figure 4.7) pour le transducteur de 1 MHz. Notez toutefois que l’amplitude négative
maximale de VEXC, causée par le transfert de l’énergie emmagasinée dans la bobine (en //
avec le transducteur), augmente aussi proportionnellement avec la durée d’excitation57.
De surcroît, l’amplitude de la deuxième période est énormément atténuée (couche
d’absorption située à l’arrière du transducteur) et ce, indépendamment de la durée de
pulsation du transducteur (t1 ou t2). Nous constatons toutefois à la Figure 4.8 qu’elle l’est
davantage lorsque la durée de pulsation est t2. Par conséquent, pour le transducteur de 1
MHz, la durée de pulse optimisant la résolution axiale du dispositif (après l’amplification
des échos) est de 1.4 µs.
VEXC:
VEXC
50 V 1 us
T
0
0
t1
t2
t3
(Voir figure suivante)
Figure 4.7 Amplitude d’excitation en fonction de la durée du pulse appliqué sur le
transducteur de 1 MHz.
57
Ceci est souhaitable afin de détecter tous les types d’interfaces (inversion de phase de 180° ou non).
112
T
dX: 267 ns dY: 867 mV
X1: 4.41 us Y1: 1.45 V
X2: 4.67 us Y2: 587 mV
VEXC
0
t1
VEXC
0
t2
VEXC:
2 V 2 us
Figure 4.8 Illustration de l’atténuation de la deuxième période du signal
ultrasonore en fonction de la durée du pulse d’excitation.
La Figure 4.9 illustre l’amplitude de VEXC en fonction de la durée du pulse pour le
transducteur de 3.5 MHz. Puisque l’inductance de la bobine de la sonde est inversement
proportionnelle à la fréquence de résonance du transducteur, l’amplitude du pulse
d’excitation décroît plus rapidement avec le temps58 que celle du transducteur de 1 MHz.
En outre, l’amplitude maximale appliquée sur ce transducteur est inférieure à celle
excitant le transducteur de 1 MHz. En effet, cette réduction de l’énergie acoustique émise
par ce transducteur est causée par à une diminution de son impédance (RL), ce qui
entraîne l’augmentation de l’effet de RTH dans l’équation 3.5. Autrement dit, l’impédance
de ce transducteur est plus petite (plus petite bobine) que celle du transducteur de 1 MHz
58
Le courant augmente plus rapidement dans une bobine de plus faible inductance.
113
entraînant ainsi une diminution de l’amplitude du pulse d’excitation. Par ailleurs,
remarquez que la bobine sature (en courant) lorsque la durée de pulsation est située entre
t1 et t2. Ainsi, la durée optimale du pulse excitant le transducteur de 3.5 MHz est t1. Notez
toutefois que le transducteur de 3.5 MHz permet une meilleure résolution axiale (plus
petite) que celle du transducteur de 1 MHz, et ce au détriment de l’amplitude du pulse
d’excitation et de l’énergie acoustique émise dans le front d’ondes ultrasonores. Nous
utiliserons donc la sonde de 3.5 MHz sur les enfants qui possèdent une petite profondeur
vésicale au moment de leur miction afin de favoriser la résolution axiale. À l’opposé,
nous testerons la sonde de 1 MHz sur les enfants plus corpulents afin d’optimiser la
détection du mur postérieur de la vessie. Ces enfants ont généralement une vessie de plus
grande taille, ce qui justifie la réduction de la résolution axiale en faveur d’une
augmentation de la fiabilité de la détection des murs vésicaux.
VEXC:
VEXC
T
0
0
t2
VEXC
0
0 t1
Figure 4.9 Pulse d’excitation du transducteur de 3.5 MHz.
50 V 1 us
114
4.1.3
Récepteur
L’électronique de protection, formée de la résistance R959 et des diodes au silicium D5 et
D660, isole l’entrée positive de l’amplificateur contre le pulse de haute tension excitant le
transducteur (Figure 3.6). Ces diodes limitent l’amplitude des échos à amplifier (VIN+) à
une tension légèrement inférieure à celle de polarisation directe de ces diodes (autour de
0.7 V à 100 mA). En pratique, lorsque le milieu de propagation est celui des tissus
humains, l’amplitude des échos aux bornes du transducteur est normalement inférieure à
500 mV. En outre, le gain de l’amplificateur (topologie non-inverseur) étant fixe durant
toute la période d’amplification sélective, notre technique de protection évite une
saturation prolongée de la sortie de l’amplificateur lors de la détection (à gain élevé)
d’une interface située à proximité du transducteur. Cette étage de protection limite ainsi
la résolution axiale maximale de notre dispositif en minimisant la différence entre les
amplitudes des échos provenant respectivement d’interfaces rapprochées et éloignées61.
Une fois l’excitation du transducteur terminée, l’impédance de sortie de l’émetteur est
excessivement élevée si on la compare à ZXTAL. Ainsi, l’analyse AC de l’étage
d’amplification de la Figure 3.6 le réduit au schéma électrique de la Figure 4.10a. Le
signal VEXC est celui obtenu aux bornes du transducteur. L’équivalent Thévenin vu de
l’entrée positive de l’amplificateur est :
Z TH ≈ R10 //( R11 + POT 2) //( Z XTAL + R9 + Z C15 )
59
Limite le courant dans lesdites diodes.
Diodes au silicium.
61
Cette technique facilite la détection d’échos faibles amplitudes.
60
(4.5)
115
VTH ≈ V EXC
R10 //( R11 + POT 2)
[ R10 //( R11 + POT 2)] + Z XTAL + R9 + Z C15
(4.6)
Conformément aux équations 3.7 et 3.8 et en se référant à la Figure 4.10b, nous
maximisons VIN+ lorsque nous réduisons ZTH et que nous augmentons le rapport :
R10 //( R11 + POT 2)
Z XTAL + R9 + Z C15
(4.7)
Autrement dit, lorsque l’impédance ZTH << 13 K ( VIN + ≈ VTH ) et que R10 //( R11 + POT 2)
>> Z XTAL + R9 + Z C15 ( VTH ≈ VEXC ), alors VIN + ≈ VEXC . Nous choisissons alors la plus
petite résistance R9 telle que :
Z XTAL + R9 + Z C15 < 1 K
(4.8)
sans toutefois compromettre la protection de l’amplificateur lors de l’excitation du
transducteur. Notez que les impédances ZXTAL (inductif) et ZC15 (capacitif) sont toutes
deux imaginaires et s’annulent partiellement. Par ailleurs, nous posons :
R10 //( R11 + POT 2) > 10( Z XTAL + R9 + Z C15 )
(4.9)
116
VIN+
VIN+
R9
C15
ZTH
R10
13 K
R11
VTH
ZXTAL
POT2
VEXC
a)
b)
Figure 4.10 Analyse AC de l’étage d’amplification.
En isolant le transducteur de la tension DC superposée, le condensateur C15 agit comme
filtre passe-haut. La fréquence de coupure définie comme :
fC ≈ 1
2π [Z XTAL + R9 + R10 //( R11 + POT 2)]C15
(4.10)
est fixée autour de 800 KHz62 à l’aide du condensateur C15. Notez qu’une diminution de
C15 augmente la fréquence de coupure haute, ce qui contribue à augmenter ZTH et
diminuer VTH. Autrement dit, il existe une dualité entre la fréquence de coupure haute et
la tension VIN+ à l’entrée de l’amplificateur.
La Figure 4.11 illustre le fonctionnement de l’étage d’amplification lorsque nous utilisons
le transducteur de 3.5 MHz dans un milieu de propagation idéale. Notez bien que le
récepteur est activé (via le signal de contrôle
EN_AMP)
une fois l’excitation du
transducteur terminée dans le but d’éviter une saturation inutile de la sortie de
l’amplificateur, ce qui retarderait davantage le début de la détection des échos. Les échos
117
captés au niveau du transducteur sont illustrés par le signal VEXC. Remarquez que le
premier écho reçu possède une amplitude supérieure au seuil de conduction des diodes de
protection (D5 et D6) de l’amplificateur. Comme nous l’avons expliqué précédemment,
l’électronique de protection limite l’amplitude maximale d’un écho à l’entrée de
l’amplificateur (VIN+) autour de 0.7 V. Cette diminution intentionnelle du rapport signal
sur bruit des échos dont l’amplitude dépasse 0.7 V est compensée par un gain
d’amplification élevé63, puisque l’architecture du détecteur d’échos (comparateur
analogique) est surtout sensible à l’augmentation de la différence entre l’amplitude du
signal et celui du bruit. En outre, rappelez-vous que nous sommes davantage préoccupés
par la détection des échos de faibles amplitudes tels que ceux provenant du mur
postérieur de la vessie plutôt que de ceux provenant d’un milieu sans atténuation (Figure
4.11). Les signaux VAMP-min et VAMP-max correspondent aux échos amplifiés lorsque le
gain en boucle fermée est respectivement de 20 dB et 30 dB.
La Figure 4.12 démontre le fonctionnement du démodulateur (détecteur d’enveloppe).
Lorsque le signal d’entrée est VAMP-MAX (Figure 4.11), le signal VDEM-min représente la
sortie du démodulateur. La résistance du potentiomètre POT4 est alors nulle.
Pareillement, VDEM-max correspond au cas où POT4 est maximum. Constatez le
recouvrement des deux derniers échos du signal VDEM-max qui nous empêche de distinguer
celui de plus faible amplitude.
62
63
On suppose que les pôles de la fonction de transfert VIN+ / VEXC sont éloignés les uns des autres.
Le gain minimal en boucle fermée doit saturer la sortie de l’amplificateur lorsque VEXC > 0.7 V.
118
2 V 10 us
VEXC:
VAMP-min: 5 V 10 us
VAMP-max: 5 V 10 us
VEXC
0
Gain = 20 dB
VAMP-min
0
Gain = 30 dB
VAMP-max
0
0
Figure 4.11 Illustration du fonctionnement de l’étage d’amplification sur un milieu
de propagation idéal (sans atténuation) à l’aide du transducteur de 3.5 MHz. Le
signal VEXC correspond à l’amplitude des échos captés aux bornes du transducteur.
Les signaux VAMP-min et VAMP-max sont les échos amplifiés lorsque le gain est
respectivement de 20 dB et 30 dB.
La Figure 4.13 illustre le fonctionnement du détecteur d’échos. La sortie de ce détecteur
alerte le contrôleur lorsque l’amplitude de VDEM-min dépasse la tension de référence (seuil
de détection) présente à l’entrée négative du comparateur analogique de la (Figure 3.6).
La technique d’amplification sélective est commandée par le contrôleur (EN_INT) qui
active la sortie du comparateur 35 µs après l’excitation du transducteur pour simuler le
rejet des interfaces nuisibles de la région abdominale. L’usager peut modifier le seuil de
détection par l’entremise du potentiomètre POT5. Le signal ECHOmax représente un cas
où le seuil critique est supérieur à l’amplitude du troisième écho (et du cinquième).
119
Pareillement, ECHOmin se veut un exemple où le seuil critique permet de détecter les
échos de faibles amplitudes, tels que les troisième et cinquième.
VAMP-max: 10 V 10 us
VDEM-min: 5 V 10 us
VDEM-max:
5 V 10 us
VAMP-max
0
VDEM-min
0
VDEM-max
0
0
Figure 4.12 Illustration du fonctionnement du détecteur d’enveloppe lorsque le
signal démodulé est VAMP-max. L’usager peut modifier la contante de décharge à
l’aide du potentiomètre POT4. VDEM-min et VDEM-max correspondent à l’enveloppe des
échos amplifiés lorsque le gain est de 30 dB et que l’usager modifie respectivement
τDÉCHARGE de 5 µs à 15 µs.
120
EN_INT, VDEM-min, ECHOmax, ECHOmin:
5 V 10 us
EN_INT
0
VDEM-min
0
ECHOmax
0
ECHOmin
0
0
Figure 4.13 Illustration du fonctionnement du détecteur d’échos lorsque le signal
démodulé est VDEM-min (τDÉCHARGE = 5 µs). L’usager peut modifier l’amplitude du
seuil de détection critique à l’aide du potentiomètre POT5. ECHOmax illustre le cas
où la résolution axiale est privilégiée au détriment de la détection d’échos de faibles
amplitudes.
121
4.2
Validation du fonctionnement sur un adulte
Avant de débuter les tests cliniques, nous devons encore nous assurer que le prototype de
la deuxième version génère un front d’ondes ultrasonores de puissance acoustique
suffisamment élevée pour que le contrôleur soit capable de détecter le mur postérieur de
la vessie d’un être humain. Nous voulons évaluer l’amplitude des échos réfléchis par les
parois vésicales d’un adulte dont la morphologie est svelte et que le gain de l’étage
d’amplification est fixé au maximum. Chez cet individu, le milieu de propagation situé
entre la sonde et le mur antérieur de la vessie est de courte distance et majoritairement
formé de muscles. Par conséquent, nous souhaitons tester le dispositif lorsque le
coefficient de réflexion des parois vésicales est minimum (analyse d’un cas extrême). La
méthodologie employée consiste à observer la sortie de l’étage d’amplification (VAMP)
durant trois cycles d’excitation consécutifs afin de vérifier qu’il y a réception des échos
réfléchis par les parois d’une vessie pleine. Pour simuler les conditions réelles
d’opération, le sujet respire normalement et la sonde est aléatoirement orientée derrière la
symphyse pubienne. La Figure 4.14 illustre la détection des parois vésicales à l’aide de la
sonde de 3.5 MHz. Lorsque la détection sélective débute entre le bang initial et le mur
antérieur, le contrôleur détecte uniquement deux échos. En supposant que la célérité de
l’urine est de 1500 m/s, la profondeur vésicale estimée est de 12 cm. Par ailleurs, la
résolution axiale à la sortie de l’étage d’amplification est estimée à 1.5 cm (20 us).
Remarquez que l’amplitude des échos se situe autour de 2 V, ce qui optimise la résolution
axiale au détriment de la profondeur de pénétration du faisceau d’ultrasons. Ainsi,
122
l’utilisation de la sonde de 3.5 MHz semble destinée aux enfants ayant une petite
morphologie vésicale.
VAMP:
5 V 50 us
VAMP-1
0
VAMP-2
0
Bang initial
VAMP-3
Mur
antérieur
Mur
postérieur
160 us
0
Figure 4.14 Illustration de la détection des murs vésicaux d’un adulte à l’aide de la
sonde de 3.5 MHz.
À l’opposé, les enfants de morphologie plus imposante utiliseront la sonde de 1 MHz
puisque l’amplitude des échos qu’elle détecte se situe autour de 5 V (Figure 4.15). Cette
augmentation de la profondeur de pénétration des ultrasons entraîne malheureusement
une dégradation de la résolution axiale. Toutefois, la morphologie de l’enfant qui utilise
cette sonde nous permet de sacrifier la résolution axiale pour l’optimisation de la
détection du mur postérieur. Conséquemment la profondeur vésicale de 11.2 cm, que
nous avons estimée avec l’aide de la sonde 1 MHz, est légèrement inférieure à celle
123
précédemment mesurée. Pour optimiser la résolution axiale des échos détectés par cette
sonde, il suffit de réduire le gain de l’étage d’amplification. La résolution axiale des
échos de la Figure 4.15 est approximativement de 2.5 cm (mur postérieur).
VAMP:
5 V 50 us
VAMP-1
0
VAMP-2
0
T
Bang initial
Mur
antérieur
Mur
postérieur
VAMP-3
150 us
0
Figure 4.15 Illustration de la détection des murs vésicaux d’un adulte à l’aide de la
sonde de 1 MHz.
En terminant, nous voulons souligner la répétition apparente des résultats obtenus d’un
cycle d’excitation à l’autre et ce, malgré le mouvement inévitable subi par la sonde
lorsque le sujet testé respire normalement. Incidemment, nous pouvons identifier les
parois vésicales d’un adulte sur chacune des courbes illustrées aux Figure 4.14 et Figure
4.15. L’alarme de conditionnement étant destinée au traitement de l’énurésie nocturne
des enfants, nous croyons obtenir de meilleurs résultats avec les tests cliniques à venir.
124
En effet, la morphologie abdominale d’un enfant favorise la détection de sa vessie64
(angle incident de pénétration perpendiculaire à la surface de la peau) et minimise
l’atténuation du faisceau d’ultrasons.
4.3
Compléments des résultats
Cette section rapporte les principales caractéristiques physiques et électriques de notre
alarme de conditionnement, à savoir ses dimensions, son poids et sa consommation de
courant (durée de vie de la pile).
La Figure 4.16 est une photo de la première version de l’alarme de conditionnement que
nous avons mis au point. La seconde version étant sur le point d’être intégrée, cette figure
démontre le respect des critères de miniaturisation que nous avions initialement établis à
la section 2.1.1. Les composants électroniques sont, pour la plupart, montés en surface
des deux cotés du circuit imprimé, composé de quatre couches, afin de réduire le volume
et le poids du dispositif. Par conséquent, les dimensions de l’alarme de conditionnement
(excluant la pile) sont de 5.5 cm en largeur, 7.5 cm en longueur et 1 cm en hauteur. Le
poids total de cette alarme de conditionnement est inférieur à 30 g, ce qui la rend peu
encombrante pendant le sommeil de l'enfant. Finalement, lorsque la tension d’excitation
du transducteur est maximale (VHIGH à 200 V) et que la période d’excitation est de deux
secondes, le dispositif consomme en moyenne 125 mA (incluant l’écran LCD de
64
La vessie d’un enfant est légèrement située au dessus de la symphyse pubienne.
125
validation). L’utilisation d’un pile 9 V traditionnelle (580 mAh) assure donc une
autonomie de vie approximative de quatre heures.
Figure 4.16 Photo de la première version de l’alarme de conditionnement. Le
prototype fut intégré sur un circuit imprimé de quatre couches. Les composants
électroniques sont situés sur les deux cotés du PCB afin de minimiser le volume du
dispositif.
126
CONCLUSION
Notre mémoire se voulait une description d’une alarme de conditionnement ultrasonore
miniaturisée, prédisant le processus de miction des enfants souffrant d’énurésie nocturne.
Cette alarme améliore grandement la thérapie actuelle de conditionnement puisqu’elle
réveille l’enfant avant qu’il urine au lit, éliminant ainsi les épisodes angoissantes qui
détériorent sa confiance et son estime de soi. Tel que nous l’avons expliqué au premier
chapitre, il n’existe aujourd’hui aucun traitement fonctionnel pour corriger, d’une part, le
malaise de l’incontinence nocturne de façon permanente et, d’autre part, les fuites d’urine
encombrantes durant la thérapie. Par conséquent, nos travaux de recherche, combinés aux
tests cliniques que nous effectuerons sous peu65, établissent notre désir d’innovation
quant au traitement de ce malaise affectant plus de 300 000 enfants au Canada. De la
même taille que les alarmes traditionnelles de conditionnement, notre prototype prédit la
miction par ultrasons. L’approche non-invasive proposée, et qui réveille l’enfant avant
qu’il mouille son lit, cherche à estimer le volume de la vessie en mesurant la distance qui
sépare ses murs antérieur et postérieur, à l’aide d’un transducteur ultrasonore circulaire
non focalisé. Cette estimation de la profondeur vésicale est effectuée durant le sommeil
de l’enfant et à intervalle régulier. Lorsque l’orientation de la sonde est stable et que la
distance estimée dépasse le seuil critique programmé, une alarme est activée pour
réveiller l’enfant. Dans le cadre d’un projet de maîtrise antérieur, notre équipe de
recherche a développé en collaboration avec la compagnie Alliance Medical Inc., un
127
premier prototype qui prédisait la miction par la détection du mur postérieur de la vessie.
Cliniquement testé sur des patients ambulatoires, la fiabilité de ce premier prototype s’est
avérée insuffisante puisque son architecture totalement analogique ne permettait pas la
vérification de la provenance de l’écho détecté précédant l’activation de l’alarme.
Conséquemment, une légère modification de l’orientation de la sonde pouvait
occasionner un déclenchement prématuré de l’alarme. À la lumière d’une revue de
littérature exhaustive, nos travaux de recherche consistaient principalement à améliorer la
fiabilité du premier prototype.
Pour ce faire, la solution proposée réside dans l’utilisation d’un contrôleur rapide et
compact. Le contrôleur établit dans le temps les estimations du volume vésical pour
l’amélioration de la fiabilité et, de surcroît, il augmente la précision de ces estimations en
traitant l’ensemble des échos détectés et non seulement celui provenant du mur postérieur
de la vessie. De cette façon et parce que la topologie de la sonde demeure similaire, notre
solution s’avère économique tout en apportant des améliorations à la conception
matérielle, à savoir une interface usager versatile assurant le calibrage du dispositif et un
écran à cristaux liquides affichant les résultats obtenus. En effet, l’architecture
reconfigurable de notre alarme garantit un rendement optimal car il s’ajuste facilement à
la profondeur vésicale critique de la vessie de l’enfant énurétique. L’écran LCD affiche,
quant à lui, les opérations internes du contrôleur pour la validation du fonctionnement de
l’alarme. Lors des tests cliniques, l’alarme étant soumise à des conditions normales de
65
Une description sommaire des tests cliniques à venir se trouve à l’annexe C.
128
fonctionnement, cet écran servira à la compilation des mesures prises sur des patients.
Nous pourrons ainsi évaluer rapidement l’état de reproductibilité des estimations de la
profondeur vésicale afin d’ajuster subséquemment l’algorithme du déclenchement de
l’alarme. Après nous être assurés du fonctionnement de chacun des étages électroniques
composés de deux alimentations DC, d’un émetteur et d’un récepteur, nous avons testé
avec succès l’alarme de conditionnement sur la vessie d’un adulte. Nous sommes donc
prêts à entreprendre les tests cliniques (Annexe C) qui démontreront, de toute évidence,
l’innovation et le fonctionnement de notre dispositif. Dans le but d’optimiser la portée
des futurs tests cliniques, certaines modifications sont suggérées. Nous terminons ce
mémoire par une brève description des recommandations visant également la
commercialisation de notre alarme de conditionnement.
Recommandations
-
Alimentations DC : estimation de l’autonomie de notre appareil alimenté à partir
d’une pile alcaline 9 V après avoir déterminé la période d’excitation optimale. Même
si nous pouvons étirer la durée de vie de l’alarme de 3 ou 4 jours, cette solution n’en
demeure pas moins coûteuse et peu pratique. Nous proposons alors l’utilisation de 4
cellules rechargeables NiCad ou MiH. Nous aurons subséquemment à modifier la
conception de l’alimentation DC de 5 V et, fort probablement, à réduire la seconde
tension DC de 15 V à 12 V. Idéalement, cette dernière modification doit être validée
durant les tests cliniques afin de vérifier la détection adéquate du mur postérieur de la
vessie des enfants énurétiques, étant donné la réduction de la plage dynamique de
129
l’amplificateur du récepteur. De cette manière, nous pensons diminuer la
consommation de courant intrinsèque de notre alarme de conditionnement et qui
obligerait l’usager à charger ces piles 1 ou 2 fois par semaine. Si la taille de l’alarme
de conditionnement le permet, nous pourrions y inclure l’électronique nécessaire afin
de charger les piles sans devoir les retirer du boîtier.
-
Émetteur : réduction de la taille de la bobine toroïdale du convertisseur DC/DC haut
voltage, sans qu’une modification de ses spécifications électriques (résistance série,
courant maximal) soit nécessaire. L’impédance de sortie du générateur d’impulsions
doit être optimisée pour accroître l’amplitude du pulse d’excitation de la sonde.
-
Récepteur : conception d’un filtre passe-bande 1-4 MHz situé à l’entrée de l’étage
d’amplification.
-
Interface de l’usager : programmation de nouveaux paramètres de calibrage
spécifiques à la morphologie de l’enfant énurétique. Ces paramètres contribueront à
augmenter la précision de la prédiction de la miction puisque l’alarme de
conditionnement est personnalisée. L’annexe D contient une description de ces
nouveaux paramètres de calibrage.
-
Sonde : conception de nouvelles sondes avant le début des tests cliniques. Nous
suggérons l’utilisation d’une lentille focale pour réduire le diamètre du transducteur
(diminution de la distance du champ proche). Cette réduction du diamètre du
transducteur augmente son impédance et par conséquent, la densité de puissance
acoustique qu’il émet.
130
-
Contrôleur : intégration d’un nouveau contrôleur qui possède une mémoire
EEPROM pour la sauvegarde des paramètres de calibrage. Nous suggérons
l’utilisation d’un PIC16F877 dont la production est prévue pour mai 1999. Ce
contrôleur possède 256 octets de mémoire EEPROM, sans compter les 8 K de
mémoire FLASH pour implanter le programme lorsque le contrôleur demeure à
même l’application (« In-circuit serial programming »). Ce contrôleur permet de
modifier, à tout moment, le programme qui opère notre alarme afin d’offrir à nos
clients la dernière version logicielle développée. Par ailleurs, ce contrôleur possède
un port de communication USART que nous prévoyons utiliser pour interfacer
l’alarme avec un PC. Nous voulons ainsi calibrer notre alarme de conditionnement à
l’aide d’un ordinateur personnel et permettre le transfert vers ce dernier de données
cliniques échantillonnés dans le temps pour en faire l’analyse.
Finalement, nous désirons souligner que notre alarme de conditionnement est destinée
aux hôpitaux qui, eux-mêmes, les loueront et les calibreront selon la morphologie de
l’enfant énurétique. Néanmoins, les enfants plus âgés et souffrant toujours de ce malaise
voudront l’acheter si elle les réveille avant qu’ils urinent au lit. En terminant, il suffit
uniquement de modifier l’orientation de la sonde66 pour que notre alarme fonctionne sur
les adultes. Les applications possibles de notre alarme sont donc nombreuses et
requièrent
quelques
modifications
mineures
nécessitant
un
développement.
66
Chez les adulte, la vessie est davantage située derrière la symphyse pubienne.
court
temps
de
131
RÉFÉRENCES
[1] ANALOG DEVICES. (Page consultée le 28 juillet 1998). High-speed, low-noise
video
op-amp
–
product
summary,
[En
ligne].
Adresse
URL:
http://products.analog.com/products/info.asp?product=ad829
[2] BARRINGTON, J. W., JONES, A., ROBINSON, J., STEPHENSON, T., (1996).
Estimation of bladder volume using portable ultrasound in clam enterocystoplasty
patients. Journal of Urology, 155, 82-83.
[3] BEAUCHAMP-PARENT, A., SAWAN, M., (1998). New reconfigurable ultrasonic
enuresis monitoring system. Accepted for IEEE/EMBS Proceedings, Hong Kong,
China, October 1998.
[4] CHADWICK, A.T., (1989). BVI 2000 : a non-invasive technique to assess bladder
function. Journal of Neuroscience Nursing, 21, 256-257.
[5] CHAN, H., (1993). Noninvasive bladder volume measurement. Journal of
Neuroscience Nursing, 25, 309-312.
[6] CHRISTENSEN, D. A., (1988). Ultrasonic Bioinstrumentation. John Wiley & Sons,
New York, 235 p.
[7] COLLINSON, P. (Page consultée le 27 juillet 1998). Bedwetting, [En ligne]. Adresse
URL: http://www.wcsquare.demon.co.uk/news/bedwet.htm
[8] DIGI-KEY, (Mai/Juin 1997). Catalogue de composants électroniques, No. 973B.
[9] DUGAS, B., (1979). L’appareil urinaire et la miction. Circulation, respiration et
excrétion, Éditions Études Vivantes, Montréal, 96-98.
132
[10] DURACELL, INC. (Page consultée le 26 juillet 1998). Duracell Inc. Home Page, [En
ligne]. Adresse URL: http://www.duracell.com/OEM/index.html.
[11] FRIMAN, P.C., VOLLMER, D., (1995). Successful use of the nocturnal urine alarm
for diurnal enuresis. Journal of Applied Behavior Analysis, 28, 89-90.
[12] GRIFFITHS, C.J., MURRAY, A., RAMSDEN, P.D., (1986). Accuracy and
repeatability of bladder volume measurement using ultrasonic imaging. Journal of
Urology, 136, 808-812.
[13] HAKENBERG, O.W., RYALL, R.L., LANGLOIS, S.L., MARSHALL, V.R., (1983).
The estimation of bladder volume by sonocystography. Journal of Urology, 130, 249251.
[14] HARRIS SEMICONDUCTOR. (Page consultée le 28 juillet 1998). Dual power
MOSFET
driver
–
product
summary,
[En
ligne].
Adresse
URL:
http://www.semi.harris.com/data/fn/fn2/fn2853/fn2853.pdf
[15] HARRISON, N.W., PARKS, C., SHERWOOD, T., (1976). Ultrasound assessment of
residual urine in children. British Journal of Urology, 47, 805.
[16] HARTNELL, G.G., KIELY, A., WILLIAMS, G., GIBSON, N., (1987). Real-time
ultrasound measurements of bladder volume: a comparative study of three methods.
British Journal of Radiology, 60, 1063-1065.
[17] HEALTH SENSE INTERNATIONAL, INC. (Page consultée le 12 juillet 1998).
Health
Sense
International
http://www.drytime.com
Home
Page,
[En
ligne].
Adresse
URL:
133
[18] INTERNATIONAL RECTIFIER. (Page consultée le 28 juillet 1998). IR2117 – Single
channel
driver,
[En
ligne].
Adresse
URL:
http://www.irf.com/product-
info/datasheets/data/ir2117.pdf
[19] INTERNATIONAL RECTIFIER. (Page consultée le 28 juillet 1998). HV floating
MOS-gate
driver
ICs
–
AN-978,
[En
ligne].
Adresse
URL:
http://www.irf.com/technical-info/an978/an-978p1.htm
[20] INTERNATIONAL RECTIFIER. (Page consultée le 28 juillet 1998). Use gate charge
to design the gate drive circuit for power MOSFETs and IGBTs - AN-944, [En ligne].
Adresse URL: http://www.irf.com/technical-info/an944/an-944.htm
[21] INTERNATIONAL RECTIFIER. (Page consultée le 28 juillet 1998). Bootstrap
component selection for control IC’s – DT-98.2, [En ligne]. Adresse URL:
http://www.irf.com/technical-info/designtp/dt98-2.htm
[22] INTERNATIONAL RECTIFIER. (Page consultée le 28 juillet 1998). Managing
transients in control IC driven power stages– DT-97.3, [En ligne]. Adresse URL:
http://www.irf.com/technical-info/designtp/dt97-3.htm
[23] ISHIGOOKA, M., HASHIMOTO, T., HAYAMI, S., SUZUKI, Y., NAKADA, T.,
HANDA, Y., (1996). Electrical pelvic floor stimulation: a possible alternative
treatment for reflex urinary incontinence in patients with spinal cord injury. Spinal
Cord, 34, 411-415.
[24] JENSEN, A.E., HJELTNES, N., BERSTAD, J., KVALVIK-S., J., (1995). Residual
urine following intermittent catheterisation in patients with spinal cord injuries.
Paraplegia, 33, 693-696.
134
[25] KIDSHEALTH, (Page consultée le 15 juillet 1998). What parents need to know about
bedwetting,
[En
ligne].
Adresse
URL:
http://kidshealth.org/parent/healthy/enuresis.html
[26] KOEPPEN, B.M., STANTON, B.A., (1992). Anatomy and physiology of the lower
urinary tract. Renal physiology, Mosby Year Book Inc., St-Louis, 24-26.
[27] KRUCZKOWSKI, P.J.C., MYLREA, K.C., ROEMER, R.B., DRACH, G.M., (1990).
A non-invasive ultrasonic system to determine residual bladder volume. Journal of
Clinical Engineering, 5, 139-145.
[28] LEWIS, N.A., (1995). Implementing an ultrasound program. Rehabilitation Nursing,
20, 215-217.
[29] LONDON ENURESIS CLINIC, (Page consultée le 27 juillet 1998). Bed-wetting and
AD/HD, [En ligne]. Adresse URL: http://www.web-tv.co.uk/enuresis.html
[30] MAXIM INTEGRATED PRODUCTS. (Page consultée le 28 juillet 1998). Fixed
output 10W CMOS step-up switching regulators, [En ligne]. Adresse URL:
http://209.1.238.250/arpdf/1327.pdf
[31] MAYO CLINIC. (Page consultée le 27 juillet 1998). Bedwetting. Strategies to solve
this common problem, [En ligne]. Adresse URL: http://www.hcin.com/mayo13.htm
[32] MICROCHIP TECHNOLOGY, INC. (1995). MPLAB integrated development
environment & editor (Windows/16), [Logiciel, version 3.22.00]. Disponible
gratuitement à l’adresse URL: http://www.microchip.com
135
[33] MICROCHIP TECHNOLOGY, INC. (1995). PICSTART PLUS development
programmer & software (Windows/16), [Programmeur + logiciel, version 1.30.00]. En
vente chez Digi-Key (1-800-344-4539)
[34] MICROCHIP TECHNOLOGY, INC. (1997). 28-pin programmable mixed signal
controller,
[En
ligne].
Adresse
par
FTP:
microchip.com
Répertoire:
download/lit/picmicro/14C000 Fichier: 40122b.pdf
[35] MICROCHIP TECHNOLOGY, INC. (1997). EPROM memory programming
specification,
[En
ligne].
Adresse
par
FTP:
microchip.com
Répertoire:
download/lit/specs Fichier: 30555a.pdf
[36] MICROCHIP TECHNOLOGY, INC. (1997). Errata sheet for PIC14C000 Revision A,
[En ligne]. Adresse par FTP: microchip.com Répertoire: download/lit/errata Fichier:
40122be1c.pdf
[37] MICROCHIP TECHNOLOGY, INC. (1997). PIC14C000 calibration parameters –
AN621,
[En
ligne].
Adresse
par
FTP:
microchip.com
Répertoire:
download/appnote/category/14C000 Fichier: 00621b.pdf
[38] MONDA, J.M., HUSMANN, D.A., (1995). Primary nocturnal enuresis: a comparison
among observation, imipramine, desmopressin acetate and bed wetting alarm systems.
Journal of Urology, 154, 745-748.
[39] MOORE, K.L., (1992). The pelvis and perineum. Clinically oriented anatomy, 3e
Édition, Williams & Wilkins, Baltimore, 268-277.
[40] NATIONAL SEMICONDUCTOR (Page consultée le 28 juillet 1998). Home Page,
[En ligne]. Adresse URL: http://www.national.com
136
[41] PARENT, A., SAWAN, M., (1998). New reconfigurable ultrasonic enuresis
monitoring system. Accepted for Engineering in Medicine and Biology, Conference in
Hong Kong, China.
[42] PETRICAN, P., SAWAN, M., (1998). Design of a miniaturized ultrasonic bladder
volume monitor and subsequent preliminary evaluation on 41 enuretic patients. IEEE
Transactions on Rehabilitation Engineering, 6, 66-74.
[43] PETRICAN, P., SAWAN, M., (1998). Conception et réalisation d’un détecteur
ultrasonique miniaturisé dédié à l’évaluation du volume urinaire. Mémoire de maîtrise,
École Polytechnique de Montréal, Canada.
[44] POSTON, G.J., JOSEPH, A.E.A., RIDDLE, P.R., (1983). The accuracy of ultrasound
in the measurements of changes in bladder volume. British Journal of Urology, 55,
361-363.
[45] REVORD, J.P., OPITZ, J.L., MURTAUGH, P., HARRISON, J., (1993). Determining
residual urine volumes using a portable ultrasonographic device. Archives of Physical
Medicine & Rehabilitation, 74, 457-462.
[46] RHÔNE-POULENC. (Page consultée le 27 juillet 1998). Sweet Dreams for those who
wet the bed, [En ligne]. Adresse URL: http://www.rpr.rpna.com
[47] ROBERTSON, T. (Page consultée le 10 juillet 1998). Bedwetting – a real solution to a
real problem, [En ligne]. Adresse URL: http://www.bconnex.net/~timbrob/info.html
[48] ROUMELIOTIS, P. (Page consultée le 27 juillet 1998). Dr. Paul’s child health &
wellness info site, [En ligne]. Adresse URL: http://www.drpaul.com
137
[49] SAWAN, M., DUVAL, F., LI, J.-S., HASSOUNA, M., ELHILALI, M., (1993). A
new bladder stimulator – hand-held controller and miniaturized implant: preliminary
results in dogs. Biomedical instrumentation & technology, 27, 143-149.
[50] SERWAY, R. A., (1989). Électricité et magnétisme. Éditions Études Vivantes,
Montréal, 184-186.
[51] SILBERSTEIN, W. (Page consultée le 27 juillet 1998). Bedwetting, [En ligne].
Adresse URL: http://pediatrics.miningco.com/library/weekly/aa060297.htm
[52] STEELE, B.T., (1993). Nocturnal enuresis: treatment options. Canadian Family
Physician, 39, 877-880.
[53] TEKTRONIX. (1995). THS710 & THS720 TekScope – Manuel de l’utilisateur,
Tektronix, Wilsonville, 150 p.
[54] TEKTRONIX. (1996). WaveStar electronic notebook (Windows/16), [Logiciel,
version 1.2.2]. En vente chez Omnitronix Instruments: vente et service à la clientèle,
Dorval, Québec (Adresse: 2330 Place Transcanadienne, H9P 2X5)
[55] THOMAS, B.J., (1992). Bioelectrical impedance analysis for measurement of body
fluid volumes: a review. Journal of Clinical Engineering, 17, 505-510.
[56] TOPPER, A.K., HOLLIDAY, P.J., FERNIE, G.R., (1993). Bladder volume estimation
in the elderly using a portable ultrasound-based measurement device. Journal of
Medical Engineering & Technology, 17, 99-103.
[57] TOPPER, A.K., JERNIGAN, M.E., (1991). Estimation of bladder wall location in
ultrasound images. Medical & biological Engineering & Computing, 29, 2970-303.
138
[58] TRI-STATE INCONTINENCE SUPPORT GROUP. (Page consultée le 27 juillet
1998).
Childhood
incontinence,
[En
ligne].
Adresse
URL:
http://village.ios.com/~tis/child.html
[59] WALTON, J.M., IRWIN, K.S., WHITEHOUSE, G.H., (1996). Comparison of realtime ultrasonography and magnetic resonance imaging in the assessment of urinary
bladder volume. British Journal of Urology, 78, 856-861.
[60] WATANABE, H., AZUNA, Y., (1988). A proposal for classification system of
enuresis based on overnight monitoring of electroencephalography and cystometry.
Sleep, 12, 533-535.
[61] WILLIOT, P., McLORIE, G.A., GILMOR, R.F., CHURCHILL, B.M., (1989).
Accuracy of bladder volume determinations in children using a suprapubic ultrasonic
bi-planar technique. Journal of Urology, 141, 900-902.
[62] XI, T. (Page consultée le 27 juillet 1998). Miracle of acupuncture, [En ligne]. Adresse
URL: http://www.china-guide.com/miracle.html
139
Annexe A
Schémas électriques détaillés
140
1
2
LM340A
5V
3
1K
100K
330n
LBO
100n
LED1
Green
54.8uH
1N5823
15V
N/C 4
IRFU024
220uF
9V
Input
J1
ON/OFF
LX
6
EXT
2
B
S1
1
1N5822
15uF
100n
1000p
8
LBI
GND
91K
100uF
5
MAX643
470K
COMP
1K
220uF
LBO
VOUT
3
VFB
7
A
tensions, respectivement de 5 V et 15 V.
140
Figure A.1 Alimentations DC de l’alarme de conditionnement. Une pile alcaline de 9V est utilisée pour produire deux
141
5V
MODE
5V
S2
A
5V
680
LBO
5V
LCD Screen
LED2
1N914
BZ1
BUZZER
Yellow
10K
A
500
1K
11
S3
100nF
PULSER_SELECT
-C
23
12
MODE
28
EN_LCD
25
3
LCD_RW
LCD_RS
4
5
LCD_DB6
LCD_DB7
6
26
LCD_DB4
BUZZER
LCD_DB5
13
A
A
18
1
ÉCHO
19
DC_SAMPLE
EN_INT
EN_PULSER
EN_AMP
17
DC / DC
Converter
27
PIC14000/JW
EN_OSC
15
Interrupt
Generator
Pulser
Circuit
Variable Gain
Amplifier
Envelope
Detector
J2
C
transducteur et le récepteur pour la détection des échos. Le contrôleur est responsable de l’activation de l’alarme.
141
Figure A.2 Schéma bloc des étages électroniques du dispositif. Le contrôleur commande l’émetteur pour l’excitation du
142
U1
27
28
LCD_RS
1
DC_SAMPLE
1K
RA3/AN3
RD7/AN7
RA2/AN2
RD6/AN6
RA1/AN1
2
11
RC7/SDAA
12
MODE
RC6/SCLA
13
BUZZER
RC5
15
EN_AMP
RD3/REFB
RD2/CMPB
RD1/SDAB
RD0/SCLB
23
EN_LCD
24
N/C
25
LCD_RW
26
LBO
3
LCD_DB7
4
LCD_DB6
5
LCD_DB5
6
LCD_DB4
RC4
16
N.C.
RD4/AN4
RA0/AN0
A
PULSER_SELECT
RD5/AN5
PIC14000/JW
ÉCHO
RC3/T0CKL
OSC1/PBTN
8
20MHz
17
EN_PULSER
RC2
33p
-C
RC1/CMPA
VDD
19
EN_INT
7
VDD
18
EN_OSC
OSC2/CLKOUT
100n
-C
RC0/REFA
VSS
33p
-C
9
4.7u
-T
A
A
20
MCLR*/VPP
A
14
5V
VREG (10) : N/C
SUM (21) : N/C
CDAC (22) : N/C
5V
1N914
10K
1K
S4
10nF
-C
RESET
A
Figure A.3 Schéma des entrées et sorties connectées au contrôleur.
142
A
143
15V
4.7uF-T
1000uH
B’
15V
MUR420
100nF
TP3
180 V
ICL7667
EN_OSC
TP2
6
4
IRFU220
5
1uF-A
4.7uF-A
10uF-A
2.2M
3
B
DC_SAMPLE
2
7
3.9K
N.C.
5K
TP9
CW
Figure A.4 Schéma électrique du convertisseur DC/DC générant une haute tension variable allant jusqu’à 190 V.
143
B’
144
MUR420
IR2117
15V
200V
100nF
100uF-Alu
Low ESR
ICL7667
EN_PULSER
2
6
7
VCC
VB
470nF
IN
HO
COM
VS
100
IRFU220
3
2N3904
560
2N3904
2N3904
IRF9640
10K
Ultrasonic
Transducer
144
Figure A.5 Schéma électrique du générateur d’impulsions.
145
EN_INT
15V
ICL7667
4
EN_AMP
5
100n
4.7u
-C
-T
IRFU9020
12K
12K
5K
256
7
TP6
3
1n
MBD701
MBD701
6.2K
CW
5K
2
4
MBD701
1
2
TP7
TP8
3
CW
3
2
ECHO
4
CW
5
7pF
7
LM311
6
AD829
-C
J2
2K
8
N/C
8
TP5
N/C
6
6.2K
1
5K
1
N/C
5
N/C
2K
1n
10nF
200
-C
CW
5K
3
2
1
TP10
analogique pour la détection des échos.
145
Figure A.6 Schéma électrique du récepteur composé de l’étage d’amplification, du démodulateur et du comparateur
146
Annexe B
Codes de programmation assembleur
147
Programme B.1
;***********************************************************************************
;File name : test_f.asm
;
;Author : Alexandre Beauchamp-Parent, B. Ing.
;
;Date : 27 septembre 1998
;
;Revision : F
;
;Assembler version : v1.50
;
;Description : Cette version est celle utilisee pour valider le dispositif
;
experimentalement sur un fantome avec attenuation. L’ecran LCD
;
affiche la distance mesuree entre les deux premiers echos, le nombre
;
d’echos recus et les temps de reception de tous les echos.
;
Dans le mode calibration, on peut modifier la distance critique,
;
alors que dans le mode alarme, on peut modifier la duree du pulse
;
d’excitation du transducteur.
;
La periode d’excitation est de 2.18 s est determinee par le registre
;
OPTION fixee a la fin de l’initialisation de l’ecran LCD (init.inc).
;
;***********************************************************************************
list p=PIC14000
;Set the processor to PIC14000
;Equivalent in MPASM or from
;"project=>make setup" in MPLAB
include "c:\mplab\p14000.inc"
;Include the processor definition
include "c:\mplab\msca\define_f.inc"
;Include the I/O definition
__config _PWRTE_ON&_FOSC_HS
;Set up the configuration bits
;-----Declare a list of constants
BANK0
BANK1
equ
equ
RESET_VECTOR
INT_VECTOR equ
0x20
0xA0
;variables dans la banque 0 (0x20 - 0x7F)
;variables dans la banque 1 (0x80 - 0xFF)
equ
0x0000
0x0004
;Adresse initiale lors d’un reset
;Adresse initiale lors d’une interruption
148
;-----Declare a list of named variables in RAM
cblock BANK0
;RP0=0, RP1=0 (bank 0)
FLAG_PORT
;Registre de flags
FLAG_RESET
;Causes du reset
INT_PORTC
;Flags pour interruptions sur le PORTC
LCD_INST
;Flags pour la communication avec le AND731
FLAG_MATH
;Flags pour routines mathematiques
ECHO_DETECT
;Registre inhibant la detection des echos
TEMP_PORTC
;Registre temporaire du PORTC
OLD_PORTA
;PORTA au cycle precedent
OLD_PORTC
;PORTC au cycle precedent
READY_COUNTER
;Nombre d’interruptions causees par le comparateur
INT_NUMBER
;Nombre d’echos recus
TMR0_H
;MSBites pour les temps de detection des echos
BUSY_COUNTER
;
LCD_DATA_OUT
;Registre retourne par l’ecran LCD
LCD_DATA_IN
;Registre envoye a l’ecran
INDEX
;# du caratere a afficher
MOT
;# du mot a afficher sur l’ecran LCD
LIGNE
;Ligne courante
DATA_HEX_H, DATA_HEX_L
;Nombre sur 16 bits exprime en format hexadecimal
REGA_H, REGA_L
;Registre A de comparaison (math.inc)
REGB_H, REGB_L
;Registre B de comparaison (math.inc)
COMPTEUR_A
;Registre temporaire
NUMERATEUR_H, NUMERATEUR_L ;Numerateur d’une division sur 16 bits (math.inc)
DENOMINATEUR
;Denominateur d’une division sur 16 bits (math.inc)
RESTE, CARRY_SAVE
;Reste et carry de la division sur 16 bits
MULTIPLICANDE, MULTIPLICATEUR
;Registres a multiplier
RESULT_MUL_H, RESULT_MUL_L ;
NOMBRE1_H, NOMBRE1_L
;
NOMBRE2_H, NOMBRE2_L
;
RESULT_SOUS_H, RESULT_SOUS_L ;
OSC_PERIOD
;Periode d’oscillation du convertisseur DC/DC
THRESHOLD
;
TEMP
;
FSR_TEMP
;Registre temporaire lors d’une interruption
PULSE_WIDTH
;Largeur du pulse d’excitation
endc
cblock 0x50
NIBBLE0_BCD
NIBBLE1_BCD
NIBBLE2_BCD
NIBBLE3_BCD
NIBBLE4_BCD
NIBBLE5_BCD
endc
;
;Conversion de 16 bits hex en 6 chiffres dec
;
;
;
;
;(pas necessaire)
;
cblock 0x56
TMR0_1_L, TMR0_1_H
TMR0_2_L, TMR0_2_H
;
;
;
149
TMR0_3_L, TMR0_3_H
TMR0_4_L, TMR0_4_H
TMR0_5_L, TMR0_5_H
TMR0_6_L, TMR0_6_H
TMR0_7_L, TMR0_7_H
;
;
;
;
;0x63
TEMPS_1_L, TEMPS_1_H
TEMPS_2_L, TEMPS_2_H
TEMPS_3_L, TEMPS_3_H
;0x64
;
;
DISTANCE_1
;
endc
cblock 0x7C
W_SAVE
STATUS_SAVE
PCLATH_SAVE
FSR_SAVE
endc
;
;Variable in bank0 and bank1
;
;
;
;-----Declare a list of flag definitions in RAM variable
#define
#define
F_MODE
F_LCD
FLAG_PORT,6
FLAG_PORT,0
;Mode d’operation 0=alarme; 1=calib
;0=initialisation; 1=normal
#define
#define
#define
#define
F_LVD
F_POR
F_WDT
F_MCLR
FLAG_RESET,3
FLAG_RESET,2
FLAG_RESET,1
FLAG_RESET,0
;Low Voltage Detection
;Power-On Reset
;WDT reset during normal operation
;MCLR reset during normal operation
;or SLEEP or HIBERNATE
#define
#define
#define
INT_SELECTION
INT_MODE
COMP_TRIP
INT_PORTC,7 ;Interruption sur RC7
INT_PORTC,6 ;Interruption sur RC6 (MODE)
INT_PORTC,3 ;Interruption provoquee lorsque la
;haute tension DC est charge
#define
#define
#define
F_LCD_RW
F_LCD_RS
AFFICHE_ZERO
LCD_INST,3
LCD_INST,2
LCD_INST,1
#define
#define
F_EQUAL
F_CMP
FLAG_MATH,1
FLAG_MATH,0
;AND731 Read/Write command
;AND731 Register Select
;0=0 non-significatif
;1=0 significatif
;1 lorsque 2 nombres sont egaux
;
;-----Program starts
org
clrf
goto
RESET_VECTOR
PCLATH
INIT
;0x000
;
;
150
org
goto
INT_VECTOR
INT_POOL
;0x004
;
include "c:\mplab\msca\inter_f.inc"
;routine d’interruption
include "c:\mplab\msca\init.inc"
;routines d’initialisation des registres
;-----Debut du programme principal
;***********************************************************************************
;Nom : MAIN
;
;Entrées :
;
;Sortie :
;
;Descrition :
Programme principal
;
-verification de l'etat de la pile
;
;
;***********************************************************************************
MAIN
clrwdt
BATTERY_CHECK
btfss
call
LBO
BATTERY_ALARM
;LBO=1 lorsque la pile est morte
;Activation de l'alarme
CYCLE_CHECK
btfss
call
call
nop
F_MODE
CYCLE_START
AFFICHE_ECRAN
;
;Excitation dans le mode alarme
;Affichage des resultats
;
CYCLE_END
sleep
nop
goto
;initialisation du watchdog timer
;Normal sleep (2.18s)
;
MAIN
;On recommence...
;***********************************************************************************
;Nom : CYCLE_START
;
;Entrées :
;
;Sortie :
;
;Descrition :
Cette sous-routine
;
;***********************************************************************************
151
CYCLE_START
call
call
call
call
call
call
return
DC_CONVERTER
PULSE_GENERATOR
ECHO_DETECTION
FILTER
BLADDER_DEPTH
BUZZER_STATE
;Charge la haute tension
;Excitation du transducteur
;Detection des echos
;Conversion en seconde
;Calcul de la profondeur vesicale
;Algorithme de validation
;Fin
;***********************************************************************************
;Nom : DC_CONVERTER
;
;Entrées :
READY_COUNTER
;
;Sortie :aucune
;
;Descrition :
Cette sous-routine active le convertiseeur DC/DC jusqu'à ce que
;
la haute tension souhaitee est stable.
;***********************************************************************************
DC_CONVERTER
INIT_TEMPS
NEXT_CYCLE
clrf
clrf
clrf
bcf
READY_COUNTER
TMR0_H
INT_NUMBER
COMP_TRIP
;Init du compteur d'interruptions
;Compteur pour bits 15 a 8 du Timer0
;Init du # d'echos detectes
;Init du flag de la sortie du comparateur
movlw
movwf
clrf
incf
movlw
xorwf
btfss
goto
0x56
FSR
INDF
FSR,F
0x70
FSR,W
STATUS,Z
INIT_TEMPS
;position initiale du tableau
;a initialiser (distances, temps, etc..)
;
;
;derniere adresse + 1
;
;
;
call
DELAI2
;
bsf
bcf
bcf
STATUS,RP0
SLPCON,2
STATUS,RP0
;SLPCON in bank 1
;active le comparateur analogique interne
;et la reference.
bcf
bsf
bsf
bcf
PIR1,CMIF
STATUS,RP0
PIE1,CMIE
STATUS,RP0
;
;
;active les interruptions du comparateur A
;
clrwdt
btfss
EN_OSC
goto
CHARGE
;
;On charge le condensateur (haut-voltage)
;
movlw
movwf
bcf
goto
;La bobine se charge en courant
;
;
;
d'06'
OSC_PERIOD
EN_OSC
COUNT_PERIOD
152
CHARGE
movlw
movwf
bsf
btfsc
goto
d’04’
OSC_PERIOD
EN_OSC
COMP_TRIP
DC_NOT_READY
COUNT_PERIOD
decfsz OSC_PERIOD,F
goto
COUNT_PERIOD
goto
NEXT_CYCLE
;
;
;
DC_NOT_READY
bcf
movlw
subwf
btfss
goto
COMP_TRIP
d’02’
READY_COUNTER,W
STATUS,C
COUNT_PERIOD
;
;fin lorsque 2 inter. du comparateur A
;Attendre que la haute tension
;se stabilise
;
bsf
bcf
bcf
bcf
STATUS,RP0
PIE1,CMIE
STATUS,RP0
PIR1,CMIF
;
;fin interruption sur comparateur A
;
;
bsf
bsf
bcf
bcf
STATUS,RP0
SLPCON,2
STATUS,RP0
PIR1,CMIF
;
;desactive le comparateur
;
;
bsf
call
EN_CONVERT
DELAI1
;Desactive l’oscillateur (pas necessaire)
;
bsf
call
EN_OSC
DELAI1
;Decharge la bobine
;
return
;Le condensateur se charge en tension
;
;
;
;
;
;***********************************************************************************
;Nom : PULSE_GENERATOR
;
;Entrées :
aucune
;
;Sortie :aucune
;
;Descrition :
Cette sous-routine active le générateur d'impulsions afin d'exciter
;
le cristal de 3.5MHz. De plus, nous initialisons le registre TMR0
;
afin que les temps calculés mesurent une distance entre le cristal
;
et une paroi. On permet une interruption de TMR0 pour indiquer que
;
la réception est terminée. Le but est de minimiser la consommation
;
de puissance.
;***********************************************************************************
PULSE_GENERATOR bcf
nop
bcf
INTCON,GIE
INTCON,T0IF
;Desactive les interruptions sur le PORTC
;lors de l'excitation du transducteur
;et l'activation du recepteur.
153
NEXT_WIDTH
movf
movwf
movlw
movwf
bcf
decfsz
goto
bsf
PULSE_WIDTH,W
TEMP
d’00’
TMR0
EN_PULSER
TEMP,F
NEXT_WIDTH
EN_PULSER
nop
bsf
;(voir inter.inc)
;
;Initialisation du Timer
;
;active le générateur d'impulsions
;
;
;desactive le generateur d'impulsions
;
EN_AMP
return
;active l'étage de réception
;
;***********************************************************************************
;Nom : ECHO_DETECTION
;
;Entrées :
FIN_AMP
;
;Sortie :aucune
;
;Descrition :
Cette sous-routine active l'étage de réception jusqu'à ce que
;
FIN_AMP = 1.
;***********************************************************************************
ECHO_DETECTION
movlw
movwf
movlw
movwf
d'45'
ECHO_DETECT
0x56
FSR
;fenêtre temporelle qui empêche l'étage de
;réception d'amplifier le pulse d'excitation
;Debut du tableau pour sauver le TIMER0
;TMR0 dans l'interruption RC4
DETECT_OFF
nop
decfsz ECHO_DETECT,F
goto
DETECT_OFF
bsf
EN_INT
;On ignore les echos pour 40us
;
;
;on active le générateur d'impulsions
DETECT_ON
btfsc
call
PORTA,3
ECHO_RECU
;Le contrôleur échantillonne la sortie du
;du comparateur qui détecte les échos
btfsc
call
INTCON,T0IF
ADJUST_TIMER
;on évite ainsi d'utiliser la routine
;d'interruptions qui est plus longue.
movlw
xorwf
btfsc
goto
d'5'
TMR0_H,W
STATUS,Z
END_DETECTION
;le temps est-il écoulé?
;
;
;
movlw
xorwf
btfss
goto
0x64
FSR,W
STATUS,Z
DETECT_ON
;Dernière adresse+1 du tableau
;
;
;
154
END_DETECTION
bcf
call
EN_INT
DELAI1
;désactive l'étage de réception
;mesure pendant celle en cours
bcf
call
EN_AMP
DELAI1
;désactive l’étage d'amplification
;
bcf
bsf
nop
bcf
movf
movwf
btfsc
bsf
PIR1,RCIF
INTCON,GIE
;
;Réactivation des interruptions sur RC
;
;
;lire le PORTC pour le premier
;interrompt polling du PORTC
;Position initiale du commutateur MODE
;mode calibration
F_MODE
PORTC,W
OLD_PORTC
OLD_PORTC,6
F_MODE
return
;
;***************************
ADJUST_TIMER
incf
bcf
TMR0_H,F
INTCON,T0IF
return
;Incrementation des MSbites du Timer0
;Initialisation du flag d'interruption
;
;***************************
ECHO_RECU
FIN_ECHO
CHECK_0
nop
btfss
PORTA,3
return
;
;Elimination des glitchs par une autre
;verification de la sortie du comparateur
incf
btfsc
call
movf
movwf
incf
movf
movwf
incf
INT_NUMBER,F
INTCON,T0IF
ADJUST_TIMER
TMR0,W
INDF
FSR,F
TMR0_H,W
INDF
FSR,F
;
;Derniere verification du MSB avant
;la sauvegarde de TMR0
;Interruption possible lorsque
;l'étage de réception est active
;Les interruptions sont desactivees
;
;
;
movlw
movwf
nop
btfsc
goto
decfsz
goto
d'01'
TEMP
;
;
;
;
;
;
;
return
PORTA,3
CHECK_0
TEMP,F
CHECK_0
;
155
;***********************************************************************************
;Nom : FILTER
;
;Entrées :
TMR0_1, TMR0_2, TMR0_3, TMR0_4, TMR0_5, TMR0_6
;
;Sorties :
entrées de la sous-routine VOLUME
;
;Descrition :
Cette sous-routine
;
;***********************************************************************************
FILTER
movlw 0x56
movwf FSR
;Debut du tableau du TIMER0
;
call
movf
movwf
movf
movwf
TEMPS_US
NUMERATEUR_L,W
TEMPS_1_L
NUMERATEUR_H,W
TEMPS_1_H
;
;
;
;
;
call
movf
movwf
movf
movwf
TEMPS_US
NUMERATEUR_L,W
TEMPS_2_L
NUMERATEUR_H,W
TEMPS_2_H
;
;
;
;
;
call
movf
movwf
movf
movwf
TEMPS_US
NUMERATEUR_L,W
TEMPS_3_L
NUMERATEUR_H,W
TEMPS_3_H
;
;
;
;
;
return
;
;*****************************************************
TEMPS_US
movf
movwf
incf
movf
movwf
incf
movlw
movwf
call
return
INDF,W
NUMERATEUR_L
FSR,F
INDF,W
NUMERATEUR_H
FSR,F
d'05'
DENOMINATEUR
DIVISION_16
;
;
;
;
;
;
;
;
;
;
;***********************************************************************************
;Nom : BLADDER_DEPTH
;
156
;Entrées :
sorties de la sous-routine FILTER
;
;Sorties :
DISTANCE1_H, DISTANCE1_L
;
;Descrition :
Cette sous-routine calcule la distance entre deux échos.
;
;***********************************************************************************
BLADDER_DEPTH
movf INT_NUMBER,F
btfsc STATUS,Z
return
;Aucun echo !
;
;
movf INT_NUMBER,W
xorlw d'01'
btfsc STATUS,Z
return
;Un seul echo !
;
;
movf
movwf
movf
movwf
movf
movwf
movf
movwf
call
TMR0_2_H,W
NOMBRE1_H
TMR0_2_L,W
NOMBRE1_L
TMR0_1_H,W
NOMBRE2_H
TMR0_1_L,W
NOMBRE2_L
SOUSTRAC_16
;TMR0_2 - TMR0_1 = NOMBRE_1-NOMBRE_2
;
;
;
;
;
;
;
;le resultat est sur 16 bits
movf
movwf
movf
movwf
movlw
movwf
call
RESULT_SOUS_H,W
NUMERATEUR_H
RESULT_SOUS_L,W
NUMERATEUR_L
d'10'
DENOMINATEUR
DIVISION_16
;
;
;
;
;
;
;Le reste est utilise plus loin!
movf
movwf
movlw
movwf
call
movf
movwf
movf
movwf
NUMERATEUR_L,W
MULTIPLICANDE
d'150'
MULTIPLICATEUR
MULTI_8
RESULT_MUL_H,W
NUMERATEUR_H
RESULT_MUL_L,W
NUMERATEUR_L
;
;
;Celerite/10
;
;
;Storage temporaire avant de traiter
;le reste de la division precedente
;
;
movf
movwf
movlw
movwf
call
RESTE,W
MULTIPLICANDE
d'15'
MULTIPLICATEUR
MULTI_8
;Reste de la division precedente (<9)
;
;Celerite/100
;
;Resultat sur 8 bits maximum
movf
RESULT_MUL_L,W
;
157
addwf
btfsc
incf
movlw
movwf
call
NUMERATEUR_L,F
STATUS,C
NUMERATEUR_H,F
d’100’
DENOMINATEUR
DIVISION_16
;
;
;
;
;
;
movf NUMERATEUR_L,W ;
movwf DISTANCE_1
;Resultat en mm
return
;***********************************************************************************
;Nom : BUZZER_STATE
;
;Entrées :
DISTANCE1_H, DISTANCE1_L
;
;Sorties :
aucune
;
;Descrition :
Cette sous-routine active l'alarme.
;***********************************************************************************
BUZZER_STATE
clrf
movf
movwf
clrf
movf
movwf
call
REGA_H
;Excitation mode
DISTANCE_1,W
;
REGA_L
;
REGB_H
;
THRESHOLD,W
;
REGB_L
;
COMPARE_16 ;si DISTANCE_1 > THRESHOLD, F_CMP=1
btfsc
goto
F_CMP
BUZZER_ON
;
;
BUZZER_OFF
bsf
BUZZER
return
;
;
BUZZER_ON
bcf
BUZZER
return
;
;
;******************************************************
BATTERY_ALARM
bcf
sleep
nop
bsf
sleep
nop
btfss
goto
return
BUZZER
BUZZER
LBO
BATTERY_ALARM
;
;
;
;
;
;
;
;
;
;******************************************************
158
DELAI1
REPEAT1
movlw 0x0F
movwf TEMP
clrwdt
nop
decfsz TEMP,F
return
;
;
;
;
;
;******************************************************
DELAI2
REPEAT2
movlw
movwf
clrwdt
nop
decfsz
goto
return
0x60
TEMP
TEMP,F
REPEAT2
;
;
;
;
;
;
;
;******************************************************
DELAI3
REPEAT3
movlw
movwf
clrwdt
nop
decfsz
goto
return
0xFF
TEMP
TEMP,F
REPEAT3
;
;
;
;
;
;
;
;******************************************************
include "c:\mplab\msca\lcd_exp.inc"
include "c:\mplab\msca\math.inc"
end
;Sous-routines d’affichage
;Sous-routines mathématiques
159
Programme B.2
;***********************************************************************************
;File name : define_f.inc
;
;Author : Alexandre Beauchamp-Parent, B. Ing.
;
;Date : 12 sept 1997
;
;Revision : A
;
;Assembler version :
;
;Description :
;***********************************************************************************
ifdef __14000
#define ECHO
#define LCD_RS
PORTA,3
PORTA,2
;Pin RA3/AN3 - RA3 output
;Pin RA2/AN2 - RA2 output
#define PULSER_SELECT
#define MODE
#define BUZZER
#define EN_AMP
#define EN_CONVERT
#define EN_PULSER
#define EN_OSC
#define EN_INT
PORTC,7
PORTC,6
PORTC,5
PORTC,4
PORTC,3
PORTC,2
PORTC,1
PORTC,0
;Pin RC7 input
;Pin RC6 input - Interrupt on-change
;Pin RC5 output
;Pin RC4 input - Interrupt on-change
;Pin RC3/T0CKL - RC3 output
;Pin RC2 output
;Pin RC1 output
;
#define EN_LCD
#define BIDON
#define LCD_RW
#define LBO
#define LCD_DB7
#define LCD_DB6
#define LCD_DB5
#define LCD_DB4
PORTD,7
PORTD,6
PORTD,5
PORTD,4
PORTD,3
PORTD,2
PORTD,1
PORTD,0
;Pin RD7/AN7 - RD7 output
;Pin RD6/AN6 - RD6 output
;Pin RD5/AN5 - RD5 output
;Pin RD4/AN4 - RD4 input
;Pin RD3/AN3 - RD3 output
;Pin RD2/AN2 - RD2 output
;Pin RD1/AN1 - RD1 output
;Pin RD0/AN0 - RD0 output
endif
160
Programme B.3
;***********************************************************************************
;File name : init.inc
;
;Author : Alexandre Beauchamp-Parent, B. Ing.
;
;Date : 10 nov 1997
;
;Revision : A
;
;Assembler version :
;
;Description :
;***********************************************************************************
;-----Module d’initialisation <INIT>
INIT
call
call
call
call
call
goto
INIT_RAM
INIT_PORT
INIT_CPU
INIT_LCD
RESET
MAIN
;initialisation la mémoire RAM
;initialisation des ports d'entrées/sorties
;initialisation des périphériques internes
;initialisation de l'écran
;vérification des conditions de départ
;
;***********************************************************************************
;Nom : INIT_RAM
;
;Entrées :
aucune
;
;Sortie :aucune
;
;Descrition :
Erase all RAM memory in bank0 and bank1
;
;***********************************************************************************
INIT_RAM
INIT_RAM1
INIT_RAM2
bcf
movlw
movwf
clrf
incf
movlw
xorwf
btfss
goto
bsf
movlw
movwf
clrf
incfsz
goto
STATUS,RP0
0x20
FSR
INDF
FSR,F
0x80
FSR,W
STATUS,Z
INIT_RAM1
STATUS,RP0
0xA0
FSR
INDF
FSR,F
INIT_RAM2
;Bank0 RAM initialisation
;
;
;Erase address in FSR
;Next RAM address
;End of bank0 RAM
;
;
;
;Bank1 RAM initialisation
;
;
;Erase address in FSR
;End of bank1 RAM + 1 (0x100)
;
161
return
;
;***********************************************************************************
;Nom : INIT_PORT
;
;Entrées :
aucune
;
;Sortie :aucune
;
;Descrition :
;
;***********************************************************************************
INIT_PORTA equ
INIT_PORTC equ
INIT_PORTD equ
b'00000000'
b'00101110'
b'10000010'
;R/W* - RS
;
;
INIT_TRISA
INIT_TRISC
INIT_TRISD
equ
equ
equ
b'11111011'
b'11000000'
b'00010000'
;
;
;
INIT_ADCON1 equ
INIT_CMCON equ
INIT_OPTION equ
b'00001110'
b'00000000'
b'11001000'
;
;
;
INIT_PORT
bcf
movlw
movwf
movlw
movwf
movlw
movwf
STATUS,RP0
INIT_PORTA
PORTA
INIT_PORTC
PORTC
INIT_PORTD
PORTD
;Bank0 - Initialise I/O state
;PORTA state
;
;PORTC state
;
;PORTD state
;
bsf
movlw
movwf
movlw
movwf
movlw
movwf
STATUS,RP0
INIT_TRISA
TRISA
INIT_TRISC
TRISC
INIT_TRISD
TRISD
;Bank1 - Set I/O direction
;PORTA direction
;
;PORTC direction
;
;PORTD direction
;
movlw
movwf
movlw
movwf
movlw
movwf
INIT_ADCON1
ADCON1
INIT_CMCON
CMCON
INIT_OPTION
OPTION_REG
;
;
;
;
;
;
return
;
162
;***********************************************************************************
;Nom : INIT_CPU
;
;Entrées :
aucune
;
;Sortie :aucune
;
;Descrition :
;
;***********************************************************************************
INIT_INTCON
INIT_PIR1
INIT_I2CCON
INIT_ADCON0
equ
equ
equ
equ
b'11000000'
b'00000000'
b'00000110'
b'00000010'
;Special registers in bank0
;
;
;
INIT_PIE1
INIT_SLPCON
INIT_PREFA
INIT_PREFB
INIT_MISC
equ
equ
equ
equ
equ
b'00000100'
b'00001111'
b'01111111'
b'01111111'
b'00000000'
;Special registers in bank1
;
;Reference a 0.85V
;
;
INIT_CPU
bcf
movlw
movwf
movlw
movwf
movlw
movwf
movlw
movwf
STATUS,RP0 ;
INIT_INTCON ;
INTCON
;Initialise INTCON register
INIT_PIR1
;
PIR1
;Initialise PIR1 register
INIT_I2CCON ;
I2CCON
;Initialise I2CCON register
INIT_ADCON0 ;
ADCON0
;Initialise ADCON0 register
bsf
movlw
movwf
movlw
movwf
movlw
movwf
movlw
movwf
movlw
movwf
STATUS,RP0
INIT_PIE1
PIE1
INIT_SLPCON
SLPCON
INIT_PREFA
PREFA
INIT_PREFB
PREFB
INIT_MISC
MISC
;
;
;Initialise PIE1 register
;
;Initialise SLPCON register
;
;Initialise PREFA register
;
;Initialise PREFA register
;
;Initialise MISC register
bcf
STATUS,RP0
;
return
;
163
;***********************************************************************************
;Nom : INIT_LCD
;
;Entrées :
aucune
;
;Sortie :aucune
;
;Description : Cette sous-routine initialise l'écran à cristaux liquides
;
;Registres modifiés :
;
;***********************************************************************************
INIT_LCD
INIT_8_BITS
bcf
STATUS,RP0
movlw d'03'
movwf COMPTEUR_A
;
;
;
bcf
nop
bcf
nop
bcf
nop
EN_LCD
;
;
;
;
;
;
bsf
nop
movf
andlw
iorlw
movwf
nop
bcf
nop
EN_LCD
LCD_RW
LCD_RS
PORTD,W
b'11110000'
b'00000011'
PORTD
EN_LCD
;
;
;communication de 8 bits
;
;
;
;
;
;
sleep
nop
;
;
decfsz COMPTEUR_A,F
goto
INIT_8_BITS
;
;
bsf
nop
movf
andlw
iorlw
movwf
nop
bcf
nop
;
;
;communication de 4 bits
;
;
;
;
;
sleep
nop
EN_LCD
PORTD,W
b'11110000'
b'00000010'
PORTD
EN_LCD
;
;
164
FUNCTION_SET
movlw
movwf
bcf
bcf
call
call
b’00101100’
LCD_DATA_OUT
F_LCD_RW
F_LCD_RS
LCD_COMMUNICATION
BUSY_FLAG
;
;
;
;
;
;
movlw
movwf
bcf
bcf
call
call
b’00101100’
LCD_DATA_OUT
F_LCD_RW
F_LCD_RS
LCD_COMMUNICATION
BUSY_FLAG
;
;
;
;
;
;
DISPLAY_CONTROL movlw
movwf
bcf
bcf
call
call
b’00001100’
LCD_DATA_OUT
F_LCD_RW
F_LCD_RS
LCD_COMMUNICATION
BUSY_FLAG
;
;
;
;
;
;
movlw
movwf
bcf
bcf
call
call
b’00001100’
LCD_DATA_OUT
F_LCD_RW
F_LCD_RS
LCD_COMMUNICATION
BUSY_FLAG
;
;
;
;
;
;
movlw
movwf
bcf
bcf
call
call
b’00000110’
LCD_DATA_OUT
F_LCD_RW
F_LCD_RS
LCD_COMMUNICATION
BUSY_FLAG
;
;
;
;
;
;
movlw
movwf
bcf
bcf
call
call
b’00000110’
LCD_DATA_OUT
F_LCD_RW
F_LCD_RS
LCD_COMMUNICATION
BUSY_FLAG
;
;
;
;
;
;
movlw
movwf
bcf
bcf
call
call
b’00000001’
LCD_DATA_OUT
F_LCD_RW
F_LCD_RS
LCD_COMMUNICATION
BUSY_FLAG
;
;
;
;
;
;
movlw
movwf
bcf
bcf
b’00000001’
LCD_DATA_OUT
F_LCD_RW
F_LCD_RS
;
;
;
;
ENTRY_MODE
CLEAR_DISPLAY
165
call
call
LCD_COMMUNICATION
BUSY_FLAG
return
;
;
;
;***********************************************************************************
;Nom : RESET
;
;Entrée :
aucune
;
;Sorties :
F_POR, F_WDT, F_MCLR, F_MODE
;
;Descrition :
Identify the type of reset
;
;Registres modifiés :
;
;***********************************************************************************
RESET
clrwdt
bsf
bsf
bsf
bsf
bcf
;
STATUS,RP0
OPTION_REG,2
OPTION_REG,1
OPTION_REG,0
STATUS,RP0
;Sleep 2.18s
;
;
;
;
movlw d'50'
movwf THRESHOLD
;Set threshold distance to 50mm
;
movlw d'01'
movwf PULSE_WIDTH
;
;
movf
movwf
btfsc
bsf
PORTC,W
OLD_PORTC
OLD_PORTC,6
F_MODE
;lire le PORTC pour le premier
;interrupt polling du PORTC
;Position initiale du commutateur MODE
;mode calibration
bcf
call
sleep
nop
sleep
nop
bsf
F_LCD
AFFICHE_ECRAN
F_LCD
;Affichage d'initialisation
;
;2.18s
;
;2.18s
;
;
ETAT_RESET
bsf
btfsc
goto
STATUS,RP0
PCON,NOT_POR
RESET_WDT
;
;
;
RESET_POR
bsf
bsf
PCON, NOT_POR
PCON, NOT_LVD
;
;
166
bcf
STATUS,RP0
bsf
F_POR
return
;
;
;
RESET_WDT
btfsc
goto
bcf
bsf
return
;WDT en opération normale
;
;
;
;
RESET_MCLR
bsf
PCON, NOT_LVD
bcf
STATUS,RP0
bsf
F_MCLR
return
STATUS,NOT_TO
RESET_MCLR
STATUS,RP0
F_WDT
;
;
;
;
167
Programme B.4
;***********************************************************************************
;File name : inter.inc
;
;Author : Alexandre Beauchamp-Parent, B. Ing.
;
;Date : 12 janvier 1998
;
;Revision : D
;
;Assembler version :
;
;Description : Gestion des interruptions
;***********************************************************************************
;***********************************************************************************
;Nom : INT_POOL
;
;Entrées :
;
;Sortie :
;
;Descrition :
Cette sous-routine
;
;***********************************************************************************
INT_POOL
movwf
movf
bcf
movwf
movf
movwf
movf
movwf
clrf
W_SAVE
STATUS,W
STATUS,RP0
STATUS_SAVE
PCLATH,W
PCLATH_SAVE
FSR,W
FSR_SAVE
PCLATH
;save register W
;
;variables de la page 2
;push le STATUS
;push le PC counter HI
;
;push le FSR
;
;cas où on entre en interrupt de la page 2
btfsc
goto
PIR1,RCIF
INT_RC
;pool l'interruption Interrupt on change
;
btfsc
goto
PIR1,CMIF
;pool l'interruption de CMPA
INT_COMPARATOR ;
btfsc
goto
INTCON,T0IF
INT_TIMER0
;pool l'interruption du timer 0
;
btfsc
goto
PIR1,PBIF
INT_PUSHBUTTON
;
;
btfsc
goto
PIR1,OVFIF
INT_TIMER_AD
;
;
168
btfsc
goto
PIR1,ADCIF
INT_CAPTURE_AD
;
;
btfsc
goto
PIR1,I2CIF
INT_I2C
;
;
FIN_POOL
call
retfie
INT_PULL
;
;GIE=1
INT_PULL
bcf
movf
movwf
movf
movwf
movf
movwf
movf
return
STATUS,RP0
FSR_SAVE,W
FSR
PCLATH_SAVE,W
PCLATH
STATUS_SAVE,W
STATUS
W_SAVE,W
;
;
;pop le FSR
;
;pop le PC counter HI
;
;pop le STATUS
;pop le Work Register
;
;***********************************************************************************
;Nom : INT_TIMER0
;
;Entrées :
aucune
;
;Sortie :aucune
;
;Descrition :
Cette sous-routine
;
;***********************************************************************************
INT_TIMER0 bcf
btfsc
call
STATUS,RP0
INTCON,T0IE
T0IE_ON
;
;regarde si l'interruption est
;en service
T0IE_OFF
bcf
goto
INTCON,T0IF
FIN_POOL
;
;
T0IE_ON
nop
return
;
;***********************************************************************************
;Nom : INT_COMPARATOR
;
;Entrées :
;
;Sortie :
;
;Descrition :
Cette sous-routine
;
;***********************************************************************************
INT_COMPARATOR bsf
STATUS,RP0
;
169
btfsc
call
PIE1,CMIE
CMIE_ON
;regardes si l’interruption est en service
;
CMIE_OFF
bcf
bcf
goto
STATUS,RP0
PIR1,CMIF
FIN_POOL
;
;remet le flag d'interruption à 0
;
CMIE_ON
bcf
incf
bsf
STATUS,RP0
;
READY_COUNTER,F ;
COMP_TRIP
;le condensateur est charge
return
;
;***********************************************************************************
;Nom : INT_RC
;
;Entrées :
;
;Sortie :
;
;Descrition :
Cette sous-routine
;
;***********************************************************************************
INT_RC
bsf
btfsc
call
STATUS,RP0
PIE1,RCIE
RCIE_ON
;
;regardes si l'interruption est
;en service
RCIE_OFF
bcf
bcf
goto
STATUS,RP0
PIR1,RCIF
FIN_POOL
;
;remet le flag d'interruption à 0
;va pooler au premier niveau
RCIE_ON
bcf
STATUS,RP0
movf PORTC,W
movwf TEMP_PORTC
;
;lire le PORTC
;
xorwf
andlw
movwf
movf
movwf
OLD_PORTC,W
b'11000000'
INT_PORTC
TEMP_PORTC,W
OLD_PORTC
;
;
;
;
;
btfsc
call
btfsc
call
INT_MODE
INT_RC6
INT_SELECTION
INT_RC7
;
;
;
;
INT_RC6
return
;
btfsc OLD_PORTC,6
goto
MODE_CALIB
bcf
F_MODE
return
;
;
;
;
170
MODE_CALIB
bsf
F_MODE
return
;
;
INT_RC7
btfsc OLD_PORTC,7
return
;interrupt on high to low transition
;
btfsc
goto
incf
movlw
xorwf
btfss
return
movlw
movwf
return
F_MODE
THRESHOLD_INC
PULSE_WIDTH,F
d’05’
PULSE_WIDTH,W
STATUS,Z
;
;Calibration mode
;
;
;
;
;
;
;
;
movlw
addwf
movlw
subwf
btfss
return
movlw
movwf
return
d’10’
THRESHOLD,F
d’100’
THRESHOLD,W
STATUS,C
THRESHOLD_INC
d’01’
PULSE_WIDTH
d’10’
THRESHOLD
;Increment the threshold (10mm)
;
;
;
;
;
;
;
;
;***********************************************************************************
;Nom : INT_PUSHBUTTON
;
;Entrées :
;
;Sortie :
;
;Descrition :
Cette sous-routine
;
;***********************************************************************************
INT_PUSHBUTTON
bsf
btfsc
call
STATUS,RP0
PIE1,PBIE
PBIE_ON
;
; Regardes si l'interruption est en service
;
PBIE_OFF
bcf
bcf
goto
STATUS,RP0
PIR1,PBIF
FIN_POOL
;
; Remet le flag d'interruption à 0
; Va pooler au premier niveau
PBIE_ON
bcf
STATUS,RP0
nop
return
;
; Mettre routine de service ici
;
171
;***********************************************************************************
;Nom : INT_TIMER_AD
;
;Entrées :
;
;Sortie :
;
;Descrition :
Cette sous-routine
;
;***********************************************************************************
INT_TIMER_AD
bsf
btfsc
call
STATUS,RP0
PIE1,OVFIE
OVFIE_ON
;
;regarde si l'interruption est
;en service
OVFIE_OFF
bcf
bcf
goto
STATUS,RP0
PIR1,OVFIF
FIN_POOL
;
;remet le flag d'interruption à 0
;va pooler au premier niveau
OVFIE_ON
bcf
STATUS,RP0
nop
return
;
;mettre routine de service ici
;
;***********************************************************************************
;Nom : INT_CAPTURE_AD
;
;Entrées :
;
;Sortie :
;
;Descrition :
Cette sous-routine
;
;***********************************************************************************
INT_CAPTURE_AD
bsf
btfsc
call
STATUS,RP0
PIE1,ADCIE
ADCIE_ON
;
;regarde si l'interruption est
;en service
ADCIE_OFF
bcf
bcf
goto
STATUS,RP0
PIR1,ADCIF
FIN_POOL
;
;remet le flag d'interruption à 0
;va pooler au premier niveau
ADCIE_ON
bcf
STATUS,RP0
nop
return
;
;mettre routine de service ici
;
;***********************************************************************************
;Nom : INT_I2C
;
;Entrées :
;
;Sortie :
;
172
;Descrition :
Cette sous-routine
;
;***********************************************************************************
INT_I2C
bsf
btfsc
call
STATUS,RP0
PIE1,I2CIE
I2CIE_ON
;
; Regardes si l’interruption est en service
;
I2CIE_OFF
bcf
bcf
goto
STATUS,RP0
PIR1,I2CIF
FIN_POOL
;
; Remet le flag d'interruption à 0
; Va pooler au premier niveau
I2CIE_ON
bcf
STATUS,RP0
nop
return
;
; Mettre routine de service ici
;
173
Programme B.5
;***********************************************************************************
;Nom : AFFICHE_ECRAN
;
;Entrées :
aucune
;
;Sortie :aucune
;
;Descrition :
Cette sous-routine initialise l'ecran LCD et
;
modifie le registre LIGNE qui spécifie la ligne
;
à afficher à la sous-routine AFFICHE_LIGNE.
;
;***********************************************************************************
AFFICHE_ECRAN
EFFACE_ECRAN
CURSEUR_DEBUT
clrf
LIGNE
;Initialisations
movlw d'02'
movwf COMPTEUR_A
;
;(remplacer par TEMP)
movlw
movwf
bcf
bcf
call
call
;Debut de l'initialisation
;Clear display
;Ecriture d'une
;commande
;
;
b'00000001'
LCD_DATA_OUT
F_LCD_RW
F_LCD_RS
LCD_COMMUNICATION
BUSY_FLAG
decfsz COMPTEUR_A,F
goto
EFFACE_ECRAN
;
;On efface l'ecran une 2e fois
movlw d'02'
movwf COMPTEUR_A
;
;
movlw
movwf
bcf
bcf
call
call
;Return home
;
;Ecriture d'une
;commande
;
;
b'00000010'
LCD_DATA_OUT
F_LCD_RW
F_LCD_RS
LCD_COMMUNICATION
BUSY_FLAG
decfsz COMPTEUR_A,F
goto
CURSEUR_DEBUT
AFFICHAGE_LIGNE call
incf
movlw
xorwf
btfss
goto
return
AFFICHE_LIGNE
LIGNE,F
d'04'
LIGNE,W
STATUS,Z
AFFICHAGE_LIGNE
;
;
;
;
;
;
;
;
;
174
;***********************************************************************************
;Nom : AFFICHE_LIGNE
;
;Entrées :
LIGNE, DISTANCE_H, DISTANCE_L
;
;Sortie :aucune
;
;Descrition :
Cette sous-routine modifie la ligne où le texte est écrit à l'écran.
;
On met le curseur au début de la ligne.
;
;***********************************************************************************
if low($)!=0x00
fill (goto 0),0x100-low($)
endif
AFFICHE_LIGNE
;on s'assure de commencer au
;début de la prochaine page
;pour la table de goto
movlw HIGH(AFFICHE_LIGNE)
movwf PCLATH
;
;
movf
addwf
goto
goto
goto
goto
;table de goto pour aller
;chercher le bon contenu
;pour chaque ligne
LIGNE,W
PCL,F
CONTENU_LIGNE_1
CONTENU_LIGNE_2
CONTENU_LIGNE_3
CONTENU_LIGNE_4
;********************************
CONTENU_LIGNE_1 movlw
movwf
bcf
bcf
call
call
btfsc
goto
0x80
LCD_DATA_OUT
F_LCD_RW
F_LCD_RS
LCD_COMMUNICATION
BUSY_FLAG
F_LCD
NORMAL_1
;Set DD RAM - ligne #1
;
;
;
;
;
;Verification de la mise sous-tension
;
movlw d'12'
movwf MOT
call
AFFICHE_MOT
return
;
;
;
;
NORMAL_1
btfsc
goto
;
;
LIGNE_1_ALARME
movlw d'02'
movwf MOT
call
AFFICHE_MOT
return
;Alarm Mode
;
;
;
LIGNE_1_CAL
movlw d'03'
movwf MOT
;Calibration Mode
;
F_MODE
LIGNE_1_CAL
175
call
AFFICHE_MOT
return
;
;
;**************************************************************************
CONTENU_LIGNE_2 movlw
movwf
bcf
bcf
call
call
btfsc
goto
0xC0
LCD_DATA_OUT
F_LCD_RW
F_LCD_RS
LCD_COMMUNICATION
BUSY_FLAG
F_LCD
NORMAL_2
;Verification de la mise sous-tension
;
movlw d’00’
movwf MOT
call
AFFICHE_MOT
return
;
;
;
NORMAL_2
btfsc
goto
;
;
LIGNE_2_ALARME
movlw d’04’
movwf MOT
call
AFFICHE_MOT
;
;
;
movf
btfsc
goto
INT_NUMBER,F
STATUS,Z
NO_ECHO
;
;
;
movf
xorlw
btfsc
goto
goto
INT_NUMBER,W
d’01’
STATUS,Z
INVALID
OK_ECHO
;
;
;
;
F_MODE
LIGNE_2_CAL
NO_ECHO
movlw d’09’
movwf MOT
call
AFFICHE_MOT
return
;
;
;
;
INVALID
movlw d’10’
movwf MOT
call
AFFICHE_MOT
return
;
;
;
;
OK_ECHO
clrf
movf
movwf
call
;
;
;
;
DATA_HEX_H
DISTANCE_1,W
DATA_HEX_L
AFFICHE_NOMBRE
movlw d’07’
;Set DD RAM - ligne #2
;
;
;
;
;
;mm
176
LIGNE_2_CAL
movwf MOT
call
AFFICHE_MOT
return
;
;
;
movlw d’01’
movwf MOT
call
AFFICHE_MOT
;
;
;
clrf
movf
movwf
call
;
;
;
;
DATA_HEX_H
THRESHOLD,W
DATA_HEX_L
AFFICHE_NOMBRE
movlw d’07’
movwf MOT
call
AFFICHE_MOT
;mm
;
;
return
;
;************************************************************************
CONTENU_LIGNE_3 movlw
movwf
bcf
bcf
call
call
btfsc
goto
0x90
LCD_DATA_OUT
F_LCD_RW
F_LCD_RS
LCD_COMMUNICATION
BUSY_FLAG
F_LCD
NORMAL_3
;Verification de la mise sous-tension
;
movlw d’13’
movwf MOT
call
AFFICHE_MOT
return
;
;
;
;
NORMAL_3
btfsc
goto
;
;
LIGNE_3_ALARME
nop
return
;
;
LIGNE_3_CAL
nop
return
;
;
F_MODE
LIGNE_3_CAL
;Set DD RAM - ligne #3
;
;
;
;
;
;****************************************************************
177
CONTENU_LIGNE_4 movlw
movwf
bcf
bcf
call
call
btfsc
goto
0xD0
LCD_DATA_OUT
F_LCD_RW
F_LCD_RS
LCD_COMMUNICATION
BUSY_FLAG
F_LCD
NORMAL_4
;Set DD RAM - ligne #4
;
;
;
;
;
;Verification de la mise sous-tension
;
movlw d’11’
movwf MOT
call
AFFICHE_MOT
return
;
;
;
;
NORMAL_4
btfsc
goto
;
LIGNE_4_ALARME
movf INT_NUMBER,F
btfsc STATUS,Z
return
;
;
;Aucun echo detecte
clrf
movf
movwf
call
;Affichage du nombre
;d’echos detectes
;
;
AFFICHE_TEMPS
NEXT_INT
F_MODE
LIGNE_4_CAL ;
DATA_HEX_H
INT_NUMBER,W
DATA_HEX_L
AFFICHE_NOMBRE
movlw d’08’
movwf MOT
call
AFFICHE_MOT
;’:’
;
;
movlw d’03’
movwf TEMP
movlw 0x64
movwf FSR
movf TEMP,F
btfsc STATUS,Z
return
movf INDF,W
movwf DATA_HEX_L
incf
FSR,F
movf INDF,W
movwf DATA_HEX_H
incf
FSR,W
movwf FSR_TEMP
call
AFFICHE_NOMBRE
movf FSR_TEMP,W
movwf FSR
decf
TEMP,F
btfss AFFICHE_ZERO
goto
NEXT_INT
;Affichage des 3 premiers
;temps de detection des echos
;Adresse du premier temps en us
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
178
movlw
movwf
call
goto
LIGNE_4_CAL
d’05’
MOT
AFFICHE_MOT
NEXT_INT
nop
return
;us
;
;
;
;
;
;***********************************************************************************
;Nom : AFFICHE_MOT
;
;Entrées :
aucune
;
;Sortie :aucune
;
;Descrition :
Cette sous-routine affiche un mot et détecte sa fin.
;
;***********************************************************************************
AFFICHE_MOT
clrf
INDEX
LETTRE_SUIVANTE call
LECTURE_CARACTERE
movwf LCD_DATA_OUT
;Lire le caractere
;Sauvegarde le code binaire
movlw 0x7e
xorwf LCD_DATA_OUT,W
btfsc STATUS,Z
return
;~: caractere indiquant la
;fin d'un mot
;
;
bcf
bsf
call
call
F_LCD_RW
F_LCD_RS
LCD_COMMUNICATION
BUSY_FLAG
;Afficher le caractere
;
;
;
incf
goto
INDEX,F
LETTRE_SUIVANTE
;Caractere suivant
;
;***********************************************************************************
;Nom : LECTURE_CARACTERE
;
;Entrées :
MOT, INDEX
;
;Sortie :W
;
;Descrition :
Cette sous-routine est une table de retlw qui permet d'obtenir les
;
données nécessaires pour afficher un caractère d'un mot qui fait
;
partie d'une table de mots.
;
;***********************************************************************************
if low($)!=0x00
fill (goto 0),0x100-low($)
;on s'assure de commencer au
;début de la prochaine page
179
endif
;pour la table de goto
LECTURE_CARACTERE
movlw HIGH(LECTURE_CARACTERE)
movwf PCLATH
;
;
movf
addwf
goto
goto
goto
goto
goto
goto
goto
goto
goto
goto
goto
goto
goto
goto
MOT,W
PCL,F
MOT_0
MOT_1
MOT_2
MOT_3
MOT_4
MOT_5
MOT_6
MOT_7
MOT_8
MOT_9
MOT_10
MOT_11
MOT_12
MOT_13
;table de goto
;Maximum de mots: 256-2=254
;
;
;
;
;
;
;
;
;
;
;
;
;
;
MOT_0
movlw
movwf
movf
addwf
dt
HIGH(MOT_0)
PCLATH
INDEX,W
PCL,F
" from AMI Inc. ~"
;
;
;
;INDEX est dans W
MOT_1
movlw
movwf
movf
addwf
dt
HIGH(MOT_1)
PCLATH
INDEX,W
PCL,F
"Threshold: ~"
;
;
;
;INDEX est dans W
;
MOT_2
movlw
movwf
movf
addwf
dt
HIGH(MOT_2)
PCLATH
INDEX,W
PCL,F
" Alarm Mode ~"
;
;
;
;INDEX est dans W
;
MOT_3
movlw
movwf
movf
addwf
dt
HIGH(MOT_3)
PCLATH
INDEX,W
PCL,F
"Calibration Mode~"
;
;
;
;INDEX est dans W
;
MOT_4
movlw
movwf
movf
addwf
dt
HIGH(MOT_4)
PCLATH
INDEX,W
PCL,F
"Depth: ~"
;
;
;
;INDEX est dans W
;
180
MOT_5
movlw
movwf
movf
addwf
dt
HIGH(MOT_5)
PCLATH
INDEX,W
PCL,F
"us~"
;
;
;
;INDEX est dans W
MOT_6
movlw
movwf
movf
addwf
dt
HIGH(MOT_6)
PCLATH
INDEX,W
PCL,F
"LVD ~"
;
;
;
;INDEX est dans W
;
MOT_7
movlw
movwf
movf
addwf
dt
HIGH(MOT_7)
PCLATH
INDEX,W
PCL,F
"mm~"
;
;
;
;INDEX est dans W
;
MOT_8
movlw
movwf
movf
addwf
dt
HIGH(MOT_8)
PCLATH
INDEX,W
PCL,F
":~"
;
;
;
;INDEX est dans W
;
MOT_9
movlw
movwf
movf
addwf
dt
HIGH(MOT_9)
PCLATH
INDEX,W
PCL,F
"NO ECHO~"
;
;
;
;INDEX est dans W
;
MOT_10
movlw
movwf
movf
addwf
dt
HIGH(MOT_10)
PCLATH
INDEX,W
PCL,F
"Invalid~"
;
;
;
;INDEX est dans W
;
MOT_11
movlw
movwf
movf
addwf
dt
HIGH(MOT_11)
PCLATH
INDEX,W
PCL,F
" Code v.1 ~"
;
;
;
;INDEX est dans W
;
MOT_12
movlw
movwf
movf
addwf
dt
HIGH(MOT_12)
PCLATH
INDEX,W
PCL,F
" ENURESIS ALARM ~"
if low($)!=0x00
fill (goto 0),0x100-low($)
endif
;
;
;
;INDEX est dans W
;Ligne vide
;on s’assure de commencer au
;début de la prochaine page
;pour la table de goto
181
MOT_13
movlw
movwf
movf
addwf
dt
HIGH(MOT_13)
PCLATH
INDEX,W
PCL,F
" Tests: phantom ~"
;
;
;
;INDEX est dans W
;
;***********************************************************************************
;Nom : AFFICHE_NOMBRE
;
;Entrées :
DATA_HEX_H, DATA_HEX_L
;
;Sortie :aucune
;
;Descrition :
Cette sous-routine convertie un nombre binaire de 16 bits en 6
;
nibbles BCD et l'affiche à l'écran.
;
Le but est d'obtenir la représentation BCD d'un nombre afin d'en
;
faciliter l'affichage à l'écran. Pour minimiser le code, nous
;
utilisons l'adressage indirecte compte tenu du fait que nous
;
connaissons l'adresse du premier nibble (NIBBLE0_BCD).
;
;***********************************************************************************
AFFICHE_NOMBRE
clrf
clrf
clrf
clrf
clrf
clrf
NIBBLE5_BCD
NIBBLE4_BCD
NIBBLE3_BCD
NIBBLE2_BCD
NIBBLE1_BCD
NIBBLE0_BCD
;
;
;
;
;
;
movf
movwf
movf
movwf
movlw
movwf
DATA_HEX_H,W
NUMERATEUR_H
DATA_HEX_L,W
NUMERATEUR_L
d'10'
DENOMINATEUR
;préparation de la division par 10
;
;
;
;le reste est de 9 ou moins
;
movlw 0x50
movwf FSR
;Debut du tableau (NIBBLE_BCD)
;
NEXT_BCD
call
movf
andlw
movwf
incf
movlw
xorwf
btfss
goto
DIVISION_16
RESTE,W
b'00001111'
INDF
FSR,F
0x56
FSR,W
STATUS,Z
NEXT_BCD
;
;
;reste est de 4 bits
;
;
;Derniere adresse+1
;
;
;
FIN_CONVERSION
bcf
AFFICHE_ZERO
;zero non significatif
movlw 0x56
movwf FSR
;
;
182
NEXT_NUMBER
decf
movf
btfss
goto
btfss
goto
FSR,F
INDF,W
STATUS,Z
ENVOIE_NUM
AFFICHE_ZERO
NEXT_NIBBLE
;
;
;
;
;
;
ENVOIE_NUM
bsf
iorlw
movwf
bcf
bsf
call
call
AFFICHE_ZERO
b’00110000’
LCD_DATA_OUT
F_LCD_RW
F_LCD_RS
LCD_COMMUNICATION
BUSY_FLAG
;
;
;
;
;
;
;
NEXT_NIBBLE
movlw
xorwf
btfss
goto
return
0x50
FSR,W
STATUS,Z
NEXT_NUMBER
;
;
;
;
;
;***********************************************************************************
;Nom : BUSY_FLAG
;
;Entrées :
aucune
;
;Sortie :aucune
;
;Descrition :
Cette sous-routine est utilisée pour déterminer lorsque l'écran est
;
en mode d'opération interne. Ainsi, cette sous-routine boucle sur
;
elle même jusqu'à ce que DB7 vaut 0 (BF).
;
;***********************************************************************************
BUSY_FLAG
movlw d'40'
movwf BUSY_COUNTER
;
;
STILL_BUSY
clrwdt
bsf
F_LCD_RW
bcf
F_LCD_RS
call
LCD_COMMUNICATION
;
;
;
;
movf
xorlw
btfsc
goto
decfsz
goto
return
;
;
;
;
;
;
;
LCD_DATA_IN,W
b'10000000'
STATUS,Z
STILL_BUSY
BUSY_COUNTER,F
STILL_BUSY
;***********************************************************************************
;Nom : LCD_COMMUNICATION
183
;
;Entrées :
F_LCD_RW, F_LCD_RS, LCD_DATA_OUT
;
;Sortie :LCD_DATA_IN
;
;Descrition :
Cette sous-routine utilise respectivement les flags F_LCD_RW et
;
F_LCD_RS pour déterminer la direction du bus de données (4 bits) et
;
le type d'instruction.
;
Le registre LCD_DATA_OUT contient un octet de données qui doit être
;
envoyé à l'écran en 2 mots de 4 bits.
;
Le registre LCD_DATA_IN contient un octet de donnnées lues de
;
l'écran.
;
;***********************************************************************************
LCD_COMMUNICATION
LCD_ECRITURE
bcf
nop
bcf
EN_LCD
;
LCD_RS
;
btfsc
goto
F_LCD_RW
LCD_LECTURE
;
;
bcf
nop
LCD_RW
;l'instruction est une écriture
;
movlw
bsf
andwf
bcf
b'11110000'
STATUS,RP0
TRISD,F
STATUS,RP0
;RD3-RD0 en sorties
;
;RD3 to RD0 in output state
;
btfsc
bsf
nop
nop
nop
bsf
F_LCD_RS
LCD_RS
EN_LCD
;
;
;
;
;
;prépararation pour les 4 MSB
movlw
andwf
nop
swapf
andlw
iorwf
nop
bcf
nop
nop
b'11110000'
PORTD,F
;
;
LCD_DATA_OUT,W
b'00001111'
PORTD,F
;
;
;
;
;envoie des 4 MSB
;
;
bsf
movlw
andwf
movf
andlw
EN_LCD
b'11110000'
PORTD,F
LCD_DATA_OUT,W
b'00001111'
EN_LCD
;préparation pour les 4 LSB
;
;
;
;
184
iorwf
nop
bcf
nop
nop
PORTD,F
EN_LCD
;
;
;envoie des 4 MSB
;
;
movlw
bsf
iorwf
bcf
b’00001111’
STATUS,RP0
TRISD,F
STATUS,RP0
;RD3-RD0 en sorties
;
;RD3 to RD0 in output state
;
nop
clrf
LCD_DATA_IN
;
;
return
LCD_LECTURE
bsf
nop
btfsc
bsf
nop
nop
nop
bsf
nop
nop
nop
nop
LCD_RW
movf
movwf
rlf
rlf
rlf
rlf
nop
PORTD,W
LCD_DATA_IN
LCD_DATA_IN,F
LCD_DATA_IN,F
LCD_DATA_IN,F
LCD_DATA_IN,F
;
;
;
;
;
;
;
bcf
EN_LCD
;
movlw b’11110000’
andwf LCD_DATA_IN,F
nop
;
;
;
bsf
nop
nop
nop
nop
;lecture des 4 LSB
;
;
;
;
F_LCD_RS
LCD_RS
EN_LCD
EN_LCD
movlw b’00001111’
andwf PORTD,W
iorwf LCD_DATA_IN,F
nop
;l’instruction est une lecture
;
;
;
;
;
;
;lecture des 4 MSB
;
;
;
;
;
;
;
;
185
bcf
nop
return
EN_LCD
;
;
;
186
Programme B.6
;***********************************************************************************
;Nom : COMPARE_16
;
;Entrées :
REGA_H, REGA_L, REGB_H, REGB_L
;
;Sorties :
F_EQUAL, F_CMP
;
;Descrition :
Cette sous-routine compare deux registres de 16 bits et ajuste
;
les flags F_CMP et F_EQUAL.
;
;***********************************************************************************
COMPARE_16
movf
subwf
btfss
goto
movf
btfsc
goto
bcf
bsf
return
REGB_H,W
REGA_H,F
STATUS,C
RESULTAT_NEGATIF
REGA_H,F
STATUS,Z
VERIFICATION_LOW
F_EQUAL
F_CMP
VERIFICATION_LOW
movf
subwf
btfss
goto
movf
btfsc
goto
goto
REGB_L,W
REGA_L,F
STATUS,C
RESULTAT_NEGATIF
REGA_L,F
STATUS,Z
RESULTAT_NUL
RESULTAT_POSITIF
RESULTAT_NEGATIF
bcf
F_EQUAL
bcf
F_CMP
return
RESULTAT_NUL
bsf
F_EQUAL
bcf
F_CMP
return
RESULTAT_POSITIF
;***********************************************************************************
;Nom : DIVISION_16
;
;Entrées :
NUMERATEUR_H, NUMERATEUR_L, DENOMINATEUR
;
;Sorties :
NUMERATEUR_H, NUMERATEUR_L, RESTE
;
;Descrition :
Cette sous-routine effectue la division d'un nombre de 16 bits
;
par un nombre de 8 bits. Le reste ne peut dépasser 8 bits (puisque
;
le DENOMINATEUR est de 8 bits) et il se trouve dans RESTE.
187
;
Le quotient (résultat) se trouve dans NUMERATEUR_H et NUMERATEUR_L.
;
;***********************************************************************************
DIVISION_16
clrf
clrf
DIVISION
bcf
rlf
rlf
rlf
rlf
movf
subwf
btfss
goto
movwf
goto
STATUS,C
NUMERATEUR_L,F
NUMERATEUR_H,F
RESTE,F
CARRY_SAVE
DENOMINATEUR,W
RESTE,W
STATUS,C
;Le résultat est positif
CHECK_CARRY
RESTE
SET_LSB
CHECK_CARRY
rrf
btfsc
bsf
CARRY_SAVE,F
STATUS,C
NUMERATEUR_L,0
SET_LSB
NEXT_DIV
RESTE
CARRY_SAVE ;pour sauvegarder le MSB de RESTE lorsque le
;dénominateur est supérieur à d'80'
movlw b'00010000'
;Division d'un nombre de 16 bits
movwf COMPTEUR_A
decfsz COMPTEUR_A
goto
DIVISION
return
;***********************************************************************************
;Nom : MULTI_8
;
;Entrées :
MULTIPLICANDE, MULTIPLICATEUR
;
;Sorties :
RESULT_MUL_H, RESULT_MUL_L
;
;Descrition :
Cette sous-routine efectue la multiplication de 2 nombres de 8 bits.
;
Le résultat sur 16 bits se trouve dans RESULT_MUL_H et RESULT_MUL_L.
;
;***********************************************************************************
MULTI_8
clrf
clrf
RESULT_MUL_H
RESULT_MUL_L
movlw b'00001000'
movwf COMPTEUR_A
;Multiplication d'un nombre de 8 bits
bcf
STATUS,C
; Clear the carry bit in the status Register
movf
MULTIPLICANDE,W
188
MULTI
rrf
btfsc
addwf
rrf
rrf
MULTIPLICATEUR,F
STATUS,C
RESULT_MUL_H,F
RESULT_MUL_H,F
RESULT_MUL_L,F
decfsz COMPTEUR_A,F
goto
MULTI
return
;***********************************************************************************
;Nom : SOUSTRAC_16
;
;Entrées :
NOMBRE1_H, NOMBRE1_L, NOMBRE2_H, NOMBRE2_L
;
;Sorties :
RESULT_SOUS_H, RESULT_SOUS_L
;
;Descrition :
Cette sous-routine efectue la soustraction de 2 nombres de 16 bits.
;
Le résultat sur 16 bits se trouve dans RESULT_SOUS_H
;
et RESULT_SOUS_L.
;
;***********************************************************************************
SOUSTRAC_16
comf
comf
movlw
addwf
btfsc
incf
NOMBRE2_L,F
NOMBRE2_H,F
d'01'
NOMBRE2_L,F
STATUS,C
NOMBRE2_H,F
;
;
;
;
;
;
movf
addwf
movwf
btfsc
incf
movf
addwf
movwf
NOMBRE1_L,W
NOMBRE2_L,W
RESULT_SOUS_L
STATUS,C
NOMBRE1_H,F
NOMBRE1_H,W
NOMBRE2_H,W
RESULT_SOUS_H
;
;
;
;
;
;
;
;
return
189
Annexe C
Aperçu de la validation clinique
190
Nous venons de démontrer expérimentalement le fonctionnement du dispositif lorsque
testé sur un adulte dont la morphologie vésicale illustre un pire cas. En effet, nous avons
pu détecter les parois vésicales à l’aide des deux transducteurs testés.
Lors de la conception de l’architecture de l’alarme, nous avons supposé qu’il était
possible d’estimer le volume vésical en mesurant la distance entre son mur avant et
arrière. Le but des tests cliniques consiste à vérifier cette hypothèse sur des enfants du
département d’urologie de l’Hôpital générale de Montréal pour enfants. Ainsi, nous
tenterons de démontrer que la profondeur vésicale croît à mesure que le volume
augmente.
Les enfants souffrant d’énurésie consultent toujours un urologue avant de recourir à
quelconques thérapies. De plus, durant la thérapie, ces enfants continus d’être suivi par
l’urologue qui s’assure de l’évolution des traitements. Ainsi, les tests cliniques seront
effectués dans le cadre d’une visite de l’enfant chez l’urologue, ce qui simplifie
grandement les démarches requises pour valider cliniquement le dispositif.
Démarches des tests
Cette section décrit la démarche suivie pour valider cliniquement l’hypothèse initiale qui
consiste à estimer le volume vésical par l’estimation de la profondeur entre ses parois
antérieur et postérieur. Pour y arriver, nous devons démontrer qu’il existe un lien
191
proportionnel67 entre le volume vésical et la distance mesurée. Autrement dit, nous
devons prouver qu’une augmentation du volume dans le temps se répercute concrètement
par une augmentation de la distance mesurée. Nous avons décrit la vessie comme une
poche élastique dont la forme dépend de plusieurs facteurs tels le volume d’urine, l’âge,
le sexe, la taille et le poids de l’enfant. Ainsi, par ces tests cliniques, nous pourrons
vérifier qu’il existe une relation entre la profondeur vésicale et la morphologie de
l’enfant. Voici clairement les étapes requises pour compléter les tests cliniques sur un
enfant.
1)
On note l’âge, le sexe, le poids et la taille de l’enfant. Selon la morphologie de
l’enfant, on le catégorise dans l’une des trois classes suivantes : petit, moyen ou gros.
2) On évalue le volume vésical de l’enfant à l’aide d’un appareil dédié à cette fin. Il est
préférable d’effectuer cette mesure sur une vessie pleine puisque nous tentons idéalement
de déduire une relation distance/volume au moment où débute la miction.
3) À l’aide d’un scanner A mode, mesurer la profondeur vésicale DC et la distance entre
la peau et le mur avant de la vessie. Cette dernière mesure permet d’ajuster la fenêtre
d’amplification de l’étage de réception afin de détecter les échos provenant uniquement
de la réflexion sur la vessie. Marquer la position de la sonde.
4) Selon la distance DC mesurée en 3, ajuster le seuil de détection du dispositif. Placer le
cristal au même endroit qu’en 3. Vérifier que le dispositif déclenche l’alarme. Noter la
distance mesurée. Compter le nombre de cycles consécutifs durant lesquels l’alarme est
67
Cette relation proportionnelle n’est pas nécessairement linéaire.
192
déclenchée. Ce résultat nous permettra d’optimiser la condition d’activation de l’alarme
lorsque le dispositif sera éventuellement utilisé durant la nuit. Le test décrit en 4 doit être
répété pour chacun des cristaux afin de déterminer celui qui mesure la profondeur
vésicale avec le plus de précision par rapport au résultat de 3.
5) Vider la vessie de l’enfant. Placer le cristal au même endroit qu’en 3 et vérifier que
l’alarme est désactivée. Tel qu’en 3, mesurer la profondeur vésicale. Noter le résultat.
6) Si possible, remplir la vessie à l’aide d’un «urine flowmeter» et prenant soin de laisser
le cristal à la même position qu’en 3. Lorsque l’alarme est déclenchée, cesser de remplir
la vessie et évaluer le volume vésical tel qu’en 2. Nous pourrons estimer la précision du
dispositif en comparant la différence des volumes mesurés en 2 et 3.
193
Annexe D
Description des nouveaux paramètres de calibrage
194
Ce document est destiné à la description des fonctions de l’interface de l’usager
(commutateurs tactiles BP1 et BP2) servant au calibrage de l’alarme de conditionnement
ultrasonore selon la morphologie de l’enfant énurétique (abdomen et vessie).
À la suite d’une mise sous-tension, l’alarme de conditionnement est dans le mode
d’opération normale, soit
MODE=0 (PRINT_TYPE).
Chaque fois que l’usager appuie sur
BP1, un nouveau paramètre de calibrage apparaît à l’écran (MODE augmente de 1 chaque
fois que l’usager appuie sur BP1). L’usager modifie ces différents paramètres de
calibrage à l’aide de BP2. À tous moments, l’usager peut retourner au mode normal
d’opération en appuyant sur BP1, puis BP2 (avec BP1 toujours enfoncé). Les paramètres
de calibrage courants sont ceux sélectionnés avant le retour au mode d’opération normale
précédemment décrit.
Les paramètres de calibrage doivent être programmés à partir de données cliniques
mesurées sur la vessie pleine de l’enfant. Si tel n’est pas le cas, il est nécessaire de tenir
compte des déplacements subis par les parois vésicales au cours de l’augmentation
d’urine menant au volume critique.
Note : le dispositif n’effectue pas d’estimation de la profondeur vésicale lorsque le
paramètre sélectionné par BP1 diffère de l’opération normale, ce qui minimise la
consommation de courant lorsque l’usager calibre le dispositif.
195
Tableau résumant les différents paramètres de calibrage programmables à l’aide de l’interface usager.
BP1
Description du paramètre
BP2
MODE
programmable
Registres
Scanning Mode
Opération normale
L’alarme de conditionnement
estime la profondeur vésicale de
l’enfant selon la période
d’excitation déterminée par
Affichage
PRINT_TYPE
[0, 1, 2]
Commentaires
BP2 permet de basculer entre
ou
diverses topologies d’affichage :
Calibration Data
- Profondeur vésicale courante,
ou
FS68 : 0
Results
- Contenu des registres de calibrage,
- Résultats statistiques.
l’usager (MODE=1).
Exciting Period
Période d’excitation
L’alarme de conditionnement
Le contenu du registre
de la sonde par incrément de 2
secondes (2 s ≤ EXC_PERIOD ≤ 10 s).
effectue une estimation de la
EXC_PERIOD
EXC_PERIOD
profondeur vésicale selon la
FS : 2 s
l’écran LCD.
période d’excitation sélectionnée
BP2 modifie la période d’excitation
est affiché à
Unité : s
par l’usager.
Pulse Width
Durée du pulse d’excitation
La durée du pulse d’excitation
permet d’optimiser la résolution
PULSE_WIDTH
axiale de l’alarme de
[0, 1]
conditionnement selon la
FS : 0
fréquence de la sonde utilisée.
BP2 modifie la durée du pulse
La durée du pulse d’excitation
d’excitation de 0.7 us à 1.4 us, et
est affichée à l’écran LCD.
vice versa.
Unité : us
L’alarme commerciale affichera
«Probe Frequency» lorsque nous
aurons terminé les tests cliniques
(avec les nouvelles sondes).
195
68
FS = Factory Setting.
196
Phase Velocity
Vitesse de propagation
La vitesse de phase du milieu de
propagation situé entre la sonde et
le mur antérieur vésical est
ajustée selon la morphologie
PHASE_VELO
FS : 1500 m/s
BP2 modifie la vitesse de phase du
La vitesse du milieu de
milieu de propagation par incrément
propagation est affichée à
de 20 m/s) (1400 m/s ≤
l’écran LCD.
PHASE_VELO ≤
Unité : m/s
L’alarme commerciale affichera
1600 m/s).
abdominale de l’enfant
«Body Type» lorsque nous aurons
énurétique.
terminé les tests cliniques.
Detection Start
Début de la détection sélective
BP2 modifie la distance parcourue
Ce paramètre fixe le début de la
La distance entre la sonde et le
par le front d’ondes ultrasonores
détection sélective, laquelle
début de la détection sélective
avant le début de la détection
est affichée à l’écran LCD.
sélective par incrément de 5 mm (5
Unité : mm
mm ≤ FRONT_DIST ≤ 45 mm).
permet au contrôleur d’ignorer les
FRONT_DIST
interfaces situées entre la sonde et
FS : 0 mm
le mur antérieur de la vessie.
Le programme converti la distance
en temps selon la vitesse de
propagation programmée en 3.
Threshold Depth
Profondeur vésicale critique
La profondeur vésicale critique
BP2 modifie la profondeur vésicale
La profondeur critique est
critique par incrément de 5 mm (50
est ajustée selon la morphologie
THRESHOLD
affichée à l’écran LCD.
mm ≤ THRESHOLD ≤ 150 mm).
de l’enfant énurétique.
FS : 50 mm
Unité : mm
Le programme converti la distance
en temps selon la vitesse de
propagation de l’eau (urine).
Fin de la détection sélective
Ce paramètre fixe la fin de la
Detection End
FS : FRONT_DIST +
La distance entre la sonde et la
par le front d’ondes ultrasonores
THRESHOLD
fin de la détection sélective est
avant la fin de la détection sélective
196
détection sélective afin d’ignorer
BP2 modifie la distance parcourue
REAR_DIST
197
les interfaces situées derrières le
affichée à l’écran LCD.
par incrément de 5 mm
(FRONT_DIST + THRESHOLD ≤
mur postérieur de la vessie.
REAR_DIST ≤
200 mm).
Le programme converti la distance
en temps par sommation des temps
de 4, 5 et de la distance ajoutée à
FRONT_DIST
+ THRESHOLD converti
avec la vitesse de propagation de 3.
Restore Profile
Chargement d’un profile
Cette fonction permet de charger
BP2 permet de charger un des
profiles de calibrage suivants :
PROFILE
un des profiles de calibrage
- Factory Settings
mémorisés.
- User 1 / User 2 / User 3
Save Profile
Sauvegarde d’un profile
Cette fonction permet de
sauvegarder le profile de
BP2 permet de sauvegarder les
paramètres de calibrage dans un des
profiles suivants :
PROFILE
calibrage courant dans la
- Factory Settings
mémoire non-volatile.
- User 1 / User 2 / User 3
Erase Data Memory
Effacement de la mémoire
Les résultats sauvegardés dans la
BP2 doit être appuyé deux fois pour
que l’alarme autorise l’effacement
ERASE
mémoire EEPROM sont effacés
de la mémoire.
(pas les paramètres de calibrage).
197
Téléchargement