Brevet FR2608273A1 — publié le 19880617

PROCEDE POUR DETERMINER L'ANGLE DE ROTATION D'UN CORPS ROTATIF Cette invention se rapporte à un procédé pour déterminer l'angle de rotation d'un corps rotatif, et plus particulièrement à un procédé amélioré pour déterminer l'angle de rotation du rotor d'un moteur à courant alternatif ou d'un moteur à courant continu qui entraîne une porte dans un système de porte automatique afin de commander la rotation du moteur. Dans un système de porte automatique, une courroie est enroulée autour d'une poulie d'entraînement,qui est entraînée par un moteur à courant alternatif ou un moteur à courant continu, et d'une poulie menée, une porte est reliée à cette courroie, et on effectue les opérations d'ouverture et de fermeture de la porte en faisant tourner le moteur dans le sens normal ou en sens inverse. Afin de commander l'ouverture et la fermeture d'une porte dans un tel système de porte automatique conformément au mode de fonctionnement désiré, il faut prendre des dispositions telles que la position et la vitesse (positive ou négative) de la porte puissent toujours être détectées.Dans un système de porte automatique connu jusqu'ici, en concordance avec la rotation d'un codeur monté sur le rotor d'un moteur, on génère des impulsions de détection à un intervalle d'angle de rotation prédéterminé, et par comptage ou décomptage du nombre de ces impulsions de détection selon le sens de rotation, on peut connaàtre la longueur de déplacement d'une porte et par suite la position d'une porte par rapport à une position donnée (par exemple, la position arrêtée de fermeture d'une porte) et on pouvait détecter la vitesse de déplacement d'une porte sur la base du cycle de répétition de ces impulsions de détection. Cependant, avec un tel procédé, il y a une possiblité de fonctionnement défectueux à savoir que dans une série d'impulsions de détection générées par la rotation d'un codeur lors de la rotation d'un moteur entraînant une porte, une impulsion peut disparaître ou bien une impulsion est ajoutée en excès en raison de défauts électriques ou mécaniques. Dans de tels cas, des erreurs surviendraient dans la détection de la position ou de la vitesse de déplacement de la porte, et ainsi il devient impossible de contrôler avec précision l'ouverture et la fermeture d'une porte dans un système de porte automatique conformément au mode de fonctionnement désiré. Ceci n'est pas limité à un système de porte automatique, mais la situation est aussi la ême dans le contrôle du fonctionne- ment d'autres instruments entraînés par un moteur, et plus généra- lement, c'est un problème commun aux procédés de détection de l'angle de rotation ou de la vitesse de rotation d'un corps rotatif au moyen d'impulsions de détection comme décrit ci-dessus. La présente invention a été faite en vue des circonstances déjà citées, et son but est de fournir un procédé amélioré pour déterminer l'angle de rotation d'un corps rotatif, avec lequel des erreurs ne surviendraient pas dans la détection de la position angulaire de rotation ou de la vitesse de rotation d'un corps rotatif au cas o une impulsion en excès a été ajoutée ou que l'omis- sion d'une impulsion-est survenue dans-une -série d'impulsions de détec- tion générées en fonction de la rotation d'un codeur. Afin de parvenir au but ci-dessus décrit, selon un aspect de la présente invention, on a réalisé un procédé pour. déterminer l'angle de rotation d'un corps rotatif, ce procédé comprenant les étapes consistant à générer des signaux polyphasés (n phases) de positions angulaires de rotation en forme d'ndes rectangulaires, respectivement, qui répètent alternativement un haut niveau et un bas niveau à un intervalle égal à n fois un intervalle d'angle de rotation prédéter- miné qui est une fraction de 360 degrés de dénominateur pair (2m), o m est un nombre entier et n est un diviseur de m supérieur à l'unité, et qui sont déphasées l'une vis-à-vis de l'autre de l'in- tervalle d'angle de rotation prédéterminé, conformément à un motif de codage sur un codeur tournant en synchronisme avec le corps rotatif et générant aussi des impulsions de détection à l'inter- valle d'angle de rotation prédéterminé juste après les changements respectifs de niveaux des signaux de positions angulaires de ro- tation, à détecter les niveaux respectifs des signauxpolyphasés(n phases) de positions angulaires de rotation en réaction à l'émission de l'impulsion de détection, à comparer une séquence de variation d'une combinaison de n niveaux détectés à une séquence de variation de référence et, si elles ne coincident pas l'une avec l'autre, à générer un signal d'alarme d'anomalie, à distinguer si la séquence de variation est une séquence de déplacement vers l'avant ou une séquence de déplacement vers l'arrière dans le cas o - les deux séquences de variation coincident l'une avec l'autre en résultat de la comparaison, et à ajouter (+1) à un compteur d'angles de rotation si la séquence de variation est une séquence de déplacement vers l'avant ou ajouter (-1) au compteur d'angles de rotation si la séquence de variation est une séquence de dépla- cement vers l'arrière. Conformément à la présente invention, puisque les impul- sions de détection générées conformément à un motif de codage sur un codeur ne sont pas simplement cumulées comme c'est le cas avec la technologie antérieure, mais que le cumul des impulsions de détection pour évaluer un angle de rotation est effectué seule- ment dans le cas o il a été vérifié au moyen des signaux polyphasés (n phaseà de positions angulaires de rotation si les impulsions de détection sont ou ne sont pas des impulsions générées correctement à un intervalle d'angle de rotation prédéterminé et o il a été prouvé qu'elles étaient des impulsions de détection correctes, des erreurs ne peuvert pas survenir dans l'angle de rotation et dans la vitesse de rotation détectés du corps rotatif. Dans l'éventualité o une impulsion de détection incor- recte a été détectée ou bien qu'une omission d'une impulsion de dé- tection a été détectée, un signal d'alarme d'anomalie est généré et la commande est interrompue de façon à éviter un fonctionnement défectueux. Mais même dans de tels cas, si nécessaire, il est possible d'ajouter une impulsion de détection consécutive ou d'éliminer une impulsion de détection supplémentaire en réponse au signal d'alarme d'anomalie pour continuer une commande correcte. Les objets, caractéristiques et avantages de la présente invention mentionnés ci-dessus et autres, deviendront plus mani- festes par référence à la description qui suit d'une réalisation concrète préférée de l'invention prise conjointement avec les dessins d'accompagnement. Sur les dessins d'accompagnement:- la Figure 1 est un diagramme d'ensemble d'un dispositif pour effectuer la détermination de l'angle de rotation d'un moteur en mettant en oeuvre le procédé conforme à la présente invention; la Figure 2 est un diagramme montrant, en fonction de l'angle de rotation, les impulsions de détection et les signaux triphasés de positions angulaires de rotation déphasés l'un vis- à-vis de l'autre d'un angle de rotation prédéterminé qui sont générés par un générateur de signaux conformément à un motif de codage sur un codeur; et la Figure 3 est un organigramme représentant les opé- rations logiques exécutées sur les impulsions de détection et les signaux triphasés de positions angulaires de rotation dans une unité de commande montrée sur la Figure 1. Sur la Figure 1, un codeur connu 4 qui a, par exemple, la forme d'un. disque est monté de façon intégrée sur et tourne en syn- chronisme avec le rotor d'un moteur 1 à courant alternatif ou d'un moteur 1 à courant continu servant de source d'entraînement pour accomplir, par exemple, les opérations d'ouverture et de fermeture d'une porte dans un système de porte automatique, et quand le rotor tourne, des signaux triphasés Pi, P2 et P3 (Voir Figure 2) de positions angulaires de rotation déphasés l'un vis-à-vis de l'autre d'un angle de rotation prédéterminé et une série SP d'impulsions de détection sont générés par un générateur 2 de signaux optiques ou magnétiques en face d'une portion circon- férentielle d'un codeur 4 conformément à un motif de codage optique ou magnétique pré-établi le long de la circonférence du codeur. Ces signaux triphasés Pl, P2 et P3 de positions angulaires de rotation et la série SP d'impulsions de détection sont transmis du générateur 2 de signaux à une unité de commande 3, o la série d'impulsions et les signaux sont soumis à des opérations logiques comme ce sera expliqué dans ce qui suit. Comme montré sur la Figure 2 sous.la forme d'un diagramme de formes d'ondes o est porté en'abscisse l'.angle de rotation du codeur 4, les signaux triphasés Pl, P2 et P3 de positions angulai- res de rotation se composent d'ondes rectangulaires triphasées, qui répètent alternativement un haut niveau (ci-dessous appelé simplement niveau H) et un bas niveau (ci-dessous appelé simple- ment niveau B) à un intervalle de 90 qui est égal à trois fois 30 correspondant à l'intervalle d'angle de rotation des impul- sions de détection, et qui sont déphaséesde-30o l'une vis-à-vis de l'autre. Bien évidemment, la fréquence de répétition de ces ondes rectangulaires devient également élevée lorsque la vitesse de rotation du codeur 4 est augmentée, mais la relation entre la position angulaire de rotation du codeur et les niveaux de sortie des trois signaux est toujours fixée indépendamment de la vitesse de rotation, comme indiqué sur la Figure 2. Plus particulièrement, dans une révolution (=3600) du codeur 4, le signal de première phase P1 de position angulaire de rotation est un signal d'onde rectangulaire qui prend le niveau H dans les intervalles de 90 180 et 270 0 360 et le niveau B dans les intervalles de 0 _ 90 et 1800 270 , le signal de deuxième phase P2 de position angulaire de rotation est un signal d'onde rectangulaire qui prend le niveau H dans les inter- valles de 150 - 240 et 330 0, 60 et le niveau B dans les inter- valles de 60 _ 150 et 240 330 , et le signal de troisième phase P3 de position angulaire de rotation est un signal d'onde rectangulaire qui prend le niveau H dans les intervalles de 300.120 et 210 0 300 et le niveau B dans les intervalles de 120 0- 210 et 3000 300. D'autre part, la série SP d'impulsions de détection est une série d'impulsions consistant en des impulsions étroites de détection SP1, SP2, SP3,..... générées, dans le cas de la réa- lisation concrète représentée, à un intervalle de 30 qui est un 12ème d'une révolution (=360 ) du codeur 4, et la fréquence de répétition de cette série d'impulsions devient élevée quand la vitesse de rotation du rotor et, par suite, du codeur 4 est aug- mentée. Maintenant, les opérations logiques pour déterminer avec précision la position angulaire de rotation du codeur 4 au moyen de la série SP d'impulsions de détection ci-dessus décrites et des signaux triphasés Pl, P2 et P3 de positions angulaires de rotation dans l'unité de commande 3, vont être expliquées en référence à l'organigramme de la Figure 3. En premier, les impulsions de détection SP1, SP2, SP3,.. sont générées, tour à tour, juste après les changements respectifs de niveaux des signaux triphasés P1, P2 et P3 de positions angu- laires de rotation si bien que les niveaux respectifs des signaux triphasés Pl, P2 et P3 de positions angulaires de rotation peu- vent être détectés (Figure 3: 10). Si le générateur 2 de signaux génère correctement ces signaux Pl, P2 et P3 de positions angulaires de rotation et la série SP d'impulsions de détection conformément à un motif de codage pré-établi sur le codeur 4 et s'ils ne sont pas perturbés pendant la période de transmission à l'unité de commande 3, alors comme indiqué au bas de la Figure 2, la combinaison des niveaux des signaux Pi, P2 et P3 de positions angulaires de rotation détectés en réaction à chacune des impul- sions de détection SP1, SP2, SP3..... doit varier d'une manière cyclique conformément à la séquence de variation (I) suivante (cette dernière étant appelée "séquence de variation de référence"): (BI H, B).-E__(B, H, H)e--__e(B, B, H) t ' ( I) (H, H, B)2--?(H, B, B)-:-(H, B, H) (o cela va de soi que si le sens de rotation du moteur est inversé et que le codeur 4 tourne en sens inverse, la combinaison de niveaux varierait d'une manière cyclique conformément à une séquence inversée telle qu'indiquée par les flèches en pointil- lés). Comme première mesure pour vérifier si ces signaux-Pl, P2 et P3 et la série SP des impulsions de détection sont des signaux corrects ou non, une combinaison des niveaux des signaux détectés par la dernière impulsion de détection et une combinaison des niveaux des signaux détectés par la présente impulsion sont com- parées l'une à l'autre, et on détermine si elles sont identiques ou non l'une à l'autre (Figure 3: 11, 12). Comme ce sera évident à partir de la séquence de variation de référence ci-dessus men- tionnée, naturellement ces deux combinaisons de niveaux devraient être différentes l'une de l'autre, et si elles sont identiques, on devrait constater qu'un fonctionnement défectueux est survenu à cause d'un quelconque défaut. Par exemple, si l'on suppose que la dernière impulsion de détection était SP2, alors la combinaison des niveaux de signaux détectés en réaction à cette impulsion de détection est (B, H, H). Dans l'éventualité o l'impulsion censée être la présente impulsion de détection n'est pas correcte- ment l'impulsion de détection suivante SP3 mais une impulsion SP' (indiquée par une ligne en pointillés. sur la Figure 2) mixée par suite de parasites, la combinaison des niveaux de signaux maintenant détectés en réaction à cette impulsion parasite SP' est aussi (B, H, H), et ainsi, en résultat de la comparaison, on constate que les deux combinaisons de niveaux sont identiques. C'est pourquoi, dans l'éventualité o on constate qu'elles sont identiques, un signal d'alarme d'anomalie est généré (Figure 3: 13), et en conséquence un buzzer est mis en fonction (Figure 3: 14). Dans l'éventualité o on a constaté que la présente combinaison des niveaux-d6tcts et la dernière combinaison des niveaux détectés sont différentes l'une de l'autre, l'opération de vérification passe à une deuxième étape. Dans la deuxième étape de vérification, une combinaison de niveaux provenant du décalage de la dernière combinaison de niveaux détectés (Figure 3: 16 c) d'un angle de rotation prédéterminé (300) vers l'avant conformément à la séquence de variation de référence (Figure 3: 16 a), c'est-à-dire, (B, B, H), si la dernière combinaison est (B, H, H), et une combinaison de niveaux provenant du décalage de la dernière combinaison de niveaux détectés (Figure 3: 16 c) d'un angle de rotation prédéterminé (30 ) vers l'arrière conformément à la sé- quence de variation de référence (Figure 3: 16 b), c'est-à-dire (B, H, B), si la dernière combinaison est (B, H, H), sont respec- tivement comparées à la combinaison de niveaux maintenant détectés (Figure 3: 15). En résultat, si la combinaison de niveaux mainte- nant détectés coincide avec l'une ou l'autre des deux combinaisons décrites ci-dessus (B, B, H) et (B, H, B), on sait que la série SP d'impulsions de détection et les signaux triphasés Pl, P2 et P3 de positions angulaires de rotation sont correctement en cours de transmission à l'unité de commande 3. Au contraire, si la com- binaison de niveaux maintenant détectés ne coincide avec ni l'une ni l'autre des deux combinaisons ci-dessus mentionnées, on devrait décider qu'un fonctionnement défectueux est survenu en raison d'un quelconque défaut. Par exemple, dans le cas o la dernière impulsion de détection était SP2 et o la combinaison des niveaux de signaux détectés en réaction à cette impulsion de détection est (B, H, H), si l'on suppose que l'impulsion de détection sui- vante SP3 a disparu en raison d'un défaut quelconque du circuit, alors l'impulsion de détection maintenant observée correspond à l'impulsion de détection SP4 qui est située à l'intervalle d'une impulsion au-delà de l'impulsion de détection SP3, et en conséquence, la combinaison des niveaux de signaux détectés en réaction à cette impulsion de détection serait (H, B, H). On constate que cette combinaison de niveaux ne coincide avec ni l'un ni l'autre des motifs de comparaison ci-dessus décrits (B, B, H) et (B, H, B). C'est pourquoi, dans l'éventualité o une combinaison de niveaux présentement détectés ne coincide avec ni l'une ni l'autre des deux combinaisons ci-dessus mentionnées (B, B, H) et (B, H, B) et o par suite on a constaté que la com- binaison de niveaux détectés ne coincide pas avec la séquence de variation de référence, un signal d'alarme d'anomalie est généré (Figure 3: 13), et en conséquence, un buzzer est mis en fonction (Figure 3: 14). En outre, dans une troisième étape de vérification de la combinaison des niveaux détectés des signaux Pl, P2 et P3 de positions angulaires de rotation, dans l'éventualité o la combi- naison de niveaux présentement détectés coincide avec une séquence de variation de référence, on détermine si la combinaison de ni- veaux présentement détectés est identique à une combinaison de niveaux (B, B, H) provenant du décalage de la dernière combinai- son de niveaux détectés (B, H, H) d'un angle de rotation prédéter- miné (30 ) vers l'avant conformément à la séquence de variation de référence ou à une combinaison de niveaux (B, H, B) provenant du décalage de cette même combinaison d'un angle de rotation prédéterminé (30 ) vers l'arrière (Figure 3: 17). Dans le premier cas, puisque la combinaison des niveaux de signaux varie confor- mément à la séquence de variation de référence du déplacement vers l'avant ( flèches en traits continus montrées sur la séquence précédente (I)), on constate que le codeur 4 (moteur 1) tourne dans le sens normal, et ainsi, on ajoute (+1) à un compteur d'an- gles de rotation dont est équipée l'unité de commande 3 de façon à augmenter le total d'un angle de rotation prédéterminé (30 ). Dans le second cas, on constate que le codeur 4 (moteur 1) tourne dans le sens opposé, et ainsi, on ajoute (-1) au compteur d'angles de rotation de façon à diminuer le total d'un angle de rotation prédéterminé (30 ). Si les opérations ci-dessus mentionnées sont effectuées, dans le compteur d'angles de rotation on garde toujours en réserve une valeur cumulée d'un angle de rotation admettant 300 comme angle unitaire, et on peut aussi connaître une vitesse de rotation positive ou négative du codeur 4 à partir de la fréquence de répétition des impulsions comptées pour le comptage ou le décomp- tage dans ce compteur d'angles de rotation. Il faut noter que,tandis que les impulsions de détection sont générées, à titre d'exemple, à un intervalle de 30 qui est égal à un 12ème d'une révolution (=360 ), et que, comme les signaux de position angulaires de rotation, les signaux triphasés d'ondes rectangulaires qui répètent alternativement le niveau H et le niveau B à un intervalle de 90 qui est trois fois l'intervalle angulaire prédéterminné de rotation des impulsions de détection et qui sont déphasés de 30 l'un vis-à-vis de l'autre sont générés dans la réalisation concrète préférée ci-dessus décrite, d'une manière générale, si l'intervalle angulaire prédéterminé de rotation des impulsions de détection est choisi comme étant une fraction de 360 de dénominateur pair (2m), et que, comme les signaux de position angulaire de rotation, les signaux d'ondes rectangulaires à n phases qui répètent alternativement le niveau H et le niveau B à un intervalle égal à n fois l'intervalle angulaire prédéter- miné de rotation 3600 des impulsions de détection ( n étant 2m un diviseur de m supérieur à l'unité) et qui sont déphasés de 360 l'un vis-à-vis de l'autre, sont générés, alors la détermi- 2m nation de l'angle de rotation et de la vitesse de rotation du codeur 4 peut être effectuée d'une manière similaire à la réalisa- tion concrète ci-dessus décrite, comme ce sera évident pour les spécialistes des règles de l'art. Il sera aussi manifeste que lorsque l'intervalle angulaire prédéterminé de rotation des impulsions de détection est diminué par le choix d'un nombre plus grand pour l'entier m ci-dessus référencé, une détermination et un contr8le plus affinés de la position angulaire peuvent être réalisés. Dans le cas o l'intervalle angulaire prédéterminé de rotation des impulsions de détection est 30 , en une réalisation concrète plus simplifiée, on peut utiliser des signaux biphasés d'ondes rectangulaires qui répètent alternativement le niveau H et le niveau B à un intervalle de 60 et qui sont déphasés de comme les signaux de positions angulaires de rotation en choisissant n=2. Dans ce cas, une séquence de variation de réfé- rence pour la combinaison des niveaux de signaux est comme suit: (, H) B, B)B_=)( H, H) Bien qu'un principe de la présente invention ait été décrit ci- dessus en relation avec une réalisation concrète préférée de l'invention, tous les éléments contenus dans la description ci- dessus et montrés sur les dessins d'accompagnement seront considé- rés comme étant représentatifs et non limitatifs. REVENDICATIONS: 1. Procédé de détermination de l'angle de rotation d'un corps rotatif, caractérisé en ce que les étapes consistant à générer des signaux polyphasés (n phases) de positions angulaires de rotation en forme d'ondes rectangulaires, respectivement, qui répètent alterna- tivement un haut niveau et un bas niveau à un intervalle égal à n fois un intervalle prédéterminé d'angle de rotation qui est une fraction de 360 degrés de dénominateur pair (2m), o m est un nombre entier et n est un diviseur de m supérieur à l'unité, et qui sont déphasées l'une vis-à-vis de l'autre de l'intervalle d'angle de rotation prédé- lO terminé, conformément à un motif de codage sur un codeur tournant en synchronisme avec ledit corps rotatif et générant aussi des impulsions de détection à l'intervalle d'angle de rotation prédé- terminé juste après les changements respectifs de niveaux des si- gnaux de position angulaire de rotation; à détecter les niveaux respectifs desdits signaux à n phases de positions angulaires de rotation en réaction à l'émission de l'impulsion de détection; à comparer une séquence de variation d'une combinaison de n niveaux détectés à une séquence de variation de référence et, si elles ne coincident pas l'une avec l'autre, à générer un signal d'alarme d'anomalie; à distinguer si ladite séquence de variation est une séquence de déplacement vers l'avant ou une séquence de déplacement vers l'arrière, dans le cas o lesdites deux séquences de variation coïncident l'une avec l'autre en résultat de la comparaison; et à ajouter (+1) à un compteur d'angles de rotation si ladite sé- quence de variation est une séquence de déplacement vers l'avant, ou ajouter (-1) au compteur d'angles de rotation si ladite séquen- ce de variation est une séquence de déplacement vers l'arrière. 2. Procédé de détermination de l'angle de rotation d'un corps rotatif selon la revendication 1, caractérisé en ce que ladite étape de comparaison comporte en plus une étape de comparaison d'une séquence de variation d'une combinaison de n niveaux détectés avec une séquence de variation stockée précédem- ment d'une combinaison des n derniers niveaux détectés et, si elles sont identiques l'une à l'autre, de génération d'un signal d'alarme d'anomalie. 3. Procédé de détermination de l'angle de rotation d'un corps rotatif selon la revendication 1, caractérisé en ce que lesdites impulsions de détection sont générées à un intervalle de 30 degrés (m=6) de rotation dudit codeur, et des signaux tri- phasés d'ondes rectangulaires qui prennent alternativement un haut niveau et un bas niveau à un intervalle de 90 degrés, ce qui représente trois fois 30 degrés, et qui sont déphasés de 30 degrés l'un vis-à-vis de l'autre,sont engendrés en tant que signaux de positions angulaires de rotation.