Epreuve d'Informatique et Modélisation de Systèmes Physiques
Durée 4 h
Si, au cours de l'épreuve, un candidat repère ce qui lui semble être une erreur d'énoncé, d'une part il le signale au chef de salle, d'autre part il le signale sur sa copie et poursuit sa composition en indiquant les raisons des initiatives qu'il est amené à prendre.
L'usage de calculatrices est interdit.
AVERTISSEMENT
Remarques préliminaires importantes : il est rappelé aux candidat(e)s que
les explications des phénomènes étudiés interviennent dans la notation au même titre que les développements analytiques et les applications numériques;
tout résultat fourni dans l'énoncé peut être admis et utilisé par la suite, même s'il n'a pas été démontré par les candidat(e)s ;
les deux parties sont indépendantes.
La présentation, la lisibilité, l'orthographe, la qualité de la rédaction, la clarté et la précision des raisonnements entreront pour une part importante dans l'appréciation des copies. En particulier, les résultats non justifiés ne seront pas pris en compte. Les candidats sont invités à encadrer les résultats de leurs calculs.
PREMIERE PARTIE - MODELISATION MOTEURS A ALLUMAGE COMMANDE
Après le déclenchement de l'étincelle par la bougie, la combustion du mélange aircarburant se propage dans le cylindre. Pour obtenir un rendement optimal, il faut que le front de flamme atteigne le piston au moment où celui-ci est au point mort haut. L'étincelle doit être déclenchée légèrement en avance, afin de compenser le temps nécessaire à la propagation. Ce déclenchement précoce est appelé «avance à l'allumage». Pour le quantifier, il est nécessaire de déterminer la «vitesse de flamme» dans le cylindre.
On modélise tout d'abord les moteurs thermiques en considérant une combustion instantanée du mélange (partie ) et on étudie la combustion dans le cylindre (partie ). On s'intéresse ensuite à la structure du front de flamme, avec l'équation de la chaleur (partie C ) et un bilan massique (partie D), pour déterminer la vitesse de flamme (partie E).
A / MOTEURS THERMIQUES
Le moteur est composé de plusieurs cylindres. Un piston mobile est lié à un système biellemanivelle, ce qui transforme les allers-retours du piston en mouvement de rotation.
Deux soupapes permettent de faire entrer ou sortir un mélange air-essence. L'explosion entraîne une détente du mélange en repoussant le piston, lui permettant de céder du travail mécanique à l'arbre sur lequel sont fixées les roues.
Plus quantitativement, on distingue quatre temps:
admission du mélange par la soupape d'admission ;
compression BC par le retour du piston ;
combustion CD (étincelle produite par la bougie) puis détente DE ;
échappement EA par la soupape d'échappement.
En pratique, un moteur comporte souvent quatre pistons dont chacun est dans un temps différent de fonctionnement. Cela permet d'homogénéiser le fonctionnement du moteur et de lisser l'action motrice.
La modélisation du système nécessite un certain nombre d'hypothèses simplificatrices :
le mélange des fluides présents (air et carburant) est assimilé à un gaz parfait, caractérisé par un rapport ;
l'étape EA est assimilée à une étape EB suivie d'une étape BA ;
les étapes CD et EB sont suffisamment rapides pour qu'elles puissent être considérées Isochores ;
les étapes BC et DE sont supposées adiabatiques.
Le cycle BCDE obtenu peut être tracé dans le diagramme de Clapeyron et se nomme cycle de Beau de Rochas, composé de deux isochores et de deux adiabatiques.
Modélisation
On cherche à évaluer le rendement du cycle modèle, en fonction de , nommé rapport volumétrique ou de compression. Les adiabatiques sont supposées réversibles, et les isochores mécaniquement réversibles. La quantité de matière dans le cylindre est notée n.
Q1. Identifier les phases de contact avec les sources chaude et froide. Pourquoi ces phases ne sont-elles pas réversibles?
Q2. Evaluer le transfert thermique avec la source chaude en fonction de la quantité , de la capacité thermique à volume constant et des températures atteintes aux points C et D .
Q3. Faire de même avec .
Q4. Définir le rendement , puis déterminer son expression en fonction des températures , et .
Q5. Ecrire la loi de Laplace (après avoir rappelé les hypothèses nécessaires) pour les étapes BC et DE . Exprimer ensuite le rendement en fonction uniquement du rapport de compression et du rapport du gaz.
Q6. Comment se comporte en fonction de ? Quel problème technique empêche de se rapprocher autant qu'on le désire d'un rendement unité ?
B / COMBUSTION DANS LE CYLINDRE
On modélise la combustion du carburant dans le cylindre avec les hypothèses suivantes :
le mélange stœchiométrique combustible - comburant (dioxygène de l'air) est préalablement effectué dans le carburateur ;
les réactifs et les produits sont en phase gazeuse ;
la quantité de matière est conservée lors de la combustion ;
les gaz frais sont à température uniforme et au repos dans le référentiel terrestre avant la réaction.
On note symboliquement la réaction : , où désigne le combustible, le comburant, et les produits de la réaction.
Q7. Ecrire l'équation de la combustion entre l'isooctane et le dioxygène.
Q8. Justifier, en s'appuyant sur la composition de l'air, l'hypothèse simplificatrice selon laquelle la quantité de gaz ne change pas.
C / EQUATION DE LA CHALEUR
On se place dans une géométrie simple : la réaction a lieu dans un tube calorifugé de section : le problème est unidimensionnel selon l'axe des abscisses .
On considère que la pression , la capacité thermique massique et la conductivité thermique sont constantes, uniformes et indépendantes de la température.
On note la température, la masse volumique totale, celle de l'espèce et la vitesse du gaz dans le référentiel qui se déplace avec la flamme.
L'équation locale qui traduit un bilan d'énergie s'écrit : div , où est la densité de courant thermique.
Q9. Simplifier l'expression dans le cadre d'une situation unidimensionnelle selon l'axe des abscisses.
Q10. Vérifier que les différents termes de cette équation correspondent à des puissances volumiques
Cette équation ne permet pas de décrire correctement la diffusion thermique dans le cylindre puisque la réaction de combustion dégage de la chaleur.
On note la chaleur dégagée par la combustion d'une mole de combustible (enthalpie molaire),
Q11. Montrer que la puissance volumique dégagée par la combustion s'écrit , où est la vitesse volumique de la réaction de combustion.
On ajoute cette « source» au bilan d'énergie pour écrire : .
On s'intéresse maintenant à la densité de courant thermique qui comprend un terme diffusif et un terme convectif : .
Q12. Rappeler l'expression de la loi de Fourier pour exprimer j j j th , en projection sur l'axe des abscisses. Rappeler qualitativement le sens physique du signe «-».
Q13. Par analogie avec le vecteur densité de courant de masse qui définit le transport convectif, exprimer le vecteur en fonction de et T .
La conservation de la masse permet de montrer que la quantité est uniforme. On pose , où est la masse volumique des gaz frais loin de la flamme et représente la vitesse des gaz frais par rapport à la flamme (soit en valeur absolue la vitesse de la flamme dans le référentiel terrestre).
On introduit la fraction massique .
Q14. Réécrire l'équation différentielle vérifiée par la température. Simplifier en considérant la structure de flamme stationnaire: , pour obtenir une relation en fonction des paramètres et .
D/ BILAN MASSIQUE
Un bilan de masse sur le combustible de masse molaire , prenant en compte les aspects diffusifs et convectifs, permet d'obtenir l'équation : , où est un coefficient de diffusion.
Q15. Déterminer la dimension du coefficient .
On définit la concentration massique réduite et la température réduite par et . Ces deux grandeurs sans dimension sont liées par .
Q16. Déterminer les valeurs que peut prendre .
Q17. Indiquer ce que représente .
L'équation issue du bilan de masse peut être réécrite : , où est une constante et une fonction de .
E / VITESSE DE FLAMME
Pour résoudre l'équation, on modélise la fonction par un créneau :
pour ;
pour ;
pour .
Dans la suite, on fixe l'origine 0 de l'axe des abscisses au point où , et on note l'abscisse du point où devient égal à 1. Si on considère alors comme une fonction de , on admet que a l'allure suivante :
Q18. Montrer que dans chacun des trois domaines (domaine 1: , domaine 2: , domaine ), la fonction est de la forme : , où , et sont des constantes différentes dans chacun des domaines.
Les conditions aux limites permettent de déterminer les expressions dans chacun des domaines:
Q19. Justifier la continuité des fonctions et .
Q20. Utiliser ces continuités en pour montrer que et pour établir une relation entre , , d et U .
En pratique, , et on rappelle que pour
Q21. Dans cette approximation, montrer que .
Q22. Justifier l'appellation «épaisseur de flamme » pour d.
Q23. Dans des conditions usuelles ( ), est de l'ordre de et de l'ordre de . Calculer la vitesse de flamme et l'épaisseur de flamme d .
Les algorithmes demandés seront réalisés dans le langage python. Vous porterez une attention particulière au respect de la syntaxe : indentation, définition des fonctions etc... On supposera que tout module nécessaire à l'utilisation des fonctions usuelles a été importé.
A / PRESENTATION DE LA PROBLEMATIQUE
Depuis l'intégration des calculateurs dans l'automobile, les principaux paramètres de commande du moteur à allumage commandé tels que l'ouverture du papillon, la durée d'injection, l'avance à l'allumage, etc... sont contrôlés numériquement par des cartographies et/ou par des boucles d'asservissement.
L'écriture du programme de gestion du moteur fait de plus en plus appel à des langages de programmation évolués qui permettent un développement rapide et fiable. Son agencement est fait par couches :
la couche la plus basse gère les fonctions directement liées à la configuration du "hardware" ,
la couche moyenne gère les signaux d'entrée et de sortie ,
la couche supérieure supporte la stratégie de contrôle du moteur.
Le premier niveau des fonctionnalités à gérer par le calculateur comprend:
le respect de la consigne du conducteur,
le respect des normes d'émission à l'échappement,
le respect des normes d'émission de vapeur,
la minimisation de la consommation,
la protection du moteur contre le cliquetis.
Le conducteur d'un véhicule envoie une consigne par l'intermédiaire de la pédale d'accélérateur. Cette consigne équivaut pour le calculateur à une consigne de couple moteur. Le couple moteur est directement lié à la quantité de mélange air-essence aspirée par le moteur. La quantité d'air aspirée dépend de la pression à l'admission et donc de l'ouverture du papillon des gaz. Le calculateur va réguler l'ouverture du papillon des gaz en fonction de la consigne fournie à la pédale d'accélérateur. Le calculateur doit ensuite déterminer l'avance à l'allumage et la quantité de carburant à injecter dans chacun des cylindres.
Nous allons nous intéresser dans la suite de ce sujet à la génération de la consigne d'injection de carburant à partir de la lecture des cartographies en boucle ouverte dans un premier temps. Nous envisagerons ensuite une stratégie en boucle fermée permettant d'améliorer les performances du moteur.
B / REPERAGE ANGULAIRE DU MOTEUR
Pour les commandes des allumages et des injections notamment, il est nécessaire de connaître précisément la position angulaire du moteur et sa vitesse de rotation.
Une cible solidaire de l'arbre moteur dispose de soixante dents. Les dents sont numérotées de 1 à 60. L'épaisseur d'une dent est égale à l'espace entre deux dents. Un capteur fixe par rapport au carter moteur permet de détecter la présence ou l'absence de dent sur la cible.
L'information issue du capteur est traitée pour être ensuite représentée par la variable booléenne cible_mot. Cette variable prend la valeur vraie lorsque le capteur se trouve face à une
dent et la valeur fausse sinon. La figure 1 représente l'évolution de la variable clble_mot au cours du temps pour une vitesse de rotation constante.
figure 1 : évolution de la variable cible_mot.
La lecture de l'état des variables associées aux principaux capteurs est réalisée par le logiciel de gestion du moteur avec une période d'échantillonnage de 2 ms au mieux. L'arbre moteur tourne jusqu'à 7000 tours .
Q1. Quelle est la valeur minimale du temps écoulé entre deux changements d'état de la variable cible_mot ? La période d'échantillonnage est-elle suffisante pour détecter le changement d'état entre deux fronts de la variable cible_mot?
La mesure de la rotation moteur fait donc l'objet d'un traitement numérique différencié avec une fréquence d'échantillonnage de 400 kHz . Une position angulaire quelconque est repérée par le numéro de la dent qui la précède et par la mesure de la durée écoulée entre les deux dents précédentes (durée écoulée entre deux fronts successifs de la variable cible_mot, voir figure 1). Cette durée sera stockée dans la variable tdent en secondes.
Q2. Ecrire une fonction vitesse_moteur(tdent) qui calcule et retourne la vitesse de rotation du moteur en tours par minute en fonction de la variable tdent.
C / CONTROLE DU DOSAGE AIR-ESSENCE
C. 1 Principe du dosage air-essence
Lorsque le mélange air-essence est stœchiométrique et parfaitement homogène, le moteur à allumage commandé ne rejette que de l'eau et du dioxyde de carbone.
Le durcissement des normes antipollution a conduit les constructeurs d'automobiles à agir à différents niveaux en amont et en aval de la combustion. La première action consiste à contrôler de façon très fine le dosage du mélange en imposant lorsque les conditions d'utilisation le permettent un mélange stœchiométrique.
La quantité de carburant injecté est directement corrélée à la durée d'ouverture des injecteurs que nous noterons dans la suite du sujet durée d'injection.
C. 2 Contrôle du dosage air-essence par cartographies en boucle ouverte
Dans les conditions de fonctionnement stabilisé, le dosage de base est le résultat d'une interpolation cartographique calculée à partir de la vitesse et de la charge du moteur.
Toutes les cartographies et programmes du moteur sont stockés sous forme de fichiers dans la mémoire morte du calculateur (ROM) qui dispose de 32 ko d'espace. Au démarrage du véhicule, le programme de gestion du moteur et certaines données seront chargés dans la mémoire vive (RAM) qui dispose de 3 ko d'espace.
Q3. Expliquer les différences entre les mémoires de type ROM ou RAM. Pourquoi stocker le programme de gestion dans la RAM ?
Q4. Exprimer en bits l'espace mémoire disponible pour la mémoire RAM et la mémoire ROM sous la forme : . Préciser les valeurs numériques de et sans réaliser l'application numérique de (nbits) .
Pour accéder à la mémoire, le processeur dispose d'un bus d'adresse de 24 bits. Cela signifie que pour communiquer en lecture ou en écriture avec un emplacement mémoire particulier, le processeur envoie un mot binaire codé sur 24 bits via le bus d'adresse. On appelle espace adressable le nombre d'adresses différentes accessibles par le bus d'adresse.
Q5. Quel est alors l'espace adressable en décimal ? Donner l'adresse maximale en binaire (base 2).
Pour représenter les adresses, le programme de gestion du moteur utilise le code hexadécimal (base 16). On donne ci-dessous la table de conversion entre les bases 10 et 16.
base
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
base
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
On a alors pour un nombre n écrit en base la conversion en base 10 :
Q6. Ecrire en binaire puis en hexadécimal l'adresse suivante : .
Q7. Quel est l'intérêt d'utiliser le code hexadécimal pour la programmation ?
C. 3 Cartographie des durées d'injection
Nous allons nous intéresser au traitement de la cartographie qui permet de déterminer la durée d'injection. La figure 2 représente l'affichage d'une cartographie des durées d'injection pour un moteur 4 temps.
Pression au collecteur en bars
0,295
0,39
0,48
0,565
0,645
0,72
0,79
600
2,42
3,454
4,408
5,44
6,484
7,522
8,548
900
2,702
3,776
4,852
5,9
6,962
8,004
9,036
1300
3,064
4,162
5,248
6,33
7,418
8,432
9,434
ligne i
1700
3.27
4.412
5.552
6.644
7.734
8.774
9.766
2200
3,432
4,63
5,804
6,952
8,062
9,126
10,154
Rotation
moteur Nm
en tour/min
2700
3,498
4,71
5,916
7,09
8,23
9,334
10,39
3200
3,56
4,778
6,022
7,214
3,388
9,552
10,614
3800
3,658
4,878
6,168
7,358
8,558
9,742
10,844
4400
3,74
5,008
6,324
7,51
8,738
9,962
11,066
5000
3,816
5,134
6,48
7,708
8,962
10,204
11,32
5600
3,908
5,29
6,622
7,89
9,174
10,408
11,582
6300
3,99
5,39
6,754
8,076
9,372
10,612
11,79
7000
4,03
5,436
6,808
8,152
9,452
10,7
11,898
figure 2 : cartographie des durées d'injection en ms.
colonne j
La cartographie est alors chargée en mémoire sous la forme suivante (voir figure 3) :
La première ligne qui contient des valeurs de pression à l'admission en bar est stockée dans une liste de valeurs : '
La première colonne qui contient des valeurs de la vitesse de rotation moteur en tour/min est stockée dans une liste de valeurs : .
Les durées d'injection sont stockées sous forme d'un tableau à deux dimensions de taille . On peut lire pour chaque couple de valeurs de pression et de rotation moteur la valeur de la durée d'injection correspondante en ms .
figure 3 : structure des données de cartographie en mémoire.
Le capteur de pression au collecteur d'admission mesure une valeur de pression notée Pcol. La vitesse de rotation du moteur mesurée est notée Nmot. Pour un couple de valeurs pression-vitesse de rotation ( ) quelconque le calculateur doit alors déterminer les valeurs de durée d'injection en réalisant une interpolation à partir des valeurs du tableau .
Etape 1:
Le calculateur doit déterminer les indices et tels que et .
Q8. Ecrire une fonction indice , val qui prend pour argument une liste notée et un réel noté val. La liste est triée par ordre croissant. Votre fonction doit retourner un entier id tel que : . On supposera que id existe toujours.
Le calculateur doit ensuite lire les durées d'injection dans le tableau correspondant aux indices et précédemment déterminés.
Pour la suite du sujet, un tableau pourra être représenté :
soit par un tableau de type numpy.array ;
soit par une liste de listes.
Q9. Ecrire une fonction extraire(T, P, Nm, i, j) qui prend pour argument le tableau de dimension noté , les listes et , et deux entiers et . Votre fonction doit retourner un tableau de dimension 2X4 :
Pour la suite, les deux premières colonnes du tableau ST correspondent aux durées d'injection de la table. La troisième colonne correspond aux valeurs de pression encadrant Pcol. La quatrième colonne correspond aux valeurs de rotation moteur encadrant Nmot.
Q10. Ecrire la suite d'instructions qui à partir des variables Nmot, Pcol, des listes et Nm et du tableau permet de déterminer le sous tableau tel que défini à la question Q9. Le résultat pourra être affecté à une variable nommée .
Etape 2:
Une fois les quatre valeurs de durée d'injection déterminées, il est nécessaire de calculer une durée d'injection à partir d'une interpolation bilinéaire.
L'interpolation bilinéaire de la fonction de deux variables s'écrit comme suit :
ùè
La détermination des coefficients est un problème linéaire qui doit être résolu à chaque pas de temps et pour chaque cartographie sous la forme :
On envisage dans un premier temps l'utilisation de l'algorithme du pivot de Gauss pour résoudre le système linéaire.
Q11. Ecrire en pseudo-code dans le cas d'une matrice carrée de dimension l'algorithme du pivot de Gauss permettant de résoudre le système . On admettra que les termes diagonaux sont tous non nuls.
Q12. Quelle est la complexité du pivot de Gauss en fonction de la dimension de la matrice ? Justifier votre réponse.
On posera pour la suite :
On connait les valeurs de pour quatre couples de valeurs par lecture de la cartographie :
Le problème à résoudre devient alors :
On peut donc résoudre le système de façon systématique par substitution de la manière suivante :
Q13. Comparer la complexité de cet algorithme à celui présenté à la question Q11. Conclure.
Q14. Ecrire une fonction interpol(ST,Pcol,Nmot) qui retourne une valeur de durée d'injection obtenue par interpolation bilinéaire des éléments de la table.
D / AMELIORATION DES PERFORMANCES D'INJECTION : BOUCLE FERMEE
La durée d'injection calculée à partir de l'interpolation étudiée dans la partie précédente sera corrigée par un ou plusieurs coefficients issus d'autres cartographies prenant en compte la température du moteur, la consigne du conducteur etc... Mais la principale correction consiste en un fonctionnement en boucle fermée tel que représenté sur la figure 4 (source Bosh).
Objectif : nous allons modéliser le comportement de cette boucle fermée afin de simuler son comportement.
figure 4 : principe du contrôle en boucle fermée.
La sonde Lambda est placée au niveau du pot catalytique, elle mesure le taux résiduel d'oxygène qui dépend directement de la richesse du mélange. Pour définir le mélange air-essence on calcule le rapport . Dans les conditions d'un mélange stœchiométrique on a . On définit alors le rapport lambda par : lambda é.
La tension délivrée par la sonde ne conduit qu'à deux états stables en fonction du taux d'oxygène dans les gaz brûlés.
On aura alors :
lambda : mélange pauvre, Usonde ;
lambda : mélange riche, Usonde ;
la richesse du mélange est définie par .
Q15. Ecrire une fonction sonde(r) qui retourne la valeur de la tension de la sonde en fonction de la valeur de la richesse en accord avec le fonctionnement décrit ci-dessus.
Le principe du contrôle en boucle fermée consiste à comparer la tension délivrée par la sonde à la valeur moyenne de 500 mV . Le contrôleur utilisé est du type proportionnel et intégral.
La consigne de durée d'injection déterminée à partir des différentes cartographies est notée tinjc0.
On aura alors la loi de commande suivante :
é pour Usonde , phase croissante ;
é pour Usonde , phase décroissante. Avec: et .
Le terme intégral de gain croît ou décroît linéairement en fonction du temps suivant que la sonde indique un mélange pauvre ou riche.
A chaque détection de transition du signal de la sonde (franchissement de la valeur seuil de ), on applique le terme proportionnel. Le terme intégral est quant à lui réinitialisé à O . La borne inférieure du terme intégral correspond donc à l'instant initial d'une phase croissante ou décroissante.
On introduit les consignes de programmation suivantes :
On note le pas de temps entre deux évaluations aux instants et .
On note :
la valeur de la durée d'injection à l'instant ;
la valeur du terme intégral à l'instant ; integ integ ;
Le terme intégral sera évalué par la méthode des rectangles (tinjc0 est constant).
Remarque: La détection de transition du signal de la sonde peut être réalisée en fonction du signe de integi et de la valeur de Usonde.
Q16. Ecrire une fonction duree_injection_(Usonde,Kpp,Kpn,Ki,_tinjc0,integi,dt) qui retourne la commande d'injection tinj( ) et la valeur de integ à l'instant conformément à la description donnée ci-dessus.
On donne ci-dessous la forme canonique d'une équation différentielle du premier ordre :
Q17. Ecrire la relation de récurrence qui permet de calculer à partir des valeurs et par la méthode d'Euler explicite.
On note à l'instant . sera noté tau dans vos programmes.
Q18. Ecrire une fonction Euler(tau, ) qui détermine et retourne la valeur de par la méthode d'Euler explicite.
La réponse en richesse mesurée par la sonde peut être en première approximation assimilée à deux retards successifs dus à la dynamique du moteur d'une part et à la capacité d'absorption d'oxygène du pot catalytique d'autre part. L'évolution de la richesse notée en fonction de la consigne de durée d'injection est donc régie par l'équation:
Cette équation différentielle du second ordre peut s'écrire sous la forme du système de deux équations différentielles suivantes :
On note à l'instant , tinj .
Q19. Ecrire une fonction richesse(tau1,tau2,K,dt,ri,wi,tinji) qui détermine et retourne la valeur de et en utilisant la fonction Euler définie à la question Q18.
On souhaite réaliser une simulation pour un moteur tournant à 4000 tours/min et présentant 2 cycles moteur par tour.
Q20. Quelle est la durée d'un cycle moteur noté Tcycle?
L'ensemble des variables définies ci-dessous seront considérées comme préalablement déclarées dans le programme. On suppose les conditions initiales suivantes:
tau1=10.Tcycle
tau2=20.Tcycle
tinjc0=12,3 ms
tn =100.Tcycle
K=1/tinjc0
integ
La durée de simulation sera de 100 cycles moteur.
Q21. Ecrire la suite d'instructions qui permet de créer la liste temps avec un pas de temps régulier dt.
On initialise les trois listes suivantes:
liste_richesse=[0.9] ; qui contiendra la valeur de la richesse calculée à chaque pas de temps.
liste_tinj=[tinjc0] ; qui contiendra la valeur de durée d'injection calculée à chaque pas de temps.
liste_U=[sonde(liste_richesse[0])] ; qui contiendra la valeur de la tension Usonde de la sonde Lambda calculée à chaque pas de temps.
Principe de la simulation :
Nous allons calculer à chaque pas de temps les valeurs de richesse et de tension Usonde afin de déterminer la commande de durée d'injection.
Consigne de programmation : Afin de représenter le comportement réel, la valeur de la tension Usonde est lue par le calculateur avec une période égale à Tcycle et reste donc constante sur cette période au moins avant d'être lue à nouveau.
Q22. Ecrire la suite d'instructions qui détermine l'évolution de la richesse en boucle fermée à partir de la liste temps et des fonctions richesse(), duree_injection() et sonde(). Votre programme devra compléter trois listes de valeurs : liste_tinj, liste_U et liste_richesse. Vous veillerez à respecter la consigne de programmation.
On obtient après simulation les courbes suivantes:
Q23. Ecrire la suite d'instructions qui permet d'obtenir le tracé de la richesse ci-dessus.
E / AMELIORATION DES PERFORMANCES D'INJECTION : AUTO-APPRENTISSAGE
La détermination des cartographies est réalisée sur banc d'essai pour différentes situations de charges du moteur. La cartographie ainsi réalisée ne permettra pas en général d'obtenir un mélange stœchiométrique dans toutes les situations rencontrées. Grace à la sonde Lambda, le calculateur parvient à connaître l'écart de richesse par rapport à un objectif de mélange stœchiométrique, il pourra alors modifier et mémoriser les coefficients des cartographies ainsi corrigés au cours des cycles de fonctionnement du moteur. Cet auto-apprentissage est le plus souvent réalisé sur circuit en faisant varier les conditions d'utilisation du moteur. Le calculateur est alors relié à un ordinateur externe.
Afin de pouvoir revenir à une configuration de cartographie antérieure aux dernières modifications réalisées par l'auto-apprentissage, les différentes cartographies sont stockées dans une base de données sur la mémoire de l'ordinateur externe. Cette mémorisation permet également de fusionner certaines cartographies en ne gardant que les parties les plus performantes. Une description partielle de la table table_injection est donnée pour la gestion des injecteurs :
Id : numéro d'identifiant constituant la clé primaire,
année : année d'enregistrement du paramètre de cartographie,
mois : mois d'enregistrement du paramètre de cartographie,
jour : date d'enregistrement du paramètre de cartographie,
heure : heure d'enregistrement du paramètre de cartographie,
minute : minute d'enregistrement du paramètre de cartographie,
Pression : pression au collecteur d'admission,
Rotation : vitesse de rotation du moteur,
Température : température du liquide de refroidissement,
Commande : commande transmise à la pédale d'accélérateur en ,
...
Durée_ injection : durée d'ouverture des injecteurs (en ms),
Commande_ouverture : instant d'ouverture des injecteurs (en moteur),
Qualité : qualité de la cartographie en % par rapport à l'objectif de richesse.
On souhaite dans un premier temps ne conserver en mémoire que les enregistrements présentant une qualité supérieure à .
Q24. Ecrire une requête SQL permettant d'extraire la cartographie des durées d'injection présentant une qualité supérieure à . Tous les champs seront extraits et enregistrés dans une nouvelle table nommée table_injection_95.
Afin de reconstruire une cartographie optimale, il faut sélectionner les meilleurs enregistrements, nous allons ébaucher cette étape.
Q25. Ecrire une requête SQL permettant d'extraire de la table créée question Q24 les champs Pression, Rotation et Durée_injection présentant la qualité maximale pour les pressions comprises entre 0,3 et 0,4 bar et les vitesses de rotation comprises entre 1300 et 1700 tours par minute.
FIN DE L'EPREUVE
」łłəşàɛャレレ
Banque PT Modélisation PT 2017 - Version Web LaTeX | WikiPrépa | WikiPrépa