FR 2595461 A1 19870911 FR 8603029 A 19860304 Procédé de repérage angulaire d'une machine tournante L'invention se rapporte à un procédé de repérage angulaire d'une machine tournante utilisant au moins un capteur disposé en regard d'une piste codée en informations binaires. I I existe déjà des codeurs angulaires donnant l'angle sous forme binaire. Dans le cas d'un code à 8 bits on peut ainsi coder jusqu'à 256 valeurs d'angle. Cette méthode nécessite généralement 8 capteurs en regard de 8 pistes.Lecode le plus souvent utilisé est le code Gray qui permet de ne commuter qu'un seul bit à la fois. Si on veut n'utiliser qu'un seul capteur, une solution simple utilisée pour le contrôle de l'allumage des moteurs consiste à particulariser un repère par tour et à compter entre chaque tour les autres reperdes. Il suffit donc pour repérer N va- leurs angulaires par tour d'utiliser une fois le code zéro et N-l fois le code 1 et de compter les codes 1, par exemple avec un compteur binaire remis à zéro à cha que rencontre du code zéro. Ce procédé de repérage est très simple mais il présente l'inconvénientd'exi- ger pour son initialisation un parcours partiei d'un tour et pour une vérification un tour -entier supplémentaire. Le but de l'invention est de remédier à ces inconvénients grâce à un mode de codage permettant une initialisation rapide et une vérification simple. Le Le procédé de repérage selon l'invention est donc du type dans lequel les N valeurs angulaires s'obtiennent par lecture et mémorisation d'un nombre donné n de bits et il se caractérise en ce que chaque bit lu et mémorisé correspond à une position angula;re définie par un code unique constitué par ce bit et les n - 1 bits précédemment lus par le capteur, N étant inférieur ou égal à 2 puissance n. De préférence l'établissement du code binaire utilisé comporte les étapes suivantes . initia;isation d'un premier code sur n bits recherche des fonctions s'exprimant sous la forme d'un ou exclusif entre le premier bit du code précédent et une fonction des bits suivants de ce code . sélection de celles de ces fonctions pour lesquelles chaque itération fournit un bit tel que les n derniers bits correspondent à une valeur nouvelleet redonnent après N itérations le code initial. Pour le décodage on élabore un signal d'horloge dont la fréquence est fonction de la vitesse de rotation de la machine tournante. Il est avantageux de dériver ce signal d'horloge du signal recueilli par un capteur unique lisant le code de la piste codée. Dans certains cas il peut être intéressant d'utiiiser à cet effet un capteur supplémentaire lisant les informations d'une piste auxiliaire comportant des-zones identiques disposées de façon équidistante et dont le nombre est égal au nombre de bits à lire à chaque tour. D'autres caractéristiques de l'invention apparaitiont à la lecture de la description illustrée par les figures suivantes Figure 1 Schéma général de principe d'une roue et d'un capteur utilisant le procédé selon l'invention. Figure 2 Schéma d'une roue dentée et d'un capteur pour la mise en oeuvre de l'invention. Figures 3 a. 5 Flux, signal recueilli et code lu par le capteur de la figure 2. Figure 6 Schéma d'une roue à aimants polarisés et d'un capteur pour la mise en oeuvre de l'invention. Figure 7 Schéma d'un matériel de décodage. Figure 8 Schéma d'utilisation d'un microprocesseur pour le décodage. Figure 9 Schéma d'un codage optique à 2 pistes. Figure 10 Schéma d'un codage optique à 1 piste type code à barres. La solution optimale pour coder par exemple 256 valeurs consisterait à obtenir directement après 8 lectures un code 8 bits correspondant à unangle.Pour mieux faire comprendre l'invention on exposera d'abord le cas simple de 8 valeurs codées par 3 bits. Les 8 valeurs binaires possibles sont donc 000 001 010 011 100 101 110 111 correspondant aux valeurs décimales 0 à 7. Le code doit être tel que sur un tour les trois derniers bits lus donnent un code de 0 à 7 et que chaque code ne soit présent qu'une fois. Une solution possible pour 8 valeurs est représentée en figure 1 sur la piste circulaire de la roue 1 disposée en regard d'un capteur 2 et entrainée par la machine tournante non représentée. La séquence des 3 derniers bits lus est la suivante 0t)0 001 011 111 110 101 010 10G On va maintenant exposer le mode général d'établissement du code binaire utilisé par l'invention au codage de 2 puissance n valeurs obtenues à partir des n bits précédents notés b1 à bn.A partir d'un code initial, par exemDle les n premiers bits nuls, on génère le bit suivant comme étant une fonction des n bits précédents possédant les propriétés suivantes - chaque itération fournit un bit tel que les n derniers bits correspondent à une valeur nouvelle - après 2.puissance n itérations on retrouve le code initial. Pour simplifier l'expose sans que ce soit limitatif on va maintenant se référer au codage de 2 puissance 5 soit 32 valeurs obtenues à partir des 5 bits précédents. Les notations utilisées sont les suivantes . barre pour la coniplémentation . + pour le OU . Q pour le OU exclusif . {fun} pour la suite des termes f (n) = fn Les solutions de codage possibles sont exprimables sous la forme d'une fonction binaire b fonction du nombre n formé par les 5bitsprécédents. Chacun des 32 nombres sera suivi d'un 1 ou d'un 0 et le nombredesfonctionspossibles est 2 puissance 32 soit plus de 4 milliards.Chaque fonction est parfaitement décrite n si on indique pour chacune des 32 valeurs de (ii à 31 le bit suivant b = f (bl, b2, b3, b4, b5). On peut la représenter sous la forme d'une suite{fn}= f (n) ou n prend successivement les valeurs de I à 31 Pour limiter le travail d'exploration des fonctions on ne considèrera que les fonctions du type b = bl Q g (b2, b3, b4 b5) Les fonctions g (b2, b3, b4, b5) sont au nombre de 2 puissance2puissance4soit 65.536. Cette fonction g peut aussi s' exprimer sous la forme d'une suite zone = g (n) où n varie de à 15. L'exploration systématique sur un miniordinateur de toutes les solutions gn permet de trouver 2048 solutions différentes répondant aux critères fixés précédemment. La suite fn s'exprime simplement en fonction de Sn: n # 15 fn = f (0, b2, b3, b4, b5) = 0 # g.(b2, b3, b4, b5) = gn n > 15 fn = f (l, b2 b b4 b5) = 1 0 9 (b2, t3, b4, b5) = gn - 16 La suite {fn} s'obtient par la juxtaposition de la suite gn suivie de la suite complémentée . Exemple de solution: {fn} = 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 le codage Cn qui en découle est: {Cn} = 1 1 1 1 1 0 1 1 0 0 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 1 1 0 0 0 0 0 Les fonctions gn et fn peuvent s'exprimer différemment {gn} = 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 a) g = ( 10 + 13 + 14 b) g = ( 1 0 1 0 + 1 1 1 0 1 + 1 1 1 0 c) g = ( b2 b3- b4 b5- + b2 b3 b4-b5 + b2 b3 b4 b5- ) La présentation a) veut dire que g est égal a un si n vaut 10 ou 13 ou 14, et donc gn = 1 si n est différent de 10, 13 ou 14. La présentation b) veut dire que g est différent si n est différent de 10, 13 ou 14 exprimés en binaire. La présentation c) est la plus mathématique. La fonction f exprimée de cette façon est: f = b1 # (b2 b3- b4 b5- + b2 b3 b4- b5 + b2 b3 b4 b5-) II est possible aussi de coder un nombre de valeurs qui n'est pasune puissance de 2. On recherchera alors des solutions correspondant à la puissance de 2 immédia- tement supérieure. Seule une partie des codes est utilisée. Par exemple 58 valeurs codées sur 6 bits laissant 64-58 soit 6 codes non utilisés: {fn}= 1111111111101101111100001001100100000000000100100000111101100110 {Cn}= 1111110110100101010000101100010011100110010001101111000000 Plusieurs modes de réalisation sont possibles pour effectuer le codage physique d'une roue destinée à la mise eri oeuvre d'un procédé de repérage conforme à l'invention.Dans le cas d'une roue dentée on réalisera deux types de dents différenciées soit par leur forme soit par leur matière de sorte que les différences puissent être détectées par un capteur à réluctance variable. Un exemple d'une telle denture apparaît en figure 2 sur laquelle les dents sont représentées développées. Les dents présentent soit une rampe montante 3, soit une rampe descendante 4. Les variations du flux sont représentées en figure 3 et le signal recueilli par le capteur 2 en figure 4. Les fronts descendants 5 du signal correspondant aux maxima de flux 6 et donc aux sommets 7 des dents sont pratiquement inchangés. Par contre les fronts montants 8 sont déplacés. En échantillonnant le signal binaire dér-ivé des passages à 0 (figure 5) au milieu de deux fronts descendants on discrimine donc le cas de la rampe montante de celui de la rampe descendante. Le code réalisé correspond à celui de la figure 1. Dans un autre mode de réalisation (figure 6) le codage binaire est obtenu par des aimants polarisés soit nord-sud, soit sud-nord. La roue 1 est en matériau ama magnétique tel que duraI ou plastique dans lequel sont insérés des aimants la susceptibles d'être détectés par le capteur à effet Hall 2. Le code réalisé correspond également à celui de la figure 1 (code 0 lorsque le capteur 2 voit un pôle sud). Le décodage des signaux lus par le capteur peut s'effectuer soit par un matériel spécifique soit par un microprocesseur. Une réalisation possible par matériel, représentée en figure 7, comporte un registre à décalage9 de n bits et une mémoire morte 12 programmée en transcodage. Le registre à décalage reçoit en 10 les bits détectés et en 11 un signal d'horloge de fréquence déterminée par celle du signal (par exemple : fronts descendants du signal de la figure 5). Les n sorties B1 à Bn du registre 9 déterminent une adresse de la mémoire 12 contenant le code binaire correspondant. Dans le cas où n est égal à 8, le registre à décalage peut être un circuit CMOS et la mémoire 12 une mémoire programmable 2716 de la Société INTEL dont on utilise les 8 bits d'adresses de poids faibles, les autres bits étant mis à la masse. Le code correspondant s'affiche en sortie sur les bits de données Do à Dn - 1. Une realisation équivalente pour 256 valeurs codées sur 8 bits par microprocesseur du type 6805 P2 distribué en France par MOTOROLA est représentée en figure 8. A chaque signal d'horloge arrivant à l'entrée IRQ du microprocesseur 13 par la ligne 15, celui-ci exécute un sous-programme d'interruption. Le signal à décoder est reçu par la ligne 14 en PAO. Le sous-programme d'interruption est le suivant BRSET O, PORTA, LABEL ; mise à la valeur de PAO du bit de retenue LABEL ROR CODE ; décalage du code d'un rang avec introduction du bit de retenue LDX CODE LDA TABLE, X ; appel de la table de conversion STA PORT B ; affichage sur le pont B RUT 1 ; fin d'interruption On peut aisément vérifier à l'aide de la table que le nouveau bit est bien celui attendu ce qui permet de contrôler facilement la cohérence des informations. Dans ce qui précéde on a supposé qu'il n'y avait qu'une seule piste et un seul capteur et que le signai d'horloge était dérivé du signal recueilli par ce capteur unique. Bien entendu on peut appliquer l'invention au cas utilisant une piste et un capteur supplémentaires pour élaborer le signal d'horloge. Un exemple de pistes pour capteur optique (non représenté) a été schématisé sur la figure 9. Les pistes 16 (signal d'horloge) et 17 (signal code) présentent des zones noires ou blanches. Les zones noires et blanches de la piste auxiliaire 16 sont identiques et disposées de façon équidistantes. Un autre exemple de pistes pour capteur optique unique est représenté en figure 10. La piste unique 18 comporte des zones analogues à cel les que l'on rencon- tre sur les codes à barres. Le code O est constitué par une zone noire large 19 suivie d'une zone blanche étroite 20. Le code 1 est constitué par une zone noire étroite 21 suivie d'une zone blanche large 22. La largeur totale I des zones 19 et 20 ou 21 et 22 est constante de façon à obtenir un pas constant de codage angulaire. Revendications 1. Procédé de repérage angulaire d'une machine tournante utilisant au moins un capteur disposé en regard d'une piste codée en informations binaires, les valeurs angulaires s'obtenant car lecture et mémorisation d'un nombre donné n de bits, caractérisé en ce que chaque bit lu et mémorisé correspond à une position angulaire définie par un code unique constitué par ce bit et les n-l bits précédemment lus par le capteur, N étant inférieur ou égal à 2 puissance n. 2. Procédé de repérage selon la revendication 1, caractérisé en ce que l'établissement du code binaire utilisé comporte les étapes suivantes initialisation d'un premier code sur n bits recherche des fonctions s'exprimant sous la forme d'un OU exclusif entre le premier bit du code précédent et une fonction des bits suivants de ce code sélection de celles de ces fonctions pour lesquelles chaque itération fournit un bit tel que les n derniers bits correspondent à une valeur nouvelle et redonnent après N itérations le code initial. 3. Procédé de repérage selon la revendication 1 ou 2, caractérisé en ce que la piste codée est réalisée par une roue dentée comportant deux types de dents dont les différences 3-4 sont détectables par un capteur à réluctance variable. 4. Procédé de repérage selon la revendication 3, caractérisé en ce qu'un type de dents comporte une rampe montante 3 et l'autre type une rampe descendante 4. 5. Procédé de repérage selon la revendication 1 ou 2, caractérisé en ce que la piste codée 1 est constituée d'informations magnétiques la détectées par un capteur magnétique 2. - 6. Procédé de répérage selon la revendication 5, caractérisé en ce que les informations magnétiques la sont constituées d'aimants permanents disposés à la périphérie d'une roue amagnétique 1 et présentant selon le cas un polie nord ou un pôle sud face au capteur magnétique 2. 7. Procédé de repérage ~ n lune que conque ves reve,ldications précédentes, caractérisé en ce qu'il comporte l'élaboration d'un signal d'horloge dont la fréquence est fonction de la vitesse de rotation de la machine tournante. 8. Procédé de repérage selon la revendication 7, caractérisé en ce que le signal d'horloge est dérivé du signai recueilli par un capteur unique. 9. Procédé de repérage selon la revendication 7, caractérisé en ce que le signal d'horloge est obtenu par un capteur supplémentaire lisant les informations d'une piste auxiliaire 16 comportant des zones identiques disposées de façon équidistante et dont le nombre est égal au nombre de bits à lire à chaque tour.