Systèmes embarqués et robotique
Troisième · Technologie · Les objets techniques, les services et les changements induits dans la société
Les objets techniques et la société
Chaîne d'information et chaîne d'énergie
Une barrière de parking, un robot aspirateur, un feu tricolore, un distributeur de boissons : tous ces objets ont un point commun. Ils prennent des informations sur leur environnement, ils les traitent, et ils agissent en conséquence. Pour les comprendre, on les décompose toujours en deux chaînes qui fonctionnent ensemble.
| Chaîne | Fonction | Composants typiques |
|---|---|---|
| Information | Acquérir | Bouton poussoir, capteur de distance, capteur de température, capteur de luminosité |
| Information | Traiter | Microcontrôleur (carte micro:bit, Arduino), programme embarqué |
| Information | Communiquer | Écran, LED témoin, module radio ou Wi-Fi, haut-parleur |
| Énergie | Alimenter | Pile, batterie, panneau solaire, prise secteur |
| Énergie | Distribuer | Interrupteur, relais, transistor, pont en H, variateur |
| Énergie | Convertir | Moteur, électroaimant, LED, résistance chauffante |
| Énergie | Transmettre | Engrenages, poulies-courroie, arbre, roues, chenilles |
Les capteurs : les sens du système
Un capteur transforme une grandeur physique (distance, température, lumière, pression, présence) en un signal électrique que le microcontrôleur peut lire. On les classe selon la nature du signal qu'ils fournissent.
| Type de capteur | Signal fourni | Exemples |
|---|---|---|
| Tout ou rien (TOR) | Deux états seulement : 0 ou 1 | Bouton poussoir, capteur de fin de course, détecteur de présence |
| Analogique | Une tension qui varie continûment avec la grandeur mesurée | Capteur de température, photorésistance, potentiomètre |
| Numérique | Une suite de valeurs codées, transmise par un protocole | Capteur de distance à ultrasons, accéléromètre, capteur de qualité de l'air |
Informatique et programmation
Programmer et piloter un robot
Un robot ne « comprend » rien : il exécute, à la lettre et très vite, une suite d'instructions écrites par un humain. Tout le travail consiste donc à décrire le comportement voulu de façon complète, ordonnée et sans ambiguïté. C'est ce qu'on appelle un algorithme.
Les trois structures de base
- La séquence : les instructions s'exécutent les unes après les autres, dans l'ordre écrit.
- Le test (structure conditionnelle) : « si condition alors ... sinon ... ». Le programme choisit un chemin selon la valeur lue.
- La boucle (structure itérative) : « répéter 10 fois ... » ou « tant que condition ... ». Elle évite de recopier vingt fois la même instruction.
- Les variables complètent le tout : ce sont des cases mémoire nommées qui stockent une valeur (distance mesurée, compteur de passages, vitesse consigne).
Adapter la vitesse : transmettre le mouvement
Un moteur électrique tourne vite mais avec peu de force. Pour faire avancer un robot, on intercale un système de transmission (engrenages, poulies-courroie) qui réduit la vitesse et augmente le couple. Avec deux roues dentées, le rapport de transmission vaut : nombre de dents de la roue menante divisé par le nombre de dents de la roue menée. Si la roue menante a 12 dents et la roue menée 36 dents, le rapport est 12/36 = 1/3 : la vitesse de sortie est trois fois plus faible que celle du moteur, mais la force disponible est trois fois plus grande.
Exercices corrigés
Parmi ces composants, lequel est un actionneur ?
- A.Un capteur de température
- B.Un moteur à courant continuBonne réponse
- C.Un bouton poussoir
- D.Une photorésistance
Réponse : B — Un moteur à courant continu
Un actionneur convertit l'énergie reçue en une action physique : le moteur transforme l'énergie électrique en mouvement de rotation. Les trois autres composants sont des capteurs : ils renseignent le système sur la température, sur l'appui d'un utilisateur ou sur la luminosité ambiante. Un moyen simple de trancher : est-ce que le composant informe le système, ou est-ce qu'il agit sur le monde ?
Quelles sont les trois fonctions de la chaîne d'information ?
- A.Alimenter, distribuer, convertir
- B.Mesurer, chauffer, éclairer
- C.Acquérir, traiter, communiquerBonne réponse
- D.Concevoir, fabriquer, recycler
Réponse : C — Acquérir, traiter, communiquer
La chaîne d'information suit toujours le même parcours : acquérir l'information grâce aux capteurs, la traiter dans le microcontrôleur qui exécute le programme, puis communiquer — que ce soit vers l'utilisateur (écran, LED) ou vers la chaîne d'énergie sous forme d'ordres. « Alimenter, distribuer, convertir » sont au contraire des fonctions de la chaîne d'énergie.
Quelles sont les fonctions de la chaîne d'énergie ?
- A.Acquérir, traiter, communiquer
- B.Extraire, fabriquer, distribuer, recycler
- C.Alimenter, distribuer, convertir, transmettreBonne réponse
- D.Programmer, téléverser, tester, corriger
Réponse : C — Alimenter, distribuer, convertir, transmettre
La chaîne d'énergie suit le trajet de l'énergie dans le système : on l'alimente (batterie, secteur), on la distribue vers l'actionneur au bon moment grâce à un relais ou un transistor, on la convertit en une autre forme dans l'actionneur (mouvement, lumière, chaleur), puis on la transmet à la partie mobile par des engrenages ou des roues. La première proposition décrit la chaîne d'information, la deuxième le cycle de vie du produit.
Dans un robot, à quelle chaîne et à quelle fonction appartient le moteur ?
- A.Chaîne d'information, fonction acquérir
- B.Chaîne d'information, fonction traiter
- C.Chaîne d'énergie, fonction transmettre
- D.Chaîne d'énergie, fonction convertirBonne réponse
Réponse : D — Chaîne d'énergie, fonction convertir
Le moteur transforme de l'énergie électrique en énergie mécanique : c'est exactement la définition de la fonction convertir, dans la chaîne d'énergie. La fonction transmettre vient juste après : elle est assurée par les engrenages, la courroie et les roues, qui acheminent ce mouvement jusqu'au sol. Le moteur n'a rien à voir avec la chaîne d'information : il ne renseigne pas le système, il agit.
Un capteur fournit une tension qui augmente régulièrement quand la température monte. De quel type de capteur s'agit-il ?
- A.Un capteur analogiqueBonne réponse
- B.Un capteur tout ou rien
- C.Un actionneur analogique
- D.Un capteur binaire
Réponse : A — Un capteur analogique
Le signal varie de façon continue avec la grandeur mesurée : la tension prend une infinité de valeurs intermédiaires, ce qui est la définition d'un signal analogique. Un capteur TOR (ou binaire, c'est la même idée) ne connaîtrait que deux états et ne pourrait donc pas indiquer « 23,4 °C ». Et le mot actionneur est ici hors sujet : ce composant informe le système, il n'agit pas sur le monde.
Comment un capteur à ultrasons mesure-t-il une distance ?
- A.Il émet une salve d'ultrasons et mesure le temps de retour de l'échoBonne réponse
- B.Il mesure la température de l'air entre lui et l'obstacle
- C.Il compte le nombre de tours effectués par les roues du robot
- D.Il photographie l'obstacle et analyse sa taille sur l'image
Réponse : A — Il émet une salve d'ultrasons et mesure le temps de retour de l'écho
Le principe est celui du sonar : l'émetteur envoie une salve d'ultrasons, l'onde se réfléchit sur l'obstacle, et le récepteur détecte l'écho. Le capteur mesure le temps écoulé, puis on applique distance = vitesse du son × temps, en divisant par 2 puisque le son a fait l'aller ET le retour. Compter les tours de roue est la méthode d'un codeur (odométrie), et l'analyse d'image relève d'une caméra : ce sont d'autres capteurs.
Un capteur à ultrasons mesure un temps d'aller-retour de 20 ms. Le son se propage à 340 m/s. À quelle distance se trouve l'obstacle ?
- A.6,8 m
- B.3,4 mBonne réponse
- C.1,7 m
- D.17 m
Réponse : B — 3,4 m
D'abord la conversion : 20 ms = 0,020 s. Ensuite la distance parcourue par le son : d = v × t = 340 × 0,020 = 6,8 m. Mais cette distance correspond à l'aller ET au retour de l'onde : l'obstacle est donc à 6,8/2 = 3,4 m. Répondre 6,8 m, c'est justement oublier de diviser par deux, l'erreur la plus fréquente avec ce capteur. Vérification : 3,4 × 2 = 6,8 m parcourus en 0,020 s, ce qui redonne bien 340 m/s.
Un moteur tourne à 900 tr/min. Une roue dentée de 12 dents montée sur son axe entraîne une roue de 36 dents. À quelle vitesse tourne la roue de sortie ?
- A.2 700 tr/min
- B.900 tr/min
- C.300 tr/minBonne réponse
- D.75 tr/min
Réponse : C — 300 tr/min
Le rapport de transmission vaut dents de la roue menante divisé par dents de la roue menée : 12/36 = 1/3. La vitesse de sortie vaut donc 900 × 1/3 = 300 tr/min. Vérification par le raisonnement physique : la grande roue a trois fois plus de dents, elle fait donc trois fois moins de tours dans le même temps — et en contrepartie, la force disponible est trois fois plus grande. Répondre 2 700 tr/min revient à inverser le rapport, ce qui correspondrait à un multiplicateur de vitesse.
Le convertisseur analogique-numérique d'une carte code la tension lue sur 10 bits. Combien de valeurs différentes peut-il représenter ?
- A.10 valeurs
- B.100 valeurs
- C.512 valeurs
- D.1 024 valeursBonne réponse
Réponse : D — 1 024 valeurs
Avec n bits, on code 2 puissance n valeurs distinctes. Ici 2 puissance 10 = 1 024, soit les nombres de 0 à 1 023. Répondre 512, c'est le résultat pour 9 bits (2 puissance 9). Répondre 10, c'est confondre le nombre de bits avec le nombre de valeurs. Ce chiffre a un sens concret : plus la résolution est grande, plus la mesure numérique est fine, car l'étendue de mesure est découpée en davantage de paliers.
Une broche de la carte délivre au maximum 20 mA. Le moteur choisi consomme 0,5 A en fonctionnement. Que doit faire l'équipe ?
- A.Brancher le moteur directement : 20 mA suffisent largement
- B.Utiliser une interface de puissance alimentée séparémentBonne réponse
- C.Diminuer la tension d'alimentation de la carte
- D.Ajouter une LED en série avec le moteur pour limiter le courant
Réponse : B — Utiliser une interface de puissance alimentée séparément
Comparons dans la même unité : 0,5 A = 500 mA, soit 25 fois la limite de la broche. Un branchement direct détruirait la sortie du microcontrôleur. La solution est une interface de puissance — transistor, relais ou pont en H — commandée par la broche mais alimentée par une source dédiée capable de fournir 500 mA. Baisser la tension de la carte ne changerait rien au besoin du moteur, et une LED en série ne ferait que l'empêcher de tourner.
Un robot exécute : « si distance < 30 alors ralentir, sinon si distance < 10 alors s'arrêter ». Le capteur mesure 5 cm. Que se passe-t-il ?
- A.Le robot s'arrête, car 5 est inférieur à 10
- B.Le robot ne fait rien, aucune condition n'étant vérifiée
- C.Le robot ralentit mais ne s'arrête jamaisBonne réponse
- D.Le robot ralentit puis s'arrête, dans cet ordre
Réponse : C — Le robot ralentit mais ne s'arrête jamais
Dans une structure « si … sinon si … », les tests sont examinés dans l'ordre et le programme s'arrête au PREMIER qui est vrai. Ici 5 < 30 est vrai, donc le robot ralentit, et la branche « sinon si » n'est jamais évaluée : la condition 5 < 10, pourtant vraie elle aussi, n'est jamais atteinte. Résultat, le robot ralentit et percute le mur. La règle à retenir : dans une cascade de tests sur un même seuil, on place toujours la condition la plus restrictive en premier — ici « si distance < 10 alors s'arrêter, sinon si distance < 30 alors ralentir ».
Un programme lit une fois le capteur, stocke la valeur dans la variable d, puis exécute « tant que d > 20 : avancer », sans jamais relire le capteur dans la boucle. Que se passe-t-il quand le robot approche d'un mur ?
- A.Il s'arrête correctement à 20 cm du mur
- B.Il s'arrête immédiatement, dès le premier tour de boucle
- C.Il ralentit progressivement jusqu'au mur
- D.Il avance sans jamais s'arrêter, car d ne change plusBonne réponse
Réponse : D — Il avance sans jamais s'arrêter, car d ne change plus
La condition d'une boucle « tant que » est réévaluée à chaque tour, mais elle porte sur la VARIABLE d, pas sur le capteur. Comme d a été figée avant l'entrée dans la boucle et n'est jamais mise à jour, sa valeur reste la même : si elle était supérieure à 20 au départ, elle le reste indéfiniment. La boucle ne peut donc pas se terminer, et le robot percute le mur. Le correctif est d'ajouter la lecture du capteur À L'INTÉRIEUR de la boucle, avant le test : c'est le bug le plus fréquent en robotique, et il est invisible tant qu'on ne raisonne pas sur l'évolution de la variable.
S'entraîner sur ce chapitre
Ce chapitre compte 35 exercices corrigés dans l'application, avec le suivi de ta progression.
Commencer les exercices