📚 Correction - Exercices STI2D SIN

Chaîne d'information et traitement algorithmique

Exercice 1 : Drone de surveillance autonome 10 pts

Q1.a. Calcul des coefficients a et b (1 pt)

Données : U_c varie de 1V à 5V pour Alt variant de 0m à 100m

Réponse :

Calcul du coefficient a (pente) :

a = ΔU_c / ΔAlt
ΔU_c = 5 V - 1 V = 4 V ΔAlt = 100 m - 0 m = 100 m a = 4 / 100 = 0,04 V/m
✓ a = 0,04 V/m (ou 40 mV/m)

Calcul du coefficient b (ordonnée à l'origine) :

Pour Alt = 0 m, on a U_c = 1 V Donc b = 1 V
✓ b = 1 V
💡 La loi devient : U_c = 0,04 × Alt + 1 (avec Alt en m et U_c en V)
Q1.b. Calcul de U_c(Alt=50m) (1 pt)
Réponse :
U_c(Alt=50m) = 0,04 × 50 + 1 U_c(Alt=50m) = 2 + 1 U_c(Alt=50m) = 3 V
✓ U_c(Alt=50m) = 3 V
Q2.a. Calcul du quantum (1 pt)

Données : CAN 12 bits, plage 1-5V

Réponse :
q = Tension pleine échelle / 2^n
⚠️ Attention : La pleine échelle est la différence entre la tension max et min, soit 5V - 1V = 4V
q = 4 V / 2^12 q = 4 V / 4096 q ≈ 0,0009766 V q ≈ 0,977 mV
✓ q ≈ 0,977 mV (ou 0,0009766 V)
Q2.b. Calcul de N_50m (1 pt)
Réponse :
N = (U_c - U_min) / q
💡 On soustrait U_min car le CAN commence à compter à partir de 1V
N_50m = (3 - 1) / 0,0009766 N_50m = 2 / 0,0009766 N_50m ≈ 2048
✓ N_50m = 2048
📊 Logique : 2048 est exactement la moitié de 4096, ce qui correspond bien à 50m au milieu de la plage 0-100m
Q3. Calcul de N_48m et N_52m (2 pts)
Réponse :

Pour Alt = 48 m :

U_c(Alt=48m) = 0,04 × 48 + 1 U_c(Alt=48m) = 1,92 + 1 = 2,92 V N_48m = (2,92 - 1) / 0,0009766 N_48m = 1,92 / 0,0009766 N_48m ≈ 1966
✓ N_48m = 1966

Pour Alt = 52 m :

U_c(Alt=52m) = 0,04 × 52 + 1 U_c(Alt=52m) = 2,08 + 1 = 3,08 V N_52m = (3,08 - 1) / 0,0009766 N_52m = 2,08 / 0,0009766 N_52m ≈ 2130
✓ N_52m = 2130
Altitude Tension analogique Valeur numérique
48 m (limite basse) 2,92 V N_48m = 1966
50 m (consigne) 3,00 V N_50m = 2048
52 m (limite haute) 3,08 V N_52m = 2130
Q4. Algorithme de stabilisation (4 pts)
Réponse :
Algorithme Stabilisation_Drone var const N_Alt ← 0 : entier # Altitude actuelle (numérique) Inclinaison ← 0 : réel # Angle d'inclinaison Mode ← "STABILISE" : chaîne # Mode de vol N_48m ← 1966 : entier # Limite basse (résultat Q3) N_52m ← 2130 : entier # Limite haute (résultat Q3) début Répéter lire(N_Alt) lire(Inclinaison) // Test inclinaison critique si Inclinaison > 30 alors Mode ← "URGENCE" Atterrissage_Urgence() fin si // Test inclinaison importante si Inclinaison > 15 et Inclinaison 30 alors Corriger_Inclinaison() fin si // Régulation altitude (si mode normal) si Mode = "STABILISE" alors // Test altitude trop basse si N_Alt < N_48m alors Mode ← "MONTEE" Augmenter_Puissance(10) fin si // Test altitude trop haute si N_Alt > N_52m alors Mode ← "DESCENTE" Diminuer_Puissance(10) fin si // Test altitude dans la zone morte si N_Alt N_48m et N_Alt N_52m alors Mode ← "STABILISE" Maintenir_Puissance() fin si fin si jusqu'à Mode = "URGENCE" fin
📋 Points clés de l'algorithme :
  • Priorité 1 : Sécurité → Inclinaison > 30° = atterrissage d'urgence
  • Priorité 2 : Stabilité → Inclinaison > 15° = correction d'assiette
  • Priorité 3 : Altitude → Régulation avec zone morte (1966-2130)
  • Zone morte : Entre 48m et 52m, pas de correction = économie batterie

Exercice 2 : Système de climatisation intelligent 10 pts

Q1.a. Calcul des coefficients a et b (1 pt)

Données : U_t varie de 0V à 10V pour T variant de 10°C à 40°C

Réponse :

Calcul du coefficient a (pente) :

a = ΔU_t / ΔT
ΔU_t = 10 V - 0 V = 10 V ΔT = 40°C - 10°C = 30°C a = 10 / 30 = 0,333 V/°C
✓ a = 0,333 V/°C (ou 333 mV/°C)

Calcul du coefficient b :

Pour T = 10°C, on a U_t = 0 V Utilisons la formule : U_t = a × T + b 0 = 0,333 × 10 + b 0 = 3,33 + b b = -3,33 V
✓ b = -3,33 V
💡 La loi devient : U_t = 0,333 × T - 3,33 (avec T en °C et U_t en V)
Q1.b. Calcul de U_t(T=20°C) et U_t(T=25°C) (1 pt)
Réponse :

Pour T = 20°C :

U_t(T=20°C) = 0,333 × 20 - 3,33 U_t(T=20°C) = 6,66 - 3,33 U_t(T=20°C) = 3,33 V
✓ U_t(T=20°C) = 3,33 V

Pour T = 25°C :

U_t(T=25°C) = 0,333 × 25 - 3,33 U_t(T=25°C) = 8,325 - 3,33 U_t(T=25°C) = 4,995 V ≈ 5,00 V
✓ U_t(T=25°C) = 5,00 V
Q2.a. Calcul du quantum (1 pt)

Données : CAN 8 bits, plage 0-10V

Réponse :
q = Tension pleine échelle / 2^n
q = 10 V / 2^8 q = 10 V / 256 q ≈ 0,0391 V q ≈ 39,1 mV
✓ q ≈ 39,1 mV (ou 0,0391 V)
Q2.b. Calcul de N_20 et N_25 (1 pt)
Réponse :
N = U_t / q

Pour T = 20°C (U_t = 3,33 V) :

N_20 = 3,33 / 0,0391 N_20 ≈ 85,2 N_20 = 85 (arrondi à l'entier)
✓ N_20 = 85

Pour T = 25°C (U_t = 5,00 V) :

N_25 = 5,00 / 0,0391 N_25 ≈ 127,9 N_25 = 128 (arrondi à l'entier)
✓ N_25 = 128
Température Tension analogique Valeur numérique
20°C 3,33 V N_20 = 85
25°C 5,00 V N_25 = 128
Q3. Fonction Consigne_Temperature (2 pts)
Réponse :
Fonction Consigne_Temperature(Nb_Personnes : entier) : réel var T_consigne ← 23 : réel # Température par défaut début si Nb_Personnes = 0 alors T_consigne ← 26 fin si si Nb_Personnes 1 et Nb_Personnes 10 alors T_consigne ← 23 fin si si Nb_Personnes 11 et Nb_Personnes 20 alors T_consigne ← 22 fin si si Nb_Personnes > 20 alors T_consigne ← 21 fin si Renvoyer(T_consigne) fin
📋 Logique de la fonction :
  • 0 personne → 26°C (économie d'énergie)
  • 1-10 personnes → 23°C (confort standard)
  • 11-20 personnes → 22°C (chaleur corporelle modérée)
  • > 20 personnes → 21°C (forte production de chaleur)
Q4. Algorithme de régulation (4 pts)
Réponse :
Algorithme Regulation_Climatisation var N_T_int ← 0 : entier # Température intérieure (numérique) Nb_Personnes ← 0 : entier # Nombre de personnes T_ext ← 0 : réel # Température extérieure (°C) Clim ← 0 : booléen # Commande climatisation T_consigne ← 23 : réel # Température de consigne T_actuelle ← 0 : réel # Température actuelle (°C) début lire(N_T_int, Nb_Personnes, T_ext) // Calcul de la température de consigne selon occupation T_consigne ← Consigne_Temperature(Nb_Personnes) // Conversion valeur numérique en température T_actuelle ← (N_T_int × 0,0391 + 3,33) / 0,333 + 10 // Formule inverse : T = (U_t + 3,33) / 0,333 // Avec U_t = N_T_int × q = N_T_int × 0,0391 // Test température extérieure si T_ext < 15 alors Clim ← 0 # Désactivation si trop froid dehors sinon // Régulation avec hystérésis Clim ← Hysteresis_Clim(T_actuelle, T_consigne) fin si fin Fonction Hysteresis_Clim(T_actuelle : réel, T_consigne : réel) : booléen var Commande ← 0 : booléen début // Test température trop élevée si T_actuelle (T_consigne + 1) alors Commande ← 1 # Activation climatisation fin si // Test température trop basse si T_actuelle (T_consigne - 1) alors Commande ← 0 # Désactivation climatisation fin si // Entre T_consigne-1 et T_consigne+1 : maintenir état actuel // (la variable Commande conserve sa valeur précédente) Renvoyer(Commande) fin
📋 Points clés de l'algorithme :
  • Consigne adaptative : Température de consigne ajustée selon l'occupation (21-26°C)
  • Condition météo : Si T_ext < 15°C → Arrêt total (pas besoin de refroidir)
  • Hystérésis : Zone morte de ±1°C autour de la consigne
  • Économie d'énergie : Évite les cycles marche/arrêt intempestifs

📊 Exemple de fonctionnement

Scénario : Salle avec 15 personnes, T_ext = 20°C, T_consigne = 22°C

T_actuelle Condition Action
24°C ≥ T_consigne + 1 (23°C) 🔴 Clim ON
22,5°C Dans la zone morte (21-23°C) ⚪ Maintien état
20°C ≤ T_consigne - 1 (21°C) 🟢 Clim OFF

📊 Récapitulatif des résultats

Exercice 1 - Drone

  • ✓ a = 0,04 V/m
  • ✓ b = 1 V
  • ✓ U_c(50m) = 3 V
  • ✓ q ≈ 0,977 mV
  • ✓ N_50m = 2048
  • ✓ N_48m = 1966
  • ✓ N_52m = 2130

Exercice 2 - Climatisation

  • ✓ a = 0,333 V/°C
  • ✓ b = -3,33 V
  • ✓ U_t(20°C) = 3,33 V
  • ✓ U_t(25°C) = 5,00 V
  • ✓ q ≈ 39,1 mV
  • ✓ N_20 = 85
  • ✓ N_25 = 128

Total : 20 points