FR 2731567 A1 19960913 FR 9601674 A 19960212 1 2731567 La présente invention concerne un procédé et un dispositif pour commander un moteur pas à pas utilisé dans un indicateur de véhicule ou un système de commande du papillon des gaz. On a utilisé des moteurs pas à pas pour entraîner des indicateurs de vitesse et tachymètres dans les véhicules. Par exemple, la publication non examinée du modèle d'utilité japonais Sho 64-6556 propose un instrument d'indication commandé par un moteur pas à pas devant être installé dans un indicateur de vitesse ou un tachymètre pour véhicule. Lorsque le moteur pas à pas de l'instrument d'indication décrit dans cette publication met en rotation un indicateur en réponse à des signaux impulsionnels représentant la vitesse du véhicule ou analogue, la fréquence du signal est modulée avec le nombre des pas de rotation du moteur pas à pas dans une période T fixe afin d'égaliser le temps de commande du moteur pas à pas, ce qui a pour effet de réguler la rotation de l'indicateur. Cependant, dans l'instrument d'indication classique ci-dessus, étant donné que le moteur pas à pas est entraîné conformément au nombre des pas de rotation pendant une période T fixe, le nombre des pas de rotation est calculé seulement pendant chaque période fixe même lorsqu'il y a application de nombreuses impulsions au moteur pas à pas en cas d'accélération rapide ou analogue. S'il y a un changement de la vitesse du véhicule important pendant la période T, l'indicateur ne peut donner opportunément la vitesse précise du véhicule. Plus la longueur de la période T est grande, plus l'indicateur est en retard. De plus, si la vitesse du véhicule change très lentement et que l'intervalle entre deux impulsions du signal impulsionnel de commande devient supérieur à la période T, l'impulsion de commande n'est pas appliquée au moteur pas à pas en temps opportun et l'est à un autre instant. Il en résulte que l'indicateur reste immobile un moment et tourne à un autre instant, ce qui 2 2731567 se traduit par un mouvement malencontreux de l'indicateur. Compte-tenu de ce qui précède, la présente invention a pour objet principal de fournir un procédé et un dispositif pour commander un moteur pas à pas de façon que le moteur puisse tourner régulièrement en réponse aux largeurs des impulsions d'un signal impulsionnel de commande qui lui est appliqué sans retard même lorsque la période du cycle du signal change rapidement. La présente invention a pour autre objet de fournir un procédé pour commander un moteur pas à pas. Il en résulte que, lorsqu'un signal impulsionnel est appliqué au dispositif, la largeur des impulsions du signal est continuellement détectée et la largeur de l'impulsion suivante est estimée par calcul à partir de la largeur de l'impulsion présente et de celle de l'impulsion précédente en synchronisme avec le signal impulsionnel de façon à calculer une position de consigne ou un nombre de consigne de pas de déplacement du moteur pas à pas. Alors, le temps d'entraînement pour chaque pas de déplacement du moteur est calculé en synchronisme avec le signal impulsionnel à partir de la largeur de l'impulsion suivante et du nombre de pas de consigne. Comme le moteur pas à pas est entraîné conformément à la largeur estimée des impulsions et au minutage pré-donné de la commande, le moteur peut être entraîné régulièrement sans retard. La présente invention sera bien comprise lors de la description suivante faite en liaison avec les dessins ci-joints, dans lesquels: La figure 1 est un schéma sous forme de blocs d'un dispositif de commande d'indicateur de vitesse selon un mode de réalisation préféré de la présente invention; La figure 2 est une vue avant d'un indicateur de vitesse pour véhicule; 3 2731567 La figure 3 est une vue de côté en coupe, à grande échelle, d'une partie de l'indicateur de vitesse, prise le long des lignes III-III de la figure 2; La figure 4 est un organigramme représentant le fonctionnement du dispositif de commande du mode de réalisation préféré de la présente invention; et La figure 5A est un graphique de la relation entre un signal impulsionnel et la vitesse du véhicule; La figure 5B est un graphique de la relation entre le nombre des impulsions et les angles de rotation d'un indicateur; et La figure 5C est un graphique d'une forme d'onde du courant de commande d'un moteur pas à pas. En figure 1, un dispositif de commande est constitué principalement d'un micro-ordinateur 13 qui comprend une unité centrale de traitement 1, une mémoire morte 2, une mémoire vive 3 et des circuits d'entrée/sortie 4 et 4'. L'unité centrale de traitement 1 est reliée à une batterie 19 par l'intermédiaire d'un régulateur de tension 20, et à un capteur de vitesse 5 par l'intermédiaire du circuit d'entrée/sortie 4 et à une bobine d'allumage 21 par l'intermédiaire du circuit d'entrée/sortie 4'. La bobine d'allumage 21 envoie un signal de marche à l'unité centrale de traitement 1 lorsqu'elle est excitée. Le capteur de vitesse de véhicule 5, qui est un générateur de signal bien connu qu'on emploie pour un indicateur de vitesse et/ou un système automatique de transmission du couple, produit un signal de vitesse de véhicule qui présente une largeur des impulsions correspondant à la vitesse du véhicule, et envoie le signal impulsionnel au circuit d'entrée/sortie 4. L'unité centrale 1 est également reliée à un moteur pas à pas 7 par l'intermédiaire d'un circuit d'attaque 6. Le moteur pas à pas 7 est fixé à une plaquette 16 qui est disposée à l'intérieur d'un indicateur de vitesse 10. Un cadran 9 est fixé à l'avant du moteur pas à pas 7 via un élément de raccordement 14 comme représenté en figure 2 et en figure 3. Le cadran 9 4 2731567 présente un trou central dans lequel est inséré l'arbre tournant 15 du moteur 7 pour porter le support 11 d'une aiguille 8 à l'une de ses extrémités. Une butée 12 est disposée à la position zéro du cadran 9. L'unité centrale 1 mesure la largeur des impulsions du signal de vitesse du véhicule, calcule le nombre des pas de déplacement du moteur pas à pas 7 pour passer d'une position rotationnelle présente à une position rotationnelle de consigne sur la base de programmes préalablement stockés dans la mémoire morte 2. La mémoire vive 3 comporte une multitude de zones pour le stockage de données, telles qu'une zone de largeurs d'impulsions afin de stocker des données de la largeur des impulsions du signal de vitesse du véhicule dans l'ordre de réception, une zone de positions pour stocker la donnée de la position rotationnelle du moteur (ou position de l'indicateur) qui correspond à la largeur stockée des impulsions, une zone de largeurs d'impulsions suivantes pour stocker la donnée de la largeur estimée des impulsions, une zone de positions estimées pour stocker la donnée de la position suivante, une zone de positions de consigne pour stocker la donnée de la position de consigne du moteur pas à pas 7 ou de l'indicateur 8 et une zone de positions présentes pour stocker la donnée de la position courante du moteur pas à pas 7. On décrira maintenant le fonctionnement du dispositif de commande selon le mode de réalisation préféré en liaison avec l'organigramme de la figure 4 et les graphiques des figures 5A, 5B et 5C. Lorsque l'unité centrale de traitement 1 est mise en marche, une étape 100 est exécutée pour initialiser des registres respectifs, la mémoire vive 3, etc. Alors, l'unité centrale 1 vérifie (étape 110) si un front d'impulsion existe ou non dans le signal de vitesse du véhicule transmis à partir du capteur de vitesse de véhicule 5. Si ce front existe, l'unité 1 passe à l'étape 120 suivante, dans laquelle la largeur 2731567 de l'impulsion ou le temps entre le front de l'impulsion précédente et le front de l'impulsion présente (étape ) est mesuré et stocké comme l'une des données dans la mémoire vive 3. Par exemple, le temps mesuré ou la largeur de l'impulsion à stocker dans la zone des largeurs d'impulsion de la mémoire vive 3 est t3 comme indiqué en figure 5A. La zone des largeurs d'impulsion stocke aussi la largeur t2 de l'impulsion précédente et la largeur t1 de l'impulsion avant la largeur de l'impulsion précédente t2 dans l'ordre du temps, et la donnée est renouvelée et stockée chaque fois qu'il y a détection du front d'une nouvelle impulsion. Des données d'une largeur de quatre impulsions (tl à t4) sont stockées dans ce mode de réalisation; cependant, on peut stocker n'importe quel nombre de données. Alors, l'unité centrale 1 calcule une position de consigne (nombre de pas de déplacement) de l'indicateur 8 ou du moteur pas à pas 7 sur la base de la donnée t3 relative à la largeur d'impulsion et stocke la position de consigne dans la zone des positions de consigne de la mémoire vive 3. La donnée t2 de la largeur de l'impulsion précédente et la donnée t1 avant la donnée précédente sont également stockées dans la zone des positions. Une largeur estimée t4, ou largeur de l'impulsion suivante, est calculée par l'équation suivante dans une étape 140: t4 = t2 - (tl - t3)/2. Plus précisément, la largeur t4 de l'impulsion suivante est calculée à partir de la largeur t2 de l'impulsion précédente et de la moitié de la différence entre la largeur tl et la largeur t3. La donnée de position ou le nombre des pas du moteur 7 est calculé à partir de la largeur t4 de l'impulsion suivante et est stocké dans la zone des positions estimées de la mémoire vive 3. 6 2731567 Une position de consigne de l'indicateur 8 ou nombre de consigne des pas du moteur 7 est calculé à partir de la donnée de position estimée dans une étape 150. Plus précisément, une position de consigne, ou nombre de consigne des pas, du moteur 7 est calculé à partir de la valeur moyenne des quatre données de position correspondant aux données des largeurs stockées tl, t2 et t3 et de la donnée estimée t4. Alors, une donnée de position présente (nombre des pas entre la position zéro et la position présente), qui est stockée dans la zone des positions présentes de la mémoire vive 3, est soustraite de la position de consigne ci-dessus, d'o l'obtention du nombre des étapes de déplacement du moteur pas à pas dans une étape 160. L'unité centrale 1 calcule alors une durée de commande pour chaque pas à partir de l'équation suivante: durée de commande = largeur d'impulsion estimée t4 nombre présent des pas X coefficient de retard, dans laquelle le coefficient de retard est un nombre réel supérieur à 1. Le coefficient de retard empêche l'immobilisation de l'indicateur en multipliant le nombre supérieur à 1 par la largeur t4 de l'impulsion lorsqu'une impulsion du signal de vitesse de véhicule est appliquée ultérieurement à un temps estimé. L'indicateur peut être immobilisé par ailleurs à une position estimée. L'unité centrale 1 démarre une minuterie dans une étape 180 jusqu'à ce que le temps de commande calculé dans une étape 170 soit écoulé. Alors, l'unité 1 passe à une étape 190 et fournit au circuit d'attaque 6 un courant d'attaque représenté en figure 5C pour que le moteur 7 se déplace d'un pas. La donnée de position présente est renouvelée dans cette étape et est stockée dans la zone des positions présentes de la mémoire vive 3. 7 2731567 L'unité centrale 1 constate si la position rotationnelle présente du moteur pas à pas 7 se trouve à la position de consigne ou non dans une étape 200. Si la position présente ne se trouve pas à la position de consigne le programme revient à l'étape 180. Ainsi, le moteur pas à pas 7 est entraîné d'un pas qui correspond à un angle de 1,5 ou 1,5 km/h par exemple, car chacun des temps de commande s'écoule jusqu'à ce que la positon présente arrive à la position de consigne. Si la vitesse du véhicule passe de 33 km/h à 36 km/h entre l'instant avant l'instant précédent et le temps précédent et de 36 km/h à 45,5 km/h entre l'instant précédent et l'instant présent, le moteur pas à pas est entraîné de deux pas pendant le temps t2, et est entraîné de trois pas pendant le temps t3 comme représenté en figures 5A et 5B. Ainsi, si la vitesse du véhicule passe de 40,5 km/h à 46,5 km/h pendant le temps t3, le moteur 7 est entraîné de quatre pas. La figure 5B représente la relation entre l'angle de rotation du moteur 7 et le nombre des impulsions qui lui sont appliquées. La figure 5C représente une forme d'onde du courant d'attaque du moteur pas à pas 7. On remarquera que la fréquence change avec le nombre des impulsions du signal de vitesse de véhicule ou avec le nombre des pas de déplacement. Plus précisément, le moteur pas à pas est attaqué par un courant alternatif dont le cycle est modulé conformément au nombre des impulsions ou des pas de déplacement. Lorsque la position présente arrive à la position de consigne dans l'étape 200, l'unité centrale 1 passe à une étape 210, dans laquelle il y a vérification du fait que le front de l'impulsion d'un nouveau signal de vitesse de véhicule existe ou non. Si ce front existe, l'unité centrale 1 revient à l'étape et les étapes suivantes qu'on a décrites ci-dessus sont exécutées pour calculer une nouvelle position de consigne et un nouveau temps d'attaque conformément à 8 2731567 une nouvelle largeur d'impulsion estimée t4 et à un nombre de consigne des pas de déplacement. Si le front d'impulsion n'est pas trouvé pendant le temps fixe, l'unité centrale 1 passe de l'étape 210 à une étape 220 et la vitesse du véhicule est considérée comme nulle. Si la vitesse du véhicule est nulle, l'étape suivante 230 suit et le moteur pas à pas 7 revient à la position zéro, ramenant l'indicateur à la position zéro. Ainsi, le temps d'attaque pour un pas du moteur pas à pas est calculé d'après la donnée de position estimée, laquelle est calculée à partir de la donnée de largeur d'impulsion de l'instant précédent, de l'instant avant l'instant précédent et de l'instant présent de sorte que l'indicateur peut être placé à une position estimée ou à une position suivante à un instant estimé. Il en résulte que, lorsque le signal de l'impulsion suivante de la vitesse du véhicule est appliqué à partir du capteur de vitesse 5, le moteur pas à pas 4 peut se déplacer jusqu'à la position rotationnelle qui correspond à la largeur calculée de l'impulsion sans immobilisation de l'indicateur 8. Le moteur 7 est entraîné d'un pas pendant une impulsion en synchronisme avec le signal de vitesse du véhicule pendant le temps d'attaque qui est déterminé en fonction du nombre des pas dans chaque largeur d'impulsion du signal de vitesse du véhicule de sorte que l'indicateur peut tourner sans immobilisation, d'o l'amélioration du temps de réponse de l'indicateur même en cas de changement du temps du cycle du signal de vitesse du véhicule. La largeur d'impulsion estimée t4 est calculée conformément aux trois données sur la largeur des impulsions t1, t2 et t3 dans le mode de réalisation ci-dessus; cependant, elle peut être obtenue à partir des deux données sur les largeurs t2 et t3 grâce à l'équation suivante: t4 = t2 X t3 / (2 t2 - t3). 9 2731567 Comme t4 est calculé à partir de deux données de largeur d'impulsion, le temps de calcul est réduit. Le temps d'attaque peut être calculé à partir de la largeur d'impulsion présente t3 sans autre donnée précédente. Par exemple, après calcul du nombre des pas correspondant à la largeur d'impulsion t3, chaque temps d'attaque pour chaque pas est obtenu en divisant la largeur t3 par le nombre des pas. Bien que le temps d'attaque ne soit pas aussi précis que celui obtenu par les calculs précédents, le temps d'attaque pour un pas du moteur 7 peut être commandé conformément à la largeur des impulsions du signal impulsionnel de vitesse du véhicule, et le nombre et la durée de l'immobilisation peuvent être réduits. Le mode de réalisation de la présente invention peut être utilisé pour un système de commande du papillon des gaz d'un moteur, dans lequel une position de consigne de la soupape est calculée et le nombre des pas et du temps d'attaque du moteur pas à pas sont calculés à partir des données sur la position présente et la position de consigne pour commander un moteur pas à pas conformément à l'action exercée sur la pédale d'accélérateur. Il en résulte que le papillon des gaz peut être commandé de façon précise et régulière. La présente invention n'est pas limitée aux exemples de réalisation qui viennent d'être décrits, elle est au contraire susceptible de modifications et de variantes qui apparaîtront à l'homme de l'art. 2731567 REVENDICATIONS 1 -Procédé pour commander un moteur pas à pas (7) qui fait tourner un arbre (15) conformément à la largeur d'impulsion d'un signal extérieur, caractérisé en ce qu'il comprend les étapes consistant à: - détecter continuellement une largeur d'impulsion présente du signal extérieur; calculer, en synchronisme avec le signal extérieur, la largeur d'impulsion suivante à partir de la largeur d'impulsion présente; - calculer une position de consigne o l'arbre du moteur passe de la largeur d'impulsion présente à la largeur d'impulsion suivante; - calculer la position présente à partir de la largeur d'impulsion présente; - calculer, en synchronisme avec le signal extérieur, le nombre des pas de déplacement de l'arbre du moteur à partir de la position présente et de la position de consigne; - calculer le temps d'attaque de chaque pas de l'arbre du moteur à partir de la largeur d'impulsion suivante et du nombre des pas de déplacement; et - commander l'arbre du moteur conformément au temps d'attaque et au nombre des pas de déplacement. 2 - Dispositif pour commander un moteur pas à pas (7) qui fait tourner un arbre (15) conformément à la largeur d'impulsion d'un signal extérieur, caractérisé en ce qu'il comprend: - un moyen (1, 5) pour détecter la largeur d'impulsion du signal extérieur; - un moyen (3) pour stocker une multitude de largeurs d'impulsion comme données, dans l'ordre du temps; un moyen (1) pour calculer la largeur d'impulsion suivante du signal extérieur à partir de la donnée stockée de la largeur d'impulsion; 11 2731567 - un moyen (1) pour calculer la donnée de position présente à partir de la donnée stockée de la largeur d'impulsion; - un moyen (1) pour calculer, en synchronisme avec le signal extérieur, le nombre des pas de déplacement de l'arbre du moteur dans la largeur de l'impulsion suivante à partir de la donnée de position présente et de la largeur de l'impulsion suivante; - un moyen (1) pour calculer le temps d'attaque de chaque pas de déplacement de l'arbre du moteur à partir de la largeur de l'impulsion suivante et du nombre des pas de manière à entraîner l'arbre du moteur à des intervalles égaux; et - un moyen (1, 6) pour entraîner l'arbre du moteur en conformité avec le temps d'attaque et le nombre des pas. 3 - Dispositif selon la revendication 2, caractérisé en ce que le moyen de calcul de la largeur d'impulsion suivante comprend un moyen pour se rapprocher de la donnée stockée de la largeur d'impulsion avec une fonction linéaire et un moyen pour calculer la largeur d'impulsion suivante sur la base de cette fonction linéaire. 4 - Procédé selon la revendication 1, caractérisé en ce que l'étape de calcul de la largeur d'impulsion suivante comprend une étape de calcul de la largeur d'impulsion suivante t4 sur la base de l'équation suivante: t4 = t2 - (t1 - t3)/2 dans laquelle t3 est une largeur d'impulsion présente, t2 une largeur d'impulsion précédente, et tl une largeur d'impulsion avant la largeur d'impulsion précédente. - Procédé selon la revendication 1, caractérisé en ce que l'étape de calcul de la largeur d'impulsion suivante comprend une étape de calcul de la largeur d'impulsion suivante t4 sur la base de l'équation suivante: 12 2731567 t4 = t2 X t3 / (2 t2 - t3). dans laquelle t3 est une largeur d'impulsion présente, t2 une largeur d'impulsion précédente et t1 une largeur d'impulsion avant la largeur d'impulsion précédente. 6 - Procédé selon la revendication 1, caractérisé en ce que l'étape de calcul de la largeur d'impulsion suivante comprend une étape de multiplication d'une largeur d'impulsion obtenue sur la base de la largeur d'impulsion présente, de la largeur d'impulsion précédente et de la largeur d'impulsion avant la largeur d'impulsion précédente par un coefficient supérieur à 1. 7 - Procédé selon l'une des revendications 4 et 5, caractérisé en ce que l'étape de calcul de la largeur d'impulsion suivante comprend une étape de multiplication de la largeur d'impulsion t4 par un coefficient supérieur à 1. 8 - Dispositif pour commander un moteur pas à pas (7) qui fait tourner un arbre, le moteur (7) comprenant une unité de commande de l'arbre du moteur, caractérisé en ce qu'il comprend les étapes consistant a: mesurer continuellement la largeur d'impulsion d'un signal extérieur; calculer, en synchronisme avec ce signal extérieur, le nombre des pas pour que l'arbre du moteur tourne suivant un angle correspondant à cette largeur d'impulsion à partir de la largeur d'impulsion mesurée; - calculer le temps d'attaque de chaque pas de l'arbre du moteur à partir du nombre de pas; et - commander l'arbre du moteur conformément au temps d'attaque.