FR 2769051 A1 19990402 FR 9812036 A 19980925 L'invention concerne un procédé de détermination, cylindre par cylindre, de l'angle d'avance à l'allumage (ci-après appelé angle d'allumage) d'un moteur à combustion interne (ci-après appelé plus brièvement "moteur") multicylindres, notamment en fonction de son comportement de cliquetis, selon lequel, dans un premier circuit d'adaptation, à partir d'une table caractéristique de base "globale" non modifiable, dépendant de la charge et de la vitesse de rotation de moteur et associée à tous les cylindres, des valeurs de décalage de tables caractéristiques cylindre par cylindre sont décalées "vers le retard" lorsqu'un cliquetis du moteur apparaît et de nouveau "vers l'avance" lorsque le cliquetis du moteur disparaît et, dans un second circuit d'adaptation, un décalage global a lieu "vers le retard" ou de nouveau "vers l'avance", d'une certaine valeur de décalage global, lorsque l'angle d'allumage de réglage du premier circuit d'adaptation dont la moyenne a été faite pour tous les cylindres a, pour un point de fonctionnement, une valeur qui franchit vers le haut une valeur maximale préfixée ou franchit vers le bas une valeur minimale préfixée, tandis qu'un troisième circuit d'adaptation est initialisé lorsque le moteur à combustion interne est coupé. Un tel procédé comportant plusieurs circuits de régulation est connu par le brevet US 4 631 680. Les différents circuits de régulation du cliquetis - "circuits d'adaptation" - qui sont connus fonctionnent suivant des procédés différents. C'est ainsi par exemple que, dans un premier circuit (rapide) d'adaptation, pendant le fonctionnement du moteur, dans le cas d'un phénomène de cliquetis reconnu, en un point de fonctionnement P(n, L) déterminé par une charge L (= débit massique d'air ou grandeur équivalente) et une vitesse de rotation de moteur n, dans un cylindre z du moteur, l'angle d'allumage ZW correspondant au cylindre considéré est, indépendamment des autres cylindres, décalé vers le retard, à partir d'une valeur ZWB associée au point de fonctionnement P d'une table caractéristique de base KFB non modifiable - "globale" - associée à tous les cylindres z, d'une valeur de décalage ZW1[KFi(z)] déterminée qui est mémorisée dans une table caractéristique de décalage cylindre par cylindre KF1(z). De ce fait, la probabilité de l'apparition d'une combustion avec cliquetis dans ce cylindre est réduite. En ce qui concerne les signes de référence, un chiffre en indice indique le numéro du circuit d'adaptation et z le numéro du cylindre et des chiffres ou lettres en indice non suivis d'une expression entre parenthèses (par exemple ZWB, ZW2) ont une signification "globale" pour tous les cylindres. Par ailleurs, on suppose ci-après que des décalages d'angle d'allumage vers le retard sont pourvus d'un signe négatif et ceux vers l'avance d'un signe positif. Lors d'un fonctionnement du moteur dépourvu de cliquetis, la valeur de décalage cylindre par cylindre ZWl[KFI(z)] est ramenée vers l'avance d'une manière étagée (et rangée en mémoire dans la table caractéristique KFi(z)) soit jusqu'à ce qu'il apparaisse de nouveau un coup de cliquetis, soit jusqu'à ce que la valeur de décalage cylindre par cylindre ZWi[KFi(z)] = 0 soit atteinte. Lorsque le point de fonctionnement P est quitté, l'angle d'allumage de réglage ZWi[KFl(z)] momentané est rangé en mémoire dans la table caractéristique d'adaptation cylindre par cylindre KF1(z), de sorte que, lorsque ce point de fonctionnement est de nouveau atteint à un instant ultérieur, des valeurs pilotes d'angle d'allumage cylindre par cylindre ZWi[KF1(z)] sont disponibles pour la régulation du cliquetis. Si, par exemple, un angle d'allumage de réglage moyen ZW1 (= valeur moyenne de l'angle d'allumage de réglage de tous les cylindres en un point de fonctionnement P déterminé) a une valeur qui franchit vers le haut une valeur maximale ZWlmax préfixée, un décalage global vers le retard a lieu, d'une valeur de décalage global ZW2 préfixée, par rapport à la table caractéristique de base globale KFB. Cela permet de rendre une information, apprise en un point de fonctionnement P, utilisable aussi pour des points de fonctionnement par lesquels on n'est pas encore passé et pour les autres cylindres. Un tel cas peut par exemple se présenter après un remplissage du réservoir du véhicule avec un carburant à indice d'octane plus faible. Si, lors d'un fonctionnement dépourvu de cliquetis qui suit, l'angle d'allumage de réglage moyen ZW1 a une valeur inférieure à une valeur minimale ZWlmin préfixée, la valeur de décalage global ZW2 est de nouveau réduite lentement jusqu'à la valeur "0o". Cette partie du procédé est appelée "deuxième circuit (plus lent) d'adaptation". L'angle d'allumage actuel ZW(z) d'un cylindre z pendant le fonctionnement du moteur se décompose par conséquent, lors d'un changement de point de fonctionnement, de la manière qui suit: ZW(z) = ZWB + ZW1[KF1 (z)] + ZW2 soit par exemple pour le cylindre 1: ZW(1) = ZWB + ZW1[KF1 (1)] + ZW2 Dans le cas de l'objet du brevet US 4 631 680, les valeurs d'angle d'allumage acquises - "apprises - pendant le fonctionnement du moteur sont rangées en mémoire d'une manière non volatile lorsque le moteur est coupé, afin qu'après un redémarrage du moteur, des valeurs pilotes d'instant d'allumage soient déjà de nouveau disponibles. Cela signifie un espace de mémoire nécessaire considérable. L'invention a pour but, lors de l'arrêt du moteur, de mettre en forme, avant le rangement en mémoire, les données déterminées dans le premier et le deuxième circuits d'adaptation pendant le fonctionnement du moteur, de façon telle que, lors du démarrage suivant du moteur, il se présente des valeurs pilotes d'angle d'allumage optimales et que, pour le rangement en mémoire, il n'est besoin que d'un espace de mémoire non volatile le plus réduit possible. A cet effet, l'invention a pour objet un procédé, du type générique défini en introduction, caractérisé en ce que, dans le troisième circuit d'adaptation, de nouvelles valeurs de décalage d'une table caractéristique globale et valeurs de décalage cylindre par cylindre sont formées, et rangées en mémoire d'une manière non volatile, à partir des valeurs de décalage des tables caractéristiques cylindre par cylindre du premier circuit d'adaptation, de la valeur de décalage global du second circuit d'adaptation et des tables caractéristiques et valeurs du troisième circuit d'adaptation pour la marche précédente du moteur, et en ce qu'après un nouveau démarrage du moteur, il est formé, à partir de ces valeurs, des valeurs de décalage de nouvelles "tables caractéristiques de base" cylindre par cylindre à l'aide desquelles une détermination d'angle d'allumage et une régulation de cliquetis sont assurées dans la nouvelle marche du moteur et exécutées avec le premier et le deuxième circuits d'adaptation. Une fois le moteur coupé à la fin d'une marche de moteur, dans une opération de calcul appelée "troisième circuit d'adaptation", comme exposé ci-après, une table caractéristique de décalage globale KF3 et des valeurs de décalage cylindre par cylindre ZW3(Z) sont déterminées et rangées en mémoire d'une manière non volatile, table caractéristique et valeurs à partir desquelles, après un nouveau démarrage du moteur, sont calculées de nouvelles tables caractéristiques de base cylindre par cylindre KFB(Z) à l'aide desquelles le fonctionnement du moteur peut alors être assuré. Calcul des valeurs de décalaqe cylindre par cylindre ZW3(z) du troisième circuit d'adaptation Une fois le moteur coupé, a) les valeurs de décalage ZW1[KFi(z)] des z tables caractéristiques d'adaptation cylindre par cylindre KF1(z) du premier circuit d'adaptation, b) la valeur de décalage global ZW2 du deuxième circuit d'adaptation et c) les valeurs de décalage cylindre par cylindre ZW3alt(Z) du troisième circuit d'adaptation pour la marche précédente du moteur font l'objet d'une addition, point de fonctionnement par point de fonctionnement, dans des tables caractéristiques d'addition cylindre par cylindre (KFAD(z)): ZW[KFAD(Z)] = ZWl[KFl (z)] + ZW2 + ZW3alt (Z) Ensuite, pour chaque cylindre, toutes les valeurs de table caractéristique, ou suivant un développement du procédé conforme à l'invention seulement des valeurs de table caractéristique associées à des points de fonctionnement définis (par exemple seulement les valeurs de table caractéristique associées à des plages de charge déterminées), de cette table caractéristique d'addition cylindre par cylindre KFAD(z) font l'objet d'une addition pour donner des sommes cylindre par cylindre SUM(z). Conformément à un développement du procédé conforme à l'invention, il n'est tenu compte que des seules valeurs de la table caractéristique qui ont été adaptées, c'est-à-dire modifiées, dans tous les cylindres pendant le dernier fonctionnement du moteur. Le nombre des valeurs de table caractéristique dont il est tenu compte est désigné par ANZ. A partir de ces sommes, la somme SUMmin dont la valeur est la plus petite est sélectionnée et la valeur de décalage cylindre par cylindre ZW3neu(z) est formée conformément à la formule suivante: ZW3neu(Z): 1/ANZ*[SUM(z) - SUMmin]. (avec ANZ = nombre des valeurs de table caractéristique dont il est tenu compte). Ainsi, pour le cylindre qui comporte la somme dont la valeur est la plus petite SUM(z) = SUMmin, cette valeur ZW3neu(Z) = 0. Suivant un développement du procédé conforme à l'invention, un calcul de nouvelles valeurs de décalage ZW3neu(Z) n'est exécuté que lorsque sont présents, dans les tables caractéristiques d'adaptation cylindre par cylindre KFi(z) du premier circuit d'adaptation, un nombre déterminé de points de table caractéristique qui ont été adaptés pour tous les cylindres lors de la marche du moteur qui vient de s'achever. Dans le cas contraire, ce sont les anciennes valeurs de décalage ZW3alt(Z) provenant de la précédente marche du moteur qui continuent d'être utilisées. Calcul des valeurs de décalage (ZW3(KF3)) de la table caractéristique de décalage globale (KF3) du troisième circuit d'adaptation Au moyen d'une formation de valeur moyenne élément par élément (par point de fonctionnement P) des valeurs des tables caractéristiques d'addition cylindre par cylindre KFAD(z), voir ci-dessus, on obtient, en chaque point de fonctionnement P(n, L) de la nouvelle table caractéristique de décalage globale KF3neu, l'accroissement incrémentiel qui est ajouté à "l'ancienne" valeur de décalage ZW3alt(KF3alt) provenant de la dernière marche du moteur, les parties propres à chaque cylindre étant éliminées par retranchement des valeurs de décalage cylindre par cylindre ZW3neu(Z): ZW3neu(KF3neu)=ZW3alt(KF3alt)+l/zZ [ZW[KFAD(z)]- ZW3neu(z)]. z Dans la mesure o un décalage d'angle d'allumage vers le retard est pourvu d'un signe négatif, il ne devrait apparaître aucune valeur de décalage positif dans cette table caractéristique de décalage globale KF3neu; de telles valeurs doivent éventuellement être corrigées pour prendre la valeur "zéro". Comme déjà indiqué, cette table caractéristique de décalage globale KF3neu et les valeurs de décalage cylindre par cylindre ZW3neu(z) sont rangées en mémoire d'une manière non volatile. Les tables caractéristiques cylindre par cylindre KF1(z) rangées dans des zones de mémoire volatile (ayant donc plus de valeur) et la valeur de décalage global ZW2 sont effacées après l'opération de calcul du troisième circuit d'adaptation. Lors d'un nouveau démarrage du moteur, de nouvelles tables caractéristiques de base cylindre par cylindre (KFB(z)), valables pour toute la marche du moteur, sont formées par addition, point de fonctionnement par point de fonctionnement, des valeurs de table caractéristique (ZWB(KFB)) de la table caractéristique de base globale (KFB), des valeurs de décalage (ZW3(KF3)) de la table caractéristique de décalage globale (KF3) et des valeurs de décalage cylindre par cylindre (ZW3(z)): ZWB[KFB (z)] = ZWB (KFB) + ZW3 (KF3) + ZW3 (z) et c'est sur ces nouvelles tables caractéristiques de base cylindre par cylindre que la détermination d'angle d'allumage et la régulation de cliquetis sont établies dans la nouvelle marche du moteur et sont exécutées à l'aide du premier et du deuxième circuits d'adaptation, comme déjà décrit plus haut. Dans le cadre de cette stratégie, des angles d'allumage de réglage provenant du deuxième circuit d'adaptation peuvent aussi prendre des valeurs positives. Pour chaque marche du moteur, les angles d'allumage de réglage du premier et du deuxième circuits d'adaptation sont initialisés avec la valeur "zéro". REVENDICATIONS 1. Procédé de détermination, cylindre par cylindre, de l'angle d'allumage d'un moteur à combustion interne multicylindres, notamment en fonction de son comportement de cliquetis, selon lequel, dans un premier circuit d'adaptation, à partir d'une table caractéristique de base "globale" (KFB) non modifiable, dépendant de la charge (L) et de la vitesse de rotation de moteur (n) et associée à tous les cylindres (z), des valeurs de décalage (ZWl[KFi(z)]) de tables caractéristiques cylindre par cylindre (KFI(z)) sont décalées "vers le retard" lorsqu'un cliquetis du moteur apparaît et de nouveau "vers l'avance" lorsque le cliquetis du moteur disparaît et, dans un second circuit d'adaptation, un décalage global, d'une valeur de décalage global ((ZW2)), a lieu "vers le retard" ou de nouveau "vers l'avance" lorsque l'angle d'allumage de réglage (ZW1) du premier circuit d'adaptation dont la moyenne a été faite pour tous les cylindres a, pour un point de fonctionnement P(n, L), une valeur qui franchit vers le haut une valeur maximale préfixée (ZWlmax) ou franchit vers le bas une valeur minimale préfixée (ZWlmin), tandis qu'un troisième circuit d'adaptation est initialisé lorsque le moteur à combustion interne est coupé, caractérisé en ce que, dans le troisième circuit d'adaptation, de nouvelles valeurs de décalage ZW3[KF3] d'une table caractéristique globale (KF3) et valeurs de décalage cylindre par cylindre (ZW3(Z)) sont formées, et rangées en mémoire d'une manière non volatile, à partir des valeurs de décalage ZWI[KFi(z)] des tables caractéristiques cylindre par cylindre (KF1(z)) du premier circuit d'adaptation, de la valeur de décalage global (ZW2) du second circuit d'adaptation et des tables caractéristiques et valeurs du troisième circuit d'adaptation pour la marche précédente du moteur, et en ce qu'après un nouveau démarrage du moteur, il est formé, à partir de ces valeurs, des valeurs de décalage ZWB[KFB(z)] de nouvelles "tables caractéristiques de base" cylindre par cylindre (KFB(z)) à l'aide desquelles une détermination d'angle d'allumage et une régulation de cliquetis sont assurées dans la nouvelle marche du moteur et exécutées avec le premier et le deuxième circuits d'adaptation. 2. Procédé suivant la revendication 1, caractérisé en ce que, pour la formation de valeurs de décalage cylindre par cylindre (ZW3(z)), a) les valeurs de décalage ZWl[KFl(z)] des z tables caractéristiques d'adaptation cylindre par cylindre KFi(z) du premier circuit d'adaptation, b) la valeur de décalage global ZW2 du deuxième circuit d'adaptation et c) les valeurs de décalage cylindre par cylindre ZW3alt(Z) du troisième circuit d'adaptation pour la marche précédente du moteur font l'objet d'une addition, point de fonctionnement par point de fonctionnement, dans des tables caractéristiques d'addition cylindre par cylindre (KFAD (z)): ZW[KFAD(z)] = ZW1[KF1(Z)] + ZW2 + ZW3alt(Z) en ce qu'ensuite, pour chaque cylindre (z), toutes les valeurs de table caractéristique (ZW[KFAD(z)]) de cette table caractéristique d'addition cylindre par cylindre (KFAD(z)) font l'objet d'une addition pour donner des sommes cylindre par cylindre (SUM(z)) et en ce qu'à partir de ces sommes (SUM(z)), la somme (SUMmin) dont la valeur est la plus petite est sélectionnée et la valeur de décalage cylindre par cylindre ZW3(z) est formée conformément à la formule suivante: ZW3(z) = 1/ANZ*[SUM(z) - SUMmin], o ANZ est le nombre des valeurs de table caractéristique dont il est tenu compte. 3. Procédé suivant la revendication 2, caractérisé en ce que seuls des points de fonctionnement définis ou des valeurs de table caractéristique (ZW[KFAD(z)]) associées à des plages de charge déterminées, de la table caractéristique d'addition cylindre par cylindre (KFAD(z)) font l'objet d'une addition pour donner des sommes cylindre par cylindre (SUM(z)). 4. Procédé suivant la revendication 3, caractérisé en ce qu'il n'est tenu compte que des seules valeurs ZW[KFAD(z)] de la table caractéristique (KFAD(z)) qui ont été adaptées dans tous les cylindres pendant le dernier fonctionnement du moteur. 5. Procédé suivant la revendication 2, caractérisé en ce qu'un calcul de nouvelles valeurs de décalage (ZW3neu(Z)) n'est exécuté que lorsque sont présents, dans les tables caractéristiques d'adaptation cylindre par cylindre (KFI(z)), un nombre déterminé de points de table caractéristique (ZW1[KFi(z)]) qui ont été adaptés pour tous les cylindres lors de la marche du moteur qui vient de s'achever. 6. Procédé suivant la revendication 2, caractérisé en ce que, pour le calcul des valeurs de décalage (ZW3neu(KF3neu)) de la table caractéristique de décalage globale (KF3neu), l'accroissement incrémentiel de la nouvelle table caractéristique de décalage globale (KF3neu) est déterminé pour chaque point de fonctionnement P(n, L) au moyen d'une formation de valeur moyenne, élément par élément, des valeurs (ZW[KFAD(z)]) des tables caractéristiques d'addition cylindre par cylindre (KFAD(z)), les parties propres à chaque cylindre étant éliminées par retranchement des valeurs de décalage cylindre par cylindre ZW3neu(Z), et en ce que cet accroissement incrémentiel est ajouté à "l'ancienne" valeur de décalage (ZW3alt) provenant de la dernière marche du moteur: ZW3neu(KF3neu)=ZW3alt(KF3alt)+l/ZJ [ZW[KFAD(z)]- ZW3neu(Z)]. z 7. Procédé suivant la revendication 1, caractérisé en ce qu'après un nouveau démarrage du moteur, de nouvelles tables caractéristiques de base cylindre par cylindre (KFB(z)) sont formées par addition, point de fonctionnement par point de fonctionnement, des valeurs de table caractéristique (ZWB(KFB)) de la table caractéristique de base globale (KFB), des valeurs de décalage (ZW3(KF3) de la table caractéristique de décalage globale (KF3) et des valeurs de décalage cylindre par cylindre (ZW3(z)), le fonctionnement du moteur étant alors assuré au moyen de ces nouvelles tables caractéristiques de base cylindre par cylindre (KFB(Z)): ZWB[KFB (Z)] = ZWB (KFB) + ZW3 (KF3) + ZW3(z).