Exm2024+problème
abdelatif CHERAITIA
February 2025
1 Introduction
article [utf8]inputenc amsmath amsfonts amssymb graphicx
Solution des Exercices de Mécatronique - École Militaire Polytechnique 19
Février 2025
xercice: Questions de cours (8 Pts)
Question 1
Donner en bref ce que vous avez retenu en cours et vous appris en
se documentant les définitions des concepts suivants: Mécatronique,
système à microprocesseurs, périphériques dans un microcontrôleur,
Architecture.
Solution:
• Mécatronique: Domaine multidisciplinaire intégrant la mécanique, l’électronique,
l’informatique et l’automatique pour concevoir et réaliser des systèmes
intelligents et automatisés. Elle vise à optimiser la fonctionnalité et la
performance des produits en combinant ces différentes disciplines dès la
phase de conception.
• Système à microprocesseurs: Un système électronique construit au-
tour d’un microprocesseur comme unité centrale de traitement (CPU). Il
inclut généralement de la mémoire (RAM, ROM), des interfaces d’entrée/sortie
(E/S) et d’autres composants périphériques pour exécuter des tâches spécifiques.
Ces systèmes sont programmables et peuvent être adaptés à diverses ap-
plications.
• Périphériques dans un microcontrôleur: Composants intégrés au
sein d’un microcontrôleur, dédiés à des fonctions spécifiques autres que
le traitement central. Ils permettent au microcontrôleur d’interagir avec
le monde extérieur et d’étendre ses capacités. Exemples : CAN (Convertis-
seur Analogique-Numérique), PWM (Modulation de Largeur d’Impulsion),
UART (Communication Série), timers, etc.
1
• Architecture (d’un microcontrôleur): Organisation interne et struc-
ture d’un microcontrôleur, décrivant comment ses différentes parties (CPU,
mémoire, périphériques, bus internes) sont interconnectées et fonction-
nent ensemble. L’architecture définit le jeu d’instructions, les modes
d’adressage, la gestion des interruptions, et les capacités globales du mi-
crocontrôleur.
Question 2
Quels sont les éléments de base dans une architecture d’un micro-
contrôleur?
Solution:
Les éléments de base dans l’architecture d’un microcontrôleur comprennent
généralement:
• Unité Centrale de Traitement (CPU): Cœur du microcontrôleur,
responsable de l’exécution des instructions du programme.
• Mémoire:
– Mémoire Programme (ROM, Flash): Stocke le code du pro-
gramme à exécuter.
– Mémoire de Données (RAM): Mémoire vive pour stocker les
données temporaires et variables utilisées par le programme lors de
l’exécution.
• Périphériques d’Entrée/Sortie (E/S): Interfaces permettant au mi-
crocontrôleur de communiquer et d’interagir avec le monde extérieur (cap-
teurs, actionneurs, communication, etc.). Exemples :
– Ports d’E/S numériques (GPIO)
– Convertisseur Analogique-Numérique (CAN/ADC)
– Convertisseur Numérique-Analogique (CNA/DAC)
– Interfaces de communication série (UART, SPI, I2C)
– Contrôleurs PWM
– Timers/Compteurs
• Bus Internes: Systèmes de connexion (bus d’adresses, bus de données,
bus de contrôle) permettant la communication et le transfert de données
entre les différents blocs fonctionnels du microcontrôleur (CPU, mémoire,
périphériques).
• Horloge (Clock): Signal de synchronisation qui rythme l’exécution des
opérations du microcontrôleur.
• Gestion des Interruptions: Mécanisme permettant de gérer les événements
asynchrones et de réagir rapidement à des demandes externes ou internes.
2
• Alimentation et Gestion de l’Énergie: Circuits de régulation et de
distribution de l’alimentation électrique, et fonctionnalités de gestion de
la consommation d’énergie.
Problème: Questions de cours Partie 2 (12 Pts)
Question 1
D’après la figure caractéristique P = f(U): Quelles sont les valeurs
possibles (plage de valeurs en volts) Vmin et Vmax et les pressions
correspondantes Pmin et Pmax?
Solution:
D’après le graphique fourni:
• Tension minimale (Vmin): Vmin = −2V
• Tension maximale (Vmax): Vmax = 6V
• Pression minimale correspondante (Pmin): Pmin = 200 hP a
• Pression maximale correspondante (Pmax): Pmax = 1200 hP a
Question 2
Afin de lire cette courbe dans une boucle de régulation de pres-
sion dans un système mécatronique, quels périphériques devrons-nous
utiliser pour : lire, afficher sur un écran doté d’une ligne série et en-
voyer une commande vers un servomoteur pour la régulation de la
pression?
Solution:
Pour réaliser une boucle de régulation de pression avec une carte Arduino,
les périphériques nécessaires sont:
• Pour lire la tension du capteur de pression: Entrée Analogique
(avec Convertisseur Analogique-Numérique - CAN/ADC) de la
carte Arduino.
• Pour afficher les valeurs sur un écran série: Ligne Série (UART)
de l’Arduino, connectée à un écran compatible série ou un ordinateur.
• Pour envoyer une commande vers un servomoteur: Sortie PWM
(Modulation de Largeur d’Impulsion) d’une broche numérique de
l’Arduino compatible PWM.
3
Question 3
Quelles sont les opérations nécessaires à effectuer pour être dans une
plage de tension acceptée sur une entrée analogique de la carte Aruino
Uno qui est de 0 à 5V ? Faites ce calcul pour adapter cette tension.
Solution:
Les opérations nécessaires pour adapter la tension du capteur (plage -2V à
+6V) à la plage d’entrée de l’Arduino Uno (0V à 5V) sont:
1. Décalage de niveau (Offset): Ajouter une tension de +2V pour décaler
la plage vers le haut et éliminer les tensions négatives.
5
2. Atténuation (Scaling): Appliquer un facteur d’échelle de 8 pour réduire
la plage de 0V-8V (après décalage) à 0V-5V.
La formule pour adapter la tension du capteur (Ucapteur ) à la tension d’entrée
de l’Arduino (Uarduino ) est:
5
Uarduino = (Ucapteur + 2V ) ×
8
Vérification des bornes:
• Pour Ucapteur = Vmin = −2V : Uarduino = (−2V + 2V ) × 5
8 = 0V
• Pour Ucapteur = Vmax = 6V : Uarduino = (6V + 2V ) × 5
8 = 5V
La plage de tension est bien adaptée à l’entrée de l’Arduino Uno (0V à 5V).
Question 4
Sur combien de bits fonctionne le convertisseur ATD des entrées
analogiques, si l’on veut la diviser en 1023 niveau? Combien de
valeurs différentes possibles pouvons-nous donc obtenir sur une entrée
analogique?
Solution:
• Nombre de bits du convertisseur ATD: Pour diviser la plage en 1023
niveaux, le convertisseur ATD doit fonctionner sur 10 bits, car 210 = 1024
niveaux (numérotés de 0 à 1023).
• Nombre de valeurs différentes possibles: Un convertisseur ATD de
10 bits permet d’obtenir 210 = 1024 valeurs numériques différentes.
Question 5
Pour une valeur lue sur écran de V1 = 625 dites quelle est la valeur
du voltage lue et calculer la valeur de la pression correspondante.
Solution:
4
• Voltage lu (Uarduino ) pour V 1 = 625: La résolution du CAN est
5V
1024 niveaux .
5V 5V
Uarduino = V 1 × = 625 × ≈ 3.041 V
1024 1024
• Calcul de la tension du capteur (Ucapteur ): En inversant la formule
d’adaptation:
8
Ucapteur = Uarduino × − 2V
5
8
Ucapteur = 3.041V × − 2V ≈ 2.8656 V
5
• Pression correspondante (P): En utilisant le graphique pour Ucapteur ≈
2.8656V , on estime graphiquement la pression à environ 850 hPa. (Une
interpolation linéaire sur le graphique pourrait donner une valeur plus
précise si nécessaire).
Question 6
Pour une tension de V2 = 3.3 V en entrée, en se basant sur le
principe de fonctionnement d’un convertisseur à approximations suc-
cessives déterminer la valeur numérique en binaire en faisant dérouler
l’algorithme correspondant.
Solution:
L’algorithme de conversion à approximations successives pour V 2 = 3.3V
(ADC 10 bits, plage 0-5V) est déroulé dans le tableau suivant:
Étape Bit testé Valeur numérique testée (décimal) Valeur numérique testée (binaire) Tension de
1 Bit 9 (MSB) 512 1000000000 2
2 Bit 8 768 1100000000 3
3 Bit 7 640 1010000000 3.
4 Bit 6 704 1011000000 3.4
5 Bit 5 672 1010100000 3.2
6 Bit 4 688 1010110000 3.35
7 Bit 3 680 1010101000 3.32
8 Bit 2 676 1010100100 3.300
9 Bit 1 678 1010100110 3.310
10 Bit 0 (LSB) 677 1010100101 3.3056
La valeur numérique binaire obtenue est approximativement ‘1010100100‘.
Question 7
Pour afficher cette valeur V2 sur l’écran, nous utilisons une transmis-
sion série, donner le chronogramme correspondant de la transmission
série si l’on fixe 2 bits de Start, 2 bits de Stop et 7 bits de Data.
5
Solution:
Le chronogramme correspondant à la transmission série avec 2 bits de Start,
7 bits de Data (LSB first, valeur binaire ‘0100100‘) et 2 bits de Stop est représenté
ci-dessous (représentation simplifiée). Notez que la valeur 676 (décimale) nécessite
10 bits pour être représentée en binaire, mais l’énoncé impose 7 bits de Data,
ce qui est une simplification ou une erreur dans l’énoncé. On transmet ici les 7
bits de poids faible de la valeur 676.
chronogramme_serie.png
Figure 1: Chronogramme de transmission série (représentation simplifiée)
Description du chronogramme:
• Start bits (2 bits à 0): Le signal est à l’état haut (repos), puis passe
à l’état bas pendant deux intervalles de bit pour indiquer le début de la
transmission.
• Data bits (7 bits, LSB first): Les bits de données ‘0100100‘ (LSB en
premier) sont transmis successivement.
– Bit 0: 0 (bas)
– Bit 1: 0 (bas)
– Bit 2: 1 (haut)
6
– Bit 3: 0 (bas)
– Bit 4: 0 (bas)
– Bit 5: 1 (haut)
– Bit 6: 0 (bas)
• Stop bits (2 bits à 1): Après les bits de données, le signal revient à l’état
haut et reste à l’état haut pendant deux intervalles de bit pour signaler la
fin de la transmission.