Simple Heart Rate Measurement Using PIC.
L'objectif de ce projet est comme indiqu� au titre de cet article, non seulement afficher les battement cardiaque d��tre humain mais d'afficher le nombre exacte de battement chaque minutes.
D�finissons tout d'abord la notion du battement cardiaque du c�ur.
Le rythme cardiaque, aussi appel� les pulsations cardiaques, est le nombre de fois que votre c�ur bat par minute. Un rythme cardiaque normal d�pend de l�individu, de son �ge, de la taille de son corps, de son niveau de forme physique, de son �tat cardiovasculaire, s�il est debout ou assis, s�il prend ou non des m�dicaments et m�me de la temp�rature de l�air. Les �motions peuvent aussi avoir un impact sur le rythme cardiaque, �tant donn� que ce dernier s��l�ve quand un danger est d�tect� ou si l�on vit d�autres facteurs de stress.
Ceci tout le monde le connait, comme �tant des �lectroniciens notre d�finition de ce dernier est comme ceci:
L'objectif de ce projet est comme indiqu� au titre de cet article, non seulement afficher les battement cardiaque d��tre humain mais d'afficher le nombre exacte de battement chaque minutes.
D�finissons tout d'abord la notion du battement cardiaque du c�ur.
Le rythme cardiaque, aussi appel� les pulsations cardiaques, est le nombre de fois que votre c�ur bat par minute. Un rythme cardiaque normal d�pend de l�individu, de son �ge, de la taille de son corps, de son niveau de forme physique, de son �tat cardiovasculaire, s�il est debout ou assis, s�il prend ou non des m�dicaments et m�me de la temp�rature de l�air. Les �motions peuvent aussi avoir un impact sur le rythme cardiaque, �tant donn� que ce dernier s��l�ve quand un danger est d�tect� ou si l�on vit d�autres facteurs de stress.
Ceci tout le monde le connait, comme �tant des �lectroniciens notre d�finition de ce dernier est comme ceci:
La fr�quence cardiaque est le nombre de battements cardiaques (ou pulsations) par unit� de temps (g�n�ralement la minute). C'est une notion quantitative qui peut aussi se d�finir en cycles par seconde, par l'inverse de la p�riode.
La fr�quence cardiaque au repos varie selon l'�ge :
- Nouveau-n� : 140 +/- 50
- 1�2 ans : 110 +/- 40
- 3�5 ans : 105 +/- 35
- 6�12 ans : 95 +/- 30
- adolescent ou adulte : 70 +/- 10
- personne �g�e : 65 +/- 5.
Donc il s'agit d'un signal a haute fr�quence et tr�s faible amplitude a le faire mesurer afficher et calculer
Le Principe de faire adapter se petit signal au niveau visuel est bas�e sur le circuit photo transistor avec Led a cot�.
.
Comment �a fonctionne ?
c'est tout a fait simple, en faite il s'agit d'une diode Led capable a convertir l'alimentation r�cu a travers son anode vers un rayonnement lumineux, ce dernier va se communiquer avec un photo transistor.
c'est tout a fait simple, en faite il s'agit d'une diode Led capable a convertir l'alimentation r�cu a travers son anode vers un rayonnement lumineux, ce dernier va se communiquer avec un photo transistor.
Un photo-transistor est un composant �lectronique capable de r�agir � la lumi�re (photo en grec) en laissant passer plus ou moins de courant.
Comme les transistors, le photo-transistor est con�u selon une base, yb �metteur, un collecteur. Mais la base est sensible � la lumi�re et contr�le donc le passage du courant dans le collecteur. Certains mod�les de transistors peuvent d�ailleurs �tre lim�s jusqu�� faire apparaitre leur base pour que la lumi�re agisse dessus.
Le photo-transistor est beaucoup plus sensible qu�une photo-diode. Un montage classique � base de photo-transistor est le Darlington : un photo-transistor contr�le un transistor classique, tr�s efficace pour des barri�res lumineuses ou des d�tections d�obstacles.
Alors imaginons qu'on va mettre le doigts d'un �tre humain entre ces deux composants �lectroniques, la sortie sur le collecteur de photo transistor va s�influencer directement avec le battement cardiaque r�agit au doigts,
D'ici �a sorte le principe le reste c'est de savoir manipuler ce signal pour �tre affichable et mesurable simplement.
Pour ceci j'ai r�alis� ce montage compos� de quelques filtres et des amplificateurs op�rationnelles fonctionnent en r�gime lin�aire.
Pour ceci j'ai r�alis� ce montage compos� de quelques filtres et des amplificateurs op�rationnelles fonctionnent en r�gime lin�aire.
Cot� mat�riels et �quipement n�cessaire y a rien cher puisque il s'agit des petits r�sistances et des petits condensateurs pas plusse et j'ai bas� mon amplification/filtrage sur le circuit int�gr� LM324 qui inclus dedans d�j� 4 amplificateurs.
Pour le test sur isis j'ai remplac� le signal sortie du collecteur de transistor par un g�n�rateur simple de pulsation de valeur 3.4 Hz � peut pr�s du fr�quence de battement optimal de c�ur humain.
L'allure de signal Vout sur un oscilloscope est comme ceci indiqu� au vid�o:
Cot� Programmation tout est clair ici :
// Let's Electronic by Aymen Lachkhem
// Simple Heart Rate Mesurement Using PIC
// PIC16F628A et clack = 4Mhz
sbit IR_Tx at RA3_bit; // Sortie de phototransistor vers port RA3 de pic
sbit DD0_Set at RA2_bit; // Cablage 3digit : 7 seg 1
sbit DD1_Set at RA1_bit; // Cablage 3digit : 7 seg 2
sbit DD2_Set at RA0_bit; // Cablage 3digit : 7 seg 3
sbit start at RB7_bit;
unsigned short j, DD0, DD1, DD2, DD3;
unsigned short pulserate, pulsecount; // pulse count = baud rate in 15 secondes et pulse rate = pulse count * 4 (une minute)
unsigned int i;
///////////////////////////////////////// Configuration d'affichage de 7 seg 3 digit nombres /////////////
unsigned short mask(unsigned short num) {
switch (num) {
case 0 : return 0xC0;
case 1 : return 0xF9;
case 2 : return 0xA4;
case 3 : return 0xB0;
case 4 : return 0x99;
case 5 : return 0x92;
case 6 : return 0x82;
case 7 : return 0xF8;
case 8 : return 0x80;
case 9 : return 0x90;
} //case end
}
/////////////////////////////// delay d'amortissement //////////
void delay_debounce(){
Delay_ms(300);
}
///////////////////////////// delay de refresh ////////////////////
void delay_refresh(){
Delay_ms(5);
}
///////////////////////// fonction compter les pulsation ////////////
void countpulse(){
IR_Tx = 1; ////////////////// activer la diode led du capteur ///////////////
delay_debounce(); ////////////////// les deux delays///////////
delay_debounce();
TMR0=0; // activer le Timer de Pic
Delay_ms(15000); // Delay 15 Sec
IR_Tx = 0; // desactiver la diode led apres 15 secondes
pulsecount = TMR0; // lire la valeur de compteur
pulserate = pulsecount*4; // multiplier la valeur * 4
}
///////////////// fonction affichage //////////////
void display(){
DD0 = pulserate%10; //////////////// affichage de centaine sur le 7 seg 3
DD0 = mask(DD0);
DD1 = (pulserate/10)%10; ///////////// affichage de disaine sur le 7 seg 2
DD1 = mask(DD1);
DD2 = pulserate/100; ///////////// affichage de disaine sur le 7 seg 1
DD2 = mask(DD2);
for (i = 0; i<=180*j; i++) { /////////////////// si le 7 digit que tu va utiliser est cathode commun remplace les 1 par des 0 et vis vers sa
DD0_Set = 0;
DD1_Set = 1;
DD2_Set = 1;
PORTB = DD0;
delay_refresh();
DD0_Set = 1;
DD1_Set = 0;
DD2_Set = 1;
PORTB = DD1;
delay_refresh();
DD0_Set = 1;
DD1_Set = 1;
DD2_Set = 0;
PORTB = DD2;
delay_refresh();
}
DD2_Set = 1;
}
void main() {
CMCON = 0x07; // d�sactiver le comparateurs de pic pour fonctionner en regime complet
TRISA = 0b00110000; // declaration de RA4 comme input = sortie de capteur AMPLIFE��� et STABLE ( pour la stabilisation j'ai utilis� lm324 de ST
TRISB = 0b10000000; // declaration de RB7 comme entr� = button qui enclenche la mesure de heart rate
OPTION_REG = 0b00101000; // Activation de timer
pulserate = 0; // initialisation de pulse rate
j = 1; // initialisation de compteur
display(); // test affichage = affiche 000 sur les 3 digit
do {
if(!start){ // le button rb7= start enclenche la mesure
delay_debounce(); // delay
countpulse(); // compter les pulsation
j= 3;
display(); // Affichage de valeur compter * 4
}
} while(1); // boucle loop
}
La vid�o si dessous vous aidera de plusse a connaitre le principe du fonctionnement:
No comments:
Post a Comment