FR3120658A1 - Optimisation d’un procédé de contrôle d’un moteur à combustion interne - Google Patents

Optimisation d’un procédé de contrôle d’un moteur à combustion interne Download PDF

Info

Publication number
FR3120658A1
FR3120658A1 FR2102474A FR2102474A FR3120658A1 FR 3120658 A1 FR3120658 A1 FR 3120658A1 FR 2102474 A FR2102474 A FR 2102474A FR 2102474 A FR2102474 A FR 2102474A FR 3120658 A1 FR3120658 A1 FR 3120658A1
Authority
FR
France
Prior art keywords
segment
difference value
difference
engine
setpoint values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR2102474A
Other languages
English (en)
Other versions
FR3120658B1 (fr
Inventor
Jonathan LORRE
Stéphane Eloy
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vitesco Technologies
Original Assignee
Vitesco Technologies
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vitesco Technologies filed Critical Vitesco Technologies
Priority to FR2102474A priority Critical patent/FR3120658B1/fr
Priority to US18/264,403 priority patent/US11976605B2/en
Priority to PCT/EP2022/055550 priority patent/WO2022189291A1/fr
Publication of FR3120658A1 publication Critical patent/FR3120658A1/fr
Application granted granted Critical
Publication of FR3120658B1 publication Critical patent/FR3120658B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/24Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
    • F02D41/26Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/009Electrical control of supply of combustible mixture or its constituents using means for generating position or synchronisation signals
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/02Circuit arrangements for generating control signals
    • F02D41/04Introducing corrections for particular operating conditions
    • F02D41/06Introducing corrections for particular operating conditions for engine starting or warming up
    • F02D41/062Introducing corrections for particular operating conditions for engine starting or warming up for starting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D2250/00Engine control related to specific problems or objectives
    • F02D2250/12Timing of calculation, i.e. specific timing aspects when calculation or updating of engine parameter is performed

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

Procédé de gestion d’un moteur pour lequel des tâches segments lancées à un moment appelé « segment », afin de déterminer des valeurs de consigne qui doivent être disponibles avant un instant angulaire prédéterminé comportant les étapes suivantes : a) exécution d’une tâche segment, b) détermination de la différence entre l’instant angulaire de début d’application des consignes et la position correspondant à la disponibilité des valeurs de consigne, c) comparaison de la différence déterminée à l’étape b) avec une valeur de différence inférieure et une valeur de différence supérieure, d) modification du segment si la différence déterminée à b) n’est pas entre les valeurs de différence inférieure et supérieure, la position du segment étant avancée si la différence déterminée à b) est inférieure à la valeur de différence inférieure et ladite position du segment étant retardée si la différence déterminée à b) est supérieure à la valeur de différence supérieure. Figure de l’abrégé : Figure 4

Description

Optimisation d’un procédé de contrôle d’un moteur à combustion interne
La présente invention concerne un procédé de contrôle d’un moteur à combustion interne.
La présente divulgation relève du domaine de la gestion des moteurs thermiques à combustion interne, notamment des moteurs pour véhicules automobiles.
Dans un moteur à combustion interne, la gestion du moteur, et notamment de la combustion, est assistée par un calculateur électronique.
Dans un moteur dit moteur quatre temps, qui présente un ou plusieurs cylindres, un cycle complet de combustion se réalise en deux tours moteur, c’est-à-dire lorsqu’un vilebrequin entrainé en rotation par un ensemble piston/bielle par cylindre, effectue deux tours, c’est-à-dire une rotation de 720° (ou 720°CRK). Un processus similaire se reproduit tous les 720°CRK. Pour chaque cylindre, avant chaque combustion, un calculateur détermine des valeurs de consigne liées à la combustion qui va venir, comme par exemple des instants de début et de fin d’ouverture d’une aiguille d’un injecteur de carburant, éventuellement des instants de commande de bobines d’allumage, ainsi que dans certains cas aussi d’autres valeurs de consigne concernant par exemple la pompe à essence ou d’autres accessoires du moteur.
Pour garantir une bonne combustion et ainsi limiter le rejet par le moteur de polluants, le calcul des valeurs de consigne de combustion se fait le plus tardivement possible pour bénéficier des dernières données concernant l’état du moteur (obtenues par des capteurs ou bien de manière logicielle) tout en laissant, d'une part, au calculateur déterminant les valeurs de consigne de combustion suffisamment de temps pour mener ses calculs et, d'autre part, du temps pour pouvoir appliquer les consignes qui auront été déterminées. Ainsi, les résultats du calcul doivent de préférence être disponibles environ 80°CRK avant le passage du point mort haut dans le cylindre en compression correspondant.
Pour le contrôle d’un moteur, certaines tâches sont réalisées à partir de la position du moteur, c’est-à-dire que dès qu’une position moteur prédéterminée est atteinte, la tâche correspondante est déclenchée. On appellera par la suite « segment » un tel moment prédéfini lors d’un cycle (de 720°CRK) qui correspond au point de démarrage d’une tâche, appelée de ce fait « tâche segment », à accomplir par le calculateur pour déterminer les valeurs de consigne de combustion ainsi qu’éventuellement d’autres valeurs de consigne de fonctionnement du moteur. Une tâche segment correspond en général à une tâche importante pour le bon fonctionnement du moteur, comme par exemple la préparation d’une combustion qui se réalise au passage sensiblement de chaque point mort haut en fin de compression dans un cylindre. Une tâche segment consiste alors notamment à collecter les principaux paramètres du moteur (température du carburant, pression du carburant et de l’air, vitesse de rotation, température eau et huile, …) et à partir de ces valeurs de déterminer (par calcul et/ou en fonction de tables mémorisées) des valeurs de consigne notamment pour l’injection de carburant et/ou l’allumage.
De même, il est défini à mi-chemin angulaire de deux segments voisins un évènement « demi-segment » qui correspond à un point de démarrage pour des tâches appelées alors « tâches demi-segment » qui sont généralement des tâches moins critiques que les tâches segments.
Pour un moteur à combustion interne, le procédé de gestion du moteur prévoit généralement d’avoir un segment par cylindre et par cycle moteur, c’est-à-dire qu’au cours d’un cycle de 720°CRK il y a autant de segments que de cylindres. On détermine pour chaque cylindre un segment de telle sorte que le calculateur puisse déterminer de nouvelles valeurs de consigne de combustion et ait le temps de les appliquer pour la combustion à venir. Ce segment est déterminé selon la position angulaire du moteur. Pour un moteur avec quatre cylindres, il y aura donc quatre segments par cycle de 720°CRK, et donc un segment tous les 180°CRK. Les demi-segments sont aussi espacés les uns des autres de 180°CRK en étant déphasés de 90°CRK par rapport aux segments. De ce fait, lorsque la vitesse de rotation du moteur est relativement lente, le calculateur termine sa tâche segment bien avant que le moteur atteigne la position à laquelle les données doivent être présentes pour que la combustion correspondante soit initiée avec les valeurs de consigne calculées. Par contre, à haut régime, le temps peut manquer pour que le calculateur finisse sa tâche segment suffisamment tôt pour mettre en œuvre les valeurs de consigne calculées. Dans un tel cas, il est alors prévu, d'une part, de réaliser la combustion avec les valeurs de consigne qui ont été calculées lors de la même tâche segment du cycle précédent et, d'autre part, de déplacer le contenu de la tâche au demi-segment précédent. Dans le cas d’un moteur à quatre cylindres, le début de la tâche est donc en général décalé de 90°CRK (soit 180°CRK/2 ou de manière plus générale 720°CRK/n/2 où n est le nombre de cylindres du moteur).
Cette stratégie fonctionne mais pose quelques problèmes.
Tout d’abord, lorsque les valeurs de consigne de combustion n’ont pas pu être calculées à temps, celles qui sont alors utilisées sont des valeurs de consigne « anciennes » et ne sont donc pas forcément optimales. Il y a donc une légère dégradation dans certains cas de la combustion.
Ensuite, dans le cas où le segment est décalé, il se peut que les informations prises en compte pour établir les valeurs de consigne de combustion ne soient pas les plus optimales qui pourraient potentiellement être utilisées à cette fin.
Enfin, il convient de gérer de manière logicielle la transition entre le passage du segment « normal » au segment « avancé ». Il convient notamment de vérifier de correctement gérer cette transition qui a aussi des interactions avec la gestion des tâches demi-segments.
Résumé
La présente divulgation vient améliorer la situation. Elle a notamment pour but d’optimiser la détermination des valeurs de consigne de combustion, notamment lorsque le régime moteur augmente et que, de ce fait, le temps entre deux segments diminue.
Avantageusement, il sera veillé à ce que les valeurs de consigne soient disponibles à temps.
Avantageusement, les valeurs de consigne seront calculées avec les dernières informations pouvant être accessibles pour la combustion à venir.
De préférence, les transitions dues à une modification de segment seront simplifiées.
Il est proposé à cet effet un procédé de gestion d’un moteur à combustion interne fonctionnant selon un cycle prédéterminé au cours duquel des tâches cycliques, appelées tâches segments, sont déclenchées pour être lancées par un calculateur à un moment prédéfini du cycle, moment appelé « segment », afin de déterminer des valeurs de consigne pour une action à venir, lesdites valeurs de consigne devant être disponibles avant un instant angulaire prédéterminé de début d’application desdites consignes correspondant par exemple à une position angulaire donnée d’un vilebrequin du moteur.
Il est proposé ici que ledit procédé comporte les étapes suivantes :
a) exécution d’une tâche segment,
b) détermination de la différence entre l’instant angulaire de début d’application des consignes et la position correspondant à la disponibilité des valeurs de consigne,
c) comparaison de la différence déterminée à l’étape b) avec, d'une part, une valeur de différence inférieure et, d'autre part, une valeur de différence supérieure, la valeur de différence supérieure étant supérieure à la valeur de différence inférieure,
d) modification de la position du segment pour une tâche segment à réaliser ultérieurement si la différence déterminée à l’étape b) n’est pas comprise entre la valeur de différence inférieure et la valeur de différence supérieure, la position du segment étant avancée si la différence déterminée à l’étape b) est inférieure à la valeur de différence inférieure et ladite position du segment étant retardée si la différence déterminée à l’étape b) est supérieure à la valeur de différence supérieure.
De manière originale, il est proposé ici de réguler le déroulement des tâches segments sur les fins de tâches plutôt que sur les débuts de tâches pour les solutions de l’art antérieur. Ceci permet de contrôler le moment d’achèvement de chacune des tâches eu égard à des évènements succédant auxdites tâches.
Les caractéristiques exposées dans les paragraphes suivants peuvent, optionnellement, être mises en œuvre, indépendamment les unes des autres ou en combinaison les unes avec les autres :
- une position initiale prédéfinie de segment est utilisée au démarrage du moteur, cette position initiale pouvant être par exemple 80°CRK avant un point mort haut d’un piston dans un cylindre en compression ;
- une avance de segment à l’étape d) est réalisée de telle sorte que la différence de l’étape b) calculée avec le segment avancé est plus proche de la valeur de différence supérieure que de la valeur de différence inférieure ;
- un retard de segment à l’étape d) est réalisé de telle sorte que la différence de l’étape b) calculée avec le segment retardé est plus proche de la valeur de différence inférieure que de la valeur de différence supérieure ;
- la tâche segment calcule des consignes d’injection pour une combustion à venir ; dans ce cas, on peut alors par exemple prévoir que l’instant angulaire de début d’application des consignes correspond au début de l’activation de la commande de l’injecteur.
Selon un autre aspect, il est proposé un système de gestion d’un moteur à combustion interne, caractérisé en ce qu’il comporte des moyens pour la mise en œuvre de chacune des étapes d’un procédé décrit ci-dessus.
Selon un autre aspect, il est proposé un moteur à combustion interne, caractérisé en ce qu’il comporte un système de gestion selon le paragraphe précédent.
Selon un autre aspect, il est proposé un véhicule automobile, caractérisé en ce qu’il comporte un moteur à combustion interne selon le paragraphe précédent.
Selon un autre aspect, il est proposé un support d’enregistrement non transitoire lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur comprenant des instructions de code de programme pour l’exécution des étapes d’un procédé tel que défini dans les présentes.
Selon un autre aspect, il est proposé un produit programme d’ordinateur comportant des instructions de code de programme enregistrées sur un support lisible par ordinateur pour la mise en œuvre de tout ou partie d’un procédé tel que défini dans les présentes lorsque ce programme est exécuté par un ordinateur.
D’autres caractéristiques, détails et avantages apparaîtront à la lecture de la description détaillée ci-après, et à l’analyse des dessins annexés, sur lesquels :
Fig. 1
montre schématiquement un véhicule.
Fig. 2
est un schéma illustratif d’un procédé de l’art antérieur.
Fig. 3
est un schéma illustratif d’un procédé selon la présente divulgation.
Fig. 4
montre un logigramme d’un procédé de gestion de moteur à combustion interne correspondant à l’illustration de la .
Il est maintenant fait référence à la . Cette dernière montre schématiquement un véhicule 100 automobile équipé d’un moteur à combustion interne 102. Un système de commande et de gestion 104 du moteur thermique est prévu.
Le moteur thermique 102 est un moteur dit moteur quatre temps. Il présente des cylindres dans lesquels se meut à chaque fois un piston dans un mouvement de va et vient et ce mouvement est transformé par l’intermédiaire de bielles en un mouvement de rotation d’un vilebrequin. Pour effectuer un cycle de combustion complet dans un cylindre, le vilebrequin tourne de deux tours, soit 720° ou 720°CRK. L’homme du métier connait le fonctionnement d’un tel moteur.
Le système de commande et de gestion a besoin de connaitre la position de chaque piston dans les cylindres. Il est alors connu de munir le vilebrequin d’une cible avec des dents périphériques. Toutes les dents sont similaires et équiréparties à la périphérie de la cible. Un capteur de position est placé face à la cible et détecte le passage de chaque dent de la cible. Le capteur détecte chaque passage d’un front actif d’une dent, c’est-à-dire soit le front montant, soit le front descendant. Pour se repérer sur la cible, un trou est réalisé à la périphérie de la cible par le retrait d’au moins une dent, en général de deux dents.
Le moteur comporte différents capteurs, comme par exemple un capteur de position du vilebrequin, pour connaitre la position de certains éléments mobiles du moteur ou par exemple pour avoir des informations telles par exemple des températures (eau, huile, air). À partir notamment de ces informations, le système de commande et de gestion 104 peut déterminer pour chaque combustion au sein du moteur des valeurs de consigne pour l’injection de carburant dans les cylindres (par exemple quantité et début de l’injection) et selon le type de moteur des valeurs de consigne pour l’allumage. D’autres valeurs de consigne connues de l’homme du métier sont aussi à calculer mais ne seront pas évoquées dans la présente description pour ne pas la surcharger. Le procédé décrit ici peut s’appliquer aussi au calcul de ces autres valeurs de consigne.
Pour chaque combustion, une référence importante est la position du moteur lorsque le piston correspondant est à son point mort haut en fin d’une phase de compression. Du carburant est généralement injecté dans le cylindre correspondant avant que le piston atteigne son point mort haut. L’injection débute par exemple 50°CRK avant le point mort haut en fin de compression pour le cylindre considéré. Il faut alors qu’en début d’injection, les valeurs de consigne pour l’injection soient calculées. On prévoit alors par exemple de commencer le calcul de ces valeurs de consigne à compter de 80°CRK avant le point mort haut fin de compression considéré. Les valeurs données ici sont illustratives et non limitatives.
La position du moteur (exprimée en °CRK modulo 720°CRK) à laquelle commence pour un cylindre le calcul des valeurs de consigne pour l’injection du carburant s’appelle un « segment ». Il y a pour un cycle moteur (sur deux tours de vilebrequin soit 720°CRK) autant de segments que de cylindres dans le moteur. À chaque segment, le système de commande et de gestion, ou plus particulièrement un calculateur (ou ECU pour Engine Control Unit, soit en français unité de contrôle moteur) est sollicité pour déterminer les valeurs de consigne d’injection (ainsi qu’éventuellement aussi d’autres valeurs). Il y a ainsi par exemple un segment tous les 180°CRK pour un moteur comportant quatre cylindres en ligne.
Une tâche exécutée par le système de gestion et de commande 104 démarrant à un segment est appelée « tâche segment ».
La illustre trois tâches segments les unes en dessous des autres. En abscisses sur cette figure, on trouve un axe correspondant à la position angulaire du moteur exprimée ici en °CRK. Chaque tâche segment est illustrée ici de façon purement illustrative et non limitative par trois étapes. Une première étape initiale (BEG), une étape intermédiaire et une étape finale (END). Au cours de cette étape finale, les valeurs de consigne pour l’injection sont déterminées lors d’une sous-étape appelée « Inj ».
La illustre par un trait plein vertical la limite LIM avant laquelle le calcul des valeurs de consigne pour l’injection doit être achevé. Cette limite LIM (exprimée en °CRK) peut correspondre au début d’application des consignes précédemment calculées, par exemple le début du pilotage de l’injecteur de carburant.
Pour la première tâche segment de la , la tâche segment débute au niveau d’un segment illustré par une ligne verticale pointillée. Cette tâche segment est effectuée à un régime moteur N1 intermédiaire. On remarque que la détermination des valeurs de consigne pour l’injection est réalisée avant le début de la phase d’injection. On note ici D1 la différence entre la limite LIM prédéterminée pour fournir ces valeurs de consigne. On a ainsi :
D1 = LIM – Inj
où LIM et Inj sont chacune exprimées en °CRK.
On remarque que pour la première tâche segment, la sous-étape Inj qui permet de déterminer les valeurs de consigne pour l’injection est bien achevée avant la limite LIM prédéterminée.
Lorsque le régime moteur augmente et passe de N1 à N2>N1, la tâche segment prend sensiblement le même temps en secondes (ou plus précisément millisecondes) et s’étend alors sur une plage angulaire (en °CRK) plus élevée. Quand le régime moteur augmente, il arrive alors un moment où la détermination des valeurs de consigne pour l’injection (sous-étape Inj) n’est pas terminée avant la limite LIM angulaire prédéterminée. Ceci est illustré avec la deuxième tâche segment de la .
Habituellement, dans une procédure de l’art antérieur, il est alors prévu pour la combustion concernée, d'une part, de reprendre comme valeurs de consigne pour l’injection qui vient des consignes qui ont été calculées précédemment et, d'autre part, de décaler le segment comme illustré sur la avec la troisième tâche segment. Le décalage qui est réalisé est un décalage correspondant à un demi-segment, soit 90°CRK pour un moteur à quatre cylindres. Ainsi les tâches segments sont décalées et sont déclenchées aux demi-segments antérieurs.
En décalant le segment de 90°CRK (ou plus généralement d’un demi-segment), les déterminations de valeurs de consigne pour l’injection sont alors réalisées à temps et on a appelé D2 la différence (angulaire) entre la position de détermination des valeurs de consigne d’injection et la limite LIM prédéterminée. Ce décalage permet alors certes d’avoir à chaque combustion de nouvelles valeurs de consigne mais avec un segment décalé d’un demi-segment, les informations disponibles au début de la tâche segment ne sont pas forcément les plus appropriées pour le calcul des valeurs de consigne de la combustion à venir. Par exemple, les mesures de pression et de vitesses instantanées diffèrent de ce qui aurait dû être mesuré sans décalage de segment. De plus, chaque nouveau décalage doit être analysé par les différents utilisateurs du segment, comme l’injection, pour vérifier qu’il n’y a pas d’impact caché.
La illustre la proposition de procédure à suivre selon la présente divulgation.
On considère sur la le même moteur à combustion interne que celui pris en exemple pour la . On retrouve une illustration de tâches segments dans différents cas de figures. Sur cette figure, on a comme pour la un axe des abscisses indiquant en °CRK la position angulaire du moteur, une ligne pointillée verticale indiquant un segment et une ligne pleine verticale illustrant la position limite LIM du moteur avant un point mort haut fin de compression avant laquelle les valeurs de consigne pour la combustion à venir doivent être disponibles.
Par rapport à la , on remarque une ligne verticale correspondant à une limite inférieure Linf et une ligne verticale correspondant à une limite supérieure Lsup. Les limites concernées ici sont les distances (en °CRK) séparant la position de disponibilité des valeurs de consigne pour la combustion à venir et la position de la limite LIM prédéterminée.
Il est proposé d’avoir le plus souvent possible la sous-étape Inj de la (référence P2 sur la ), c’est-à-dire la sous-étape à la fin de laquelle sont disponibles les valeurs de consigne pour la combustion à venir, entre la limite inférieure Linf et la limite supérieure Lsup.
À titre purement illustratif et non limitatif, on pourra choisir par exemple Linf telle que LIM-Linf=10°CRK et Lsup telle que LIM-Lsup=20°CRK.
La première tâche segment illustrée sur la est réalisée à un régime N1. On suppose par exemple que le moteur a suivi une phase d’accélération pour atteindre le régime N1. La première tâche segment de la est réalisée à ce régime moteur N1. Lors de l’accomplissement de cette tâche segment, les valeurs de consigne calculées sont rendues accessibles à la position P2 qui est comprise, dans l’exemple illustratif non limitatif entre Linf et LIM, par exemple ici, comme indiqué, P2 est disponible 6°CRK avant la limite LIM prédéterminée qui ici aussi peut correspondre au début de la commande de l’injecteur devant réaliser l’injection de carburant.
Les valeurs de consigne sont disponibles suffisamment à l’avance ici. Toutefois, si le régime moteur devait augmenter, on remarque qu’il y a un risque assez important pour que ces valeurs de consigne ne soient plus rapidement accessibles avant la limite LIM prédéfinie. Il est donc proposé ici d’agir et de modifier le segment. Il est proposé ici (deuxième tâche segment illustrée sur la ) d’avancer le segment de 12°CRK pour les combustions à venir. On suppose ici que la tâche segment se déroule sensiblement d’une fois sur l’autre sur une même plage angulaire, par exemple 30°CRK.Il est proposé de modifier le segment, c’est-à-dire le point de départ de la tâche segment au cours de laquelle les valeurs de consigne pour la combustion à venir sont calculées, de telle sorte qu’à conditions sensiblement similaires (même régime et même durée d’exécution de la tâche segment), les valeurs de consigne soient disponibles à une position angulaire entre Lsup et Linf mais de préférence plus près de Lsup que de Linf. Il est ici proposé d’éloigner la position P2 à partir de laquelle les valeurs de consigne sont disponibles de la limite (ici Linf) qui a été franchie.
Ainsi, dans l’exemple numérique purement illustratif et non limitatif présenté ici, P2 pour la première tâche segment de la au régime N1 était en avance de 6°CRK sur la limite LIM prédéterminée. Comme Linf est distant de 10°CRK de LIM, P2 était en retard de 4°CRK par rapport à la limite Linf.
On entend ici qu’un premier évènement est en avance sur un second évènement lorsque le premier évènement se produit dans le temps, ou sur l’axe de la position angulaire du moteur, avant le second élément. On considère alors dans ce cas que le second évènement est en retard sur le premier évènement.
En avançant alors comme illustré sur la le segment de 12°CRK, la position P2 dans des conditions similaires vient alors s’avancer elle aussi de 12°CRK. Elle est donc en avance de 18°CRK (6+12°CRK) sur la limite LIM prédéterminée. Cette position P2 est alors entre les limites Lsup et Linf, à 2°CRK de Lsup et à 8°CRK de Linf.
Si le régime moteur continue à augmenter pour arriver à N2>N1, la position du segment continuera à varier. On peut prévoir de faire varier les positions du segment de degré en degré au bien par incréments de quelques degrés.
La illustre le cas d’un régime moteur qui augmente. L’homme du métier comprendra que lorsque le régime moteur diminue, alors dans la plupart des cas (puisque le temps d’exécution en millisecondes d’une tâche segment étant sensiblement constant), la position P2 à laquelle les valeurs de consigne sont disponibles pour la combustion à venir va sortir de l’intervalle [Linf, Lsup] de telle sorte que LIM-P2 soit supérieur à Lsup. Dans ce cas, le segment sera retardé de manière à ce que la position P2 se retrouve entre Lsup et Linf en étant de préférence plus proche de Linf que de Lsup.
La propose un logigramme pour mettre en œuvre un procédé illustré par un exemple d’application purement illustratif et non limitatif sur la .
À la mise en rotation du moteur, une phase d’initialisation INI est réalisée. Au cours de cette étape, une position pour un premier segment est définie. Cette position est définie en fonction des caractéristiques du moteur. Ce premier segment est utilisé pour le démarrage du véhicule. Par la suite, la position du segment utilisé comme point de départ d’une tâche segment sera appelée P1.
Une fois que le moteur commence à tourner, le logigramme commence par une étape appelée « segment » dans laquelle le système de commande et de gestion surveille la rotation du moteur et attend qu’une position correspondant à un segment soit atteinte. Une fois la position du segment atteinte, la tâche segment correspondante est déclenchée et on mémorise la position P1 de démarrage de la tâche segment. Cette étape est appelée MEM P1.
La tâche segment se déroule, par exemple en trois étapes comme évoqué plus haut à titre illustratif mais non limitatif, et au cours de celle-ci, généralement peu avant la fin de la tâche segment, les valeurs de consigne pour une combustion à venir sont déterminées et accessibles au système de commande et de gestion du moteur. La position du moteur à laquelle ces valeurs de consigne sont disponibles s’appelle, comme déjà indiqué plus haut, P2. Cette valeur est mémorisée. Cette étape est appelée MEM P2 sur le logigramme.
Le plus souvent, la limite LIM prédéterminée ne change pas. Toutefois, il peut exister des cas où cette valeur limite peut être amenée à changer au cours du fonctionnement du moteur lorsque certaines conditions spécifiques sont rencontrées. Dans un tel cas, les valeurs de consigne calculées lors de la tâche segment donnent aussi la valeur de la limite LIM qui est alors appelée ici P3. Cette valeur est elle aussi mémorisée (étape MEM P3).
Les deux étapes suivantes servent à déterminer si la position P2 angulaire à laquelle les valeurs de consigne deviennent accessibles se trouve dans un intervalle prédéfini. Dans le logigramme, la valeur P3-P2 est alors comparée à deux valeurs correspondant aux bornes d’un intervalle. Ces deux valeurs limites s’appellent ici T1 et T2. Comme montré sur la , la valeur T1 correspond à la limite supérieure Lsup définie précédemment tandis que la valeur limite T2 correspond à la limite inférieure Linf définie plus haut. La procédure illustrée par le logigramme de la test ainsi si la valeur (P3-P2) est inférieure à T2 ou supérieure à T1. Dans la négative (sur le logigramme, la valeur 1 correspond à « oui » tandis que la valeur 0 correspond à « non »), cela signifie que la position P2 se trouve bien dans les limites prédéfinies. Dans l’exemple numérique précédent ( ), on aurait ici T1=20°CRK et T2=10°CRK.
Par contre, si la position P2 ne se trouve pas dans l’intervalle souhaité (entre Lsup et Linf, c’est-à-dire que la différence P3-P2 ne se trouve pas dans l’intervalle [T1, T2], alors il est proposé de modifier le segment, c’est-à-dire ici la valeur de P1.
Dans le cas où P3-P2 est inférieur à T2, cela signifie que la position P2 se rapproche de la position P3 (limite LIM). Il convient dans ce cas d’avancer le segment et de diminuer donc la valeur de P1.
Dans le cas où P3-P2 est supérieur à T1, cela signifie que la position P2 est « trop » en avance sur le début de l’injection (correspondant à la position P3 de la limite LIM prédéterminée). Il convient alors de retarder le segment et donc d’augmenter la valeur de P1.
Soit P1’ la nouvelle valeur de P1 et Dseg la durée (en °CRK) entre la position P1, d'une part, et la position du moteur à laquelle les valeurs de consigne sont disponibles (P2), d'autre part. La contrainte sur P1’ est que P1’+Dseg soit compris entre Lsup et Linf.
On veut ainsi l’inégalité suivante :
Lsup<P1’+Dseg<Linf
On a également :
Dseg=P2-P1
Lsup=P3-T1
Linf=P3-T2.
En reportant dans l’inégalité plus haut on obtient :
P3-T1<P1’+P2-P1<P3-T2
Soit :
P3-P2-T1<P1’-P1<P3-P2-T2
Où P1’-P1 qui peut être négatif (étape ADV sur le logigramme) ou positif (cas DEL sur le logigramme) correspond au décalage du segment.
Comme indiqué plus haut, dans le cas où P1’-P1<0, c’est-à-dire dans le cas où P3-P2<T2, on préfère que P2 soit plus proche de Lsup que de Linf, c’est-à-dire :
(P1’+Dseg)-Lsup<Linf-(P1’+Dseg)
P1’+P2-P1-(P3-T1)<P3-T2-(P1’+P2-P1)
(P1’-P1)+P2-P3+T1<P3-T2-P2-(P1’-P1)
Comme indiqué plus haut, le décalage (P1’-P1) peut être par exemple un multiple de n°CRK, par exemple un multiple de 6°CRK. Dans un tel cas, il faut prévoir que la marge, c’est-à-dire T1-T2 soit plus grand que « n », par exemple de l’ordre de 2n.
La présente solution technique peut trouver à s’appliquer notamment pour une gestion de tâches dans un procédé de commande / contrôle moteur.
La solution proposée en choisissant des valeurs en fonction des performances du moteur de telle sorte que les tâches segments soient toujours (ou presque toujours) exécutées dans les délais prescrits.
En outre, le fait d’optimiser les segments aux conditions de fonctionnement du moteur permet de modifier les segments progressivement et il n’est de ce fait pas nécessaire de gérer des phases de transition, ni d’analyse préalable qui en résulte. Le décalage du segment (dans le sens d’une avance) n’est pas limité : ceci permet une grande souplesse d’utilisation du procédé proposé ici.
Le procédé proposé fonctionne aussi lorsque le moteur se resynchronise après une perte de synchronisation. Dans un tel cas, compte tenu de l’inertie du moteur, la vitesse de rotation est sensiblement constante et ne peut que diminuer. Lors de la resynchronisation, la position du début du segment est alors avantageusement identique à celle calculée avant la perte de synchronisation.
La présente divulgation ne se limite pas à l’exemple de réalisation décrit ci-avant, seulement à titre d’exemple, et aux variantes évoquées mais elle englobe toutes les variantes que pourra envisager l’homme de l’art dans le cadre de la protection recherchée.

Claims (10)

  1. Procédé de gestion d’un moteur à combustion interne fonctionnant selon un cycle prédéterminé au cours duquel des tâches cycliques, appelées tâches segments, sont déclenchées pour être lancées par un calculateur à un moment prédéfini du cycle, moment appelé « segment », afin de déterminer des valeurs de consigne pour une action à venir, lesdites valeurs de consigne devant être disponibles avant un instant angulaire prédéterminé de début d’application desdites consignes correspondant par exemple à une position angulaire donnée d’un vilebrequin du moteur,caractérisé en ce queledit procédé comporte les étapes suivantes :
    a) exécution d’une tâche segment,
    b) détermination de la différence entre l’instant angulaire de début d’application des consignes et la position correspondant à la disponibilité des valeurs de consigne,
    c) comparaison de la différence déterminée à l’étape b) avec, d'une part, une valeur de différence inférieure et, d'autre part, une valeur de différence supérieure, la valeur de différence supérieure étant supérieure à la valeur de différence inférieure,
    d) modification de la position du segment pour une tâche segment à réaliser ultérieurement si la différence déterminée à l’étape b) n’est pas comprise entre la valeur de différence inférieure et la valeur de différence supérieure, la position du segment étant avancée si la différence déterminée à l’étape b) est inférieure à la valeur de différence inférieure et ladite position du segment étant retardée si la différence déterminée à l’étape b) est supérieure à la valeur de différence supérieure.
  2. Procédé selon la revendication 1, caractérisé en ce qu’une position initiale prédéfinie de segment est utilisée au démarrage du moteur.
  3. Procédé selon l'une des revendications 1 ou 2, caractérisé en ce qu’une avance de segment à l’étape d) est réalisée de telle sorte que la différence de l’étape b) calculée avec le segment avancé est plus proche de la valeur de différence supérieure que de la valeur de différence inférieure.
  4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce qu’un retard de segment à l’étape d) est réalisé de telle sorte que la différence de l’étape b) calculée avec le segment retardé est plus proche de la valeur de différence inférieure que de la valeur de différence supérieure.
  5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce que la tâche segment calcule des consignes d’injection pour une combustion à venir.
  6. Procédé selon la revendication 5, caractérisé en ce que l’instant angulaire de début d’application des consignes correspond au début de l’activation de la commande de l’injecteur de carburant.
  7. Système de gestion d’un moteur à combustion interne, caractérisé en ce qu’il comporte des moyens pour la mise en œuvre de chacune des étapes d’un procédé selon l'une des revendications 1 à 6.
  8. Moteur à combustion interne (102), caractérisé en ce qu’il comporte un système de gestion selon la revendication 7.
  9. Véhicule automobile (100), caractérisé en ce qu’il comporte un moteur à combustion interne (102) selon la revendication 8.
  10. Support d’enregistrement non transitoire lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur comprenant des instructions de code de programme pour l’exécution des étapes du procédé selon l’une quelconque des revendications 1 à 6.
FR2102474A 2021-03-12 2021-03-12 Optimisation d’un procédé de contrôle d’un moteur à combustion interne Active FR3120658B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR2102474A FR3120658B1 (fr) 2021-03-12 2021-03-12 Optimisation d’un procédé de contrôle d’un moteur à combustion interne
US18/264,403 US11976605B2 (en) 2021-03-12 2022-03-04 Optimization of a method for controlling an internal combustion engine
PCT/EP2022/055550 WO2022189291A1 (fr) 2021-03-12 2022-03-04 Optimisation d'un procede de controle d'un moteur a combustion interne

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2102474A FR3120658B1 (fr) 2021-03-12 2021-03-12 Optimisation d’un procédé de contrôle d’un moteur à combustion interne
FR2102474 2021-03-12

Publications (2)

Publication Number Publication Date
FR3120658A1 true FR3120658A1 (fr) 2022-09-16
FR3120658B1 FR3120658B1 (fr) 2023-02-10

Family

ID=75690512

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2102474A Active FR3120658B1 (fr) 2021-03-12 2021-03-12 Optimisation d’un procédé de contrôle d’un moteur à combustion interne

Country Status (3)

Country Link
US (1) US11976605B2 (fr)
FR (1) FR3120658B1 (fr)
WO (1) WO2022189291A1 (fr)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4582035A (en) * 1984-02-09 1986-04-15 Honda Giken Kogyo Kabushiki Kaisha Fuel supply control method for multicylinder internal combustion engines
EP1589210A2 (fr) * 2004-04-23 2005-10-26 Robert Bosch Gmbh Procédé de commande d'un dispositif d'injection de carburant pour moteur thermique
US8660776B2 (en) * 2006-12-27 2014-02-25 Robert Bosch Gmbh Method for starting an internal combustion engine
US20150088403A1 (en) * 2013-09-23 2015-03-26 GM Global Technology Operations LLC Control apparatus for operating a fuel injector
DE102015215038A1 (de) * 2015-08-06 2017-02-09 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betrieb einer Brennkraftmaschine, insbesondere eines Kraftfahrzeugs mit dualer Kraftstoffeinspritzung

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53146034A (en) * 1977-05-25 1978-12-19 Nippon Denso Co Ltd Fuel supply to internal cumbustion engine
DE3923478C2 (de) * 1989-07-15 2000-02-03 Bosch Gmbh Robert Sequentielle Kraftstoffeinspritzung mit Vorabspritzer
JP2006029088A (ja) * 2004-07-12 2006-02-02 Yanmar Co Ltd 蓄圧式燃料噴射装置及びその蓄圧式燃料噴射装置を備えた内燃機関
JP4822543B2 (ja) * 2007-03-15 2011-11-24 本田技研工業株式会社 エンジン制御装置およびそのイニシャル処理方法
DE102007024823B4 (de) * 2007-05-29 2014-10-23 Continental Automotive Gmbh Verfahren und Vorrichtung zur Bestimmung eines Ansteuerparameters für einen Kraftstoffinjektor einer Brennkraftmaschine
DE102007040117A1 (de) * 2007-08-24 2009-02-26 Robert Bosch Gmbh Verfahren und Motorsteuereinheit zur Aussetzerkennung bei einem Teilmotorbetrieb
US10422296B2 (en) * 2015-06-11 2019-09-24 Ford Global Technologies, Llc Methods and system for improving fuel delivery amount accuracy
US10316773B2 (en) * 2015-06-11 2019-06-11 Ford Global Technologies, Llc Methods and system mitigating port injection degradation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4582035A (en) * 1984-02-09 1986-04-15 Honda Giken Kogyo Kabushiki Kaisha Fuel supply control method for multicylinder internal combustion engines
EP1589210A2 (fr) * 2004-04-23 2005-10-26 Robert Bosch Gmbh Procédé de commande d'un dispositif d'injection de carburant pour moteur thermique
US8660776B2 (en) * 2006-12-27 2014-02-25 Robert Bosch Gmbh Method for starting an internal combustion engine
US20150088403A1 (en) * 2013-09-23 2015-03-26 GM Global Technology Operations LLC Control apparatus for operating a fuel injector
DE102015215038A1 (de) * 2015-08-06 2017-02-09 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betrieb einer Brennkraftmaschine, insbesondere eines Kraftfahrzeugs mit dualer Kraftstoffeinspritzung

Also Published As

Publication number Publication date
US11976605B2 (en) 2024-05-07
US20240093657A1 (en) 2024-03-21
FR3120658B1 (fr) 2023-02-10
WO2022189291A1 (fr) 2022-09-15

Similar Documents

Publication Publication Date Title
FR2835016A1 (fr) Unite de commande de soupape electromagnetique d&#39;un moteur a combustion interne
FR2546975A1 (fr) Dispositif pour supprimer le cognement dans les moteurs a combustion interne
WO2007028584A1 (fr) Procédé de détermination de l&#39;inversion du sens de rotation d&#39;un moteur
WO2017012706A1 (fr) Procédé de détermination de l&#39;état de rotation d&#39;un arbre à cames de moteur de véhicule
FR2699604A1 (fr) Procédé de détection de défaut d&#39;étanchéité des injecteurs d&#39;un moteur thermique.
FR2995939A1 (fr) Procede d&#39;estimation du regime d&#39;un moteur dans une position predeterminee
WO2014082730A1 (fr) Procede de traitement d&#39;un signal fourni par un capteur bidirectionnel et dispositif correspondant
WO2014082731A1 (fr) Procede de traitement d&#39;un signal fourni par un capteur bidirectionnel et dispositif correspondant
EP0101342B1 (fr) Procédé d&#39;optimisation de l&#39;avance à l&#39;allumage pour moteur à combustion interne
EP0127510B1 (fr) Procédé de coupure de l&#39;injection de carburant pendant les phases de décélération d&#39;un moteur à combustion interne
WO2022189291A1 (fr) Optimisation d&#39;un procede de controle d&#39;un moteur a combustion interne
FR2922966A1 (fr) Procede de commande de l&#39;allumage d&#39;un moteur a essence
EP1613850B1 (fr) Procede de synchronisation de l&#39;injection avec la phase moteur dans un moteur a commande electronique des injecteurs
EP2480776B1 (fr) Procédé de prédiction du régime de rotation d&#39;un vilebrequin de moteur en phase de fin de rotation et application du procédé a la prédiction du cylindre d&#39;arrêt
FR2937383A1 (fr) Procede de controle du cliquetis d&#39;un moteur a combustion interne
FR2718191A1 (fr) Procédé et dispositif de suppression des oscillations longitudinales d&#39;un véhicule automobile à moteur.
FR2861134A1 (fr) Procede de gestion d&#39;un moteur a combustion interne et appareil de commande pour la mise en oeuvre du procede
FR3051226B1 (fr) Procede de pilotage d’au moins un dephaseur d’un moteur thermique de vehicule automobile lors d’une phase d’arret
EP1888901B1 (fr) Procede de reduction du bruit d&#39;un moteur diesel a injection
FR2910549A1 (fr) Procede de correction des derives des injecteurs d&#39;un moteur
FR3061294A1 (fr) Procede et dispositif pour determiner la dose d&#39;injection d&#39;un injecteur
FR3080890A1 (fr) Procede de gestion de l&#39;injection et de l&#39;allumage d&#39;un moteur a combustion interne
FR2862093A1 (fr) Procede et appareil de commande de la fin de rotation du vilebrequin d&#39;un moteur thermique
EP2550448B1 (fr) Procédé et dispositif de commande d&#39;un démarrage d&#39;un moteur thermique
WO2024083788A1 (fr) Procédé de gestion d&#39;une phase de redémarrage d&#39;un moteur à combustion interne en mode dégradé

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20220916

CA Change of address

Effective date: 20221212

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4