FR2788175A1 - Commande de moteurs pas-a-pas - Google Patents

Commande de moteurs pas-a-pas Download PDF

Info

Publication number
FR2788175A1
FR2788175A1 FR0000054A FR0000054A FR2788175A1 FR 2788175 A1 FR2788175 A1 FR 2788175A1 FR 0000054 A FR0000054 A FR 0000054A FR 0000054 A FR0000054 A FR 0000054A FR 2788175 A1 FR2788175 A1 FR 2788175A1
Authority
FR
France
Prior art keywords
current value
producing
function table
value
motor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR0000054A
Other languages
English (en)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dana Inc
Original Assignee
Dana Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dana Inc filed Critical Dana Inc
Publication of FR2788175A1 publication Critical patent/FR2788175A1/fr
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P8/00Arrangements for controlling dynamo-electric motors of the kind having motors rotating step by step
    • H02P8/12Control or stabilisation of current
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P8/00Arrangements for controlling dynamo-electric motors of the kind having motors rotating step by step

Abstract

Production de signaux d'ordre de courant d'entraînement d'un moteur pas-à-pas.Le procédé de commande du moteur (1) comprend les étapes consistant à produire une première valeur de courant à partir d'une table de fonctions, cette première valeur de courant correspondant à une forme d'onde d'excitation pour le moteur, et stocker cette valeur de courant dans une première table de transfert.La disposition permet de réduire le nombre de composants du moteur.

Description

La présente invention se rapporte à la commande de moteurs pas-à-pas et,
particulièrement, à un circuit de commande pour produire directement des signaux d'ordre de courant d'entraînement pour l'entraînement d'un moteur pas-à-pas. On utilise des moteurs pas-à-pas dans un grand nombre d'applications du fait, parmi d'autres facteurs, de leur coût peu élevé, de leur robustesse, de leur
simplicité de réalisation et de leur large acceptation.
Un type commun de moteur pas-à-pas comprend un rotor à aimant permanent et un stator présentant une partie formant le corps du stator avec des dents s'étendant vers l'intérieur. Des bobinages sont enroulés sur les pôles du stator qui sont reliés entre eux pour former les phases du moteur. La technique est littéralement remplie de variantes de ce type de moteur pas-à-pas. Par exemple, une configuration commune est un moteur pas-à-pas biphasé, à 200 pas par tour (c'est-à-dire 1, 8 mécanique par pas). Dans un mode de fonctionnement différent du mode dite de "micro pas-à-pas", le courant dans une quelconque phase donnée du moteur à un quelconque moment donné est commuté à l'état de pleine intensité ou à l'état d'intensité nulle. Il est cependant connu d'utiliser un mode de fonctionnement de micro pas-à- pas, dans lequel les intensités des courants dans les diverses phases du moteur sont réglées conformément à une fonction pré-déterminée. Par exemple, dans un moteur pas-à-pas présentant deux phases, un circuit d'entraînement peut amener le courant électrique à passer à travers les enroulements (phases) du stator conformément à une loi en sinus/cosinus. Une approche prise dans la technique pour produire des signaux d'ordre de courant appliqués au circuit d'entraînement est de produire tout d'abord un signal de vitesse désirée (c'est-à-dire un changement de rotation du rotor par unité de temps), et de traiter ensuite le signal de vitesse désirée pour obtenir les signaux d'ordre de courant. La structure permettant d'effectuer ce qui précède peut comprendre des moyens pour produire un signal de vitesse désirée, un générateur d'impulsions, un compteur de type compteur-décompteur, des ROM contenant des données en sinus et cosinus, ainsi que des convertisseurs numériques-analogiques (N/A). Le générateur d'impulsions, le compteur de type compteur à décompteurs, les ROM, ainsi que les N/A sont tous externes aux moyens de production d'un signal de vitesse désirée. Le signal de vitesse peut être un mot numérique représentant le nombre d'impulsions devant sortir pendant la période de temps prédéterminée suivante. Le générateur d'impulsion reçoit le signal de vitesse et délivre ensuite de manière uniforme le nombre désiré d'impulsions pendant l'intervalle de temps prédéterminé suivant. La sortie du générateur d'impulsions est couplée au compteur, lequel soit compte, soit décompte, selon l'état d'une ligne de direction dans le sens des aiguilles d'une montre/sens contraire aux aiguilles d'une montre (CW/CCW) (produite par une commande). La sortie du compteur définit une adresse appliquée aux ROM. La sortie des ROM est ensuite appliquée aux N/A, dont les sorties définissent les signaux d'ordre de courant pour chaque phase. Un problème concerné par l'approche ci-dessus réside en ce qu'il est nécessaire d'utiliser plusieurs composants de matériel, ce qui augmente le coût et la dimension du dispositif de commande (dont il est en général question en tant qu'indexeur). En outre, l'intensité des ordres de courant, le nombre de pas par tour du moteur, ainsi que d'autres paramètres sont difficiles à faire varier, car ils sont communément
réglés au moyen de commutateurs à positions multiples.
Il existe en conséquence un besoin de créer un circuit de commande de moteurs pas-à-pas qui minimise,
voire élimine, un ou plusieurs des problèmes énoncés ci-
dessus. C'est ainsi un objet de la présente invention que de réduire le nombre de composants d'un circuit de commande d'un moteur pas-à-pas et donc également le coût et la dimension de ce moteur. En outre, c'est un autre objet de la présente invention que d'améliorer la facilité avec laquelle peuvent être choisis les paramètres de fonctionnement, tels que le nombre de pas par tour du moteur ainsi que les réglages d'ordre de courant. De préférence, le procédé de commande est mis en oeuvre sous la forme d'un logiciel, et les paramètres tels que les niveaux et le nombre d'impulsions du courant par tour peuvent être réglés en utilisant des ordres de logiciel, en éliminant ainsi la nécessité de commutateurs à positions multiples ou d'organes analogues. Une telle approche peut, par rapport à des approches de type tradionnel, économiser de l'argent et diminuer la durée
des essais.
Pour atteindre ces objets ainsi que d'autres et conformément à la présente invention, il est créé un
procédé et un appareil pour commander un moteur pas-à-
pas. Dans un premier mode de réalisation préféré, le procédé comprend plusieurs étapes de base. La première étape implique le fait de produire un premier signal de vitesse indicateur d'un changement désiré dans la position de rotation du moteur par unité de temps. Cette étape est suivie par la division du changement dans la position de rotation en un premier nombre prédéterminé d'incréments. La troisième étape implique le fait de produire un premier signal de valeur de courant en utilisant le premier nombre prédéterminé d'incréments et au moins une table de fonctions. L'étape suivante concerne le fait de stocker le premier signal de valeur de courant dans une première table de transfert. L'étape suivante implique le fait de produire un second signal de vitesse pendant la période de temps prédéterminée suivante. L'étape suivante implique le fait de diviser un changement dans la position de rotation du moteur associé au second signal de vitesse en un second nombre prédéterminé d'incréments. L'étape suivante implique le fait de produire un second signal de valeur de courant en utilisant le second nombre prédéterminé d'incréments et la table de fonctions. L'étape finale consiste à stocker le second signal de valeur de courant dans une seconde table de transfert. Il est important que l'étape consistant à produire le second signal de valeur de courant et à le stocker dans la seconde table de transfert se produise alors que le premier signal de valeur de courant est extrait de la première table de transfert et est utilisé pour produire des signaux d'excitation qui sont appliqués aux enroulements du moteur. Ce qui précède est mis en oeuvre dans un mode de réalisation effectif en programmant un microprocesseur présentant des capacités d'accès direct de mémoire (DMA) pour éliminer ainsi un certain nombre de composants discrets de matériel. En particulier, dans le mode de réalisation effectif, l'organe de commande DMA transfère le premier signal de valeur de courant pour produire les signaux d'excitation alors que la mémoire centrale du microprocesseur calcule le second signal de valeur de courant. Dans un second mode de réalisation préférée, le procédé pour commander un moteur pas-à-pas inclut là encore plusieurs étapes de base. La première étape implique le fait de produire un signal de vitesse pendant un premier intervalle de mise à jour. Le premier intervalle de mise à jour peut comprendre une pluralité d'intervalles d'interruption, et le signal de vitesse peut correspondre à un changement désiré dans la position de rotation du moteur par unité de temps. Dans une seconde étape, le changement dans la position de rotation
du moteur -- tel que représenté par le signal de vitesse --
est divisé par un nombre prédéterminé pour obtenir une valeur de changement de position incrémentiel. Dans une troisième étape, la valeur de changement de position incrémentiel est utilisée pour accéder à une table de fonctions et produire une première valeur de courant. La troisième étape peut prendre place pendant un premier intervalle d'interruption de la pluralité d'intervalles d'interruption. Une quatrième étape implique le fait de produire un premier courant dans le moteur en réponse à une première valeur de courant. Le premier courant peut
être appliqué à un bobinage de première phase du moteur.
De manière analogue à la troisième étape, la quatrième étape peut prendre place pendant le premier intervalle d'interruption,. Un procédé conforme au second mode de réalisation
préféré peut inclure plusieurs étapes supplémentaires.
Par exemple, le procédé peut comprendre l'étape consistant à répéter l'étape de production de la première valeur de courant et l'étape de production du premier courant pendant chaque intervalle d'interruption de l'intervalle de mise à jour. Le procédé peut comprendre également les étapes de production d'une seconde valeur de courant et de production d'un second courant pendant le premier intervalle d'interruption pour être utilisé
dans la commande d'une seconde phase du moteur.
Le second mode de réalisation préféré est avantageux par rapport au premier mode de réalisation préféré parce qu'il peut être mis en oeuvre avec moins de composants. En particulier, le premier mode de réalisation préféré utilise une paire de tables de transfert et un organe de commande DMA pour accéder aux tables de transfert. A la fois les tables de transfert et l'organe de commande DMA peuvent être éliminés dans le second mode de réalisation préféré, lequel repose sur la production d'ordre de courant directement à partir d'une table de fonctions pendant chaque intervalle
d'interruption de l'intervalle de mise à jour.
L'invention sera mieux comprise, et d'autres buts détails et avantages de celle-ci apparaîtront plus
clairement au cours de la description explicative qui va
suivre de plusieurs modes de réalisation particulier actuellement préférés de l'invention, donnés uniquement à titre d'exemples illustratifs et non limitatifs, en référence aux dessins schématiques annexés, dans lequel: la Figure 1 est un schéma synoptique simplifié
d'un système de commande perfectionnée d'un moteur pas-à-
pas conforme à un premier mode de réalisation de la présente invention; la Figure 2 est un schéma synoptique simplifié montrant, de manière plus détaillée, les moyens de
commande illustrés sous la forme d'un bloc à la Figure 1.
- la Figure 3 montre des exemples de formes d'onde produites par le circuit de commande conforme à la présente invention; - la Figure 4 est un organigramme schématique simplifié montrant l'ensemble de la méthodologie d'un premier mode de réalisation de la présente invention; - la Figure 5 montre, de manière plus détaillée, l'étape générale de détermination des signaux de valeur de courant pour une table de transfert inactive,
illustrée sous la forme d'un bloc à la Figure 4.
- la Figure 6 montre, de manière plus détaillée, les moyens de détermination de la valeur du courant,
illustrés à la Figure 2.
- la Figure 7 est un schéma synoptique simplifié
d'un système de commande perfectionnée d'un moteur pas-à-
pas conforme à un second mode de réalisation de la présente invention; la Figure 8 est un schéma synoptique simplifié montrant, de manière plus détaillée, les moyens de
commande illustrés sous la forme d'un bloc à la Figure 7.
- la Figure 9 montre, de manière plus détaillée, les moyens de détermination de la valeur du courant,
illustrés à la Figure 8.
- la Figure 10 est un organigramme schématique simplifié montrant l'ensemble de la méthodologie d'un
second mode de réalisation de la présente invention.
- la Figure 11 montre, de manière plus détaillée, l'étape générale de détermination des signaux de valeur de courant, illustrée sous la forme d'un bloc à la Figure 10. En se référant maintenant aux dessins dans lesquels des numéros de référence analogues sont utilisés pour identifier des composants identiques dans les diverses vues, la Figure 1 montre un système 10 de commande de moteur conforme à un premier mode de réalisation de la présente invention. Le système 10 comprend un moteur numérique, tel qu'un moteur pas-à-pas biphasé 12, et des moyens ou un circuit 14 pour mettre sous tension les phases du moteur 12 conformément à des critères prédéterminés. Bien que le premier mode de réalisation de la présente invention va être décrit en liaison avec un mode de réalisation préféré à moteur pas-à-pas biphasé, on comprendra que la présente invention n'est pas limitée à cela et qu'elle peut être utilisée avec profit pour des
moteurs électriques présentant trois phases ou davantage.
Le moteur 12 peut présenter une parmi une pluralité de configurations de moteur pas-à-pas de type traditionnel connu dans la technique. Dans un mode de réalisation effectif, on a utilisé une configuration de moteur à aimant permanent biphasé à 200 pas par tour. On comprendra cependant que le nombre de phases du moteur, le nombre de pas entiers par tour, etc., ne sont pris qu'à titre d'exemples et ne sont pas de nature limitative. Le moteur 12 est illustré de manière schématique à la Figure 1, et il comprend une partie de rotor 22, une partie de stator 24, et des enroulements 26A et 26B définissant respectivement les phases A et B du moteur. Des moyens d'excitation 14 sont prévus pour mettre sous tension les enroulements 26A et 26B de telle manière que des courants de phase I'A, et IB les traversent respectivement. On comprendra que, du fait de la réalisation traditionnelle du moteur 12, le rotor 22 peut comprendre une pluralité de pôles s'étendant radialement vers l'extérieur, tandis que le stator 24 peut comprendre une pluralité de pôles s'étendant radialement vers l'intérieur (en pouvant présenter des dents formées sur ses extrémités) et sur lesquels sont enroulés les enroulements 26A et 26B. Les extrémités des pôles du stator définissent un alésage central dimensionné pour loger le rotor 22. En ce qui concerne les autres points, le moteur 12 est bien connu et de type traditionnel. Les moyens d'excitation 14 comprennent des moyens de commande 16, une pluralité de dispositifs de conversion numérique-analogigue (N/A) 18, et un circuit d'entraînement 20. Les moyens de commande 16 sont prévus pour produire directement une paire de mots numériques (les signaux de valeur de courant 27) correspondants à l'intensité désirée du courant traversant les phases A et B du moteur. Dans un mode de réalisation préféré, les moyens de commande 16 délivrent un mot à 16 bits comprenant deux mots à 8 bits, à savoir un mot à 8 bits pour chaque phase A et B. Le mot numérique à 16 bits est mis à jour par des moyens de commande 16 à une fréquence prédéterminée. Uniquement pour des buts d'illustration, dans un mode de réalisation effectif, les moyens de commande 16 mettent à jour le mot numérique à 16 bits 64 fois toutes les deux millisecondes. Dans une variante de mode de réalisation, les moyens de commande 16 mettent à jour le mot numérique à 16 bits 48 fois toutes les deux millisecondes. On comprendra que le nombre de micro-pas par tour peut être choisi et peut être amené à varier tout en restant toujours dans le cadre de la présente invention. En outre, on comprendra encore que la sélection du nombre de micro-pas/tour peut être influencé par le type de circuit d'entrainement 20 utilisé dans le système 10, par la configuration particulière du moteur 12, ainsi que par les valeurs instantanées des divers paramètres de fonctionnement du moteur 12 (par exemple la vitesse, l'accélération, etc.). Dans un mode de réalisation préféré, les moyens de commande 16 comprennent un microprocesseur pré-programmé conformément à la présente invention. Dans un mode de réalisation effectif, on a utilisé un composant Hitachi de modèle H8/3003 disponible dans le commerce et présentant, sur puce, une RAM, une ROM, une mémoire centrale de traitement, ainsi qu'un organe de traitement (DMAC) d'accès direct mémoire sur puce (DMA) qui a été trouvé fonctionner d'une manière satisfaisante dans la mise en oeuvre de l'invention. Bien évidement, d'autres dispositifs connus dans la technique et équivalents à ce composant peuvent être facilement substitués à ce dernier et rester à l'intérieur de l'étendue de la présente invention.
Des dispositifs formant convertisseur numérique-
analogique (N/A) 18 sont prévus pour recevoir, respectivement, les mots numériques à 8 bits (les signaux de valeur de courant 27) correspondants aux niveaux des courants de phase désirés. Les N/A 18 reçoivent également chacun un signal de référence REFERENCE, qui règle l'échelle complète des signaux d'ordre de courant IcMD4A et ICMD4B. Les N/A 18 produisent alors, en réponse à ceci, une paire de signaux d'ordre de courant "analogique" ICMDA et, respectivement, ICMDB. Les signaux d'ordre de courant, bien évidement et comme cela sera compris par l'homme du métier, sont composés d'une série de petits
pas.
Le circuit d'entraînement 20 est de type traditionnel et bien connu dans la technique, et il est prévu pour produire des signaux d'excitation pour la phase A et la phase B du moteur 12 en utilisant les signaux d'ordre de courant ICMDA et ICMDB, de manière à faire que des courants de phase IdA et IB traversent les bobinages 26A et respectivement 26B. La technique est littéralement remplie de diverses configurations d'entraînement et de diverses topologies appropriées pour être utilisées en liaison avec la présente invention. En conséquence, le circuit d'entraînement 20 représenté sous la forme d'un bloc ne sera pas énoncé de manière plus détaillée.
Avant de procéder à la description détaillée de
l'invention en référence avec les dessins, on va donner
une description générale de la commande établie par la
présente invention. Afin de commander la position de rotation du moteur pas-à-pas 12, un signal VITESSE est calculée par la commande 16 à chaque intervalle de mise à jour (2 millisecondes dans un mode de réalisation effectif). Le signal VITESSE représente le changement désiré dans la position de rotation pendant l'intervalle de mise à jour suivant. De manière spécifique, le signal VITESSE correspond au nombre de "micro-pas" à effectuer pendant l'intervalle de mise à jour suivant. Ce changement dans la position est divisé par un nombre prédéterminé qui correspond au nombre d'entrées d'une table de transfert, et est de préférence égal à 64 dans un mode de réalisation effectif. Le résultat de la
division est un Incrément de Vitesse (INC. VIT.).
L'incrément de vitesse INC. VIT. est utilisé pour produire des données de position toutes les 31,25 microsecondes (dans un mode de réalisation effectif
-- 0,002/64) pendant l'intervalle de mise à jour suivant.
Dans le mode de réalisation effectif, chaque nouveau signal VITESSE est utilisé pour garnir une de deux tables de transfert à 64 entrées par une lecture de donnée provenant d'une table de fonctions (par exemple une onde en sinus ou une onde en cosinus) utilisant l'incrément de vitesse pour produire une adresse de table permettant d'extraire un échantillon de données de la table de fonctions. Après qu'une des tables de transfert soit garnie, et à des intervalles de 31,25 microsecondes, un mot de données provenant de la table de transfert est inscrit sur le port de sortie. Les données au niveau des broches du port de sortie sont constituées par les signaux de valeur de courant. L'adresse de la table de transfert est incrémentée à la suite de chaque transfert de manière à faire sortir l'entrée de la table suivante lors du transfert suivant (31,25 microsecondes plus tard). Apres 64 transferts (2 millisecondes), l'ensemble de la table de transfert a été amené à sortir et, à ce moment, une interruption de logiciel est produite. Le code d'interruption provoquera le calcul d'une nouvelle valeur de signal VITESSE et, avec cela, 64 nouvelles entrées de table sont déterminées. Il existe deux tables de transfert. Une première des tables délivre des données toutes les 31,25 microsecondes sous la commande d'un organe de commande ADM, tandis que l'autre table est chargée de 64 nouveaux mots de données par le logiciel de commande principal. Les rôles des deux tables de transfert sont inversées à chaque intervalle de mise à jour par l'intermédiaire d'une interruption. La table de transfert la plus récemment chargée commencera à transférer ces données vers le port de sortie après l'interruption suivante, tandis que la table de transfert
actuellement accédée par la commande principale sera re-
chargée avec de nouvelles valeurs de courant.
En se référant maintenant à la Figure 2, on a représenté de manière plus détaillée les moyens de commande 16. Les moyens de commande 16 comprennent des moyens 28 pour produire un signal de vitesse, des moyens pour déterminer des signaux de valeur de courant, une table de fonctions 32, une première table de transfert 34, une seconde table de transfert 36, un port de sortie 38, une mémoire d'incrément de vitesse 40, une mémoire de position de table de transfert 42, une mémoire d'adresse de table 44 et un organe de commande (DMAC) 45 à accès
direct de mémoire (DMA).
Les moyens 28 de production d'un signal de vitesse sont de préférence mis en oeuvre sous la forme d'un logiciel en exécutant une séquence d'étapes préprogrammées stockées dans une mémoire programme des moyens de commande 16. Le signal de sortie des moyens 28 de production d'un signal de vitesse, à savoir le signal VITESSE, peut être, et est dans un mode de réalisation effectif, un mot numérique indicateur d'un changement désiré dans une position de rotation du rotor 22 par unité de temps. Dans un mode de réalisation, le compte du signal VITESSE correspond au nombre désiré de micro-pas qu'effectue le rotor 22 pendant l'intervalle de mise à jour suivant. On suppose par exemple qu'un pas complet du moteur 12 correspond à un déplacement mécanique bien connu de 1,8 du rotor 22. On suppose en outre, dans une configuration, que l'on a choisi 64 micro-pas par pas complet. On suppose également que l'intervalle de mise à jour est de 2 millisecondes. Sur la base de ce qui précède, un compte VITESSE de 640 correspond à dix (10) pas complets par intervalle de mise à jour, c'est-à-dire,
en d'autres termes, 18 mécaniques pour 2 millisecondes.
Ce déplacement par unité de temps correspond à 1500 tours
par minute (tpm).
La valeur déterminée du signal VITESSE peut être régie (ou être contrainte) par divers paramètres du système, tels que la vitesse maximum du rotor 22, l'accélération maximum (absolue ou Delta) du rotor 22, et/ou la décélération maximum (absolue ou Delta) du rotor 22. Ces paramètres régisseurs ainsi que d'autres sont bien connus dans la technique. En conséquence, un programme de production de signal VITESSE peut être mis en oeuvre par rien de plus qu'une application de routine
d'habileté de programmation ordinaire.
Les moyens 30 de détermination des signaux de valeur de courant sont également de préférence mis en oeuvre sous la forme d'un logiciel par l'exécution d'une séquence préprogrammée d'étapes de programme stockées dans une mémoire programme des moyens de commande 16. Le bloc 30 comprend des moyens 30a (voir Figure 6) pour diviser le signal VITESSE (c'est-à-dire un compte correspondant au changement dans la position de rotation du rotor 22) en un nombre prédéterminé d'incréments. Dans un mode de réalisation préféré, le nombre prédéterminé d'incréments est de 64. Dans un autre mode de réalisation, le nombre prédéterminé d'incréments est de 48. Ce nombre prédéterminé correspond au nombre d'entrées des tableaux 34 et 36 (qui seront davantage décrits ci- dessous). Le bloc 30 comprend également des moyens 30b (voir Figure 6) pour produire un signal de valeur de courant en utilisant la table de fonctions 32 en coordination avec le premier nombre prédéterminé d'incréments (c'est-à-dire la pluralité de valeurs affectées au paramètre INC.VIT.-- la façon dont cette valeur est traitée est décrite ci-dessous). Le paramètre INC VIT est valable pour un intervalle donné de mise à jour (2 millisecondes dans un mode de réalisation effectif), point auquel il sera mis à jour conformément à la valeur du signal VITESSE mis à jour. Ainsi, une valeur du paramètre INC. VIT. est le changement dans la position du moteur en 0,002/64 seconde dans le mode de réalisation effectif. Le bloc 30 comprend en outre des moyens 30c (voir Figure 6) pour stocker le signal de valeur de courant tel que calculé (c'est-à-dire une séquence de mots numériques) dans une des tables de transfert 34 et 36. En plus du paramètre INC.VIT., les moyens pour produire le signal de valeur de courant 27 compris dans le bloc 30 utilisent un paramètre de position de table stocké dans la mémoire 42, ainsi qu'un paramètre d'adresse de table stocké dans la mémoire 44. Le paramètre de position de table est de préférence une somme déroulante du paramètre INC. VIT. (sommée sur une base d'entrée par table). Le paramètre d'adresse de table est dérivé du paramètre de position de table et, dans un mode de réalisation préféré, les 8 bits les plus inférieurs de la partie entière du nombre du paramètre de position de table. Le paramètre de position de table est utilisé pour garder trace de l'endroit o a été pris le
dernier point de données dans la table de fonctions 32.
Ceci est particulièrement nécessaire pour maintenir une
continuité dans les ordres d'onde de courant de sortie.
La table de fonctions 32 comprend, dans un mode de réalisation préféré à moteur pas-à-pas biphasé, une table de fonctions à loi en sinus 46, et une table de fonctions à loi en cosinus 48. Dans un mode de réalisation effectif, les tables 46 et 48 contiennent chacune 256 points régulièrement espacés correspondant respectivement à l'intensité d'une onde en sinus et d'une onde en cosinus, présentant chacune une durée de un (1) cycle (360 ). Chaque point est, dans un mode de réalisation effectif, d'une largeur de 8 bits. On comprendra que les tables 46 et 48 peuvent être mises en oeuvre en utilisant une mémoire de données des moyens de commande 16, telle que, par exemple, une mémoire rémanente. En outre, on comprendra que les tables 46 et 48 peuvent contenir des données correspondant à des fonctions autres que des formes d'onde purement en sinus et en cosinus, respectivement, selon les besoins pour entraîner de manière davantage efficace le moteur 12. Par exemple, une troisième harmonique peut être ajoutée à chacune des fonctions en sinus et en cosinus exprimées dans les tables d'ondes respectives 46 et 48, ou une distorsion
peut être ajoutée pour augmenter la régularité du moteur.
En variante, une forme d'onde en "triangle" peut être souhaitable dans certains cas connus de l'homme du métier. Le DMAC 45 peut être programmé pour effectuer un cycle de transfert de données sans une quelconque intervention supplémentaire par la mémoire centrale de traitement principale des moyens de commande 16. En particulier, le DMAC 45 peut être programmé avec des paramètres tels qu'une adresse de source (par exemple, l'adresse de départ de la table de transfert 34 et/ou de la table de transfert 36), une adresse de destination (par exemple l'adresse du port de sortie 38), et un type
de mode de transfert (par exemple, mode E/S, etc.).
En se référant encore à la Figure 2, on voit que les moyens de commande 16 peuvent également comprendre un modulateur de largeur d'impulsions (PWM)49, lequel peut être configuré pour produire un train d'impulsions de relativement haute fréquence, de nature numérique, et dont le pourcentage d'utilisation peut pouvoir être choisi. En outre, un filtre passe-bas 50 peut être prévu dans la présente invention (et il peut être externe au microcontrôleur réellement utilisé dans le mode de réalisation effectif des moyens de commande 16). Le filtre passe- bas 50 est configuré pour extraire la valeur moyenne (c'est-à-dire la valeur en courant continu) du train d'impulsions numériques produit par le PWM 49. La valeur moyenne résultante, montrée en tant que signal REFERENCE aux Figures 1 et 2, est alors appliqué aux bornes d'entrée de référence des N/A 18. Comme mentionné ci-dessus, le signal REFERENCE appliqué aux N/A 18 règle l'intensité de pleine échelle des signaux d'ordre de courant. Ainsi, les N/A 18 sont du type multiplicateur o le signal de sortie (c'est-à-dire les signaux ICMDcA et ICMD4B) sont le produit du signal de référence et de l'entrée de code numérique, à savoir le signal de valeur
de courant 27.
La Figure 3 montre une sortie échantillon des N/A 18 correspondant aux signaux d'ordre de courant ICMDA et ICMD4B (lissés pour des buts d'illustration). Les formes d'onde 52A et 52B montrent respectivement des formes d'onde en sinus et en cosinus présentant une première fréquence. Les tracés 54A et 54B montrent des formes d'onde en sinus et en cosinus présentant une seconde fréquence approximativement double de celle de la première fréquence. On comprendra que les tracés 54A et 54B amèneront le moteur 12 à tourner plus vite que les
tracés 52A et 52B-
La Figure 4 est un organigramme schématique illustrant la commande de base établie par la présente invention. Les étapes 60 et 64 sont effectuées sur une base
périodique à chaque intervalle de mise à jour (c'est-à-
dire à chaque N*T secondes, o N est égal à la dimension des tables de transfert 34 ou 36, et T est l'intervalle auquel de nouveaux signaux de valeur de courant 27 sont
transférés au port de sortie).
Les étapes 62 et 60, 64 sont de préférence exécutées quelque peu en parallèle. Ainsi, l'exécution des étapes 62 et 64 se chevauche d'une quantité prédéterminée. L'exécution de l'étape 62 est commandée en grande partie par le DMAC 45 (et est transparent à
l'exécution du logiciel sur les moyens de commande 16).
L'exécution de l'étape 64 est commandée par l'exécution du logiciel correspondant au bloc 30 par la mémoire
centrale de traitement des moyens de commande 16.
L'étape 62 est exécutée sur une base périodique comme déterminée, de préférence, par une partie d'horloge
programmable, non illustrée, des moyens de commande 16.
Chaque fois que l'horloge effectue un compte (c'est-à-
dire, toutes les T secondes, ou 0,002/64 seconde dans le mode de réalisation effectif), une interruption est produite. L'interruption amène le DMAC 45 à lire un signal de valeur de courant 27 à partir de la table de transfert active et à le délivrer au port de sortie, lequel est couplé au circuit d'entraînement du moteur comprenant les N/A 18 et le circuit 20. De manière particulière, cette étape implique l'établissement du DMAC 45 (tel que décrit ci-dessus) et ensuite l'activation du DMAC 45 pour un cycle de transfert de données. Ensuite, à chaque T secondes (intervalle de mise à jour, tel que défini ci-dessus) /N secondes, o N est égal au nombre d'entrées de la table de transfert), un autre mot numérique est extrait par le DMAC 45 à partir de la table de transfert active (soit 34 ou 36). De préférence, le mot numérique a une largeur de 16 bits, à savoir 8 bits pour chaque phase du moteur. Les signaux numériques de valeur de courant 27 extraits sont alors appliqué aux N/A 18 -- un mot de 8 bits pour chaque N/A 18. Les N/A 18 répondent en produisant les signaux d'ordre de courant ICMD4A et ICMD4B, lesquels sont appliqués au circuit d'entraînement 20. Le circuit d'entraînement 20 produit les signaux d'excitation qui sont appliqués au moteur 12 pour produire ainsi les courants IA et IB. Lorsque la dernière entrée de table a été inscrite sur le port de sortie 38 (c'est-à-dire que la table de transfert a été complètement inscrite sur le port de sortie), une interruption (logiciel) est produite, en amenant le programme principal à commuter les états actifs/inactifs des tables 34, 36. Ainsi, le programme principal du logiciel est mis en oeuvre pour répondre à l'interruption de logiciel en changeant l'état des tables de transfert. Bien évidement, la table de transfert précédemment inactive a été remplie avec de nouvelles données et est maintenant prête à les amener à sortir. À ce moment, avec le DMAC 45 commençant son travail d'extraction des données dans la table de transfert maintenant active, le programme principal du logiciel qui exécute sur les moyens de commande 16 exécute à nouveau les étapes 60 à 64. À l'étape 60, un signal d'ordre
VITESSE est calculé par les moyens 28 comme décrit ci-
dessus. A l'étape 64, les signaux de valeur de courant mis à jour pour la table de transfert (actuellement) inactive sont déterminés en utilisant le signal VITESSE mis à jour, et y sont stockés. La principale boucle comprenant les étapes 60 et 64 est répétée à chaque intervalle de mise à jour, lequel peut être de 2 millisecondes dans un mode de réalisation effectif. Au fur et à mesure que la principale boucle se répète, les états actifs et inactifs des deux tables de transfert sont commutés, et un signal VITESSE nouveau ou mis à jour est calculé, ce qui a pour résultat que des signaux de valeur de courant mis à jour 27 sont produits par
l'exécution d'un logiciel correspondant au bloc 30.
La Figure 5 est un organigramme schématique montrant, de manière plus détaillée, les étapes impliquées dans la détermination des signaux de valeur de
courant mis à jour.
À l'étape 66, il est produit une nouvelle valeur pour le paramètre d'incrément de vitesse INC. VIT. Les détails de cette étape sont décrits ci-dessus. Le paramètre INC. VIT. commande essentiellement la façon dont sont éloignés les échantillons qui sont pris des tables de fonctions 46 et 48. On suppose par exemple que INC. VIT. est égal à 8. Etant donné que la longueur des tables 46 et 48 est de 256, et que 64 échantillons sont maintenant pris de cette table (dans le mode de réalisation préféré pour garnir les tables 34 et 36), l'échantillonage amènera les tables de fonctions à être traversées deux fois (l'échantillonage dans les tables 46 et 48 "se boucle"). En supposant que les tables 46, 48 contiennent un cycle complet conforme à la loi en sinus ou en cosinus, ce qui précède aboutit au fait de garnir une des tables de transfert 34, 36 avec des données correspondant à deux (2) cycles complets d'une forme
d'onde en sinus ou en cosinus. En variante, lorsque INC.
VIT. est égal à quatre (4), les tables de fonctions 46, 48 seront traversées seulement une fois dans l'opération consistant à garnir la table de transfert à 64 entrées de sorte que la table de transfert contient des données correspondant seulement à un cycle complet. En variante, si INC. VIT. est égal à 16, alors les tables de fonctions 46, 48 (dans le mode de réalisation effectif) seront traversées quatre (4) fois, et la table de transfert résultante à 64 entrées contiendra quatre (4) cycles complets d'une onde en sinus ou en cosinus. On comprendra qu'étant donné que les données contenues dans la table de transfert (34, 36) sont amenées à sortir pendant un intervalle de temps fixe ("intervalle de mise à jour"), la sortie d'un nombre plus élevé de cycles amène la fréquence du signal d'ordre de courant résultant ICMDA (ou ICMD+B) à augmenter également, en augmentant ainsi la
vitesse de rotation du rotor 22 du moteur 12.
Ainsi, l'étape de production d'un signal numérique de valeur de courant 27 implique les sous-étapes de formation d'une première séquence de mots numériques à 8 bits correspondant à une fonction de loi en sinus (en utilisant la table en sinus 46), de production d'une seconde séquence de mots numériques à 8 bits correspondant à une fonction de loi en cosinus (en utilisant la table en cosinus 48), et de combinaison des mots numériques à 8 bits respectifs de chaque séquence pour former une troisième séquence de mots numériques à 16 bits. La troisième séquence correspond aux signaux de valeur de courant 27. Dans un mode de réalisation effectif, les tables d'onde 46 et 48 ne forment qu'une seule table -- d'une largeur de 16 bits, à savoir huit (8) bits pour la fonction en sinus et huit (8) bits pour la fonction en cosinus. Les valeurs en sinus et en cosinus sont ainsi transférées simultanément depuis la table d'onde 46/48 vers la table de transfert (soit 34, soit 36). Le mot à 16 bits est alors envoyé au port de sortie 38 sous la direction du DMAC 45. Le port de sortie 38 divise ou sépare sa sortie à 16 bits en 2 groupes de 8 bits, lesquels sont alors respectivement couplés aux deux
(2) N/A 18.
On comprendra également qu'étant donné que, dans le mode de réalisation effectif, une forme d'onde de type de loi en sinus est utilisée pour entraîner un enroulement donné du moteur tandis qu'une forme d'onde du type de loi en cosinus est utilisée pour entraîner l'autre enroulement du moteur, les deux enroulements sont en opposition de phase. En d'autres termes, il est possible de dire que l'onde en sinus "retarde" sur l'onde en cosinus. Cette relation aboutit à ce que, selon la configuration, le rotor 22 tourne soit dans le sens des aiguilles d'une montre (CW) soit dans le sens contraire des aiguilles d'une montre (CCW). Une commutation des formes d'onde en sinus/cosinus appliquées aux deux phases du moteur amènerait le rotor 22 à tourner dans le sens opposé. La présente invention met en oeuvre une commande de direction ou de sens de rotation en faisant simplement que le signal VITESSE est soit un nombre positif soit un nombre négatif. Avec un nombre positif, la valeur du paramètre INC. VIT. est également positive, de sorte que cette donnée est extraite des tables en sinus et en cosinus 46, 48 dans un sens direct. Lorsque le paramère INC. VIT. est négatif, les données sont extraites des tables 46, 48 dans une orientation arrière ou un sens
inverse. Ceci amène effectivement la relation avance-
retard entre les phases du moteur à être inversée, ce qui
inverse également le sens de rotation du rotor 22.
En se référant toujours à la Figure 5, dans l'étape
68, le paramètre de position de table est mis à jour.
Comme indiqué ci-dessus, le paramètre POSTABLE est
indicatif de la somme déroulante du paramètre INC. VIT.
de l'incrément de vitesse (sommé sur une base d'entrée
par table).
À l'étape 70, une valeur de paramètre d'adresse de table est déterminée. L'adresse de table peut être déterminée en tant que: (partie entière du nombre du paramètre POSTABLE) modulo (dimension de la table d'onde 46/48). Dans une mise en oeuvre, l'évaluation de la fonction modulo est relativement directe lorsque la dimension de la table d'onde 46/48 est une puissance de 2. Dans le mode de réalisation effectif, la valeur du paramètre d'adresse de table comprend les 8 bits les plus inférieurs de la partie entière du nombre du paramètre POSTABLE. Ceci est une valeur entière qui peut être utilisée en tant qu'indice dans les tables d'onde en sinus et en cosinus 46 et 48 dans le mode de réalisation preferé. Dans l'étape 72, un échantillon de données à 16 bits est extrait des tables de forme d'onde 46 et 48 en utilisant la valeur du paramètre d'adresse de table telle
que déterminée à l'étape 70.
À l'étape 74, les données d'onde pour les phases du moteur sont stockées dans la table de transfert actuellement inactive. À l'étape 76, un compteur est décrémenté en commandant l'itération des étapes 68 à 74, ce qui doit être répété un nombre de fois suffisant pour garnir
complètement la table de transfert inactive.
À l'étape 78, une comparaison est effectuée pour déterminer si la table de transfert inactive a été complètement garnie avec des données d'onde correspondant
aux signaux de valeur de courant récemment calculés.
On comprendra que l'illustration des étapes 76 et 78 ainsi que l'utilisation de la variable n ne constitue d'un exemple pour indiquer que les étapes 68 à 74 sont répétées n fois pour garnir complètement la table de transfert inactive qui présente n entrées. Bien évidement, dans une mise en oeuvre particulière quelconque, il existe une pluralité de techniques bien connues de l'homme de l'art de la programmation, pour effectuer une opération répétée d'une séquence définie d'étapes.
EXEMPLE
On suppose que le signal VITESSE est le nombre de micro-pas (devant être effectué par le moteur 12) par intervalle de mise à jour (l'intervalle de mise à jour étant arbitrairement choisi comme étant de 2 millisecondes dans un mode de réalisation effectif). On
suppose en outre, que le signal VITESSE est égal à 300.
Le paramètre d'incrément de vitesse INC. VIT. est alors calculé comme: VITESSE divisée par 64. L'incrément de vitesse INC. VIT. est ainsi égal à 4,6875. La valeur du paramètre de position de table peut être, et est dans le mode de réalisation préféré, la somme déroulante du paramètre d'incrément de vitesse INC. VIT. L'adresse de la table est constituée par les 8 bits les plus inférieurs de la partie entière du nombre du paramètre d'adresse de table. Le tableau 1 ci-dessous montre la
progression des paramètres identifiés plus haut.
TABLEAU 1
VIT=300
No.de INC VIT- Position de la Table Partie Entière Adresse l'entrée de (Binaire) (PosTable) du Nombre de la la Table de 0.0 du PosTable Table Transfert (Binaire)
1 100.101100 0000 00000100.101100 0000 0000 0100 4
2 100.101100 0000 00001001.011000 0000 0000 1001 9
3 100.101100 0000 00001110.000100 0000 0000 1110 14
63 100.101100 0001 00100111.010100 0001 0010 0111 39
64 100.101100 0001 00101100.000000 0001 0010 1100 44
On suppose en outre qu'une nouvelle valeur pour le signal VITESSE est produite et est égale à 304. Le nouveau paramètre INC.VIT. d'incrément de vitesse est ainsi de 4,75, et la Table 2 ci-dessous illustre encore la progression continue des paramètres de fonctionnement
identifiés ci-dessus.
TABLEAU 2
VIT=304
No.de INC.VIT. Position de la Table Partie Entière Adresse l'entrée de (Binaire) (PosTable) du Nombre du de la la Table de PosTable Table Transfert (Binaire) 1 00011000000.110000 010100.1o0001 00110000 [48
2 100.110000 000100110101.100000 0001 00110101 53
3 100.110000 000100111010.010000 0001 00111010 58
63 100.110000 001001010111.010000 0010 01010111 87
64 100.110000 001001011100.00 0 0100010 01011100 92
Le paramètre INC.VIT. d'incrément de vitesse est maintenu, dans un mode de réalisation effectif, comme l'est le paramètre de position de table POSTABLE, sous la forme d'un nombre binaire présentant une partie entière du nombre et une partie fractionnaire, pour maintenir la précision (même si seulement la partie entière du nombre est utilisée en tant qu'index dans les tables de forme d'onde de fonctions 46, 48). On comprendra que la partie fractionnaire de INC. VIT., lorsqu'elle est accumulée pendant plusieurs sommations, peut affecter la partie entière du nombre et est par conséquent de préférence prise en compte. On comprendra en outre que le moteur 12 doit être entraîné avec des formes d'onde sensiblement continues (c'est-à-dire pour éviter des discontinuités importantes). C'est la raison pour laquelle on maintient le total déroulant du paramètre INC. VIT., de sorte que lorsque la table de transfert suivante est garnie, le programme de commande connaitra à quel endroit des tables en sinus et/ou en cosinus 46, 48 l'échantillonnage s'arrêtera, et à partir de quel endroit l'échantillonnage sera repris de sorte qu'est maintenue la continuité d'une
table de transfert à une autre.
Etant donné que la commande 16 est mise en oeuvre en utilisant un microprocesseur à une seule puce, moins de logiciel est nécessaire que dans les approches de type traditionnel. En outre, une commande par logiciel permet de faire varier l'intensité de certains paramètres (par exemple l'intensité des ordres de courant) sans la nécessité de commutateurs à positions multiples, lesquels peuvent être encombrants à utiliser. En particulier, dans un mode de réalisation préféré, il est possible d'utiliser la sortie du PWM 49 du microprocesseur pour
commander les intensités de courant.
En se référant maintenant à la Figure 7, on a illustré un système 80 de commande de moteur conforme à un second mode de réalisation préféré de la présente invention. Le système 80 comprend plusieurs composants qui peuvent être identiques ou sensiblement semblables en structure et en fonction aux composants trouvés dans le
système 10 de commande de moteur des figures précédentes.
En conséquence, ces composants portent des numéros de référence analogues et ne seront pas décrits de manière plus détaillée. Le système 80 comprend un moteur numérique, tel qu'un moteur pas-à-pas biphasé 12, et des moyens ou circuit 82 pour mettre sous tension les phases du moteur 12 conformément des critères prédéterminés. Bien que le second mode de réalisation préféré de la présente invention soit à nouveau décrit en liaison avec un moteur pas-à-pas biphasé, on comprendra que la présente invention n'est pas limitée à un tel moteur, mais qu'elle peut être mise en oeuvre dans des moteurs
électriques présentant trois phases ou davantage.
Des moyens de mise sous tension 82 sont prévus pour produire des courants de commande IA et I4B du moteur afin de mettre sous tension de manière sélective les enroulements de phase 26A et 26B du moteur 12. Les moyens de mise sous tension 82 comprennent des moyens de commande 84, une pluralité de dispositif formant convertisseur numérique-analogique (N/A) 18, et le
circuit d'entraînement 20.
Les moyens de commande 84 sont configurés pour produire directement une paire de mots numériques (les signaux de valeur de courant 86 et 88) correspondant au passage de l'intensité de courant désiré dans les phases A et B du moteur. Les moyens de commande 84 peuvent comprendre un microprocesseur programmé présentant, sur puce, une RAM, une ROM, ainsi qu'une mémoire centrale de traitement. Comme décrit ci-dessous de manière plus détaillée, les moyens de commande 84 ne comprennent pas l'organe de commande DMA 45 trouvé dans les moyens de commande 16. Dans un mode de réalisation préféré, les moyens de commande 84 délivrent un mot à 16 bits comprenant deux mots à 8 bits, à savoir un mot à 8 bits pour chaque phase A et B. Le mot numérique à 16 bits est mis à jour par les moyens de commande 84 à une fréquence prédéterminée. Seulement pour des buts d'illustration, dans un mode de réalisation effectif, les moyens de commande 84 mettent à jour le mot numérique à 16 bits 64 fois toutes les deux millisecondes (l'intervalle de mise à jour). Comme décrit ci-dessus en référence au système de commande de moteur 10, les deux mots numériques à 8 bits (les signaux de valeur de courant 86, 88) sont appliqués à des dispositifs N/A 18 qui produisent, en réponse à ceux-ci, une paire de signaux d'ordre de courant "analogigue" ICMDcA et IcMDB Les signaux d'ordre de courant ICMDjA et ICMD4B sont ensuite appliqués au circuit d'entraînement 20 qui produit des signaux d'excitation pour amener ainsi les courants de phase I'A et I àBà traverser respectivement les
enroulements de phase 26A et 26B.
Comme cela a été fait pour le système de commande
de moteur 10 ci-dessus, une description générale de la
commande établie par le système de commande de moteur 80
sera énoncé avant de procéder à une description plus
détaillée de la présente invention. Pour commander la position de rotation du moteur pas-à-pas 12, un signal VITESSE est calculé par les moyens de commande 84 à chaque intervalle de mise à jour (2 millisecondes dans un mode de réalisation effectif). Le signal VITESSE représente le changement désiré dans la position de rotation du moteur 12 pendant l'intervalle de mise à jour suivant. De manière spécifique, VITESSE correspond au nombre de "micropas" à effectuer pendant l'intervalle de mise à jour suivant. Chaque intervalle de mise à jour comprend une pluralité d'intervalles d'interruption. Dans un mode de réalisation effectif, chaque intervalle
d'interruption présente une durée de 31,25 microsecondes.
Le changement désiré dans la position de rotation du
moteur 12 -- tel que représenté par le signal VITESSE --
est divisé par un nombre prédéterminé correspondant au nombre d'intervalles d'interruption pendant un intervalle de mise à jour. Dans un mode de réalisation effectif, il existe soixante quatre (64) intervalles d'interruption pendant un intervalle de mise à jour (à savoir:durée de l'intervalle de mise à jour (2 millisecondes)/durée de l'intervalle d'interruption (31,25 microsecondes)). Le résultat de cette division est un incrément de vitesse, ou une valeur de changement de position incrémentiel, à savoir INC. VIT., qui peut être utilisée pour produire des données de position à partir d'une table de fonctions pendant chaque intervalle d'interruption de l'intervalle de mise à jour. De manière plus spécifique, INC. VIT peut être ajouté de manière répétée à une adresse de table de fonctions stockée dans une mémoire de manière à produire la première et seconde adresse de table de fonctions pendant chaque intervalle d'interruption. Les première et seconde adresses de table de fonctions peuvent alors être utilisées pour indexer la table de fonctions et obtenir les données de position désirées. Les données de position peuvent être lues pendant chaque intervalle d'interruption sous la forme de première et seconde valeurs de courant qui sont produites par les moyens de commande 44 sous la forme de signaux de valeur de courant 86, 88 et utilisées pour commander le courant dans les phases 26A et 26B du moteur. Une fois que l'intervalle de mise à jour est achevée, une interruption de logiciel est produite. Le code d'interruption amènera le calcul d'une nouvelle valeur du signal VITESSE, et le processus décrit
ci-dessus peut être répété.
C'est en se référant maintenant à la Figure 8, que les moyens de commande 84 vont être décrits de manière plus détaillée. Les moyens de commande 84 comprennent des moyens 28 pour produire un signal de vitesse, des moyens pour déterminer les signaux de valeur de courant 86, 88, une table de fonctions 92, un port de sortie 94, une mémoire d'incrément de vitesse 96, une mémoire de position de table de fonctions 98, une première mémoire d'adresse de table de fonctions 100, une seconde mémoire d'adresse de table de fonctions 102, et une mémoire de déphasage 103. Les moyens de commande 84 peuvent également comprendre un moyen d'alimentation en tension 104. Comme indiqué ci- dessus en référence au système de commande de moteur 10, les moyens de production du signal de vitesse 28 produisent un signal VITESSE qui représente un changement désiré dans la position de rotation du rotor 22 du moteur 12 par unité de temps. Les moyens de formation 28 du signal de vitesse peuvent être mis en oeuvre sous la forme d'un logiciel en exécutant une séquence d'étapes pré-programmées stockées dans la
mémoire programme des moyens de commande 84.
Les moyens 90 de détermination des signaux de valeur de courant sont prévus pour produire des signaux de valeur de courant 86, 88. Les moyens 90 sont également mis en oeuvre de préférence sous la forme d'un logiciel en exécutant une séquence pré-programmées d'étapes de programme stockées dans la mémoire programme des moyens de commande 84. En se référant à la Figure 9, les moyens peuvent comprendre des moyens 90a pour diviser le changement dans la position de rotation (à savoir VITESSE) par un nombre prédéterminé pour obtenir une
valeur de changement de position incrémentiel INC. VIT.
Comme mentionné ci-dessus, le nombre prédéterminé correspond au nombre d'intervalles d'interruption dans un intervalle de mise à jour et, dans un mode de réalisation effectif, il est égal à soixante quatre (64) (à savoir: durée de l'intervalle de mise à jour (2 millisecondes)/durée de l'intervalle d'interruption (31,25 microsecondes)). La valeur INC. VIT. est valable pour un intervalle de mise à jour, moment auquel il sera mis à jour conformément à la valeur du signal VITESSE
mise à jour.
Les moyens de détermination 90 peuvent comprendre en outre des moyens 90b, 90c pour produire respectivement
de premier et second signaux de valeur de courant 86, 88.
En plus de la valeur INC. VIT., les moyens 90b peuvent utiliser une valeur de paramètre de position de table de fonctions POSTABLE stockée dans la mémoire 98. La valeur du paramètre de position de table POSTABLE est utilisée pour garder trace de la position à l'intérieur de la table de fonctions 92 à partir de laquelle ont été obtenus les mots numériques les plus récents représentant les signaux de valeur de courant 86, 88. POSTABLE est de préférence une valeur en augmentation continue qui est incrémentée en utilisant INC.VIT. Les moyens 90b utilisent POSTABLE pour obtenir la première adresse de table de fonctions de la manière décrite de manière plus détaillée ci-dessous. Les moyens 90c peuvent en outre
utiliser une valeur déphasée stockée dans la mémoire 103.
Comme décrit de manière plus détaillée ci-dessous, la valeur déphasée est un nombre prédéterminé conçu pour produire une seconde adresse de table de fonctions qui accèdera à un point de données à l'intérieur de la table de fonctions 92 qui est déphasée par rapport au point de données obtenu avec la première adresse de table de fonctions. Une fois que sont obtenues les première et seconde adresses de table de fonctions, les moyens 90b, c utilisent les adresses pour indexer la table de fonctions 92 et obtenir les mots numériques représentant les signaux de valeur de courant 86, 88. Les première et seconde adresses de table de fonctions peuvent être
stockées dans des mémoires 100, 102.
La table de fonctions 92 est prévue pour stocker des points de données ou des valeurs représentatives d'une fonction mathématique cyclique telle qu'une fonction de loi en sinus ou en cosinus. Dans un mode de réalisation effectif, la table 92 contient 256 points de données régulièrement espacés correspondant à l'intensité d'une onde en sinus présentant une durée de deux (2) cycles (720 ). Chaque point de données a une largeur de 8 bits dans un mode de réalisation effectif. On comprendra que la table 92 peut être mise en oeuvre en utilisant une mémoire de données des moyens de commande 84, tels qu'une mémoire rémanante. En outre, on comprendra que la table 92 peut contenir des données correspondant à des fonctions autre qu'une forme d'onde purement en sinus ou en cosinus, respectivement, selon les besoins pour
entraîner de manière davantage efficace le moteur 12.
Le port de sortie 94 est prévu pour transmettre de premier et second signaux de valeur de courant 86, 88 à des dispositifs N/A 18. Le port de sortie 94 est de type
traditionnel dans la technique.
Les mémoires 96, 98, 100, 102 et 103 sont prévues pour stocker la valeur de changement de position incrémentiel INC. VIT., ainsi que la valeur duparamètre de position de table POSTABLE, les première et seconde adresses de table de fonctions et, respectivement, la valeur déphasée. Les mémoires 96, 98, 100, 102 et 103
sont également de type traditionnel dans la technique.
Des moyens d'alimentation en tension 104 sont prévus pour produire une tension de référence pour les dispositifs N/A 18. Les moyens d'alimentation 104 sont du type traditionnel dans la technique et peuvent être reliés à un réseau de résistances de type traditionnel 106 qui divise la tension conformément à une quantité prédéterminée afin d'obtenir un signal REFERENCE. Le signal REFERENCE peut alors être appliqué aux dispositifs N/A 18. Le signal REFERENCE établit l'intensité de pleine échelle des signaux d'ordre de courant sortant des dispositifs 18. De manière plus particulière, les dispositifs 18 sont du type multiplicateur o les signaux de sortie (c'est-à-dire les signaux d'ordre de courant ICMD4A et ICMDtB) sont le produit du signal REFERENCE et de l'entrée du mot numérique correspondant au premier signal de valeur de courant 86 et au second signal de valeur de courant 88. On comprendra que le PWM 49 et le filtre passe-bas 50 énoncé ci-dessus en référence au système de commande de moteur 10 peuvent être utilisés à la place des moyens d'alimentation 104 et du réseau de résistance 106. En se référant maintenant à la Figure 10, on va décrire en détail un procédé conforme au second mode de réalisation préféré de la présente invention. Le procédé peut comprendre l'étape 108 de production du signal VITESSE correspondant au changement désiré dans la position de rotation du moteur 12 par unité de temps et l'étape 110 de division du changement de la position de rotation par un nombre prédéterminé afin d'obtenir la
valeur du changement de position incrémentiel INC. VIT.
Les étapes 108 et 110 sont effectuées sur une base
périodique à chaque intervalle de mise à jour (c'est-à-
dire à chaque 2 millisecondes dans le mode de réalisation effectif), et le nombre prédéterminé peut correspondre au nombre d'intervalles d'interruption pendant chaque intervalle de mise à jour (à savoir: durée de l'intervalle de mise à jour (2 millisecondes)/durée de l'intervalle d'interruption (31,25 microsecondes) = 64
dans un mode de réalisation effectif).
Un procédé conforme à un second mode de réalisation préféré de la présente invention peut également comprendre l'étape 112 de production de première et seconde valeurs de courant à partir de la table de fonctions 92 ainsi que l'étape 114 de production de premier et second courants dans les enroulements de phase 26A et 26B du moteur 12 en réponse aux première et seconde valeurs de courant. Les étapes 112 et 114 peuvent être effectuées à chaque intervalle d'interruption pendant un intervalle de mise à jour correspondant (c'est-à-dire à chaque 31,25 microsecondes, ou soixante-quatre (64) fois pendant chaque intervalle de mise à jour, dans un mode de
réalisation effectif).
En se référant maintenant à la Figure 11, on va expliquer de manière plus détaillée l'étape 112 de
formation des première et seconde valeurs de courant.
L'étape 112 peut comprendre la sous-étape d'addition de
la valeur de changement de position incrémentiel INC.
VIT. à la valeur du paramètre de position de table de fonctions POSTABLE afin d'obtenir la première adresse de table de fonctions. Cette sous-étape peut comprendre plusieurs sous-étapes comme montré à la Figure 11. Tout d'abord, dans la sous-étape 116, INC. VIT. est ajouté à
POSTABLE pour obtenir une nouvelle valeur de POSTABLE.
Comme énoncé ci-dessus en référence à l'Exemple 1, INC.
VIT peut être un nombre non entier. Du fait que POSTABLE représente un total déroulant de INC. VIT., POSTABLE peut également être un nombre non entier présentant une partie entière du nombre et une partie fractionnaire. Ensuite, dans la sous-étape 118, on obtient la première adresse de table de fonctions en prennant la partie entière du nombre de POSTABLE modulo la dimension de la table de fonctions 92. Dans un mode de réalisation effectif, la table de fonctions 92 comprend 256 points de données ou mots numériques correspondants à une fonction de loi en sinus. En conséquence, la première adresse de table de fonctions comprendra les huit (8) bits les plus
inférieurs de la partie entière du nombre de POSTABLE.
L'étape 112 peut également comprendre la sous-étape 120 d'accès à la table de fonctions 92 pour obtenir la première valeur de courant. En particulier, la première adresse de table de fonctions est utilisée pour indexer la table de fonctions 92 et lire un mot numérique correspondant à une première valeur de courant. La première valeur de courant représente l'intensité du signal d'excitation qui sera appliqué à l'enroulement de phase 26A du moteur 12 pendant un intervalle d'interruption de l'intervalle de mise à jour et peut correspondre à un point de données de fonction de loi en sinus. L'étape 112 de production des première et seconde valeurs de courant à partir de la table de fonctions 92 peut comprendre plusieurs sous-étapes supplémentaires utilisées pour obtenir la seconde valeur de courant. En particulier, l'étape 112 peut comprendre la sous-étape 122 d'addition d'une valeur déphasée à la première adresse de table de fonctions pour obtenir une seconde adresse de table de fonctions. La valeur déphasée est conçue pour produire une seconde valeur de courant (et en conséquence un second courant dans la phase B du moteur) qui est déphasé par rapport à la première valeur de courant (et à un premier courant dans la phase A du moteur) d'une valeur prédéterminée (par exemple, 90 ). On comprendra que, étant donné que la table de fonctions comprend une fonction d'onde en sinus dans le mode de réalisation effectif, un décalage de 90 aura pour résultat une fonction de loi en cosinus. Du fait que la première valeur de courant est utilisée pour entraîner la phase A du moteur tandis que la seconde valeur de courant est utilisée pour entraîner la phase B du moteur, les deux phases seront en opposition de phase. La relation a pour résultat que le rotor 22 tourne, selon la configuration du moteur 12, soit dans le sens des aiguilles d'une montre (CW) soit dans le sens contraire des aiguilles d'une montre (CCW). La présente invention met en oeuvre la commande de direction ou du sens de rotation du moteur en faisant que le signal VITESSE est soit un nombre positif soit un nombre négatif. Avec le nombre positif, la valeur du changement de position incrémentiel INC. VIT. est également positive en ayant pour résultat une augmentation de la valeur du paramètre de position de table de fonctions POSTABLE. Ainsi, les première et seconde adresses de table de fonctions augmentent également et les données sont extraites de la
table de fonctions 92 dans une première direction.
Lorsque INC. VIT. est négatif, POSTABLE et les première et seconde adresses de table de fonctions diminueront, en ayant pour résultat une extraction de données de la table
de fonctions 92 dans une seconde direction.
La valeur déphasée peut être calculée en divisant le déphasage désiré (en degrés) par la longueur du cycle (en degrés) de la fonction stockée dans la table de fonctions 92 et en multipliant la valeur résultante par le nombre d'entrées de la table de fonctions 92. Dans un mode de réalisation effectif, une fonction de loi en sinus à deux cycles (c'est- à-dire 720 ) est stockée dans la table de fonctions 92 dans 256 entrées de la table de mots numériques. En conséquence, si le déphasage désiré est de 90 , la valeur du déphasage dans ce mode de réalisation effectif serait égale à 32 (c'est-à-dire [90 /270 ]*256). La valeur du déphasage peut être stockée dans la mémoire 103. On comprendra que la valeur du déphasage peut être, en variante, ajoutée à la valeur du paramètre de position de table de fonctions POSTABLE et à la seconde adresse de table de fonctions calculée en prennant la somme résultante modulo le nombre d'entrées de la table de fonctions 92, d'une manière analogue à ce qui a été effectué dans les sous-étapes 116 et 118 pour
la première adresse de table de fonctions.
L'étape 112 de production des premier et second signaux de valeur de courant peut finalement comprendre la sous-étape 124 d'accession à la table de fonctions 92 en utilisant la seconde adresse de table de fonctions pour obtenir une seconde valeur de courant. En particulier, la seconde adresse de table de fonctions est utilisée pour indexer la table de fonctions 92 et lire un mot numérique correspondant à une seconde valeur de courant. La seconde valeur de courant représente l'intensité du signal d'excitation qui sera appliqué à l'enroulement de phase 26B du moteur 12 pendant un intervalle d'interruption de l'intervalle de mise à jour et peut correspondre à un point de données de fonction de
loi en sinus.
En se référant à nouveau à la Figure 10, on voit que l'étape 114 de formation des premier et second courants dans le moteur 12 peut également comprendre plusieurs sous-étapes. En particulier, l'étape 114 peut comprendre la sous-étape de production des premier et second signaux d'ordre de courant ICMDA et ICMcB répondant à de première et seconde valeurs de courant. En particulier, les première et seconde valeurs de courant sont lues par des moyens de commande 84 sous la forme de signaux numériques de valeur de courant 86, 88. Les signaux de valeur de courant 86, 88 peuvent comprendre un mot numérique donné qui soit d'une largeur de 16 bits (8 bits pour chaque phase du moteur). Les signaux de valeur de courant 86, 88 qui sont extraites sont alors appliquées aux dispositifs N/A 18 -- un mot de 8 bits à chaque dispositif N/A 18. Les dispositifs N/A 18 répondent en produisant les signaux d'ordre de courant ICMD4A et ICMB, lesquels sont appliqués au circuit d'entraînement 20. L'étape 114 peut également comprendre la sous-étape consistant à appliquer les premier et second signaux d'ordre de courant ICMDcA et IcM4B au circuit de commande 20 de manière à produire de premier et second signaux d'excitation et à appliquer les signaux d'excitation respectivement aux enroulements de phase 26A et 26B du moteur 12 sous la forme de courants
d'entraînement IA et IB-
Les étapes 112 et 114 (ainsi que leurs sous-étapes associées) peuvent être effectuées un nombre prédéterminé de fois correspondant au nombre d'intervalles
d'interruption au cours d'un intervalle de mise à jour.
C'est à la fin de chaque intervalle de mise à jour, qu'une interruption de logiciel est produite. À ce moment, le programme de logiciel principal qui exécute sur les moyens de commande 84 amène un nouveau signal VITESSE à être créé (étape 108) et le processus recommence. L'invention n'est pas limitée aux modes de réalisation représentés et décrits en détail car diverses modifications peuvent y être apportées sans sortir de son
cadre tel que défini par les revendications ci-après.

Claims (16)

REVENDI CATIONS
1. Un procédé de commande d'un moteur caractérisé en ce qu'il comprend les étapes consistant à: (A) produire une première valeur de courant à partir d'une table de fonctions, ladite première valeur de courant correspondant à une forme d'onde d'excitation pour ledit moteur; et (B) stocker ladite première valeur de courant dans
une première table de transfert.
2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend en outre l'étape consistant à: (C) répéter les étapes (A) et (B) une pluralité de fois correspondant au nombre d'entrées devant être amenées à sortir de ladite première table de transfert
pendant un premier intervalle de mise à jour.
3. Procédé selon la revendication 1, caractérisé en ce qu'il comprend en outre les étapes consistant à: (D) produire une seconde valeur de courant à partir de ladite table de fonctions, cette seconde valeur de courant correspondant à une forme d'onde d'excitation pour ledit moteur; et (E) stocker ladite seconde valeur de courant dans
une seconde table de transfert.
4. Procédé selon la revendication 3, caractérisé en ce qu'il comprend en outre l'étape consistant à: (F) répéter les étapes (A) et (B) une pluralité de fois correspondant au nombre d'entrées devant être amenées à sortir dudit premier tableau de transfert pendant un premier intervalle de mise à jour; et (G) répéter les étapes (D) et (E) une pluralité de fois correspondant au nombre d'entrées devant être amenées à sortir de ladite seconde table de transfert
pendant un second intervalle de mise à jour.
5. Procédé de commande d'un moteur, caractérisé en ce qu'il comprend les étapes consistant à: (A) produire un signal de vitesse pendant un premier intervalle de mise à jour, ledit premier intervalle de mise à jour comprenant une pluralité d'intervalles d'interruption et ledit signal de vitesse correspondant à un changement désiré dans la position de rotation dudit moteur par unité de temps; (B) diviser ledit changement de position de rotation par un nombre prédéterminé pour obtenir une valeur de changement de position incrémentiel; (C) produire une première valeur de courant à partir d'une table de fonctions pendant un premier intervalles d'interruption de ladite pluralité d'intervalles d'interruption en utilisant ladite valeur de changement de position incrémentiel; et (D) produire un premier courant dans ledit moteur pendant ledit premier intervalle de temps en réponse à
ladite première valeur de courant.
6. Procédé selon la revendication 5, caractérisé en ce qu'il comprend en outre l'étape consistant à: (E) répéter les étapes (C) et (D) pendant chaque
intervalle d'interruption de ladite pluralité d'interval-
les d'interruption.
7. Procédé selon la revendication 5, caractérisé en ce que l'étape (C) de formation d'une première valeur de courant comprend les sous-étapes consistant à: ajouter ladite valeur de changement de position incrémentiel à une valeur de position de table de fonctions pour obtenir une première adresse de table de fonctions; et accéder à ladite table de fonctions en utilisant ladite première adresse de table de fonctions pour
obtenir ladite première valeur de courant.
8. Procédé selon la revendication 5 caractérisé en ce que l'étape (D) de production d'un premier courant comprend les sous-étapes consistant à: produire un premier ordre de courant en réponse à ladite première valeur de courant; appliquer ledit premier ordre de courant à un circuit d'entraînement pour produire un premier signal d'excitation; et appliquer ledit premier signal d'excitation à une
première phase du moteur.
9. Procédé selon la revendication 5, caractérisé en ce que ladite première valeur de courant correspond à une
fonction de loi en sinus.
10. Procédé selon la revendication 5, caractérisé en ce qu'il comprend en outre les étapes consistant à: (E) produire une seconde valeur de courant à partir de ladite table de fonctions pendant le premier intervalle d'interruption en utilisant la valeur de changement de position incrémentiel; et (F) produire un second courant dans ledit moteur pendant ce premier intervalle d'interruption en réponse à
ladite seconde valeur de courant.
11. Procédé selon la revendication 10, caractérisé en ce qu'il comprend en outre l'étape consistant à: (G) répéter les étapes (C), (D), (E) et (F) pendant chaque intervalle d'interruption de ladite pluralité
d'intervalles d'interruption.
12. Procédé selon la revendication 10, caractérisé en ce que l'étape (E) de production d'une seconde valeur de courant comprend les sous-étapes consistant à: ajouter une valeur de déphasage à une première adresse de table de fonctions pour obtenir une seconde adresse de table de fonctions; et accéder à ladite table de fonctions en utilisant cette seconde adresse de table de fonctions pour obtenir
la seconde valeur de courant.
13. Procédé selon la revendication 10 caractérisé en ce que la seconde valeur de courant correspond à une
fonction de loi en cosinus.
14. Procédé de commande d'un moteur, caractérisé en ce qu'il comprend les étapes consistant à: (A) produire un signal de vitesse pendant un premier intervalle de mise à jour, ce premier intervalle de mise à jour comprenant une pluralité d'intervalles d'interruption et ledit signal de vitesse correspondant à un changement désiré dans la position de rotation du moteur par unité de temps; (B) diviser ledit changement dans la position de rotation par un nombre prédéterminé pour obtenir une valeur de changement de position incrémentiel; (C) ajouter ladite valeur de changement de position incrémentiel à une valeur de position de table de fonctions pour obtenir une première adresse de table de fonctions; (D) accéder à cette table de fonctions en utilisant ladite première adresse de table de fonctions pour
obtenir la première valeur de courant.
(E) produire un premier courant dans une première phase dudit moteur en utilisant le premier intervalle d'interruption en réponse à ladite première valeur de courant; (F) ajouter une valeur de déphasage à ladite première adresse de table de fonctions pour obtenir une seconde adresse de table de fonctions; (G) accéder à ladite table de fonctions en utilisant la seconde adresse de table de fonctions pour obtenir ladite seconde valeur de courant; et (H) produire un second courant dans une seconde phase du moteur en utilisant ledit premier intervalle
d'interruption en réponse à la seconde valeur de courant.
15. Appareil pour commander un moteur caractérisé en ce qu'il comprend: des moyens pour produire un signal de vitesse pendant un premier intervalle de mise à jour, ce premier intervalle de mise à jour comprenant une pluralité d'intervalles d'interruption et ledit signal de vitesse correspondant à un changement désiré dans la position de rotation du moteur par unité de temps; des moyens pour diviser ledit changement dans la position de rotation par un nombre prédéterminé pour obtenir une valeur de changement de position incrémentiel; des moyens pour produire une première valeur de courant à partir d'une table de fonctions pendant un premier intervalle d'interruption de ladite pluralité d'intervalles d'interruption en utilisant ladite valeur de changement de position incrémentiel; et des moyens pour produire un premier courant dans le moteur en utilisant le premier intervalle d'interruption
en réponse à ladite première valeur de courant.
16. Appareil selon la revendication 15 caractérisé en ce qu'il comprend en outre: des moyens pour produire une seconde valeur de courant à partir de ladite table de fonctions pendant un premier intervalle d'interruption de ladite pluralité d'intervalles d'interruption en utilisant la valeur de changement de position incrémentiel; et des moyens pour produire un second courant dans le moteur pendant ce premier intervalle d'interruption en
réponse à ladite seconde valeur de courant.
FR0000054A 1999-01-05 2000-01-04 Commande de moteurs pas-a-pas Pending FR2788175A1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/226,138 US6121745A (en) 1997-10-02 1999-01-05 Direct current command generation for a stepper motor drive

Publications (1)

Publication Number Publication Date
FR2788175A1 true FR2788175A1 (fr) 2000-07-07

Family

ID=22847720

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0000054A Pending FR2788175A1 (fr) 1999-01-05 2000-01-04 Commande de moteurs pas-a-pas

Country Status (4)

Country Link
US (1) US6121745A (fr)
JP (1) JP2000209900A (fr)
DE (1) DE10000125A1 (fr)
FR (1) FR2788175A1 (fr)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19702931C1 (de) 1997-01-28 1998-07-02 Bosch Gmbh Robert Anordnung zur Nachlauferfassung von elektrischen Stellmotoren mit inkrementaler Positionserfassung
JP4465117B2 (ja) * 1998-11-12 2010-05-19 パナソニック株式会社 ステッピングモータの制御装置
WO2002015381A1 (fr) * 2000-08-15 2002-02-21 Vladimir Nikolayevich Davidov Procede et appareil pour reguler l'acceleration et la vitesse d'un moteur pas a pas
CA2351201A1 (fr) * 2000-11-21 2002-05-21 Zih Corporation Circuit de commande de moteur ameliore
US6597147B2 (en) * 2000-12-29 2003-07-22 Pitney Bowes Inc. 1/8th and 1/16th micro-stepping motor drive software architecture
US7338260B2 (en) * 2004-03-17 2008-03-04 Baxier International Inc. System and method for controlling current provided to a stepping motor
CN1333519C (zh) * 2004-10-20 2007-08-22 宇东电浆科技股份有限公司 步进马达加速系统
CN102843083B (zh) * 2012-09-18 2015-06-03 天津市亚安科技股份有限公司 一种步进电机电流的控制方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4855660A (en) * 1988-02-18 1989-08-08 Siemens-Bendix Automotive Electronics L.P. Microstepping of an unipolar stepping motor
US5572105A (en) * 1993-12-27 1996-11-05 Canon Kabushiki Kaisha Stepping motor control method including varying the number of split sections in one step drive period of a stepping motor
US5650705A (en) * 1995-02-13 1997-07-22 Hart; John Roger Apparatus and method for controlling currents in an inductor
DE19704296A1 (de) * 1997-02-06 1998-08-20 Leica Mikroskopie & Syst Verfahren und Vorrichtung zur Schrittmotoransteuerung
WO1999018655A1 (fr) * 1997-10-02 1999-04-15 Dana Corporation Generation de commande en courant continu pour entrainement par moteur pas-a-pas

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4250544A (en) * 1980-01-04 1981-02-10 General Electric Company Combination microprocessor and discrete element control system for a clock rate controlled electronically commutated motor
US4353019A (en) * 1980-07-29 1982-10-05 Unisen, Inc. Adaptive pulsing motor control for positioning system
US4529919A (en) * 1983-01-05 1985-07-16 Towmotor Corporation Plugging and plugging override control apparatus
JP2572564B2 (ja) * 1983-08-22 1997-01-16 株式会社 エスジー 電気モータの位置決め制御装置
US4518907A (en) * 1983-11-07 1985-05-21 The Superior Electric Company Digital motor control method and means
US4642536A (en) * 1984-04-19 1987-02-10 General Electric Company Control system for an electronically commutated motor, method of controlling such, method of controlling an electronically commutated motor and laundry apparatus
US4630210A (en) * 1984-10-04 1986-12-16 Pitney Bowes Inc. Microprocessor controlled d.c. motor for controlling a load
JPS61150699A (ja) * 1984-12-25 1986-07-09 Seiko Seiki Co Ltd ステツプモ−タ制御装置
US4868477A (en) * 1987-06-23 1989-09-19 The Superior Electric Company Method and apparatus for controlling torque and torque ripple in a variable reluctance motor
US4845608A (en) * 1987-12-21 1989-07-04 General Electric Company Digital speed controller using a single-chip microcontroller
JPH02214496A (ja) * 1989-02-14 1990-08-27 Fanuc Ltd 交流電動機の制御方式
US5198741A (en) * 1989-07-31 1993-03-30 Canon Kabushiki Kaisha Drive control system of stepping motor
JP3024164B2 (ja) * 1990-04-13 2000-03-21 ソニー株式会社 オートフォーカス装置のモータ制御回路
US5187417A (en) * 1990-08-06 1993-02-16 Cincinnati Milacron Inc. Motor control apparatus and method
US5249118A (en) * 1991-09-03 1993-09-28 Golden Gate Microsystems Incorporated Fully adaptive velocity tracking drive control positioning system
KR940006958B1 (ko) * 1991-10-02 1994-07-30 삼성전자 주식회사 교류서보모터의 상전류 명령값 발생장치 및 발생방법
US5290205A (en) * 1991-11-08 1994-03-01 Quinton Instrument Company D.C. treadmill speed change motor controller system
JPH07507678A (ja) * 1992-09-29 1995-08-24 シーメンス アクチエンゲゼルシヤフト ステッピングモータの制御方法
US5420492A (en) * 1993-01-14 1995-05-30 Emerson Electric Co. Method and apparatus of operating a dynamoelectric machine using DC bus current profile
US5359271A (en) * 1993-01-25 1994-10-25 Gtech Corporation Microstepping bipolar stepping motor controller for document positioning
US5648759A (en) * 1994-02-02 1997-07-15 National Semiconductor Corporation Failsafe voltage regulator with warning signal driver
US5508594A (en) * 1994-06-10 1996-04-16 Westinghouse Electric Corp Electric vehicle chassis controller
US5583410A (en) * 1994-10-21 1996-12-10 Pitney Bowes Inc. Method and apparatus for multiplex control of a plurality of stepper motors
US5475289A (en) * 1994-11-04 1995-12-12 Trw Inc. Method and apparatus for controlling an electric assist steering system using two-dimensional interpolation for current commands
US5552691A (en) * 1994-11-14 1996-09-03 Pitney Bowes Inc. Microprocessor motor control

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4855660A (en) * 1988-02-18 1989-08-08 Siemens-Bendix Automotive Electronics L.P. Microstepping of an unipolar stepping motor
US5572105A (en) * 1993-12-27 1996-11-05 Canon Kabushiki Kaisha Stepping motor control method including varying the number of split sections in one step drive period of a stepping motor
US5650705A (en) * 1995-02-13 1997-07-22 Hart; John Roger Apparatus and method for controlling currents in an inductor
DE19704296A1 (de) * 1997-02-06 1998-08-20 Leica Mikroskopie & Syst Verfahren und Vorrichtung zur Schrittmotoransteuerung
WO1999018655A1 (fr) * 1997-10-02 1999-04-15 Dana Corporation Generation de commande en courant continu pour entrainement par moteur pas-a-pas

Also Published As

Publication number Publication date
JP2000209900A (ja) 2000-07-28
DE10000125A1 (de) 2000-07-06
US6121745A (en) 2000-09-19

Similar Documents

Publication Publication Date Title
CH640986A5 (fr) Procede de commande d'un moteur electrique en boucle ouverte.
FR2644949A1 (fr) Procede et circuit electronique pour commander un moteur a courant continu sans balais
FR2493561A1 (fr) Controleur de facteur de puissance a etalonnage automatique pour moteurs a induction a courant alternatif
EP0103542A1 (fr) Ensemble moteur fonctionnant pas-à-pas
FR2747521A1 (fr) Commande d'un moteur sans collecteur
EP0199613B1 (fr) Procédé et dispositif pour commander l'accélération d'un moteur électrique pas à pas
FR2470477A1 (fr) Moteur a courant continu sans balai
FR2788175A1 (fr) Commande de moteurs pas-a-pas
FR2541055A1 (fr) Procede et systeme d'asservissement d'un moteur a courant continu
FR2494058A1 (fr) Installation de commande de couple pour moteurs a induction
FR2633116A1 (fr) Circuit d'asservissement de moteur
FR2485292A1 (fr) Ensemble de conversion electromecanique d'energie a machine sans balai et son procede de commande
EP2022164A1 (fr) Procédé et dispositif de génération de signaux de commande d'une machine électrique tournante polyphasée en fonction de la vitesse
JP2001509000A (ja) ステッパーモータドライブへの直接の電流指令発生
EP1356583B1 (fr) Systeme de controle de moteurs sans balais
EP0505293B1 (fr) Système de commande d'un onduleur par modulation de largeur d'impulsion
EP1285490B1 (fr) Procede de determination de la position du rotor d'un moteur electromagnetique sans collecteur et dispositif pour sa mise en oeuvre
EP1484835A2 (fr) Procédé et système de régulation du couple électromagnétique instantané, et support d'enregistrement pour la mise en oeuvre du procédé
WO2020001904A1 (fr) Moteur electrique a courant continu sans balai et procede de commande associe
EP0999639A1 (fr) Procédé de commande pour machine électrique tournante, système d'asservissement pour la mise en oeuvre de ce procédé et machine tournante pourvue d'un tel système
EP3394978B1 (fr) Procédé de commande pseudo-sinusoïdale d'un moteur électrique synchrone
WO2024042241A1 (fr) Système de pilotage destiné à un moteur sans balai polyphasé dépourvu de capteur de position
CH656266A5 (fr) Dispositif pour la commande d'un moteur a courant continu.
EP0736964B1 (fr) Système d'entraínement à base de moteur pas à pas comprenant des moyens perfectionnés de remise à zéro
FR2616282A1 (fr) Automate de commande rapprochee et procede de commande d'un convertisseur statique en vue notamment de l'alimentation d'une machine electrique