Exercices: Simulation et vérification
Expliquer ce qu'est un simulateur de circuits ou de robotique et donner deux avantages à tester dans celui-ci avant de réaliser le montage réel.
Expliquer ce qu'est un simulateur de circuits ou de robotique et donner deux avantages à tester dans celui-ci avant de réaliser le montage réel.
Expliquer avec vos propres mots ce que signifie vérifier un programme et en quoi cela diffère de « l'essayer un peu pour voir si ça marche ».
Expliquer avec vos propres mots ce que signifie vérifier un programme et en quoi cela diffère de « l'essayer un peu pour voir si ça marche ».
L'algorigramme de la figure commande une lumière automatique qui dépend d'un capteur (LDR), mais le contenu d'un bloc est manquant. Indiquer ce que devrait faire ce bloc…
L'algorigramme de la figure commande une lumière automatique qui dépend d'un capteur (LDR), mais le contenu d'un bloc est manquant. Indiquer ce que devrait faire ce bloc et décrire ce que fait le système lorsque la lecture du capteur est 150 et lorsqu'elle est 800.
Expliquer la différence entre simuler un circuit sur ordinateur et le monter sur une véritable plaque d'essai : ce que l'on gagne et ce que l'on perd avec chaque méthode.
Expliquer la différence entre simuler un circuit sur ordinateur et le monter sur une véritable plaque d'essai : ce que l'on gagne et ce que l'on perd avec chaque méthode.
Qu'est-ce qu'une « erreur » ou bug dans un programme de contrôle ? Donner deux exemples simples (une condition écrite à l'envers, un seuil mal choisi) et l'effet de…
Qu'est-ce qu'une « erreur » ou bug dans un programme de contrôle ? Donner deux exemples simples (une condition écrite à l'envers, un seuil mal choisi) et l'effet de chacun.
Écrire deux cas de test pour un programme qui déclenche une alarme sonore lorsqu'une porte s'ouvre : quelle entrée est simulée et quelle sortie est attendue dans chaque…
Écrire deux cas de test pour un programme qui déclenche une alarme sonore lorsqu'une porte s'ouvre : quelle entrée est simulée et quelle sortie est attendue dans chaque cas.
Expliquer ce que signifie déboguer un programme et nommer une technique simple pour le faire dans un simulateur (exécuter pas à pas, observer la valeur des variables).
Expliquer ce que signifie déboguer un programme et nommer une technique simple pour le faire dans un simulateur (exécuter pas à pas, observer la valeur des variables).
Certains simulateurs permettent d'« accélérer le temps ». Expliquer quel avantage cela présente pour tester le comportement d'un thermostat sur une journée complète.
Certains simulateurs permettent d'« accélérer le temps ». Expliquer quel avantage cela présente pour tester le comportement d'un thermostat sur une journée complète.
Un programme doit allumer un ventilateur lorsque la température dépasse $26\ ^\circ\text{C}$. Définir trois cas de test (donnée d'entrée et résultat attendu) pour le…
Un programme doit allumer un ventilateur lorsque la température dépasse $26\ ^\circ\text{C}$. Définir trois cas de test (donnée d'entrée et résultat attendu) pour le vérifier, en incluant la valeur limite de $26\ ^\circ\text{C}$, et justifier pourquoi ce dernier cas est important.
Dans le simulateur, votre programme fonctionne parfaitement, mais dans le montage réel le moteur ne tourne pas. Donner trois causes possibles qu'un simulateur ne détecte…
Dans le simulateur, votre programme fonctionne parfaitement, mais dans le montage réel le moteur ne tourne pas. Donner trois causes possibles qu'un simulateur ne détecte pas et expliquer comment vous vérifieriez chacune sur la paillasse.
Expliquer ce qu'est un « cas limite » lors de la vérification d'un programme et pourquoi ils sont si importants. Donner un exemple avec un programme qui décide si une…
Expliquer ce qu'est un « cas limite » lors de la vérification d'un programme et pourquoi ils sont si importants. Donner un exemple avec un programme qui décide si une note est suffisante à partir de 5.
Un programme compte les personnes qui entrent dans une salle (capteur A) et celles qui sortent (capteur B). Concevoir trois cas de test destinés à détecter des erreurs…
Un programme compte les personnes qui entrent dans une salle (capteur A) et celles qui sortent (capteur B). Concevoir trois cas de test destinés à détecter des erreurs typiques : deux personnes ensemble, une personne qui entre puis ressort aussitôt, et un capteur qui se déclenche deux fois à cause du rebond du contact.
Dans la simulation, la DEL clignote à un rythme parfait, mais dans le montage réel elle clignote de façon irrégulière. Donner deux causes électriques que le simulateur…
Dans la simulation, la DEL clignote à un rythme parfait, mais dans le montage réel elle clignote de façon irrégulière. Donner deux causes électriques que le simulateur idéalise (tolérance des résistances, contacts mal serrés de la plaque d'essai) et comment circonscrire chacune.
Expliquer ce qu'est un « test de charge extrême » d'un système de contrôle et en proposer un pour le programme d'un parking : quelles conditions extrêmes simuleriez-vous…
Expliquer ce qu'est un « test de charge extrême » d'un système de contrôle et en proposer un pour le programme d'un parking : quelles conditions extrêmes simuleriez-vous et quel comportement correct attendez-vous ?
Une équipe vérifie son programme uniquement dans le « scénario nominal », c'est-à-dire lorsque tout se passe bien. Expliquer ce que sont les cas d'erreur et en écrire…
Une équipe vérifie son programme uniquement dans le « scénario nominal », c'est-à-dire lorsque tout se passe bien. Expliquer ce que sont les cas d'erreur et en écrire deux pour un distributeur automatique de billets jouet (carte non valide, solde insuffisant).
Concevoir un tableau de vérification pour un feu piéton : états (rouge, vert, orange clignotant), entrées (bouton appuyé, temps écoulé) et sortie attendue à chaque…
Concevoir un tableau de vérification pour un feu piéton : états (rouge, vert, orange clignotant), entrées (bouton appuyé, temps écoulé) et sortie attendue à chaque transition entre états.
Dans la simulation d'un système d'arrosage pour un carré de potager scolaire, vous avez programmé cette boucle de contrôle : RÉPÉTER TOUJOURS : humidité = lire_capteur()…
Dans la simulation d'un système d'arrosage pour un carré de potager scolaire, vous avez programmé cette boucle de contrôle :
RÉPÉTER TOUJOURS :
humidité = lire_capteur()
SI humidité < 30 % ALORS :
activer_électrovanne()
attendre(10 secondes)
désactiver_électrovanne()
FIN RÉPÉTER
À l'exécution dans un simulateur qui modélise l'absorption physique de l'eau avec un retard d'infiltration de 2 minutes, l'électrovanne s'ouvre et se ferme sans arrêt pendant des dizaines de cycles consécutifs, inondant le terrain.
- a) Justifier pourquoi le programme génère ce comportement dans la simulation malgré l'instruction explicite de désactivation.
- b) Reconcevoir l'algorithme (en pseudo-code ou en algorigramme) pour résoudre le problème sans supprimer la lecture du capteur ni changer l'électrovanne.
Un robot mobile utilise un capteur à ultrasons frontal (plage utile : 2,0 cm à 400,0 cm) et doit s'arrêter et tourner s'il détecte un obstacle à moins de 20,0 cm.…
Un robot mobile utilise un capteur à ultrasons frontal (plage utile : 2,0 cm à 400,0 cm) et doit s'arrêter et tourner s'il détecte un obstacle à moins de 20,0 cm. Concevoir une matrice de tests pour vérifier le code dans le simulateur avant de le transférer au robot réel. Votre plan doit contenir au moins 4 cas de test distincts incluant des valeurs limites et des anomalies de lecture. Pour chaque cas, indiquer : la valeur numérique simulée en entrée, le comportement attendu des moteurs et la justification technique de la nécessité de vérifier ce cas précis.
Une équipe simule un robot suiveur de ligne noire : à l'écran, l'algorithme réagit en 0,02 s, les moteurs répondent instantanément et le robot réalise le circuit à 1,2…
Une équipe simule un robot suiveur de ligne noire : à l'écran, l'algorithme réagit en 0,02 s, les moteurs répondent instantanément et le robot réalise le circuit à 1,2 m/s sans aucune erreur. Pourtant, en chargeant le même programme dans le robot réel avec les mêmes capteurs, celui-ci oscille brusquement d'un côté à l'autre et finit par perdre la ligne dans le premier virage.
- a) Identifier et justifier trois facteurs du monde physique que le simulateur a omis ou idéalisés et qui expliquent cet écart.
- b) Proposer deux modifications techniques (l'une sur les paramètres du logiciel de commande et l'autre sur le montage physique) pour compenser ces effets réels sans remplacer les capteurs.
Le capteur de luminosité d'un volet roulant automatique enregistre ces valeurs sur une durée de 6 minutes, lors d'un après-midi nuageux avec des éclaircies : t = 0 min :…
Le capteur de luminosité d'un volet roulant automatique enregistre ces valeurs sur une durée de 6 minutes, lors d'un après-midi nuageux avec des éclaircies :
-
t = 0 min : 780 lx
-
t = 1 min : 805 lx
-
t = 2 min : 795 lx
-
t = 3 min : 812 lx
-
t = 4 min : 798 lx
-
t = 5 min : 815 lx
-
t = 6 min : 820 lx
Le système suit la règle simple suivante : « Si luminosité ≥ 800 lx, baisser le volet ; si luminosité < 800 lx, relever le volet ».
- a) Déterminer combien d'ordres de mouvement le moteur reçoit durant cet intervalle et justifier les conséquences mécaniques et énergétiques de ce fonctionnement.
- b) Concevoir une solution à double seuil (hystérésis) en définissant des valeurs numériques précises pour l'ordre de descente et l'ordre de montée, puis démontrer pas à pas comment votre solution réagit face à la même série de données.
Une serre dispose de deux zones d'arrosage indépendantes (zone A : semis délicats ; zone B : culture générale) gérées par un microcontrôleur qui reçoit les données de…
Une serre dispose de deux zones d'arrosage indépendantes (zone A : semis délicats ; zone B : culture générale) gérées par un microcontrôleur qui reçoit les données de deux capteurs d'humidité du sol, d'un capteur de pluie numérique et d'un capteur de débit sur la canalisation générale. Concevoir un plan de vérification pour simuler le système avant sa mise en service. Vous devez définir 5 cas de test exhaustifs incluant des situations de conflit de priorités et des pannes d'alimentation en eau. Pour chaque cas, détailler : les entrées simulées exactes, l'état prévu des électrovannes et des alarmes, et le dommage matériel ou agronomique que ce test permet d'éviter.
Une équipe programme un robot transporteur pour un entrepôt. Lors de l'exécution du plan de tests dans le simulateur, le robot évite 100 % des obstacles et freine devant…
Une équipe programme un robot transporteur pour un entrepôt. Lors de l'exécution du plan de tests dans le simulateur, le robot évite 100 % des obstacles et freine devant toute personne, mais l'algorithme réalise toujours les évitements en marche arrière, en parcourant les allées en sens inverse du flux de travail de l'entrepôt. Le professeur affirme : « Le logiciel est parfaitement vérifié, mais le système n'est pas validé ».
- a) Justifier techniquement l'affirmation du professeur en appliquant les définitions opérationnelles de la vérification et de la validation à ce cas concret.
- b) Reformuler le cahier des charges technique du robot afin de garantir qu'une future vérification assure aussi sa bonne validation dans l'environnement de travail.
Dans un simulateur comme Tinkercad, un élève branche directement une DEL rouge entre une broche de sortie numérique de 5,0 V d'une carte programmable et la masse (GND),…
Dans un simulateur comme Tinkercad, un élève branche directement une DEL rouge entre une broche de sortie numérique de 5,0 V d'une carte programmable et la masse (GND), sans placer aucune résistance. À l'écran, le simulateur affiche la DEL allumée avec un courant de 115,0 mA et n'indique aucun message d'erreur.
- a) Si le fabricant de la DEL fixe son courant continu maximal à 20,0 mA et une tension directe de 2,0 V, et que la carte a une limite de 40,0 mA par broche, prévoir ce qui se passera pour les composants réels si vous réalisez ce circuit physiquement et quelle simplification mathématique irréaliste le simulateur commet.
- b) Calculer la valeur normalisée du commerce (série E12) de la résistance à intercaler pour que la DEL fonctionne dans des conditions sûres avec un courant de 15,0 mA.
Un robot suiveur s'arrête de façon erratique après avoir fonctionné correctement pendant environ cinq minutes. Pour diagnostiquer la panne, on active l'enregistrement…
Un robot suiveur s'arrête de façon erratique après avoir fonctionné correctement pendant environ cinq minutes. Pour diagnostiquer la panne, on active l'enregistrement par port série (log) et on extrait ces lignes clés avant l'arrêt :
-
t = 295,0 s | Distance : 35,0 cm | Temp_driver : 50,0 °C | V_batterie : 7,4 V | État : AVANCER
-
t = 298,5 s | Distance : 34,0 cm | Temp_driver : 78,0 °C | V_batterie : 7,2 V | État : AVANCER
-
t = 300,0 s | Distance : 35,0 cm | Temp_driver : 92,0 °C | V_batterie : 6,1 V | État : ARRET_URGENCE
- a) Interpréter les données du journal pour déterminer la cause physique de la panne, en réfutant le rapport initial de l'équipe qui affirmait que la panne venait d'un défaut du capteur à ultrasons.
- b) Concevoir les variables supplémentaires ou les conditions d'alerte précoce à inclure dans le journal et dans le code de commande pour gérer ce problème de manière progressive, sans aller jusqu'à la coupure brutale.
Défi du thème. Une climatisation intelligente chez vous. Saviez-vous qu'automatiser le chauffage peut réduire considérablement la consommation d'énergie ? Concevoir et…
Défi du thème. Une climatisation intelligente chez vous.
Saviez-vous qu'automatiser le chauffage peut réduire considérablement la consommation d'énergie ? Concevoir et valider un système efficace pour votre logement.
-
Données et modélisation : Consulter sur le site de Météo-France les prévisions de températures pour les prochains $24\text{ h}$ dans votre commune. Comparer dans un tableau la réponse d'un système en boucle ouverte (programmateur fixe) et celle d'un système en boucle fermée (avec rétroaction), en identifiant pour ce dernier : le capteur, le contrôleur et l'actionneur.
-
Conception et simulation : Ouvrir Tinkercad Circuits ou MakeCode. Modéliser un circuit avec un capteur de température, un microcontrôleur et un actionneur (DEL ou relais représentant la chaudière). Programmer le contrôleur pour qu'il active le chauffage si la température passe sous une consigne de $20,5\text{ }^\circ\text{C}$ et qu'il l'éteigne dès qu'elle est atteinte.
-
Vérification et proposition finale : Simuler des variations de la température ambiante pour vérifier que le système réagit automatiquement. Rédiger un court compte rendu avec LibreOffice, avec des captures du montage et un graphique des températures de Météo-France, en justifiant combien d'heures de chauffage inutile la boucle fermée évite.
Seront évalués :
-
L'identification et la distinction conceptuelle rigoureuse des éléments de la boucle ouverte et de la boucle fermée.
-
Le montage, la programmation et la vérification fonctionnelle du système simulé avec la consigne donnée.
-
La justification argumentée de l'économie d'énergie à partir des données météorologiques réelles consultées.