FR 2922966 A1 20090501 FR 0707635 A 20071030 La présente invention concerne un procédé de commande de l'allumage d'un moteur à essence. Elle concerne plus particulièrement la gestion de la charge de la bobine d'allumage d'un tel moteur. On sait que la bobine d'allumage d'un moteur à allumage commandé doit être chargée pendant une durée prédéfinie précise, classiquement appelée � temps de charge bobine �, afin de pouvoir restituer l'énergie accumulée requise pour produire une étincelle à la bougie de chaque cylindre, et par ailleurs cette étincelle doit être générée à un moment précis du cycle de fonctionnement du moteur, ce moment étant défini par une position angulaire du vilebrequin par rapport à une position de référence de ce dernier, correspondant au point mort haut du cylindre. La mesure en continu de cette position angulaire lors de la rotation du moteur est couramment effectuée par un capteur qui détecte le passage à sa proximité des dents d'une couronne dentée portée par le vilebrequin. Du fait des variations de vitesse de rotation du moteur, lors d'accélérations ou décélérations, le temps mis par un nombre de dents fixe prédéterminé pour passer devant le capteur est variable. On ne peut donc choisir de commencer la charge de la bobine à un moment déterminé par un certain nombre de dents passant devant le capteur avant que le piston soit au point mort haut, ou toute autre référence de position angulaire du vilebrequin, puisqu'alors le temps de charge bobine serait variable en fonction de la vitesse de rotation du moteur, en particulier ce temps serait fortement réduit à haut régime, ce qui nuirait au bon fonctionnement du moteur. De plus, le moment où l'étincelle doit être générée est, lui, dépendant de divers paramètres de fonctionnement du moteur, tels que son régime mais aussi sa température ou sa charge par exemple et, comme indiqué ci-dessus, cet instant doit être précisément défini en fonction de la position angulaire du vilebrequin. Cet instant définit ainsi une avance à l'allumage, mesurée par une valeur d'angle par rapport au point mort haut. Le problème général qui se pose alors est d'arriver à déterminer l'instant auquel la charge de la bobine doit commencer pour que, en fonction du temps de charge bobine, lequel est bien une durée de temps, l'étincelle puisse se produire avec l'énergie requise juste au moment voulu du cycle moteur, ce moment n'étant quant à lui pas défini en fonction du temps mais par une position angulaire du vilebrequin, laquelle n'est pas en rapport fixe avec le temps. Le diagramme de la figure 1 illustre ce problème de rapport variable. Le premier tracé représente le signal d'allumage, ce signal devenant positif pendant le temps de charge bobine requis (ici fixé par exemple à 5 ms) avant l'instant où doit se produire l'étincelle, correspondant au front descendant de ce signal. Les trois autres tracés représentent les signaux du capteur de rotation du vilebrequin. Ledit capteur fournit une impulsion chaque fois qu'une dent passe devant lui, respectivement à trois régimes moteur distincts, de 3 000 tours/mn, 1 600 tours/mn, et 1 000 tours/mn dans l'exemple présenté. A 1 600 tours/mn, 8 dents passent devant le capteur pendant le temps de charge requis de 5 ms. Si le moteur accélère à 3 000 tours/mn, c'est alors 15 dents qui passent devant le capteur pendant le même temps. Si le moteur ralenti à 1 000tours/mn, ce n'est plus que 5 dents qui passent devant le capteur pendant le même temps. A tout instant, il ne peut être précisément prédit quel sera le régime du moteur au moment où l'étincelle devra être produite ; il ne peut donc être précisément déterminé dans combien de temps l'étincelle devra se produire. Pour cependant arriver à déterminer un instant où commencer la charge de la bobine, on utilise actuellement une stratégie selon laquelle, dans chaque cycle du moteur, la charge de la bobine démarre la première fois que la relation suivante est satisfaite : Angle d' étincelle désiré -Angle actuel Vitesse angulaire moteur actuelle = (1) Temps de charge désiré Selon, cette stratégie, on détermine donc pour chaque cycle moteur l'instant de début de charge de la bobine en fonction de la position angulaire du vilebrequin et de la vitesse de rotation du moteur, en calculant le rapport entre, d'une part, l'angle de rotation de vilebrequin restant à parcourir avant que le vilebrequin atteigne la position angulaire où l'étincelle d'allumage doit se produire et, d'autre part, le temps de charge de la bobine requis. Et, lorsque ce rapport devient sensiblement égal à la vitesse de rotation du moteur mesurée, on démarre la charge de la bobine. On voit que le circuit de commande du signal d'allumage a donc besoin en continu, de la vitesse de rotation du moteur et de la position angulaire du vilebrequin pour évaluer, en fonction de l'avance à l'allumage souhaitée, s'il est temps ou non de démarrer la charge de la bobine. Puisque le capteur ne peut détecter que les passages devant lui des bords des dents de la couronne dentée, la position angulaire du vilebrequin ne peut effectivement être détectée qu'à chaque front montant ou descendant du signal du capteur. Les informations requises sur la position angulaire du vilebrequin et sur la vitesse de rotation ne sont donc mises à jour qu'au moment du passage desdits bords devant le capteur. La formule (1) ci-dessus est donc généralement recalculée une fois dans l'intervalle de temps entre les passages de deux dents successives devant le capteur. La Figure 2 met en évidence ces calculs successifs. Le tracé du bas représente le signal d'allumage, de manière identique à la figure 1. On y voit le déclanchement du temps de charge et l'étincelle d'allumage. Le tracé du haut représente le signal issu du 3 capteur de rotation du vilebrequin et fait apparaître (flèches verticales) les instants de calcul de la formule (1). La charge de la bobine pourra commencer dés que le calculateur prévu à cet effet aura déterminé que la formule (1) ci-dessus est satisfaite, et donc en général avant que le capteur ne fournisse l'information de passage de la dent suivant celle qui a provoqué le signal déclenchant la charge. Autrement dit encore, comme on le voit bien sur la figure 2, si, au moment du calcul courant, représenté par la dernière des flèches verticales, le début prévu de la charge de la bobine arrive à moins de une période de dent à partir de la position angulaire actuelle, alors la charge est programmée. Cette stratégie permet ainsi de pouvoir démarrer au plus tôt la charge de la bobine, en fonction des divers paramètres moteurs au moment du calcul. Typiquement, en fonction du nombre de dents de la couronne, le calcul peut être fait environ tous les 6 degrés d'angle de rotation. Toutefois, les calculs renouvelés très fréquemment, à chaque passage d'une dent devant le capteur, provoquent une forte charge de calcul pour le calculateur, alors même que nombre de calculs, et même la majeure partie, sont pratiquement inutiles. Parfois, le calcul n'est effectué que toutes les deux ou trois dents lorsque le régime moteur est élevé, par exemple supérieur à un seuil prédéterminé et/ou ajustable. Même dans ces conditions, la charge du calculateur demeure inutilement élevée par rapport aux besoins de calculs réellement nécessaires pour déterminer l'instant de début de charge. La présente invention a pour but de résoudre ces problèmes, et vise à permettre l'utilisation d'un calculateur de gestion de l'allumage moins performant sans pour autant réduire l'efficacité et la précision de la gestion de la charge de la bobine d'allumage. Elle vise plus particulièrement encore à permettre une réduction de la charge de calcul du calculateur en réduisant le nombre de calculs nécessaires effectués. Avec ces objectifs en vue, l'invention a pour objet un procédé de commande de l'allumage d'un moteur à essence selon lequel on utilise une stratégie telle que mentionnée ci-dessus. Selon l'invention, le procédé est caractérisé en ce qu'il comprend les étapes suivantes : A. détermination du moment û défini en angle de rotation du moteur û où le calcul de détermination de l'instant de début de charge doit être initié, ce moment étant la position angulaire où le vilebrequin se trouverait s'il lui restait à parcourir un angle égal à l'angle correspondant à la durée requise de charge de la bobine à la vitesse maximale que le moteur pourrait atteindre par une accélération maximale immédiate, B. initiation du calcul de détermination de l'instant de début de charge au moment défini à l'étape A. 4 Ainsi, au lieu d'effectuer un calcul à chaque passage d'une dent devant le capteur, ou au moins de manière fréquente et régulière pendant toute la durée de chaque cycle moteur, on évite de faire des calculs inutiles dans la partie du cycle suivant une génération de l'étincelle, et on reporte le moment ou le calcul suivant devra être effectué en tenant compte : - d'une part, de l'espace de temps restant avant qu'il y ait lieu de démarrer la charge de la bobine, à supposer que le moteur reste à même régime de rotation, d'autre part, du potentiel d'accélération du moteur avant l'instant d'allumage. En effet, on comprendra que, dans les moments suivants la production d'une étincelle, il est inutile de procéder à un calcul tel qu'expliqué précédemment, puisque celui-ci conduira logiquement à la conclusion qu'il n'est pas encore temps de démarrer la charge de la bobine. On peut donc a priori sans risques repousser le moment d'effectuer le calcul suivant de manière relativement importante, d'une durée notablement supérieure à la �période de dent� qui est la période de temps entre deux signaux successifs correspondant au passage de deux dents successives devant le capteur. Toutefois, on ne peut ainsi repousser ce moment de manière arbitraire, au risque d'arriver ainsi, suite à des variations de vitesse du moteur, à un moment où le temps restant pour recharger la bobine serait insuffisant pour que cette charge soit suffisante pour fournir l'énergie requise à l'étincelle. Les figures 3a et 3b illustrent les effets d'une variation de vitesse de rotation du moteur sur la position angulaire de début de charge, le tracé du haut (figure 3a) représentant le cas d'une décélération, le tracé du bas (figure 3b) représentant le cas d'une accélération. Comme on le comprendra au vu de ces figures, si le moteur se trouve en phase de décélération (figure 3a), le temps de charge correspond à un angle de rotation (et donc à un nombre de dents passant devant le capteur), qui diminue lorsqu'on se déplace vers l'angle d'étincelle. En phase d'accélération (figure 3b), c'est l'inverse qui se produit : le temps de charge correspond à un angle de rotation qui augmente lorsqu'on se déplace vers l'angle d'étincelle. En phase de décélération, il n'y a donc pas de risque que la variation de vitesse avance le moment, défini en termes d'angle de vilebrequin, où la charge de la bobine devra commencer. Par contre, en phase d'accélération, ce moment se rapproche, du fait que le temps de charge bobine nécessaire, en millisecondes, correspond en fait à un angle plus important, en degrés ou nombre de dents. On comprend ainsi que, pour assurer qu'il n'y ait pas de risque qu'un calcul de détermination du moment de démarrage de la charge de la bobine soit fait trop tard pour assurer une charge correcte de la bobine, l'invention prévoit de prendre en considération l'accélération maximale dont le moteur est capable pour déterminer lors de chaque calcul le moment où le calcul suivant doit être effectué. Selon l'invention, on détermine en fait le moment du calcul suivant de sorte qu'il soit avant le moment ultime ou la charge bobine devrait commencer, dans l'hypothèse où le moteur serait effectivement amené à son accélération maximale juste après le calcul en cours. On assure ainsi de manière sûre, puisque le moteur ne pourra jamais arriver au moment prédéterminé pour effectuer le calcul suivant, à une vitesse supérieure à celle permise par son accélération maximale, que le temps restant au dit moment prédéterminé, sera suffisant pour effectuer une charge complète de la bobine. Et cela sans qu'il ait été besoin de faire des calculs réguliers et fréquents sur toute la durée du cycle moteur. La charge du calculateur peut ainsi être fortement réduite par rapport à la stratégie selon l'art antérieur. Dans un mode de réalisation préféré, on détermine l'accélération maximale à partir d'un relevé expérimental indiquant les variations de vitesse possibles du moteur en fonction de la vitesse de rotation du moteur et de l'angle parcouru par le moteur à partir de la position angulaire courante du vilebrequin où une mesure de position est effectuée jusqu'à la suivante. Avantageusement, la variation de vitesse de rotation est approximée par n 20 fonctions linéaires pour n plages de régimes moteur données. Dans un mode de réalisation particulier détaillé dans la présente invention, deux plages de régimes moteur sont retenues, l'une à faible régime (moins de 800 tours/mn) et l'autre à régimes plus élevés. Lorsque le moteur est à basse vitesse, la variation de vitesse de rotation est avantageusement approximée par une fonction linéaire de type y = 25 a,x + b, où les paramètres a, et b sont déterminés par régression linéaire à partir du relevé expérimental. Lorsque le moteur est à haute vitesse, le moment du calcul suivant est déterminé en appliquant un coefficient a2 à la distance angulaire de charge courante, et en appliquant la nouvelle valeur ainsi obtenue dans la détermination de l'instant de début de charge. 30 Dans un mode de réalisation où la position angulaire du moteur est déterminée à chaque passage d'une dent d'une couronne liée au vilebrequin devant un capteur, si la position calculée du moment du calcul suivant se trouve à plus d'une dent dans le futur, alors le calcul suivant est effectivement programmé sur cette position, et si la position calculée du moment du calcul suivant se trouve à moins d'une dent alors le calcul suivant 35 est programmé lors du passage de la première dent suivante si le moteur est à faible vitesse ou de la deuxième dent suivante si le moteur est à haute vitesse. D'autres caractéristiques et avantages de l'invention apparaîtront dans la description qui va être faite d'un exemple de mise en oeuvre. On se reportera aux dessins annexés dans lesquels : - les figures 1 à 3b ont déjà été commentées, - la figure 4 illustre l'algorithme utilisé selon l'invention - la figure 5 est un graphique représentant la variation de la période de dent en fonction de l'angle entre deux moments de calcul, - la figure 6 illustre les résultats comparatifs obtenus par la mise en oeuvre de l'invention, en termes de charge du calculateur. L'invention repose notamment sur la prise en compte des capacités d'accélération du moteur au moment de chaque calcul. La capacité d'accélération maximale pourra notamment être évaluée par une cartographie ou un tableau de relevé expérimental définissant la capacité d'accélération en fonction notamment de la vitesse de rotation, et de l'angle parcouru par le moteur à partir de la position angulaire courante du vilebrequin où une mesure de position est effectuée jusqu'à la suivante. La capacité d'accélération, ou gradient de vitesse du moteur, pourra aussi être définie comme étant la variation en fonction du temps de la période entre deux signaux successifs correspondant au passage de deux dents successives devant le capteur, encore appelée � période de dent �. Cette variation de la période de dent en accélération maximale, en fonction de la vitesse du moteur et de la durée pendant laquelle cette variation peut se produire, peut notamment être déterminée par des essais et représentée par un tableau tel que le tableau 1 ci-dessous. Angle en degrés entre le point actuel de mesure de la période de dent et le suivant 720 360 240 180 120 90 60 48 30 18 12 6 1 00 0,2 0,4 0,4 0,4 0,5 0,5 0,5 0,5 0,6 0,7 0,8 0,8 E 200 0,4 0,4 0,4 0,5 0,5 0,5 0,5 0,5 0,6 0,7 0,8 0,8 o 500 0,5 0,6 0,6 0,6 0,7 0,6 0,7 0,6 0,8 0,8 0,9 0,9 800 0,7 0,8 0,8 0,8 0,8 0,8 0,8 0,8 0,9 0,9 0,9 0,9 o E a) 1000 0,8 0,8 0,8 0,9 0,8 0,9 0,9 0,9 0,9 0,9 0,9 0,9 1 500 0,9 0,8 0,9 0,9 0,9 0,9 0,9 0,9 0,9 0,9 0,9 0,9 Tableau 1 L'algorithme utilisé selon l'invention est illustré figure 4. Au moment to d'un calcul de détermination pour déterminer si la charge de la bobine doit ou non être démarrée, on calcule donc la position angulaire du vilebrequin qui correspondrait à la position de démarrage de la charge bobine dans l'hypothèse où le moteur serait soudainement porté à une accélération maximale. Pour ce calcul, on utilise l'angle d'étincelle ou angle d'avance à l'allumage requis, et l'angle D de rotation du vilebrequin qui correspond au temps de charge bobine à la vitesse actuelle du moteur. On calcule alors le moment M du prochain calcul de la manière suivante : Immédiatement après to, si l'accélération maximale est atteinte, la position angulaire du vilebrequin correspondant au démarrage de la charge se rapprocherait. Plus on retarde le moment prévu pour effectuer un calcul suivant, plus le moment de démarrage de la charge se rapproche, et il y a ainsi un instant où ces deux moments vont se rejoindre, et c'est à cet instant que le moment du prochain calcul va être programmé, ce moment correspondant sensiblement au moment ultime requis pour démarrer le charge de la bobine dans le cas où l'accélération maximale serait immédiatement atteinte. La détermination de l'accélération possible, qui est aussi la variation de la période de dent pré-mentionnée, pourrait donc être déduite du tableau 1. Toutefois, pour simplifier les calculs et éviter de provoquer une charge importante du calculateur, les inventeurs ont déterminé deux méthodes selon que le moteur est à basse vitesse (moins de 800 tours/minute environ dans l'exemple), ou à haute vitesse (au dessus de 800 tours/minute). Pour le fonctionnement à basse vitesse, la variation de la période de dent, qui correspond à la variation de vitesse de rotation, peut être approximée par une fonction linéaire de type y = a,x + b, où les paramètres a, et b sont déterminés par régression linéaire à partir des données d'essais telles que celles du tableau 1, et dont une représentation est donnée figure 5 à titre d'exemple. L'axe des abscisses représente l'angle entre deux calculs successifs (en degrés) et l'axe des ordonnées représente le facteur de décroissance de la période de dent, entre deux calculs successifs, en cas d'accélération maximale. En se reportant figure 4, on aura donc, avec x étant la distance angulaire jusqu'au prochain moment de calcul et (a,x + b)D - D représentant la variation de l'angle de charge, y = x+(a,x+b)DûD y+D(1ûb) d'où x = 1+ap Cette équation permet donc de calculer la distance x en angle de rotation du vilebrequin, de la position actuelle jusqu'au moment du calcul suivant, à partir de la 8 distance angulaire D correspondant au temps de charge requis et de la distance angulaire y jusqu'au démarrage de la charge, ces valeurs y et D étant les valeurs considérées au temps to. Pour le fonctionnement à plus haute vitesse, le moment du calcul suivant est déterminé en appliquant un coefficient a2 à la distance angulaire D courante, et en appliquant la nouvelle valeur ainsi obtenue dans le calcul de démarrage de la charge. Une fois effectuée la détermination du moment du prochain calcul, deux possibilités sont considérées : Soit la position ainsi calculée se trouve à plus d'une dent dans le futur, et alors le 10 calcul suivant est effectivement programmé sur cette position, Soit la position calculée est à moins d'une dent. Or comme aucune information de vitesse n'est disponible durant la durée d'une dent, alors la programmation d'un calcul à moins d'une dent est inutile. Donc, si le moteur est à basse vitesse (ce qui signifie qu'une forte accélération est possible), le calcul suivant est programmé lors du passage 15 de la première dent suivante. Si le moteur est à haute vitesse (ce qui signifie qu'aucune forte accélération n'est envisageable), le calcul suivant est programmé lors du passage de la deuxième dent suivante. A titre d'exemple, la mise en oeuvre de l'invention sur un moteur à quatre cylindres a permis d'obtenir, en terme de performance sur le gain de charge du calculateur, les résultats illustré dans le tableau 2 suivant et dans la figure 6, 20 comparativement à l'utilisation de l'algorithme selon l'art antérieur. Erreur angulaire Erreur maximum Charge maximum maximum d'angle de temps de du calculateur d'étincelle charge Algorithme 0,15° 8,6% 22% antérieur Algorithme selon 0.15° 18% 5% l'invention Tableau 2 La figure 6 représente la comparaison du pourcentage de charge du calculateur (en ordonnées), en fonction du régime moteur (en abscisses) pour un algorithme conforme à l'invention (A) et un algorithme de l'art antérieur (AA). 25 De tels gains en performances permettent soient de décharger le calculateur, soit d'utiliser un calculateur moins puissant, et donc moins coûteux, sans nuire à la performance globale. L'invention peut aisément être généralisée à plus de deux plages de régimes (cas de figure illustré précédemment). Ainsi, si n plages de régimes moteur peuvent être associées à n fonctions linéaires, alors il est possible d'utiliser une approximation de la variation de la vitesse de rotation la plus appropriée en fonction de la plage de régime moteur dans laquelle le moteur se trouve. Le choix du moment M du calcul de détermination de l'instant de début de charge peut alors être optimisé et la charge du calculateur encore restreinte. REVENDICATIONS 1. Procédé de commande de l'allumage d'un moteur à essence comportant une bobine d'allumage générant une étincelle à une bougie, selon lequel on détermine pour chaque cycle moteur l'instant de début de charge de la bobine en fonction de la position angulaire du vilebrequin et de la vitesse de rotation du moteur, en calculant le rapport entre, d'une part, l'angle de rotation de vilebrequin restant à parcourir avant que le vilebrequin atteigne la position angulaire où l'étincelle d'allumage doit se produire et, d'autre part, le temps de charge de la bobine requis et, lorsque ce rapport devient sensiblement égal à la vitesse de rotation du moteur mesurée, on démarre la charge de la bobine, caractérisé en ce qu'il comprend les étapes suivantes : A. détermination du moment M ù défini en angle de rotation du moteur ù où le calcul de détermination de l'instant de début de charge doit être initié, ce moment étant la position angulaire où le vilebrequin se trouverait s'il lui restait à parcourir un angle égal à l'angle D correspondant à la durée requise de charge de la bobine à la vitesse maximale que le moteur pourrait atteindre par une accélération maximale immédiate, B. initiation du calcul de détermination de l'instant de début de charge au moment M défini à l'étape A. 2. Procédé selon la revendication 1, caractérisé en ce qu'on détermine l'accélération maximale à partir d'un relevé expérimental indiquant les variations de vitesse possibles du moteur en fonction de la vitesse de rotation du moteur et de l'angle parcouru par le moteur à partir de la position angulaire courante du vilebrequin où une mesure de position est effectuée jusqu'à la suivante. 3. Procédé selon la revendication 2, caractérisé en ce que la variation de vitesse de rotation est approximée par n fonctions linéaires pour n plages de régimes 25 moteur données. 4. Procédé selon la revendication 3, caractérisé en ce que n = 2. 5. Procédé selon la revendication 4, caractérisé en ce que, lorsque le moteur est à basse vitesse, la variation de vitesse de rotation est approximée par une fonction linéaire de type y = a,x + b, où les paramètres a, et b sont déterminés par 30 régression linéaire à partir du relevé expérimental. 6. Procédé selon la revendication 5, caractérisé en ce qu'il est appliqué pour une vitesse de rotation du moteur inférieure à 800 tours/mn. 7. Procédé selon la revendication 4, caractérisé en ce que, lorsque le moteur est à haute vitesse, le moment du calcul suivant est déterminé en appliquant un 35 coefficient (a2) à la distance angulaire de charge (D) courante, et en appliquant la nouvelle valeur ainsi obtenue dans la détermination de l'instant de début de charge. 11 8. Procédé selon la revendication 7, caractérisé en ce qu'il est appliqué pour une vitesse de rotation du moteur supérieure à 800 tours/mn. 9. Procédé selon la revendication 5 ou 7, caractérisé en ce que, la position angulaire du moteur étant déterminée à chaque passage d'une dent d'une couronne liée au vilebrequin devant un capteur, si la position calculée du moment du calcul suivant se trouve à plus d'une dent dans le futur, alors le calcul suivant est effectivement programmé sur cette position, et si la position calculée du moment du calcul suivant se trouve à moins d'une dent alors le calcul suivant est programmé pour lors du passage de la première dent suivante si le moteur est à faible vitesse ou de la deuxième dent suivante si le moteur est à haute vitesse.