Vous êtes sur la page 1sur 28

|1

|2
R
E
S
U
M
E

L’électrocardiographie est l’outil de diagnostic utilisé pour évaluer la probabilité d’anomalies


cardiaques. C’est une représentation graphique temporelle des différences de potentiels prélevées
entre plusieurs électrodes cutanées, ce qui permet d’avoir une connaissance sur les phénomènes
électriques qui conduisent à la contraction musculaire cardiaque.

L’idée de l’utilisation des microcontrôleurs est née de la nécessité de disposer pour certaines
applications d’une commande avec des performances assez élevées. De plus, les microcontrôleurs
possèdent un indéniable avantage sur la logique câblée. En effet pour modifier le fonctionnement
d’une application, il suffit de modifier le programme sans refaire de câblage. Les microcontrôleurs
possèdent également la puissance d’un microprocesseur mais ils ont un atout en plus, du fait qu’ils
possèdent des périphériques intégrés dans le même boitier.

Les microcontrôleurs sont actuellement les plus utilisés dans les montages nécessitant les
commandes des appareils et des équipements industriels.

Notre travail consiste à réaliser deux cartes. La première a pour but de détecter les impulsions
cardiaques et la deuxième permet de compter et d’afficher en temps réel le nombre de ces
impulsions par minute appelées aussi le pouls cardiaque.

Notre manuscrit est organisé comme suit :


Après une introduction générale, nous avons abordé le premier chapitre, dans lequel nous avons
exposé les notions fondamentales utiles pour comprendre l’origine du signal électrocardiogramme,
ainsi que sa détection.

On s’est intéressé dans le deuxième chapitre à la présentation et la description du microcontrôleur


PIC16F877A qui est un élément essentiel pour notre application.
Le troisième chapitre a fait l’objet de la partie expérimentale de notre projet. En effet, nous avons
décrit toutes les étapes de notre réalisation ainsi que les outils utilisés aussi bien hardware que
software.

Nous avons achevé ce manuscrit par une conclusion générale


|3
R
E
M
E
R
C
I
E
M
E
N
T

En préambule à ce rapport, il nous est agréable de nous acquitter d'une dette de


reconnaissance auprès de toutes les personnes dont l'intervention au cours de ce projet
a favorise son aboutissement.

Avant tout, on remercie DIEU le Tout-puissant de nous avoir donné le courage,


la volonté, la patience et la santé durant toutes ces années d'études et que grâce à Lui
ce travail a pu être réalisé.

Nous avons l’honneur en marge de ce travail d’exprimer nos profondes


gratitudes ainsi que toute nos reconnaissances à notre Professeur M. LAMHAMEDI pour
l’intérêt avec lequel il a suivi la progression de notre travail, ses conseils judicieux, et
pour tous les moyens qu’il a mis à notre disposition...

Enfin, que toute personne ayant contribuée de près ou de loin à la préparation de


ce travail, trouve ici l’expression de notre profonde gratitude
|4
SOMMAIRE

Résumé 2
Remerciement 3
Sommaire 4
Introduction générale 5

Chapitre1: Présentation du Cahier de charge


1. L’idée origine du projet: 6
2. Cahier de charge : 8
3. Diagramme de Gannat : 9

Chapitre2: Partie Hardware

1. Microcontrôleur:: 11
2. IR Pulse Capteur: 16

3. Générateur d’impulsion NE555 17

Chapitre 3: Partie Software

1. Programmation: 20
2. Simulation par ISIS 24

Conclusion 26
Listes des figures 27
|5

Le cœur se contracte environ 72 fois par minute au repos, plus rapidement lors de l’effort ou
d’émotion. Cette fonction est commandée par un stimulateur naturel appelé « noeud sinusal », qui
se trouve dans l’oreillette droite du coeur et qui produit une impulsion électrique grâce aux
phénomènes de polarisation et dépolarisation des cellules myocardiques.

Cette impulsion est d’abord transmis aux oreillettes et atteint les ventricules par une structure
intermédiaire située entre les oreillettes et les ventricules appelée noeud atrio-ventriculaire. Ce
système de propagation de l’impulsion électrique produit par le noeud sinusal de contraction
d’abord aux oreillettes puis après un bref décalage aux ventricules.

Une étude détaillée de la propagation de l’onde électrique sinusale permet la construction des
différentes ondes constituants le signal ECG, qui n’est autre que le potentiel électrique recueilli à la
surface de la peau et produit par les variations de la distribution des charges électriques dans le
territoire atrio-ventriculaire.

C’est à partir de ces ondes de ce signal que peuvent se révéler les troubles de fonctionnement
passagers ou permanents. Le stimulateur naturel (noeud sinusal) peut par exemple s’arrêter et ne
reprendre son activité qu’après quelques secondes ; ou encore la conduction électrique peut être
temporairement interrompue entre les oreillettes et les ventricules. Cela entrainera un arrêt de
contraction du coeur pendant quelques secondes.

Les troubles de la génération ou de conduction de l’impulsion électrique, à côté des diverses


pathologies cardiaques, sont caractérisés par un ralentissement ou un arrêt passager des battements
cardiaques. Ces troubles sont regroupés sous le terme bradycardie.

Le stimulateur cardiaque, communément appelé Pacemaker permet de pallier à ces troubles du


système de conduction en produisant une impulsion électrique en cas de besoin. Après une étude
approfondie sur les techniques de stimulations cardiaques, nous présenterons un prototype de ce
genre de dispositif médical dont les détails seront donnés au fur et à mesure.

Le traitement du signal électrocardiogramme (ECG) est d’une nécessité primordiale dans plusieurs
disciplines de la médecine. En réalité, l’examen ECG est un outil non invasif effectué par le médecin
en vue d’explorer le fonctionnement du coeur par l’emploi des électrodes externes mises en contact
de la peau. Il s'agit d'un signal qui reflète l’activité électrique du coeur. Cette activité qui se
manifeste par un pouls cardiaque (nombre de battements du coeur par minute) est souvent un des
facteurs importants pour le diagnostic de certaines anomalies du coeur.
|6

Chapitre1: Présentation du Cahier de charge

1. L’idée origine du projet :


Les stimulateurs cardiaques avaient simplement le rôle de délivrer une impulsion électrique
fixe à une fréquence prédéterminée, quelle que soit l’activité spontanée du cœur. Ces stimulateurs
cardiaques, appelées asynchrone ou à taux fixe, peuvent parfois provoquer des arythmies ou
fibrillation ventriculaire. En ajoutant un amplificateur de détection au stimulateur asynchrone afin de
détecter l'activité cardiaque intrinsèque et éviter ainsi cette compétition, on obtient un stimulateur à
la demande, qui fournit impulsions de stimulation cardiaque électrique seulement en l'absence de la
stimulation naturel ou en cas de la défaillance du système de conduction.

L'autre avantage du stimulateur cardiaque à la demande par rapport aux pacemakers asynchrones,
c'est que maintenant la vie de la batterie du système est prolongée, car il est activé uniquement
lorsque les impulsions de stimulation sont nécessaires.

Berkovits introduit le concept de la demande en Juin 1964, qui est à la base de tous les stimulateurs
modernes. La figure III.6 nous montre un schéma bloc approprié d'un pacemaker à la demande.

Figure1 : Schéma synoptique du pacemaker à la demande


Les pacemakers sont constitués d’un boîtier de stimulation, d’un connecteur réalisant la liaison |7
entre le boîtier et le conducteur, du conducteur lui-même et enfin des électrodes qui constituent la
partie terminale du conducteur et qui se trouve directement au contact du myocarde.

-Le boîtier de stimulation est à l’origine de la production


des stimuli électriques

-Le connecteur assure un contact parfait entre le boîtier de


stimulation et le conducteur

-Le conducteur porte les stimuli jusqu’à l’électrode


terminale

-L’électrode est fixée au myocarde de façon passive ou


active et assure la naissance de la dépolarisation cardiaque.

Figure 2 : Les différentes parties d’un Pacemaker

Le stimulateur est programmé grâce à un programmeur externe, de façon non invasive. La tête de
programmation est placée en regard du stimulateur directement au contact de la peau, et échange
les informations avec le boîtier de stimulation.

 Un stimulateur comporte donc au moins trois parts :


 un générateur d'impulsion électrique,
 une source d'énergie (batterie)
 un système d'électrode (fil)

Donc la partie électronique du pacemaker surveille les impulsions électriques du coeur. Lorsqu'un
battement cardiaque fait défaut, elle commande l'envoi d'une impulsion électrique fournie par la pile,
puis transmise par la sonde au muscle cardiaque où l'impulsion déclenchera un battement du coeur.
Le stimulateur ne fonctionne que lorsque le rythme cardiaque du coeur est inférieur à une fréquence
précise (en bradycardie par exemple).
Un système de détection de l’activité électrique du coeur, permet donc au pacemaker de ne |8

fonctionner qu’en cas de problème. La plupart des stimulateurs cardiaques peuvent être réglés en
mettant un appareil de programmation spécial sur la peau au-dessus du stimulateur.

Figure3 : Schéma fonctionnel de base d’un pacemaker

2. Cahier de charge :
Le schéma bloc du prototype réalisé :

Figure 4 Le schéma bloc du prototype réalisé

L’idée de l’utilisation des microcontrôleurs est née de la nécessité de disposer pour certaines
applications d’une commande avec des performances assez élevées. De plus, les microcontrôleurs
possèdent un indéniable avantage sur la logique câblée. En effet pour modifier le fonctionnement
d’une application, il suffit de modifier le programme sans refaire de câblage. Les microcontrôleurs
possèdent également la puissance d’un microprocesseur mais ils ont un atout en plus, du fait qu’ils
possèdent des périphériques intégrés dans le même boitier.
Les microcontrôleurs sont actuellement les plus utilisés dans les montages nécessitant les |9
commandes des appareils et des équipements industriels.

Notre travail consiste à réaliser deux cartes. La première a pour but de détecter les impulsions
cardiaques et la deuxième permet de compter et d’afficher en temps réel le nombre de ces
impulsions par minute appelées aussi le pouls cardiaque.

3. Diagramme de Gannat et organisation du travail :


Pour réussir un tel projet, nous nous sommes fixés des objectifs dès le début.

Objectif au niveau du travail : Notre projet consiste en la fabrication d’un circuit imprimé a
base d’un microcontrôleur PIC16F . Pour se faire, le PIC devra être construit et programmé.

Notre objectif principal est que notre circuit fonctionne, c'est-à-dire qu’il n’y ait pas d’erreurs
de fabrication ni de programmation.

Objectif au niveau du groupe : Bien entendu, qui dit projet de groupe, dit aussi travail de
groupe.

Pour nous organiser, nous avons choisi un «leader du projet» : ARRAMAZ Salim , et nous avons
réparti le travail en 4 domaines de responsabilité :

- Capteurs : LARHRIB Hamza et ARRAMAZ Salim


- Actionneurs : KHATTAB AMINE
- programmation : Chaque membre de projet a pu se lancé pour trouver le programme adéquat à
nos spécifications.
- Organisation du rapport : LARHRIB HAMZA & KHATTAB AMINE & ARAMMAZ SALIM
-Réalisation : LARHRIB HAMZA & KHATTAB AMINE & ARAMMAZ SALIM
| 10
Nous avons également mis en place un planning afin de conserver des objectifs de
temps :

Séances préparatives :

1 Jan 8 Jan 15 Jan 18 Jan 22 Jan 29 Jan 7 Fev

Fonctions :
| 11
Chapitre2: Présentation de la Partie Hardware

1. Microcontrôleur :

Si nous regardons nos appareils électroniques une vision d’électronicien, que ce soit le ménage ou les
appareils personnels, nous trouvons que le microcontrôleur est l’élément le plus important dans ces
dispositifs.

Dans ce chapitre, nous allons étudier le microcontrôleur d’une façon générale, il existe plusieurs
familles de microcontrôleur mais nous nous consacrerons à l’étude du PIC16F qui appartient à la
famille Microchip.

Un microcontrôleur (en notation abrégée μc, ou uc ou encore MCU en Anglais) est un circuit
intégré qui rassemble les éléments essentiels d'un ordinateur : processeur, mémoires (mémoire
morte pour le programme, mémoire vive pour les données), unités périphériques et interfaces
d'entrées-sorties. Les microcontrôleurs se caractérisent par un plus haut degré d'intégration, une
plus faible consommation électrique et un coût réduit par rapport aux microprocesseurs polyvalents
utilisés dans les ordinateurs personnels.

Par rapport à des systèmes électroniques à base de microprocesseurs et autres composants séparés,
les microcontrôleurs permettent de diminuer la taille, la consommation électrique et le coût des
produits.

Les microcontrôleurs sont fréquemment utilisés dans les systèmes embarqués, comme les
contrôleurs des moteurs automobiles, les télécommandes, les appareils de bureau, l'électroménager,
les jouets, la téléphonie mobile, etc.

Le système de simulation de SVM est basé sur le MATLAB/SIMULINK qu’est choisi en tant
qu’environnement fondamental en raison de ses divers avantages uniques : l’efficacité de
programmation élevée, interface graphique élégant, son architecture ouverte permettant l’adaptation
aux besoins du client.

1.1 Composant intégrés dans un Microcontrôleur :


Un microcontrôleur intègre sur un unique circuit :
 un processeur (CPU), avec une largeur du chemin de données allant de 4 bits pour les
modèles les plus basiques à 32 ou 64 bits pour les modèles les plus évolués ;
 la mémoire vive (RAM) pour stocker les données et variables ;
| 12
 la mémoire morte (ROM) pour stocker le programme. Différentes technologies peuvent être
employées : EPROM, EEPROM, mémoire flash (la plus récente) ;
 un oscillateur pour le cadencement. Il peut être réalisé avec un quartz, un circuit RC ou
encore une PLL ;
 des périphériques, capables d'effectuer des tâches spécifiques. On peut mentionner entre
autres :
 les convertisseurs analogiques-numériques (CAN) (donnent un nombre binaire à partir d'une
tension électrique).les convertisseurs numériques-analogiques (CNA) (effectuent l'opération
inverse).
 les générateurs de signaux à modulation de largeur d'impulsion (MLI, ou en anglais, PWM
pour Pulse Width Modulation).
 les timers/compteurs (compteurs d'impulsions d'horloge interne ou d'événements externes)
 les chiens de garde (watchdog).
 les comparateurs (comparent deux tensions électriques),
 les contrôleurs de bus de communication (UART, I²C, SSP, CAN, FlexRay, USB, Ethernet, etc.).

Certains microcontrôleurs ont un nombre très restreint de broches, si bien qu’une broche donnée
peut correspondre à plusieurs périphériques internes. La fonction choisie doit alors être sélectionnée
par logiciel.

Le choix des périphériques à intégrer dans un microcontrôleur est délicat. Les fabricants doivent
réaliser un compromis entre des besoins contradictoires : utiliser des fréquences élevées, réduire la
taille du circuit, apporter des fonctionnalités nombreuses, élaborer une architecture flexible, assurer
des coûts modérés, etc.

1.2 PIC 16F877A :


Le PIC 16F877A est un microcontrôleur appartenant à la famille microchip, il présente ses propres
avantages.

i. Désignation :

Il existe 3 grandes familles de pic


• Base-Line (12 bits)
• Mid-Range (14 bits)
• High-End (16 bits)
La désignation du microcontrôleur 16F877A est décrite comme suit : | 13

 Le numéro 16 signifie qu'il fait partie de la famille "MID-RANGE". C'est un microcontrôleur de


la famille 8 bits. Cela veut dire que l'ALU (Arithmetic and Logique Unit ou Unit Arithmétique
et Logique en français) traite naturellement des mots de 8 bits maximum.
 mémoire est un mot de 14 bits.
 Les trois derniers chiffres permettent d'identifier précisément le PIC, ici c'est un PIC de type
877.
La référence 16F877 peut avoir un suffixe du type "-XX" dans lequel XX représente la fréquence
d'horloge maximale que le PIC peut recevoir.

Le microcontrôleur PIC 16F877 est devenu un microcontrôleur très populaire dans l'électronique
loisir. Sa simplicité, son prix, et l'accessibilité des outils de programmation peuvent expliquer sa
popularité.

ii. Description :

Le PIC16F877A constitué par les éléments ci-dessous, et sont représentés par la figure 5.
- Consommation : moins de 2mA sous 5V à 4 MHz.
- Architecture RISC : 35 instructions de durée 1 ou 2 cycles.
- Durée du cycle : Période de l'oscillateur quartz divisée par 4 soit 200 ns pour un quartz de
20MHz.
- Deux bus distincts pour le code programme et les data.
- Code instruction : mot de 14 bits et compteur programme (PC) sur 13 bits, ce qui permet
d'adresser 8K mots (de h'0000' à h'1FFF')
- Bus DATA sur 8 bits.
- 33 Ports Entrée-Sortie bidirectionnels pouvant produire 25 mA par sortie.
PORTA : 6 entrées -sorties. 5 entrées du CAN. Entrée CLK du Timer 0.
PORTB : 8 entrées-sorties. 1 entrée interruption ext. Clk et Data pour prog.
PORTC : 8 entrées-sorties. Clk Timer1 et PWM1. USART. I2C.
PORTD : 8 entrées-sorties. Port interface microprocesseur (8 bits data).
PORTE : 3 entrées-sorties. 3 bits de contrôle interf micro. 3 entrées du CAN.
- 4 sources d'interruption :
Externe par la broche partagée avec le Port B : PB0.
Par changement d'état des bits du Port B: PB4 PB5 PB6 ou PB7.
Par un périphérique intégré dans le chip: écriture de Data en EEPROM terminée, conversion | 14

analogique terminée, réception USART ou I2C.


Par débordement du Timer.

- 2 Compteurs 8 bits et 1 compteur 16 bits avec pré diviseur programmable.


- Convertisseur analogique 10 bits à 8 entrées pour le 16F877 et 4 entrées pour le 16F876.
- UART pour transmission série synchrone ou asynchrone.
- Interface I2C.
- 2 modules pour PWM avec une résolution de 10 bits.
- Interface avec un autre micro: 8 bits + 3 bits de contrôle pour R/W et CS.
- 368 Octets de RAM.
- 256 Octets d'EEPROM Data.
- 1 registre de travail : W et un registre fichier : F permettant d'accéder à la RAM ou aux registres
internes du PIC. Tous les deux sont des registres 8 bits.

Figure 5:Organisation interne du μc PIC16F877A


| 15
iii. Brochage :
La figure ci-dessous représente le brochage du μc PIC16F877A.

Figure 6 : Brochage du 16F84


iv. Les Ports D’Entrée/Sortie :
Le PIC 16F877 dispose de 33 broches d’entrée sortie regroupées dans 5 ports PORTA, PORTB,
PORTC, PORTD et PORTE.

Chaque broche d’un port peut être configurée soit en entrée soit en sortie à l’aide des registres de
direction TRISA, TRISB, TRISC et TRISD et TRISE:

Bit k de TRISx = 0  broche k de PORTx = SORTIE


Bit k de TRISx = 1  broche k de PORTx = ENTREE

VDD et VSS : Ce sont les connexions d'alimentation du circuit .Il est alimenté avec une tension de 5
volts VSS = 0 v, VDD = +5 v.

MCLR : Cette connexion active au niveau 0, est l'entrée de Reset (Master CLear Reset), elle permet
aussi le branchement de la haute tension VPP nécessaire à la programmation du composant. Le pin
MCLR peut être simplement relié à VDD si on n’a pas besoin de RESET externe. Par contre si on
souhaite implanter un bouton de remise à zéro, on pourra câbler un simple réseau RC sur la broche
MCLR.
OSC1 et OSC2 : Ces connexions permettent l'entrée des signaux nécessaires au fonctionnement de | 16
l’horloge. L’horloge est un système qui peut être réalisée soit avec un QUARTZ, soit avec un circuit
RC, soit avec une horloge extérieure, la fréquence maximale d’utilisation va dépendre de
Microcontrôleur utilisé. Le suffixe indiqué sur le boîtier donne la nature de l’horloge à utiliser et sa
fréquence maximale.

Figure 7 : Configurations de l’oscillateur du 16F84

2. IR Pulse Capteur :

Ce capteur d'impulsion se place sur un doigt et utilise la quantité de lumière infrarouge réfléchie par
le sang circulant à l'intérieur pour faire exactement cela.

Figure8 : Schéma avec représentation symbolique ampli-op

Le capteur lui - même est constitué d'un émetteur infrarouge et un détecteur montés côte à côte et
étroitement pressée contre la peau. Lorsque le cœur pompe, la pression artérielle augmente
fortement, et le fait de la quantité de lumière infrarouge provenant de l'émetteur qui obtient
réfléchie vers le détecteur. Le détecteur passe plus de courant quand il reçoit plus de lumière, ce qui
provoque une chute de tension à entrer dans le circuit de l’amplificateur. Cette conception utilise
deux consécutifs amplificateurs opérationnels («op-amp») pour établir une base stable pour le signal,
l’accent sur les pics, et filtrer le bruit. Les deux amplis op sont contenus dans un seul circuit
intégré (IC ou "puce"), et de les brancher est vraiment juste une question de relier les broches
correctement.
| 17

Figure9 : Schéma avec représentation physique ampli-op.

La sortie de deux op-ampères un signal propre mais faible qui est amplifié par le transistor avant la
sortie.
Le capteur d'impulsion complète est un dispositif à trois fils qui fonctionne sur 5V et sorties de
signal sur le fil blanc. Vous pouvez visualiser et / ou d'enregistrer ce signal dans un certain nombre
de façons,

3. Générateur d’impulsion : NE555

Le NE555 contient 23 transistors, 2 diodes et 16 résistances2 qui forment 4 éléments :


deux amplificateurs opérationnels de type comparateur ;
une porte logique de type inverseur ;
et une bascule SET-RESET.

Le NE555 peut fonctionner selon trois modes : monostable, astable ou bistable .


i. Brochage :
Le NE555 existe aussi en version double avec l'appellation NE556. La
table suivante présente les broches présentes sur la version simple
dans un boitier DIP. Les autres boitiers utilisent les mêmes noms de
broches.
Figure 10 : Symbole schématique du 555
| 18
# Nom Description

1 GND Masse

2 TRIG Gâchette, amorce la temporisation - Détecte lorsque la tension est inférieure à 1/3 de
VCC

3 OUT Signal de sortie

4 RESET Remise à zéro, interruption de la temporisation

5 CONT Accès à la référence interne (2/3 de VCC)

6 THRES Déclenche la fin de la temporisation, lorsque la tension atteint 2/3 de VCC, en


montant

7 DISCH Borne servant à décharger le condensateur de temporisation

8 VCC Tension d'alimentation, généralement entre 5 et 15V

ii. Principe de fonctionnement :


On peut voir à partir du schéma bloc les différents composants du NE555, soit :

 2 comparateurs (jaune et rose pâle) ;


 3 résistances configurées en diviseur de tension. Les deux tensions respectivement de 1/3 et 2/3
de Vcc servent de références aux comparateurs (vert) ;
 1 bascule SET-RESET contrôlée par les comparateurs (indigo) ;
 1 inverseur (fuchsia) ;
 1 transistor pour décharger le condensateur de temporisation (cyan).

L'opération du 555 suit la logique de fonctionnement du schéma bloc présenté et peut prendre 4
états différents.

 Le signal RESET est à un niveau bas : La bascule est remise à zéro, le transistor de décharge
s'active et la sortie reste impérativement à un niveau bas. Aucune autre opération n'est possible.
 Le signal TRIG est inférieur à 1/3 de VCC : la bascule est activée (SET) et la sortie est à un
niveau haut, le transistor de décharge est désactivé.
 Le signal THRES est supérieur à 2/3 de VCC : la bascule est remise à zéro (RESET) et la sortie
est à un niveau bas, le transistor de décharge s'active.
 Les signaux THRES et TRIG sont respectivement inférieurs à 2/3 de VCC et supérieurs à 1/3 de
VCC : la bascule conserve son état précédent de même que pour la sortie et le transistor de
décharge.
| 19

Figure 11 : Schéma bloc simplifié du NE555

iii. Fonctionnement monostable :


L'utilisation du NE555 en configuration monostable permet de générer une impulsion d'une durée
définie seulement à l'aide d'une résistance et d'un condensateur comme illustrée dans le schéma ci-
contre. Une impulsion est engendrée à la suite de l'application d'un front descendant à l'entrée du
circuit (TRIG), le graphique ci-dessous présente les formes d'ondes résultantes.
Immédiatement après l'application du front descendant la bascule interne est activée ainsi que la
sortie. Du même coup, le transistor de décharge est désactivé permettant au condensateur C de se
charger à travers la résistance R. La forme d'onde aux bornes du condensateur est celle d'un circuit
de premier ordre RC face à un échelon de tension, c'est-à-dire une exponentielle croissante. Lorsque
cette exponentielle atteint une valeur égale à deux tiers de la tension d'alimentation Vcc, la bascule
interne est désactivée ramenant la sortie et le condensateur à zéro. La durée de l'impulsion est
donnée par la formule suivante :

On trouve également le schéma du 555 en monostable redéclenchable, qui est à l'identique excepté
la pin 4 Reset reliée au trigger : à chaque impulsion d'entrée le timer est réinitialisé même si
l'impulsion précédente n'est pas terminée.

Figure 12 Diagramme schématique du NE555 en configuration monostable non redéclenchable


| 20
Chapitre3: Partie Software

1. Programmation :
i. Différentes façon de programmer :

Il existe plus d’un chemin possible pour programmer les PIC.


Nous en examinerons deux -bien que la programmation de PIC peut s’établir par le langage C+- : la
programmation en langage ASSEMBLEUR et la programmation en langage BASIC.

 Avantages et inconvénients de la programmation en langage ASSEMBLEUR :

 Avantages :

La programmation en langage ASSEMBLEUR se fait à l’aide d’un outil de programmation


entièrement gratuit et que l’on peut diffuser librement. Cet outil (qui est un magnifique
environnement de programmation complet) s’appelle MPLAB. Il est disponible en téléchargement
gratuit sur le site de Microchip.

 Inconvénients :

Pour programmer en langage ASSEMBLEUR, il faut non seulement connaître le fonctionnement de


chaque instruction, mais aussi l’architecture interne du microcontrôleur, la structure de sa mémoire,
les adresses des registres spéciaux, le fonctionnement de chacune de ses ressources internes, etc...
La programmation en langage ASSEMBLEUR s’appuie sur des organigrammes plus travaillés, et
requiert plus de rigueur et de minutie. Le programmeur doit plus faire attention aux impératifs
machines qu’à la finalité de son programme. Distrait par les impératifs machines, le programmeur
commet souvent des erreurs. Ces erreurs sont souvent difficiles à déceler et à corriger.
| 21
 Avantages et inconvénients de la programmation en langage BASIC
 Avantages :

La programmation en BASIC se fait à l’aide d’un langage facile et direct qui, bien qu’étant de
l’anglais, comprend des mots puissants, si bien qu’un programme écrit en BASIC comporte peu de
mots. Les erreurs de programmation sont plus rares, et se décèlent facilement. L’écriture des
programmes prend peu de temps.

 Inconvénients :

La programmation en BASIC nécessite un COMPILATEUR expressément conçu pour la


programmation des PIC.
Il s’agit d’un produit commercial, fruit d’un travail d’équipe, et donc payant.
Les programmes en langage BASIC, bien que très courts pour le programmeur qui les écrit,
demandent plus de place EEPROM car, vus côté PIC, ils demandent plus d’instructions
élémentaires. A tel point que parfois un microcontrôleur pouvant contenir à l’aise un programme
écrit en langage assembleur, s’avère posséder une mémoire insuffisante s’il était programmé en
langage BASIC, pour faire la même chose.

ii. Les outils nécessaires pour programmer en langage ASSEMBLEUR

Pour programmer en langage ASSEMBLEUR il faut :

1) un ordinateur pour écrire les instructions permettant de confectionner le fichier à extension .asm

2) un ASSEMBLEUR fourni gratuitement par Microchip (disponible et téléchargeable sur le site de


Microchip) permettant de confectionner le fichier à extension .hex. Cet ASSEMBLEUR s’appelle
MPLAB.

3) un PROGRAMMATEUR de PIC, relativement simple à réaliser.


Il existe des modèles pour port série et des modèles pour port parallèle.
4) un LOGICIEL adapté à votre programmateur de PIC.

Si on achète un kit Programmateur, il sera fourni avec le kit. Si on copie le schéma dans un
magazine, on doit pouvoir télécharger le logiciel à l’adresse citée dans l’article.
| 22
ii. Structure d’un programme
L’écriture d’un programme implique l’élaboration d’une véritable structure. Tout programme doit
comporter un titre : une sorte de définition succincte de ce que fait le programme. L’étape suivante
consiste à mettre ce programme sur papier (listing).

Nous y ajouterons des commentaires, ligne par ligne, pour chaque opération effectuée pour la clarté
du programme. Ils doivent être tels que si vous repreniez votre feuille plusieurs mois après, vous
devriez facilement savoir vous relire et comprendre.

Mieux encore : si vous travaillez en équipe, n’importe qui de votre équipe devrait être en mesure de
comprendre de quoi il s’agit.

Tout programme se construit selon un modèle, une sorte de squelette (template, en anglais).
Voici le squelette d’un programme pour PIC 16F877A :
| 23
| 24

2. Simulation Par ISIS :


Après l’obtention du programme compilé, le besoin d’émuler son bon fonctionnement devient une
nécessite puisqu’il nous permet d’avoir une idée claire sur le côté matériel, et de pouvoir visualiser le
comportement du PIC avec ses périphériques.

Dans notre cas nous avons opté pour le logiciel "PROTEUS" qui nous a permis de charger facilement
le programme compilé dans la mémoire du PIC. Il nous a également permis de mieux visualiser le
bon déroulement du programme que ce soit en références ou en conception des circuits imprimés.

Le schéma que nous avons élaboré par "ISIS" sous "PROTEUS" représente l’ensemble des composants
électroniques constituants la carte que nous avons développée.

 Bloc de capteurs :

Figure13 : Capteur de pulsation du cœur

 Bloc Master Clear :

Figure14 bloc MCLR


| 25
 Bloc quartz :

Figure15 : Quartz

 Bloc de sortie d’impulsion :

Figure16 : Bloc NE555


| 26

C
:
O
N
C
L
U
S
I
O
N
E
S
U sommes convaincus que la réalisation pratique exige beaucoup de temps et
La fin de ce projet, nous
nous confirmons qu’il y’a une grande différence entre la simulation et la réalisation pratique.
M
Nous devons préciserE que nous avons rencontré quelques obstacles telle que la non disponibilité de
certains composants comme l’amplificateur d’instrumentation, le générateur NE555 et les électrodes
de détection.

Néanmoins, nous avons eu la chance de découvrir un nouveau domaine du traitement du signal et


nous avons mis en œuvre une application basée sur un microcontrôleur qui nous permis de nous
familiariser avec le PIC 16F877A.
| 27

Table des figures :


Figure1 : Schéma synoptique du pacemaker à la demande
Figure 2 : Les différentes parties d’un Pacemaker
Figure3 : Schéma fonctionnel de base d’un pacemaker
Figure 4 Le schéma bloc du prototype réalisé
Figure 5:Organisation interne du μc PIC16F877A
Figure 6 : Brochage du 16F84
Figure 7 : Configurations de l’oscillateur du 16F84
Figure8 : Schéma avec représentation symbolique ampli-op
Figure9 : Schéma avec représentation physique ampli-op.
Figure 10 : Symbole schématique du 555
Figure 11 : Schéma bloc simplifié du NE555
Figure 12 Diagramme schématique du NE555 en configuration monostable non redéclenchable
Figure13 : Capteur de pulsation du cœur
Figure14 bloc MCLR
Figure15 : Quartz
Figure16 : Bloc NE555
ANNEXE1 : | 28

Vous aimerez peut-être aussi