Se connecterS'abonner

Chapitre 15

MICROPROCESSEURS,MICROCONTROLEURS ET PERIPHERIQUES (partie 2/4)

Lecture : 19 minQuiz de 10 questions

## Objectifs et prérequis **À la fin de ce chapitre, l’élève sera capable de :** - Décrire le rôle des microprocesseurs et microcontrôleurs dans un système embarqué, en distinguant leurs architectures (von Neumann, Harvard) et leurs familles courantes (ARM Cortex‑M, PIC, AVR). - Identifier les différents types d’unités d’entrée (consoles, claviers, capteurs biomédicaux) et expliquer leur interfacement avec un microcontrôleur (niveaux logiques, protocoles de communication : UART, SPI, I²C, analogique‑numérique). - Réaliser le schéma de câblage d’un capteur de fréquence cardiaque (type PPG) vers un microcontrôleur STM32F4, en respectant les consignes de sécurité électrique et d’hygiène (isolement galvanique, protection contre les surtensions). - Programmer, en langage C embarqué, une routine d’acquisition de données biomédicales, incluant le filtrage passe‑bas et la détection de pics, puis afficher le résultat sur un écran LCD 16×2. - Dépanner un système d’entrée défaillant en utilisant un oscilloscope et un multimètre, en identifiant les causes fréquentes (bruit d’alimentation, mauvais réglage du gain, saturation du convertisseur ADC). **Prérequis :** - Notions de base en électronique numérique (portes logiques, bascules, registres). - Connaissance des familles de microcontrôleurs 8 bits et 32 bits étudiées en première (AVR ATmega328P, STM32F103). - Maîtrise du langage C de base (structures, pointeurs, tableaux) et de l’environnement de développement intégré (IDE) utilisé en atelier (STM32CubeIDE ou MPLAB X). - Règles de sécurité électrique de base (tension de service ≤ 24 V, mise à la terre, port de lunettes de protection). --- ## Introduction contextualisée Dans les systèmes embarqués modernes, l’unité d’entrée constitue le premier maillon de la chaîne d’acquisition : elle transforme une grandeur physique (pression, température, potentiel électrique biologique) en un signal électrique exploitable par le microcontrôleur. Au Cameroun, les applications biomédicales se développent rapidement dans les centres de santé de référence (Hôpital Général de Yaoundé, Centre Hospitalier Universitaire de Douala) où l’on retrouve des moniteurs de fréquence cardiaque, des oxymètres de pouls et des électrocardiogrammes portables. Ces dispositifs reposent sur des microcontrôleurs à faible consommation, capables de traiter en temps réel des signaux faibles (quelques millivolts) tout en assurant une isolation galvanique pour protéger le patient et l’opérateur. Ce chapitre s’inscrit dans la logique du programme officiel MINESEC/IGE : après avoir étudié les architectures internes des microprocesseurs (partie 1/4) et les périphériques de sortie (partie 3/4), nous nous concentrons ici sur les activités d’intégration et de remédiation, puis sur la leçon dédiée aux unités d’entrée, notamment les consoles et les capteurs biomédicaux. L’approche par compétences implique que l’élève ne se contente pas de mémoriser des définitions, mais qu’il mette en œuvre des procédés d’atelier (câblage, mesure, programmation) conformes aux normes de sécurité et d’hygiène en vigueur au Cameroun (arrêté n° 2015/001 du MINSANTE relatif aux dispositifs médicaux). --- ## I. Activités d’intégration ### 1.1. Présentation générale Les activités d’intégration visent à mettre en relation les connaissances théoriques sur les microcontrôleurs avec la réalisation d’un système complet. Elles s’appuient sur un cahier des charges simplifié : acquérir un signal biomédical, le traiter et l’afficher. > **>** *Un système intégré se définit comme l’association d’un microcontrôleur, d’une unité d’entrée, d’une unité de traitement et d’une unité de sortie, le tout soumis à des contraintes de consommation, de temps réel et de sécurité.* ### 1.2. Étapes de l’intégration | Étape | Action principale | Outils / Instruments | Vérification | |-------|-------------------|----------------------|--------------| | Analyse du besoin | Définir la grandeur à mesurer (ex. fréquence cardiaque 40‑200 bpm) | Cahier des charges, fiche technique du capteur | Plage de mesure, résolution souhaitée | | Sélection du matériel | Choisir le microcontrôleur (STM32F401) et le capteur (PPG) | Catalogue fournisseur, datasheet | Compatibilité de tension (3,3 V), consommation < 10 mA | | Conception du schéma | Dessiner le schéma électrique (alimentation, filtrage, interfacage) | Logiciel de CAO (KiCad, Proteus) | Continuité, absence de courts‑circuits | | Réalisation du câblage | Souder les composants sur une plaquette d’essai | Fer à souder, pince à dénuder, multimètre | Vérification des tensions d’alimentation | | Installation du firmware | Écrire, compiler et télécharger le code C | STM32CubeIDE, programmateur ST‑Link | Vérification du démarrage (LED clignotante) | | Tests et validation | Mesurer le signal acquis, ajuster le gain, vérifier l’affichage | Oscilloscope, générateur de fonction, LCD | Signal dans la bande passante, pas de saturation | | Documentation | Rédiger le rapport d’intégration (schéma, code, résultats) | Traitement de texte | Conformité au modèle de rapport du lycée technique | ### 1.3. Exemple d’atelier au lycée technique de Ngaoundéré Les élèves travaillent en binômes sur une carte d’évaluation STM32F4‑Discovery. Ils connectent un capteur PPG (MAX30102) via le bus I²C (SDA = PB7, SCL = PB6). Après avoir configuré le périphérique I²C en mode maître à 400 kHz, ils lancent une acquisition périodique toutes les 10 ms, stockent les 16 bits de données dans un tableau circulaire de 256 échantillons, appliquent un filtre passe‑bas de deuxième ordre (cut‑off = 5 Hz) puis détectent les pics grâce à un seuil adaptatif. Le résultat (bpm) est affiché sur un écran LCD 16×2 via le bus parallèle (RS = PA0, EN = PA1, D4‑D7 = PA2‑PA5). > **>** *La fréquence d’échantillonnage doit être au moins deux fois supérieure à la plus haute fréquence d’intérêt du signal (théorème de Nyquist). Pour un PPG, 100 Hz suffit largement.* ### 1.4. Sécurité et hygiène - Isolation galvanique : utiliser un optocoupleur (PC817) entre le capteur et le microcontrôleur lorsqu’une connexion directe au patient est envisagée. - Limiter les courants de fuite : vérifier que la résistance de tirage vers la terre ne dépasse pas 10 kΩ. - Porter des gants nitrile lors de la manipulation des électrodes cutanées pour éviter la contamination croisée. --- ## II. Activités de remediation ### 2.1. Objectif de la remediation Les activités de remediation permettent de corriger les lacunes identifiées lors des évaluations diagnostiques (ex. difficultés à configurer un périphérique UART, mauvaise interprétation des datasheets). Elles se déroulent en petits groupes, avec un accompagnement personnalisé du professeur. ### 2.2. Procédure type 1. **Diagnostic** : quiz de 10 questions sur les notions de base (registres, interruptions, conversion analogique‑numérique). 2. **Analyse des erreurs** : chaque élève identifie ses points faibles grâce à une grille d’auto‑évaluation. 3. **Ateliers ciblés** : mise en place de trois postes : - *Poste A* : configuration d’un timer pour génération d’interruption périodique (ex. 1 kHz). - *Poste B* : lecture d’un capteur de température (LM35) via l’ADC 12 bits, mise à l’échelle en °C. - *Poste C* : débogage d’une liaison UART (baud rate 115200) avec un terminal série (PuTTY). 4. **Retour d’expérience** : chaque groupe présente une difficulté rencontrée et la solution appliquée. 5. **Évaluation formative** : nouveau quiz similaire au diagnostic pour mesurer la progression. ### 2.3. Exemple de remediation sur la conversion analogique‑numérique **Problème fréquent** : l’élève confond la résolution (nombre de bits) avec l’étendue de mesure (plage de tension). **Correction** : - Rappel de la formule : \[ \text{LSB} = \frac{V_{\text{ref}}}{2^{N}} \] où \(N\) est le nombre de bits du convertisseur, \(V_{\text{ref}}\) la tension de référence. - Exercice numérique : avec un ADC 10 bits, \(V_{\text{ref}} = 3,3 V\). Calcul du LSB : \( \frac{3,3}{2^{10}} = \frac{3,3}{1024} ≈ 3,22 mV\). - Interprétation : une variation de 1 LSB correspond à 3,22 mV à l’entrée du convertisseur. > **>** *La résolution d’un ADC définit le plus petit pas de tension qu’il peut distinguer ; elle ne dépend pas de la fréquence d’échantillonnage.* ### 2.4. Sécurité pendant la remediation - Utiliser uniquement des alimentations basse tension (≤ 5 V) pour les expériences sur breadboard. - Vérifier l’absence de courts‑circuits avant de mettre sous tension (test de continuité avec multimètre). - En cas de fumée ou d’odeur inhabituelle, couper immédiatement l’alimentation et avertir le professeur. --- ## III. Leçon 17 : Unité d’entrée – Consoles et capteurs biomédicaux ### 3.1. Consoles d’entrée Une console d’entrée regroupe les périphériques permettant à l’opérateur d’interagir avec le système (claviers, écrans tactiles, potentiomètres). Dans le contexte biomédical, on retrouve souvent des consoles de réglage de seuil d’alarme ou de sélection de mode de mesure. #### 3.1.1. Claviers matriciels - Architecture : lignes (rows) et colonnes (cols) formant une matrice de contacts. - Principe : le microcontrôleur active successivement chaque ligne et lit l’état des colonnes pour détecter la touche enfoncée. - Exemple : clavier 4×4 connecté aux ports PB0‑PB3 (lignes) et PB4‑PB7 (colonnes) d’un STM32F4. - Anti‑rebond : mise en œuvre logicielle d’un délai de 10 ms après détection ou utilisation d’un bascule SR latch matérielle. > **>** *Le balayage (scan) d’un clavier matriciel doit être réalisé périodiquement (typiquement 1 ms) pour garantir une détection fiable sans consommer excessivement de ressources CPU.* #### 3.1.2. Écrans tactiles résistifs - Deux couches conductrices séparées par un espace d’air ; la pression rapproche les couches, créant un diviseur de tension mesurable aux deux axes (X, Y). - Interface : généralement deux canaux ADC (ex. ADC1_IN5 et ADC1_IN6). - Calibration : acquisition de points connus (coins de l’écran) pour déterminer les coefficients d’affinage (offset, gain). ### 3.2. Capteurs biomédicaux Les capteurs biomédicaux transduisent une grandeur physiologique en signal électrique. Nous étudions trois familles représentatives au programme : | Famille | Grandeur mesurée | Principe de transduction | Sortie typique | Exemple de composant | |---------|------------------|--------------------------|----------------|----------------------| | Électrocardiogramme (ECG) | Potentiel électrique cardiaque | Électrodes Ag/AgCl captent les différences de potentiel cutané | Signal bipolaire ± 5 mV, bande 0,05‑150 Hz | AD8232 (amplificateur d’instrumentation) | | Photopléthysmographie (PPG) | Variation du volume sanguin tissulaire | LED verte/IR + photodiode mesure l’absorption/réflexion du lumière | Signal AC sur continu continu (DC ≈ 0,5‑2 V) | MAX30102 | | Température cutanée | Température de la peau | Thermistance NTC ou capteur numérique (ex. TMP102) | Résistance variable ou sortie I²C | NTC 10 kΩ β=3950 | #### 3.2.1. Conditionnement du signal ECG 1. **Électrodes** : placement selon la dérivée II (bras droit – jambe gauche). 2. **Amplification** : ampli d’instrumentation gain réglable (ex. 1000) pour porter le signal à quelques volts. 3. **Filtrage** : passe‑bande 0,5‑40 Hz (élimination du bruit de ligne 50 Hz et du drift). 4. **Conversion** : entrée ADC différentiel ou entrée simple avec référence commune. > **>** *Le gain de l’ampli d’instrumentation doit être choisi de façon à ce que le signal amplifié occupe au moins 70 % de l’échelle du convertisseur ADC, sans provoquer de saturation.* #### 3.2.2. Acquisition d’un signal PPG - **Éclairage** : LED verte (λ≈525 nm) pulsée à 1 kHz avec un duty‑cycle de 10 % pour réduire la consommation. - **Détection** : photodiode connectée en mode photovoltaïque à une résistance de charge (10 kΩ) formant un convertisseur courant‑tension. - **Amplification** : ampli transimpédance (gain 10⁵ V/A) pour obtenir quelques centaines de millivolts. - **Filtrage** : passe‑bas 5 Hz (élimine les composantes haute fréquence dues au mouvement). - **Échantillonnage** : ADC 12 bits à 100 Hz suffit pour extraire la fréquence cardiaque (0,5‑3 Hz). **Exemple de calcul de résolution** : Supposons un ADC 12 bits, \(V_{\text{ref}} = 3,3 V\). \[ \text{LSB} = \frac{3,3}{2^{12}} = \frac{3,3}{4096} ≈ 0,805 mV \] Une variation de 1 LSB correspond donc à 0,805 mV à l’entrée du convertisseur. Si le signal PPG après amplification varie de 200 mV (pic à pic), la résolution effective est : \[ \frac{200 mV}{0,805 mV/LSB} ≈ 248 \text{levels} ≈ 7,96 bits \] Ce qui est largement suffisant pour détecter les variations liées au pouls. > **>** *Pour garantir une bonne résolution, l’amplification doit être ajustée de façon à ce que l’amplitude du signal utilise au moins la moitié de l’échelle du ADC.* #### 3.2.3. Mesure de température cutanée avec NTC - **Pont de Wheatstone** : NTC en série avec une résistance fixe (10 kΩ) alimentée à 3,3 V. - **Tension de sortie** : \( V_{out} = V_{cc} \times \frac{R_{NTC}}{R_{NTC}+R_{fix}} \). - **Linearisation** : utilisation de la formule de Steinhart‑Hart ou d’une table de correspondance stockée en mémoire flash. - **Conversion** : lecture de la tension via un canal ADC, puis calcul de la température en °C. **Exercice numérique** : à 25 °C, la résistance d’une NTC 10 kΩ β=3950 vaut environ 10 kΩ. Avec \(R_{fix}=10 kΩ\) et \(V_{cc}=3,3 V\) : \[ V_{out} = 3,3 \times \frac{10k}{10k+10k} = 1,65 V \] Le LSB d’un ADC 10 bits (3,3 V/1024 ≈ 3,22 mV) donne une résolution de température d’environ 0,1 °C après linéarisation. > **>** *La linéarisation d’une NTC est indispensable pour obtenir une précision meilleure que ± 2 °C sur la plage 0‑50 °C.* ### 3.3. Intégration console‑capteur dans un moniteur de fréquence cardiaque - **Console** : clavier 4×4 pour sélectionner le mode (repos, effort) et afficher les seuils d’alarme. - **Capteur** : PPG MAX30102 connecté en I²C. - **Traitement** : filtrage passe‑bas 5 Hz, détection de pics par comparaison avec un seuil adaptatif (80 % du maximum récent). - **Sortie** : affichage BPM sur LCD 16×2 et déclenchement d’un buzzer si la fréquence dépasse 180 bpm (alarme tachycardie). **Schémas de connexion (texte)** : - VDD du MAX30102 → 3,3 V du STM32F4 - GND → GND commun - SCL → PB6, SDA → PB7 (I²C1) - INT → PA8 (interruption externe) - LED rouge du clavier → PC0 via résistance 220 Ω - Entrées lignes du clavier → PB0‑PB3 (pull‑up interne) - Entrées colonnes du clavier → PB4‑PB7 (pull‑down interne) - LCD RS → PA0, EN → PA1, D4‑D7 → PA2‑PA5 (mode 4‑bits) > **>** *Toute connexion vers un périphérique sensible au patient doit être protégée par une résistance de limitation de courant (ex. 220 Ω pour une LED) afin d’éviter les courants de fuite dangereux.* ### 3.4. Normes et règles de sécurité/hygiène applicables au Cameroun - **Arrêté n° 2015/001 du MINSANTE** : exige l’isolement galvanique entre les parties patient et les parties opérateur pour tout dispositif médical de classe IIa. - **NF EN 60601‑1** : sécurité fondamentale des équipements électromédicaux (isolement, courants de fuite ≤ 10 µA). - **Procedure de nettoyage** : les électrodes et les capteurs doivent être désinfectés avec une solution à base d’alcool à 70 % après chaque utilisation, puis séchés à l’air libre. - **Élimination des déchets** : les piles usagées et les composants contenant du plomb doivent être déposés dans les points de collecte agréés (ex. Société Nationale de Gestion des Déchets). --- ## Synthèse du chapitre - **Microcontrôleur** : cœur du système, exécute le firmware, gère les périphériques d’entrée/sortie via des bus (I²C, SPI, UART, GPIO). - **Unité d’entrée** : transforme une grandeur physique en signal électrique ; comprend consoles (claviers, écrans tactiles) et capteurs biomédicaux (ECG, PPG, température). - **Conditionnement du signal** : amplification, filtrage, conversion analogique‑numérique, linéarisation (ex. NTC). - **Fréquence d’échantillonnage** : respecter le théorème de Nyquist (≥ 2× fmax du signal). - **Résolution de l’ADC** : LSB = Vref / 2^N ; choisir le gain pour exploiter ≥ 50 % de l’échelle. - **Sécurité** : isolement galvanique, limitation de courants, mise à la terre, port de protections individuelles, respect des normes NF EN 60601‑1 et de l’arrêté MINSANTE. - **Programmation** : configuration des périphériques (GPIO, ADC, I²C, timers), écriture de routines d’interruption, filtrage numérique, affichage sur LCD. - **Dépannage** : utilisation d’oscilloscope et de multimètre pour vérifier niveaux de tension, continuité, bruit et saturation. --- ## Glossaire | Terme | Définition | |-------|------------| | **Microcontrôleur** | Circuit intégré contenant un processeur, de la mémoire (RAM, ROM/Flash) et des périphériques d’entrée/sortie sur une même puce. | | **Unité d’entrée** | Sous‑système qui acquiert une grandeur physique et la convertit en signal électrique exploitable par le microcontrôleur. | | **Console d’entrée** | Périphérique permettant à l’opérateur d’interagir avec le système (clavier, écran tactile, potentiomètre). | | **Capteur biomédical** | Dispositif qui transforme une grandeur physiologique (potentiel électrique, volume sanguin, température) en signal électrique. | | **PPG (Photopléthysmographie)** | Technique optique mesurant les variations du volume sanguin tissulaire grâce à l’absorption/réflexion de la lumière. | | **ECG (Électrocardiogramme)** | Enregistrement du potentiel électrique généré par l’activité cardiaque via des électrodes cutanées. | | **ADC (Convertisseur Analogique‑Numérique)** | Périphérique qui convertit une tension continue en un nombre binaire proportionnel à son amplitude. | | **LSB (Least Significant Bit)** | Plus petit pas de tension qu’un ADC peut distinguer, égal à Vref / 2^N. | | **Filtrage passe‑bas** | Filtre qui atténue les fréquences supérieures à une fréquence de coupure donnée, préservant les basses fréquences. | | **Isolement galvanique** | Séparation électrique entre deux parties d’un circuit empêchant tout courant continu de circuler entre elles, généralement réalisé par un transformateur, un optocoupleur ou une barrière d’isolement. | | **Nyquist (théorème de)** | Pour reproduire fidèlement un signal, la fréquence d’échantillonnage doit être au moins deux fois supérieure à la plus haute fréquence présente dans le signal. | | **Pull‑up / Pull‑down** | Résistance interne ou externe qui fixe l’état logique d’une entrée à un niveau haut (pull‑up) ou bas (pull‑down) lorsqu’elle n’est pas pilotée activement. | | **Debouncing (anti‑rebond)** | Technique visant à éliminer les multiples transitions dues au rebond mécanique d’un contact (clavier, interrupteur). | | **Steinhart‑Hart** | Équation empirique permettant de convertir la résistance d’une NTC en température avec une grande précision. | | **Firmware** | Programme stocké en mémoire non volatile (Flash) qui contrôle le fonctionnement du microcontrôleur. | --- ## Exercices d'application corrigés ### Exercice 1 – Dimensionnement de l’amplificateur d’instrumentation pour un signal ECG **Données** : - Amplitude du signal ECG brut : ± 2 mV (valeur crête‑à‑crête 4 mV). - ADC du STM32F4 : 12 bits, Vref = 3,3 V. - On veut que le signal amplifié occupe au moins 70 % de l’échelle du ADC. **Calcul** : 1. Tension cible à l’entrée de l’ADC : 0,7 × 3,3 V = 2,31 V (amplitude crête). 2. Gain nécessaire : \( G = \frac{V_{\text{cible}}}{V_{\text{ECG}}} = \frac{2,31 V}{2 mV} = 1155 \). 3. On choisira un ampli d’instrumentation avec gain réglable de 1000 – 2000 (ex. AD620) et on ajustera la résistance de gain pour obtenir G≈1150. **Corrigé** : - Avec un gain de 1150, la sortie sera ± 2,3 V, bien dans la plage ± 3,3 V de l’ADC, sans risque de saturation. - Vérification du LSB après amplification : \( \text{LSB}_{out} = \frac{3,3}{2^{12}} ≈ 0,805 mV \). La résolution effective sur le signal d’origine devient \( \frac{2 mV}{0,805 mV} ≈ 2,48 LSB \), soit environ 1,3 bit d’information supplémentaire grâce à l’amplification. ### Exercice 2 – Programmation d’une interruption sur la ligne INT du capteur PPG **Objectif** : déclencher une acquisition chaque fois que le capteur signale qu’un nouveau échantillon est disponible (signal INT actif bas). **Étapes** : 1. Activer l’horloge du GPIOA et du SYSCFG. 2. Configurer PA8 en mode entrée, pull‑up, interruption sur front descendant. 3. Dans la fonction de rappel `HAL_GPIO_EXTI_Callback`, lire le registre de données FIFO du MAX30102 via I²C. 4. Stocker les 16 bits de chaque échantillon dans un tableau circulaire. 5. Mettre à un drapeau `newSampleReady` pour que la boucle principale lance le traitement (filtrage, détection de pics). **Extrait de code (C, HAL)** : ```c /*--- Initialisation ---*/ __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_SYSCFG_CLK_ENABLE(); GPIO_InitTypeDef GPIO_InitStruct = {0}; GPIO_InitStruct.Pin = GPIO_PIN_8; GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; GPIO_InitStruct.Pull = GPIO_PULL_UP; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); HAL_NVIC_SetPriority(EXTI9_5_IRQn, 0, 0); HAL_NVIC_EnableIRQ(EXTI9_5_IRQn); /*--- Callback ---*/ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { if(GPIO_Pin == GPIO_PIN_8) { uint8_t reg[3]; HAL_I2C_Mem_Read(&hi2c1, MAX30102_ADDR, REG_FIFO_DATA, 1, reg, 3, HAL_MAX_DELAY); int16_t sample = (int16_t)((reg[0]<<8) | reg[1]); // 16‑bit signé buffer[head++] = sample; if(head >= BUFFER_SIZE) head = 0; newSampleReady = 1; } } ``` **Corrigé** : Le code ci‑dessus montre la configuration de l’interruption sur front descendant, la lecture du FIFO (3 octets : 2 octets de données + 1 octet de statut) et le stockage dans un buffer circulaire. Le drapeau `newSampleReady` permet à la boucle principale de traiter l’échantillon sans bloquer l’interruption. ### Exercice 3 – Calcul de la température à partir d’une lecture d’ADC d’une NTC **Données** : - NTC 10 kΩ β=3950, Rfix = 10 kΩ, Vcc = 3,3 V. - Lecture ADC : 512 (sur 10 bits, Vref = 3,3 V). **Étapes** : 1. Tension mesurée : \( V_{mes} = \frac{512}{1024} × 3,3 V = 1,65 V \). 2. Résistance de la NTC : \( R_{NTC} = R_{fix} × \frac{V_{mes}}{V_{cc} - V_{mes}} = 10k × \frac{1,65}{3,3-1,65} = 10k × \frac{1,65}{1,65} = 10 kΩ \). 3. Utilisation de l’équation de Steinhart‑Hart simplifiée (β) : \[ \frac{1}{T} = \frac{1}{T_0} + \frac{1}{β} \ln\left(\frac{R_{NTC}}{R_0}\right) \] avec \(T_0 = 298,15 K\) (25 °C), \(R_0 = 10 kΩ\). \[ \frac{1}{T} = \frac{1}{298,15} + \frac{1}{3950} \ln\left(\frac{10000}{10000}\right) = \frac{1}{298,15} + 0 \] Donc \( T = 298,15 K = 25,0 °C \). **Corrigé** : La lecture ADC de 512 correspond exactement à la moitié de l’échelle, ce qui, avec le pont diviseur choisi, donne une résistance NTC égale à la résistance fixe, donc la température est 25 °C. --- ## Erreurs fréquentes et règles de sécurité | # | Erreur fréquente | Conséquence | Règle de prévention / correction | |---|------------------|-------------|----------------------------------| | 1 | Oublier de configurer les résistances de pull‑up/pull‑down sur les entrées GPIO (ex. lignes du clavier) | Lectures flottantes, déclenchements intempestifs d’interruptions | Toujours activer les résistances internes (`GPIO_PULL_UP` ou `GPIO_PULL_DOWN`) ou ajouter des résistances externes de 10 kΩ avant la mise sous tension. | | 2 | Brancher directement la sortie d’un capteur PPG sur une entrée ADC sans amplification | Signal trop faible (< 10 mV) → perte de résolution, bruit dominant | Insérer un étage d’amplification (gain 100‑1000) adapté à la plage de l’ADC ; vérifier que le signal utilise ≥ 50 % de l’échelle. | | 3 | Négliger le filtrage du secteur 50 Hz sur un signal ECG | Artefacts de masque qui masquent le complexe QRS, leading to false diagnosis | Introduire un filtre notch 50 Hz (ou un filtre passe‑bande 0,5‑40 Hz) avant la conversion numérique. | | 4 | Alimenter un capteur biomédical avec une tension supérieure à sa limite (ex. 5 V sur un MAX30102 spécifié à 3,3 V) | Détérioration du composant, courants de fuite dangereux pour le patient | Toujours consulter le datasheet ; utiliser un régulateur 3,3 V (LDO) avec découplage céramique 0,1 µF + 10 µF. | | 5 | Omettre la mise à la terre du châssis de l’appareil lors de tests sur banc | Risques de choc électrique en cas de défaut d’isolement | Connecter le châssis à la terre de protection (PE) via un câble de section minimale 2,5 mm², vérifier la continuité avec un ohmmètre (< 1 Ω). | | 6 | Utiliser un câble de liaison trop long entre le capteur et le microcontrôleur en environnement bruyant (ex. salle d’opération) | Antenne captant des interférences électromagnétiques, dégradation du signal | Limiter la longueur à < 30 cm, utiliser des paires torsadées et un blindage relié à la masse au niveau du récepteur uniquement. | | 7 | Négliger le débouncing d’un contact mécanique (clavier) | Comptage multiple d’une même touche, erreurs de saisie | Implémenter un délai logiciel de 5‑10 ms après détection ou utiliser un bascule SR matérielle (ex. 74HC14). | | 8 | Oublier de désactiver les interruptions pendant la lecture d’un registre critique du capteur (course condition) | Données corrompues, perte de synchronisation | Dans la routine d’interruption, masquer les interruptions du même niveau (`__disable_irq()` / `__enable_irq()`) ou utiliser des buffers avec indices atomiques. | --- *Fin du cours.*

Quiz du chapitre

10 questions — vérifie chaque réponse pour voir l'explication.

  1. 1. Quelle est la principale différence entre un microprocesseur et un microcontrôleur ?
  2. 2. Dans le cadre de la leçon 17, quelle fonction principale assure l'unité d'entrée constituée par les consoles et les capteurs biomédicaux ?
  3. 3. Que désigne une activité d'intégration dans un laboratoire d'électronique basé sur des microcontrôleurs ?
  4. 4. Un capteur d'oxymétrie fournit une tension variant de 0 V à 5 V pour une saturation en oxygène de 0 % à 100 %. Quelle serait la valeur lue par un convertisseur analogique‑numérique de 10 bits lorsque la SpO₂ mesure 75 % ?
  5. 5. Une liaison UART est configurée à 9600 bauds, 8 bits de données, sans parité et 1 bit d'arrêt (8N1). Combien de bits sont transmis pour chaque caractère et quel est le temps nécessaire pour envoyer un caractère ?
  6. 6. Un capteur de température LM35 fournit une tension de 10 mV par degré Celsius. Si la mesure sur l'entrée analogique d'un microcontrôleur indique 250 mV, quelle est la température mesurée ?
  7. 7. Un écran LCD 16×2 fonctionnant en mode 4‑bits utilise combien de lignes de données en plus des lignes de commande (RS, RW, E) ?
  8. 8. Un oxymètre de pouls mesure le rapport AC/DC des signaux provenant de deux LED : rouge (660 nm) avec un rapport de 0,4 et infrarouge (940 nm) avec un rapport de 0,6. En utilisant la formule empirique SpO₂ = 110 − 25 × R où R = (AC/DC)_rouge / (AC/DC)_IR, quelle est la SpO₂ approximative ?
  9. 9. Lors d'une activité de remediation, on constate que les données reçues par l'UART sont décalées d'un bit vers la gauche. Quelle étape suivante ne fait pas partie d'une procédure de débogage appropriée utilisant un oscilloscope et un logiciel ?
  10. 10. Un système de monitoring biomédical doit numériser un signal ECG dont la fréquence la plus élevée est de 150 Hz. Selon le théorème d'échantillonnage, quel est le taux d'échantillonnage minimal à appliquer si l'on veut inclure une marge de sécurité de 20 % ?