FR3058595A1 - Procede pour piloter de facon adaptative un moteur pas a pas, et dispositif correspondant - Google Patents
Procede pour piloter de facon adaptative un moteur pas a pas, et dispositif correspondant Download PDFInfo
- Publication number
- FR3058595A1 FR3058595A1 FR1660669A FR1660669A FR3058595A1 FR 3058595 A1 FR3058595 A1 FR 3058595A1 FR 1660669 A FR1660669 A FR 1660669A FR 1660669 A FR1660669 A FR 1660669A FR 3058595 A1 FR3058595 A1 FR 3058595A1
- Authority
- FR
- France
- Prior art keywords
- motor
- mode
- control mode
- current
- piloting
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000012545 processing Methods 0.000 claims abstract description 115
- 230000001133 acceleration Effects 0.000 claims abstract description 18
- 238000012360 testing method Methods 0.000 claims abstract description 14
- 238000012795 verification Methods 0.000 claims description 6
- 238000011156 evaluation Methods 0.000 claims description 2
- 230000003287 optical effect Effects 0.000 claims description 2
- 230000007423 decrease Effects 0.000 description 7
- 230000007704 transition Effects 0.000 description 6
- 230000006978 adaptation Effects 0.000 description 4
- 102100024458 Cyclin-dependent kinase inhibitor 2A Human genes 0.000 description 2
- 108010009392 Cyclin-Dependent Kinase Inhibitor p16 Proteins 0.000 description 1
- 102100024462 Cyclin-dependent kinase 4 inhibitor B Human genes 0.000 description 1
- 101100473189 Schizosaccharomyces pombe (strain 972 / ATCC 24843) rpn1 gene Proteins 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D3/00—Control of position or direction
- G05D3/12—Control of position or direction using feedback
- G05D3/14—Control of position or direction using feedback using an analogue comparing device
- G05D3/18—Control of position or direction using feedback using an analogue comparing device delivering a series of pulses
- G05D3/183—Control of position or direction using feedback using an analogue comparing device delivering a series of pulses using stepping motor
-
- G—PHYSICS
- G04—HOROLOGY
- G04C—ELECTROMECHANICAL CLOCKS OR WATCHES
- G04C3/00—Electromechanical clocks or watches independent of other time-pieces and in which the movement is maintained by electric means
- G04C3/02—Electromechanical clocks or watches independent of other time-pieces and in which the movement is maintained by electric means wherein movement is regulated by a pendulum
- G04C3/021—Electromechanical clocks or watches independent of other time-pieces and in which the movement is maintained by electric means wherein movement is regulated by a pendulum using mechanical coupling
- G04C3/022—Electromechanical clocks or watches independent of other time-pieces and in which the movement is maintained by electric means wherein movement is regulated by a pendulum using mechanical coupling with constant impulses
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/19—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
- G05B19/40—Open loop systems, e.g. using stepping motor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K13/00—Conveying record carriers from one station to another, e.g. from stack to punching mechanism
- G06K13/18—Conveying record carriers from one station to another, e.g. from stack to punching mechanism the record carrier being longitudinally extended, e.g. punched tape
- G06K13/20—Details
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02K—DYNAMO-ELECTRIC MACHINES
- H02K37/00—Motors with rotor rotating step by step and without interrupter or commutator driven by the rotor, e.g. stepping motors
- H02K37/22—Damping units
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P8/00—Arrangements for controlling dynamo-electric motors rotating step by step
- H02P8/22—Control of step size; Intermediate stepping, e.g. microstepping
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P8/00—Arrangements for controlling dynamo-electric motors rotating step by step
- H02P8/32—Reducing overshoot or oscillation, e.g. damping
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Control Of Stepping Motors (AREA)
- Control Of Vehicle Engines Or Engines For Specific Uses (AREA)
- Steering Control In Accordance With Driving Conditions (AREA)
Abstract
Ledit moteur (SM) est piloté selon des modes de pilotage par pas comprenant un mode de pilotage par pas entiers (FSDM), un mode de pilotage par demi-pas (HSDM) et des modes de pilotage par micropas (QSDM, ESDM, SSDM). Ledit procédé comprend le fait de commander le mode de pilotage courant du moteur (SM) par une unité de traitement (PU). Pendant une phase d'accélération (AP) du moteur (SM) qui est dans un mode de pilotage courant autre que le mode de pilotage par pas entiers (FSDM), l'unité de traitement (PU) teste, après chaque augmentation de vitesse, si sa puissance de calcul restante (RCP) est suffisante pour rester dans ledit mode de pilotage courant, et dans le cas contraire, elle passe au mode de pilotage à pas plus grossier le plus proche en présence d'une première condition de changement.
Description
058 595
60669 ® RÉPUBLIQUE FRANÇAISE
INSTITUT NATIONAL DE LA PROPRIÉTÉ INDUSTRIELLE © N° de publication :
(à n’utiliser que pour les commandes de reproduction) © N° d’enregistrement national
COURBEVOIE © Int Cl8 : H 02 P 8/34 (2017.01)
DEMANDE DE BREVET D'INVENTION
A1
©) Date de dépôt : 04.11.16. | © Demandeur(s) : STMICROELECTRONICS (GRAND |
(30) Priorité : | OUEST) SAS — FR. |
@ Inventeur(s) : LANGOUET EMMANUEL et ROUSSE- | |
LIN SAMUEL. | |
(43) Date de mise à la disposition du public de la | |
demande : 11.05.18 Bulletin 18/19. | |
©) Liste des documents cités dans le rapport de | |
recherche préliminaire : Se reporter à la fin du | |
présent fascicule | |
(© Références à d’autres documents nationaux | ® Titulaire(s) : STMICROELECTRONICS (GRAND |
apparentés : | OUEST) SAS. |
©) Demande(s) d’extension : | (© Mandataire(s) : CASALONGA. |
FR 3 058 595 - A1
PROCEDE POUR PILOTER DE FAÇON ADAPTATIVE UN MOTEUR PAS A PAS, ET DISPOSITIF CORRESPONDANT.
©) Ledit moteur (SM) est piloté selon des modes de pilotage par pas comprenant un mode de pilotage par pas entiers (FSDM), un mode de pilotage par demi-pas (HSDM) et des modes de pilotage par micropas (QSDM, ESDM,
SSDM). Ledit procédé comprend le fait de commander le mode de pilotage courant du moteur (SM) par une unité de traitement (PU). Pendant une phase d'accélération (AP) du moteur (SM) qui est dans un mode de pilotage courant autre que le mode de pilotage par pas entiers (FSDM), l'unité de traitement (PU) teste, après chaque augmentation de vitesse, si sa puissance de calcul restante (RCP) est suffisante pour rester dans ledit mode de pilotage courant, et dans le cas contraire, elle passe au mode de pilotage à pas plus grossier le plus proche en présence d'une première condition de changement.
Procédé pour piloter de façon adaptative un moteur pas à pas, et dispositif correspondant
Des modes de réalisation de la présente invention concernent la commande de mouvement pour les moteurs pas-à-pas, plus particulièrement le pilotage par « micropas » de moteurs pas-à-pas, situés par exemple dans un appareil électronique, comme une imprimante, une imprimante 3D, un appareil photographique numérique grand public ou une caméra de sécurité.
Le pilotage par micropas (« micro-stepping » en anglais) est une technique de pilotage généralement utilisée pour obtenir un positionnement précis avec les moteurs pas-à-pas.
Le pilotage par micropas permet de façon avantageuse à un moteur pas-à-pas d’atteindre des positions qui sont situées entre deux de ses pas mécaniques avec une meilleure résolution que dans le pilotage par demi-pas. Ces positions intermédiaires sont couramment appelées des micropas.
Par conséquent, un mode de pilotage par micropas d’un moteur pas-à-pas est le nombre 1/N, où N est le nombre de micropas entre deux pas mécaniques du moteur pas-à-pas.
En général, la valeur de N est 2n, où n est un entier supérieur à 1. Les modes de pilotage par micropas les plus courants sont 1/4, 1/8, 1/16, etc.
En conséquence, un moteur pas-à-pas est capable de fonctionner dans différents modes de pilotage, parmi lesquels le mode de pilotage par pas entiers, le mode de pilotage par demi-pas et plusieurs modes de pilotage par micropas ayant différentes résolutions. On utilise couramment une unité de traitement comme un microcontrôleur pour commander ces différents modes de pilotage par pas d’un moteur pas-à-pas.
Toutefois, étant donné que toutes les opérations de commande et de calcul doivent être réalisées par l’unité de traitement avant chaque déplacement par micropas, et que l’unité de traitement peut avoir en même temps d’autres tâches à traiter, le pilotage par micropas conventionnel nécessite une très grande puissance de calcul de l’unité de traitement, qui est très difficile à satisfaire en permanence. La situation peut encore s’aggraver quand la vitesse du moteur devient plus élevée, car l’augmentation de la vitesse du moteur implique une réduction du temps disponible pour les opérations de commande et de calcul.
La vitesse des applications conventionnelles des moteurs pas-àpas nécessitant un positionnement par micropas est donc limitée par la puissance de calcul de l’unité de traitement de façon statique.
En conséquence, la vitesse et la précision d’une telle application conventionnelle des moteurs pas-à-pas n’est pas optimisée en prenant en compte la puissance de calcul de l’unité de traitement en temps réel.
Selon un mode de réalisation, il est proposé un procédé adaptatif et un dispositif correspondant pour piloter un moteur pas-àpas de manière dynamique afin de toujours appliquer le pilotage par micropas le plus fin possible si la puissance de calcul de l’unité de traitement servant à commander le moteur pas-à-pas le permet.
Selon un mode de réalisation, il est proposé un tel procédé et un tel dispositif qui limitent la vibration du moteur pas-à-pas quand on fait passer le mode de pilotage du plus grossier au plus fin, ou inversement.
Il est proposé aussi, selon un mode de réalisation, de fournir une option avantageuse soit pour augmenter le couple du moteur pas-àpas, soit pour réduire sa vibration.
Selon un mode de réalisation, il est proposé d’adapter automatiquement le mode de pilotage par micropas pour maximiser la vitesse du moteur en fonction de la position visée. A cette fin, quand la puissance de calcul restante diminue, généralement quand la vitesse du moteur augmente, l’unité de traitement fait passer le mode de pilotage du mode de pilotage par micropas le plus fin au mode le plus grossier, et si cela ne suffit pas, au mode de pilotage par demi-pas puis par pas entiers. A l’inverse, quand la puissance de calcul restante augmente, généralement quand la vitesse du moteur diminue ou quand le moteur approche d’une position visée qui demande de la précision, l’unité de traitement change le mode de pilotage progressivement. Elle le fait passer du pilotage par pas entiers au pilotage par demi-pas, puis du mode de pilotage par pas le plus grossier au plus fin, de sorte que la précision requise pour atteindre la position visée est préservée.
Selon un aspect, il est ainsi proposé un procédé de pilotage d’un moteur pas-à-pas. Ledit moteur est piloté selon des modes de pilotage par pas qui comprennent un mode de pilotage par pas entiers, un mode de pilotage par demi-pas et des modes de pilotage par micropas. Ledit procédé comprend la commande du mode de pilotage courant du moteur par une unité de traitement.
Selon une caractéristique générale de cet aspect, pendant une phase d’accélération du moteur qui est dans un mode de pilotage courant autre que le mode de pilotage par pas entiers, l’unité de traitement teste, après chaque augmentation de la vitesse, si sa puissance de calcul restante est suffisante pour rester dans ledit mode de pilotage courant, et si ce n’est pas le cas, elle passe au mode de pilotage à pas plus grossier le plus proche en présence d’une première condition de changement.
Un tel procédé permet d’adapter avantageusement le mode de pilotage courant à la puissance de calcul restante de l’unité de traitement en temps réel. Avec l’augmentation de la vitesse du moteur, le temps pour calculer les paramètres de commande entre deux pas voisins devient rapidement de plus en plus court. Le passage au mode de pilotage à pas plus grossier le plus proche en présence d’une première condition de changement peut réduire non seulement la charge de travail de l’unité de traitement mais aussi le temps pour atteindre la position visée puisque la longueur du micropas est augmentée dans le mode de pilotage à pas plus grossier le plus proche.
Ladite première condition de changement peut par exemple comprendre une correspondance de la position courante du moteur dans ledit mode de pilotage courant avec une position définie dans ledit mode de pilotage à pas plus grossier le plus proche.
On notera que la longueur du micropas dans ledit mode de pilotage courant est plus petite que celle du micropas dans le mode de pilotage à pas plus grossier le plus proche. Si la position courante du moteur se situe au milieu de deux micropas voisins dudit pilotage à pas plus grossier le plus proche, ledit moteur n’est pas capable de réaliser un nouveau micropas dudit mode de pilotage à pas plus grossier le plus proche tant que ladite position courante n’a pas atteint une position définie dans ledit mode de pilotage à pas plus grossier le plus proche. En d’autres termes, il lui faut réaliser au moins un nouveau pas dans ledit mode de pilotage courant.
Ledit moteur comprend des phases de moteur, par exemple deux phases de moteur pour un moteur bipolaire. Dans ce cas, on réalise un pilotage par micropas en appliquant une paire de valeurs sinusoïdale et cosinusoïdale discrétisées aux phases du moteur pas-àpas et un circuit de commande électronique bien connu de l’homme de l’art et généralement connu sous le nom de pont en H est utilisé dans ledit moteur. Les courants pour les différentes phases peuvent être observés dans le pont en H et ces courants varient avec les mouvements des micropas.
Ladite première condition de changement peut en outre comprendre de préférence un écart de courant minimum sur les phases du moteur.
Ceci permet de s’assurer que chaque passage dudit mode de pilotage courant au pilotage à pas plus grossier le plus proche est réalisé avec une vibration minimale.
Selon un mode de mise en œuvre, ledit test comprend l’évaluation du temps de calcul nécessaire pour déterminer les paramètres de commande à appliquer au moteur pour que le moteur atteigne la position suivante dans ledit mode de pilotage courant et la détermination du temps de passage requis par le moteur pour passer réellement à ladite position suivante en prenant en compte la vitesse courante du moteur. Ladite puissance de calcul restante est suffisante pour rester dans ledit mode de pilotage courant si ledit temps de passage est supérieur ou égal audit temps de calcul plus une première marge.
En l’absence de ladite première condition de changement, au moins un nouveau pas peut être réalisé par le moteur dans ledit mode de pilotage courant. Ladite première marge peut être adaptée pour permettre la réalisation dudit au moins un nouveau pas dans ledit mode de pilotage courant.
Cette première marge est avantageusement plus grande qu’un premier paramètre égal à la longueur d’un micropas dans ledit mode de pilotage courant divisée par le produit de l’accélération et du temps de passage, et elle peut être de façon typique supérieure ou égale à la somme dudit premier paramètre et d’un temps réservé pour les besoins dynamiques des autres tâches que doit exécuter le microcontrôleur (pc).
En fonction de l’application, l’homme de l’art sera apte à déterminer la valeur appropriée pour cette première marge.
Selon un autre mode de mise en œuvre, au cours d’une phase de décélération du moteur qui est dans un mode de pilotage courant autre que le mode de pilotage par micropas le plus fin, l’unité de traitement teste, après chaque réduction de la vitesse, si une deuxième condition de changement est remplie pour passer dans le mode de pilotage à pas plus fin le plus proche.
Par exemple, ladite deuxième condition de changement peut comprendre le fait de vérifier si la puissance de calcul restante de l’unité de traitement est suffisante pour permettre le passage audit mode de pilotage à pas plus fin le plus proche.
Ceci permet avantageusement à l’unité de traitement de passer progressivement du mode de pilotage courant au mode de pilotage le plus fin possible pendant la phase de décélération afin de prendre en compte la puissance de calcul restante de l’unité de traitement et la précision des mouvements de micropas.
Ladite vérification peut comprendre :
évaluer le temps de calcul nécessaire pour déterminer les paramètres de commande à appliquer au moteur pour que le moteur atteigne la position suivante dans ledit mode de pilotage courant, déterminer le temps de passage requis par le moteur pour passer réellement à ladite position suivante en prenant en compte la vitesse courante du moteur, et déterminer que ladite puissance de calcul restante est suffisante pour permettre le passage audit mode de pilotage à pas plus fin le plus proche si ledit temps de passage est supérieur ou égal audit temps de calcul plus une deuxième marge.
La deuxième marge est avantageusement supérieure à un deuxième paramètre égal à la différence entre le temps de passage courant dans ledit mode de pilotage courant et le temps de passage suivant dans ledit mode de pilotage à pas plus fin le plus proche, et elle peut de façon typique être supérieure ou égale à la somme dudit deuxième paramètre et d’un temps réservé pour les besoins dynamiques des autres tâches que doit exécuter l’unité de traitement.
En fonction de l’application, l’homme de l’art sera apte à déterminer la valeur appropriée pour cette deuxième marge.
La deuxième marge peut être différente de la première marge ou égale à celle-ci.
Selon un autre mode de mise en œuvre, si ladite puissance de calcul restante n’est pas suffisante pour permettre le passage audit mode de pilotage courant à pas plus fin le plus proche, si la différence entre la position finale et la position courante du moteur est inférieure à un pas entier et si ladite position finale n’est pas accessible avec le mode de pilotage courant, la vitesse du moteur est réduite pour obtenir une puissance de calcul restante suffisante pour permettre le passage audit mode de pilotage à pas plus fin le plus proche.
Selon un autre mode de mise en œuvre, ladite deuxième condition de changement comprend en outre un écart de courant minimal sur les phases de moteur du moteur.
Pour la première condition de changement, ceci permet de lisser chaque passage du mode de pilotage courant au mode de pilotage à pas plus fin le plus proche avec une vibration minimale.
Dans le cas où ladite deuxième condition de changement n’est pas remplie, un nouveau pas peut être réalisé par le moteur dans ledit mode de pilotage courant.
Selon un autre mode de mise en œuvre, quand le moteur marche à vitesse constante, le mode de pilotage courant est progressivement modifié jusqu’à atteindre le mode de pilotage par pas entiers, quelle que soit la puissance de calcul restante.
Cette façon de piloter le moteur à vitesse constante permet d’accroître le couple de sortie du moteur en faisant passer le mode de pilotage courant au mode de pilotage le plus grossier possible. Dans ce cas, la puissance de calcul restante n’est pas vérifiée puisque le micropas devient de plus en plus grand quand la vitesse du moteur est constante. En conséquence, le temps pour les opérations de commande et de calcul et la puissance de calcul restante deviennent de plus en plus pertinents.
Selon encore un autre mode de mise en œuvre, quand le moteur marche à vitesse constante, le mode de pilotage courant peut être progressivement modifié jusqu’à atteindre le mode de pilotage le plus fin possible.
Dans ce mode, le mode de pilotage courant est changé dans le sens inverse par rapport au précédent mode pour piloter le moteur à vitesse constante. L’emploi du micropas le plus fin possible est destiné à minimiser la vibration du moteur lorsqu’il fonctionne dans son mode en régimen établi (c’est-à-dire à vitesse constante). La puissance de calcul restante est vérifiée ici parce que le temps pour les opérations de commande et de calcul devient de moins en moins pertinent, puisque le micropas devient aussi de plus en plus petit.
Selon un autre aspect, il est proposé un dispositif pour piloter un moteur pas-à-pas. Ledit moteur est configuré pour être piloté selon des modes de pilotage par pas comprenant un mode de pilotage par pas entiers, un mode de pilotage par demi-pas et des modes de pilotage par micropas. Le dispositif comprend une unité de traitement pour commander le mode de pilotage courant du moteur.
Selon une caractéristique générale de cet autre aspect, pendant une phase d’accélération du moteur qui est dans un mode de pilotage courant autre que le mode de pilotage par pas entiers, l’unité de traitement est configurée pour tester, après chaque augmentation de vitesse, si sa puissance de calcul restante est suffisante pour rester dans ledit mode de pilotage courant, et dans le cas contraire, pour passer au mode de pilotage à pas plus grossier le plus proche en présence d’une première condition de changement.
Selon un mode de réalisation, ladite première condition de changement comprend une correspondance de la position courante du moteur dans ledit mode de pilotage courant avec une position définie dans ledit mode de pilotage à pas plus grossier le plus proche.
Selon un mode de réalisation, ledit moteur comprend des phases de moteur, et ladite première condition de changement comprend en outre un écart de courant minimum sur les phases du moteur.
Selon un autre mode de réalisation, pendant ledit test, l’unité de traitement est configurée pour évaluer le temps de calcul nécessaire pour déterminer les paramètres de commande à appliquer au moteur pour que le moteur atteigne la position suivante dans ledit mode de pilotage courant, pour déterminer le temps de passage requis par le moteur pour passer réellement à ladite position suivante en prenant en compte la vitesse courante du moteur, et ladite puissance de calcul restante est suffisante pour rester dans ledit mode de pilotage courant si ledit temps de passage est supérieur ou égal audit temps de calcul plus une première marge.
Selon cet autre mode de réalisation, en l’absence de ladite première condition de changement, l’unité de traitement est configurée pour commander le moteur pour réaliser au moins un nouveau pas dans ledit mode de pilotage courant, ladite première marge étant adaptée pour permettre la réalisation d’au moins un nouveau pas dans ledit mode de pilotage courant.
Selon encore un autre mode de réalisation, dans lequel au cours d’une phase de décélération du moteur qui est dans un mode de pilotage courant autre que le mode de pilotage par micropas le plus fin, l’unité de traitement est configurée pour tester, après chaque réduction de la vitesse, si une deuxième condition de changement est remplie pour passer dans le mode de pilotage à pas plus fin le plus proche.
Par exemple, ladite deuxième condition de changement peut comprendre le fait de vérifier si la puissance de calcul restante de l’unité de traitement est suffisante pour permettre le passage audit mode de pilotage à pas plus fin le plus proche.
Selon un mode de réalisation, pendant ladite vérification, l’unité de traitement est configurée pour évaluer le temps de calcul nécessaire pour déterminer les paramètres de commande à appliquer au moteur pour que le moteur atteigne la position suivante dans ledit mode de pilotage courant, pour déterminer le temps de passage requis par le moteur pour passer réellement à ladite position suivante en prenant en compte la vitesse courante du moteur, et pour déterminer que ladite puissance de calcul restante est suffisante pour permettre le passage audit mode de pilotage à pas plus fin le plus proche si ledit temps de passage est supérieur ou égal audit temps de calcul plus une deuxième marge.
Selon un mode de réalisation, si ladite puissance de calcul restante n’est pas suffisante pour permettre le passage audit mode de pilotage à pas plus fin le plus proche, si la différence entre la position finale et la position courante du moteur est inférieure à un pas entier et si ladite position finale n’est pas accessible avec le mode de pilotage courant, l’unité de traitement est configurée pour réduire la vitesse du moteur afin d’obtenir une puissance de calcul restante suffisante pour permettre le passage audit mode de pilotage à pas plus fin le plus proche.
Par exemple, ladite deuxième condition de changement peut comprendre en outre un écart de courant minimum sur les phases de moteur du moteur.
Selon un mode de réalisation, si ladite deuxième condition de changement n’est pas remplie, l’unité de traitement est configurée pour commander le moteur pour lui faire réaliser un nouveau pas dans ledit mode de pilotage courant.
Selon un autre mode de réalisation, quand le moteur marche à vitesse constante, l’unité de traitement est configurée pour modifier progressivement le mode de pilotage courant jusqu’à atteindre le mode de pilotage par pas entiers, quelle que soit sa puissance de calcul restante.
Selon encore un autre mode de réalisation, quand le moteur marche à vitesse constante, l’unité de traitement est configurée pour modifier progressivement le mode de pilotage courant jusqu’à atteindre le mode de pilotage le plus fin possible.
Selon encore un autre aspect, il est proposé un système, comme un autofocus pour lentille optique ou une imprimante 3D, comprenant au moins un moteur pas-à-pas et au moins un dispositif tel que défini ci-dessus.
D’autres avantages et caractéristiques de l’invention apparaîtront à l’étude de la description détaillée de modes de mise en œuvre et de réalisation, ceux-ci n’étant en aucune façon limitatifs, et des dessins annexés dans lesquels :
- les figures 1 à 6 représentent schématiquement des modes de mise en œuvre et de réalisation de l’invention.
Des modes de réalisation de l’invention vont maintenant être décrits dans le domaine technique du pilotage par micropas pour les moteurs pas-à-pas, que l’on peut trouver par exemple dans un système SYS, comme un appareil photographique numérique grand public APN, comme représenté sur la figure 1.
Ledit système SYS comprend ici deux dispositifs DEV1 et DEV2 qui comportent respectivement une unité de traitement PU1 et PU2, par exemple ici deux microcontrôleurs (couramment dénommés « MCU » en langue anglaise), et plusieurs moteurs pas-à-pas correspondants SMI à SM3. Par exemple, la première unité de traitement PU1 est configurée pour piloter le premier moteur pas-à-pas
SMI tandis que la deuxième unité de traitement PU2 est conçue pour piloter simultanément les deuxième et troisième moteurs pas-à-pas SM2 et SM3.
Par souci de clarté et de simplicité, on se réfère à présent à la figure 2 afin d’illustrer un exemple d’un dispositif DEV comprenant une unité de traitement PU et un seul moteur pas-à-pas SM piloté par l’unité de traitement PU selon l’invention.
L’unité de traitement PU couplée au moteur pas-à-pas SM est configurée pour déterminer de façon adaptative un mode de pilotage par pas du moteur SM parmi plusieurs modes de pilotage comprenant un mode de pilotage par pas entiers FSDM, un mode de pilotage par demi-pas HSDM et des modes de pilotage par micropas.
Dans le présent exemple non limitatif, il y a trois modes de pilotage par micropas. Le plus grossier est un mode de pilotage par quart de pas QSDM. Le plus fin a le nombre 1/16 et est référencé SSDM. L’autre mode de pilotage par micropas a le nombre 1/8 et est référencé ESDM.
Bien entendu, l’invention n’est pas limitée à ces trois modes de pilotage par micropas. D’autres modes de pilotage par micropas sont possibles.
Généralement, le mode de pilotage par pas entiers FSDM est le mode de pilotage le plus grossier de tous les modes de pilotage par pas mentionnés ci-dessus, et le mode de pilotage par pas le plus fin est ici le mode de pilotage par micropas le plus fin.
Comme son nom l’indique, la longueur de chaque micropas dans le mode de pilotage par seizième de pas SSDM correspond à un seizième de la longueur d’un pas dans le mode de pilotage par pas entiers FSDM.
Généralement, l’unité de traitement PU est configurée pour adapter automatiquement le mode de pilotage par pas du moteur pas-àpas SM pour maximiser la vitesse du moteur selon une position visée TD.
A cet effet, quand la puissance de calcul restante RCP de l’unité de traitement PU diminue, généralement en raison d’une augmentation de la vitesse du moteur ou d’autres tâches parallèles dans le traitement, l’unité de traitement PU fait passer le mode de pilotage du mode de pilotage par micropas le plus fin SSDM au mode le plus grossier QSDM, et si la puissance de calcul restante RCP n’est toujours pas suffisante, elle le fait passer au mode à demi-pas HSDM puis au mode de pilotage par pas entiers FSDM.
De manière similaire mais dans le sens inverse, quand la puissance de calcul restante RCP augmente, généralement en raison d’une diminution de la vitesse du moteur ou d’un dégagement d’autres tâches dans le traitement, ou lorsque le moteur pas-à-pas SM approche d’une position visée TD qui nécessite plus de précision, l’unité de traitement fait passer progressivement le mode de pilotage par pas du mode de pilotage par pas entiers FSDM au mode de pilotage par demipas HSDM, puis du mode de pilotage par micropas le plus grossier QSDM au mode de pilotage par micropas le plus fin SSDM. De cette façon, la précision requise pour atteindre la position visée TD est satisfaite.
Quand le moteur pas-à-pas SM fonctionne dans un mode de régime établi à vitesse constante, l’unité de traitement PU fournit avantageusement deux modes spéciaux comprenant un mode de couple maximisé MTM pour maximiser le couple du moteur pas-à-pas SM à la vitesse constante et un mode de vibration minimisée MVM pour minimiser les vibrations pour la vitesse constante donnée.
Le moteur pas-à-pas SM a aussi plusieurs phases de moteur, par exemple ici deux phases PHA et PHB, et un circuit de commande électronique appelé pont en H. En fonction des positions du moteur pas-à-pas, les différents courants produits par le pont en H correspondent aux différentes phases PHA et PHB.
Avec un moteur pas-à-pas bipolaire, on obtient un pilotage par micropas en appliquant une paire de sinus et cosinus discrétisés aux phases du moteur pas-à-pas :
IpHA(n) ~ Imax sin(7in/2N)
Ιρηβ(π) Imax cos(7in/2N) où n varie de 0 à 4N.
Il est à noter que l’unité de traitement PU limite de manière égale les vibrations pendant tous les passages entre deux modes de pilotage voisins puisque ces passages sont réalisés de préférence quand l’écart de courant sur les phases du moteur est minimal.
On se réfère à présent à la figure 3 pour décrire en détail le fonctionnement du dispositif DEV dans un cas typique de phase d’accélération AP dans laquelle la puissance de calcul restante RCP de l’unité de traitement PU diminue normalement.
Comme on peut le voir, la figure 3 est composée principalement de deux ensembles :
un premier ensemble d’étapes : la boucle d’accélération AL un deuxième ensemble d’étapes : la boucle d’adaptation en mode de pilotage par micropas pour l’accélération ALA.
A chaque mouvement du moteur pendant la phase d’accélération AP, l’unité de traitement PU exécute soit la boucle d’accélération AL, soit la boucle d’adaptation en mode de pilotage par micropas ALA.
Au début de la phase d’accélération AP, le moteur pas-à-pas démarre toujours d’une position initiale connue IP.
Selon un profil de vitesse donné comprenant différents paramètres comme l’accélération, la vitesse initiale, la vitesse maximale, etc., l’unité de traitement PU augmente progressivement la vitesse du moteur.
En fonction de la distance qui sépare la position initiale IP de la position visée TD et du profil de vitesse, l’unité de traitement est configurée pour déterminer une position de décélération PD correspondant au début de la phase de décélération DP, qui sera décrite plus en détail plus loin en référence à la figure 4.
Ainsi, l’unité de traitement PU est configurée pour vérifier à l’étape AS1 si la position courante correspond à la position de décélération PD. Si c’est le cas, l’unité de traitement PU passe directement à la phase de décélération DP. Sinon, à l’étape AS2, la vitesse du moteur courante est vérifiée par l’unité de traitement PU.
Si la vitesse maximale du moteur MAXS est atteinte, l’unité de traitement PU passe à la phase de régime établi SP dans laquelle le moteur pas-à-pas SM fonctionne à la vitesse constante maximale MAXS du moteur.
Sinon, l’unité de traitement PU augmente la vitesse du moteur à l’étape AS3.
A l’étape AS4, l’unité de traitement PU vérifie si le mode de pilotage courant est le mode de pilotage par pas entiers FSDM. Si c’est le cas, le moteur pas-à-pas SM réalise un nouveau pas entier (AS6) et l’unité de traitement PU recommence à l’étape AS1.
Si le mode de pilotage courant est autre que le mode de pilotage par pas entiers FSDM, l’unité de traitement PU est configurée pour évaluer le temps de passage ST avant que le pas suivant du moteur SM ne soit réalisé. L’unité de traitement PU détermine aussi le temps de calcul CT nécessaire pour déterminer les paramètres de commande à appliquer au moteur SM pour que le moteur SM atteigne la position suivante après le pas suivant réalisé dans le mode de pilotage courant.
Une première marge temporelle TMI permettant la réalisation d’au moins un nouveau pas dans ledit mode de pilotage courant est aussi prise en compte par l’unité de traitement afin de déterminer, à l’étape AS5, si ledit temps de passage ST est inférieur à la somme du temps de calcul nécessaire CT et de la première marge temporelle TMI.
Si c’est le cas, ce qui signifie qu’il n’y a pas assez de puissance de calcul restante RCP de l’unité de traitement PU pour rester dans le mode de pilotage courant, l’unité de traitement est configurée pour entrer dans la boucle d’adaptation en mode de pilotage par micropas ALA.
Dans l’autre cas, l’unité de traitement PU pilote le moteur SM pour réaliser, à l’étape AS6, un nouveau pas dans le mode de pilotage courant puis elle revient à l’étape AS1.
Cette première marge TMI est avantageusement plus grande qu’un premier paramètre égal à la longueur d’un micropas dans ledit mode de pilotage courant divisée par le produit de l’accélération et du temps de passage, et elle peut de façon typique être supérieure ou égale à la somme dudit premier paramètre et d’un temps réservé pour les besoins dynamiques des autres tâches devant être exécutées par le microcontrôleur PU.
A l’étape AS7, la position courante du moteur pas-à-pas SM est comparée à une position la plus proche définie dans le mode de pilotage à pas plus grossier. Le but de l’étape AS7 est de vérifier si la position courante correspond à une position définie dans le mode de pilotage à pas plus grossier le plus proche.
Si c’est le cas, l’unité de traitement PU est configurée pour vérifier, à l’étape AS8, si l’écart des courants sur ledit pont en H HB du moteur pas-à-pas SM est minimum afin d’assurer une vibration minimale pendant un changement potentiel du mode de pilotage par pas.
Dans le cas où il n’y a pas de correspondance entre la position courante et une position définie dans le mode de pilotage à pas plus grossier le plus proche ou que l’écart de courant n’est pas minimum sur le pont en H du moteur SM, un nouveau pas dans le mode de pilotage courant est réalisé à l’étape AS9 puis une autre vérification de la nouvelle position courante est effectuée à l’étape AS10 pour vérifier si l’unité de traitement PU doit passer à la phase de décélération DP. Si ce n’est pas le cas, l’unité de traitement PU recommence à partir de l’étape AS7.
Si l’écart de courant mesuré sur le pont en H des moteurs est minimal, l’unité de traitement PU est configurée pour faire passer le mode de pilotage courant au mode à pas plus grossier le plus proche à l’étape AS 11.
Un nouveau pas dans le mode à pas plus grossier le plus proche est ensuite exécuté à l’étape AS6 avant le redémarrage à l’étape AS1.
On se réfère à présent à la figure 4 pour décrire en détail le fonctionnement du dispositif DEV dans un cas typique de la phase de décélération DP dans lequel la puissance de calcul restante RCP de l’unité de traitement PU augmente normalement.
La phase de décélération DP commence à partir de la position de la décélération PD déterminée par l’unité de traitement PU quand le moteur pas-à-pas est toujours en marche.
De manière similaire à ce qui est présenté dans la phase d’accélération AP, la phase de décélération DP se compose principalement de deux ensembles :
un premier ensemble d’étapes : la boucle de décélération DL un deuxième ensemble d’étapes : la boucle d’adaptation en mode de pilotage par micropas ALD.
Au début de la boucle de décélération DL, l’unité de traitement PU est configurée pour vérifier à l’étape DSI si la position courante correspond à la position visée TD.
Si c’est déjà le cas, l’unité de traitement PU est ensuite configurée pour arrêter immédiatement le moteur SM.
Sinon, l’unité de traitement PU vérifie ensuite, à l’étape DS2, si la vitesse minimum MINS du moteur pas-à-pas SM est atteinte.
Si le moteur SM est en train de fonctionner à la vitesse minimum MINS, l’étape DS3 est sautée. Sinon l’unité de traitement PU ralentit le moteur SM, à l’étape DS3.
A l’étape DS4, le mode de pilotage courant est contrôlé pour vérifier s’il est le mode de pilotage par micropas le plus fin SSDM.
Si ce n’est pas encore le cas, l’unité de traitement PU est configurée pour évaluer, à l’étape DS5, le temps de passage ST avant que le pas suivant du moteur SM ne doive être exécuté ainsi que le temps de calcul CT et une deuxième marge temporelle TM2 afin de déterminer s’il y a assez de puissance de calcul restante RCP pour passer au mode de pilotage à pas plus fin le plus proche à l’étape DS7 après un contrôle d’écart de courant positif à l’étape DS6.
Si la puissance de calcul restante RCP est déterminée comme n’étant pas suffisante à l’étape DS5, l’unité de traitement PU est ensuite configurée pour vérifier, à l’étape DS8, si la position visée TD se trouve à une distance d’un pas entier par rapport à la position courante et si elle n’est pas accessible avec le mode de pilotage courant.
En fait, le but de l’étape DS8 est de vérifier si la distance qui sépare la position courante de la position visée TD et la longueur de pas du mode de pilotage courant imposent un passage à un mode de pilotage plus fin.
Si c’est le cas, l’unité de traitement PU est configurée pour diminuer, à l’étape DS9, la vitesse du moteur jusqu’à ce que la puissance de calcul restante RCP de l’unité de traitement PU soit déterminée comme étant suffisante. En d’autres termes, le temps de passage ST doit être supérieur ou égal à la somme du temps de calcul CT et de la deuxième marge temporelle TM2.
La deuxième marge temporelle TM2 est avantageusement plus grande qu’un deuxième paramètre égal à la différence entre le temps de passage courant dans ledit mode de pilotage courant et le temps de passage suivant dans ledit mode de pilotage à pas plus fin le plus proche, et elle peut être de façon typique supérieure ou égale à la somme dudit deuxième paramètre et d’un temps réservé pour les besoins dynamiques des autres tâches devant être exécutées par l’unité de traitement PU.
Si la position courante ne se trouve pas dans l’intervalle d’un pas entier par rapport à la position visée TD ou si elle est toujours inaccessible avec le mode de pilotage courant, l’unité de traitement réaliser, à l’étape DS10, un nouveau pas dans le mode de pilotage courant avant de revenir à l’étape DSI.
Si le contrôle de l’écart de courant à l’étape DS6 n’est pas satisfait, un nouveau pas dans le mode de pilotage courant est réalisé à l’étape DSI 1.
L’unité de traitement PU est configurée pour vérifier si la position courante correspond à la position visée TD. Si c’est le cas, on arrête le moteur SM, sinon l’unité de traitement PU est configurée pour exécuter de nouveau l’étape DS6 exactement comme après l’étape DS9.
A la fin, si le contrôle d’écart de courant est satisfait à l’étape DS6, l’unité de traitement PU est configurée pour faire passer le mode de pilotage courant au mode à pas plus fin le plus proche avant de réaliser un nouveau pas dans ce mode à pas plus fin le plus proche à l’étape DS10 de la boucle de décélération DL.
On se réfère maintenant aux figures 5 et 6 pour illustrer respectivement le fonctionnement du dispositif DEV dans un mode de couple maximum MTM et un mode de vibration minimum MVM quand le moteur pas-à-pas est dans une phase de régime établi SP.
Dans le cas du mode de couple maximum MTM qui est représenté sur la figure 5, la phase de régime établi SP commence toujours avec le moteur SM fonctionnant à une vitesse constante CS.
A l’étape MTS1, l’unité de traitement PU est configurée pour vérifier si la position courante correspond à la position de la décélération PD déterminée par l’unité de traitement PU. Si c’est le cas, un passage à la phase de décélération DP est planifié.
Autrement, l’unité de traitement PU continue de vérifier, à l’étape MTS2, si la mode de pilotage courant est le mode de pilotage par pas entiers.
Si cette condition est satisfaite, l’unité de traitement PU réalise un nouveau pas dans le mode de pilotage courant dans une étape MTS6 avant de revenir au début MTS1 de la phase de régime étable SP.
Si cette condition n’est pas satisfaite, l’unité de traitement PU continue de vérifier, à l’étape MTS3, si la position courante correspond à une position définie dans le mode à pas le plus'grossier le plus proche.
Si c’est le cas, l’unité de traitement PU est configurée pour exécuter une vérification d’écart de courant à l’étape MTS4 avant un éventuel passage au mode à pas plus grossier le plus proche à l’étape MTS5.
Si la vérification de l’étape MTS3 ou MTS4 est négative, le passage au mode à pas plus grossier le plus proche n’est pas exécuté et un nouveau pas dans le mode de pilotage courant est réalisé à l’étape MTS6.
De cette façon, l’unité de traitement PU est configurée pour assurer un mode de couple maximum MTM pendant la phase de régime établi SP.
Si l’on considère maintenant le mode de vibration minimum MVM illustré sur la figure 6, la phase de régime établi SP commence toujours avec le moteur SM fonctionnant à une vitesse constante CS comme mentionné dans le mode de couple maximum MTM.
De la même manière, l’étape MVS1 est exécutée pour vérifier si la position courante correspond à la position de décélération PD.
Un passage à la phase de décélération DP est exécuté si cette condition est satisfaite.
Sinon, l’unité de traitement PU vérifie (MVS2) si le mode de pilotage courant est le mode de pilotage le plus fin, ce qui signifie ici le mode de pilotage par seizième de pas SSDM.
Si ce n’est pas le cas, l’unité de traitement PU est configurée pour vérifier (MVS3) s’il y a assez de puissance de calcul restante RCP de l’unité de traitement PU (c’est-à-dire si ledit temps de passage ST est supérieur ou égal à la somme dudit temps de calcul CT et de ladite deuxième marge temporelle TM2).
S’il est déterminé que la puissance de calcul restante RCP n’est pas suffisante ou que le mode de pilotage courant est déjà le mode de pilotage le plus fin, un nouveau pas du moteur SM dans le mode de pilotage courant est réalisé à l’étape MVS8 avant de revenir à l’étape MVS1.
Dans le cas où il y a assez de puissance de calcul restante RCP, l’unité de traitement PU exécute un contrôle d’écart de courant à l’étape MVS4.
Si cette condition est satisfaite, un passage au mode de pilotage à pas plus fin le plus proche est exécuté par l’unité de traitement PU dans la cinquième étape de vibration minimum MVS5 avant de rejoindre la huitième étape de vibration minimum MVS8 pour réaliser un nouveau pas dans le mode de pilotage à pas plus fin le plus proche.
Sinon, un nouveau pas est réalisé dans le mode de pilotage courant à l’étape MVS6 avant de vérifier (MVS7) si la position courante correspond à la position de la décélération PD pour passer à la phase de décélération DP.
Si la position de la décélération PD n’est pas encore atteinte, un retour au contrôle d’écart de courant (MVS4) est programmé par l’unité de traitement.
Ainsi, dans ce mode de vibration minimum, le moteur SM 5 fonctionne dans le mode de pilotage le plus fin possible pendant la phase de régime établi, de sorte que la vibration du moteur SM est minimisée.
Dans ce mode de vibration minimum, le mode de pilotage le plus fin possible ne peut pas toujours être atteint, même si la vitesse du moteur est constante puisque ledit temps de passage ST diminue avec le mode de pilotage le plus fin possible dans la phase de régime établi SP. En conséquence, la puissance de calcul restante RCP peut ne pas toujours être suffisante pour réaliser un passage au mode de pilotage à pas plus fin le plus proche.
Claims (31)
- REVENDICATIONS1. Procédé de pilotage d’un moteur pas-à-pas (SM), ledit moteur (SM) étant piloté selon des modes de pilotage par pas qui comprennent un mode de pilotage par pas entiers (FSDM), un mode de pilotage par demi-pas (HSDM) et des modes de pilotage par micropas (QSDM, ESDM, SSDM), ledit procédé comprenant la commande du mode de pilotage courant du moteur (SM) par une unité de traitement (PU), caractérisé en ce que, pendant une phase d’accélération (AP) du moteur (SM) qui est dans un mode de pilotage courant autre que le mode de pilotage par pas entiers (FSDM), l’unité de traitement (PU) teste, après chaque augmentation de la vitesse, si sa puissance de calcul restante (RCP) est suffisante pour rester dans ledit mode de pilotage courant, et si ce n’est pas le cas, elle passe au mode de pilotage à pas plus grossier le plus proche en présence d’une première condition de changement.
- 2. Procédé selon la revendication 1, dans lequel ladite première condition de changement comprend une correspondance de la position courante du moteur dans ledit mode de pilotage courant avec une position définie dans ledit mode de pilotage à pas plus grossier le plus proche.
- 3. Procédé selon la revendication 2, dans lequel ledit moteur comprend des phases de moteur (PHA, PHB), et ladite première condition de changement comprend en outre un écart de courant minimum sur les phases de moteur (PHA, PHB).
- 4. Procédé selon l’une quelconque des revendications précédentes, dans lequel ledit test comprend l’évaluation du temps de calcul (CT) nécessaire pour déterminer les paramètres de commande à appliquer au moteur (SM) pour que le moteur (SM) atteigne la position suivante dans ledit mode de pilotage courant et la détermination du temps de passage (ST) requis par le moteur (SM) pour passer réellement à ladite position suivante en prenant en compte la vitesse courante du moteur (SM), et ladite puissance de calcul restante (RCP) est suffisante pour rester dans ledit mode de pilotage courant si ledit temps de passage (ST) est supérieur ou égal audit temps de calcul (CT) plus une première marge (TM1).
- 5. Procédé selon la revendication 4, dans lequel la première marge (TM1) est plus grande qu’un premier paramètre égal à la longueur d’un micropas dans ledit mode de pilotage courant divisée par le produit de l’accélération et dudit temps de passage.
- 6. Procédé selon la revendication 4 ou 5, dans lequel en l’absence de ladite première condition de changement, au moins un nouveau pas est réalisé par le moteur dans ledit mode de pilotage courant, ladite première marge (TM1) étant adaptée pour permettre la réalisation dudit au moins un nouveau pas dans ledit mode de pilotage courant.
- 7. Procédé selon l’une quelconque des revendications précédentes, dans lequel, au cours d’une phase de décélération (DP) du moteur (SM) qui est dans un mode de pilotage courant autre que le mode de pilotage par micropas le plus fin (SSDM), l’unité de traitement (PU) teste, après chaque réduction de la vitesse, si une deuxième condition de changement est remplie pour passer dans le mode de pilotage à pas plus fin le plus proche.
- 8. Procédé selon la revendication 7, dans lequel ladite deuxième condition de changement comprend le fait de vérifier si la puissance de calcul restante (RCP) de l’unité de traitement (PU) est suffisante pour permettre le passage audit mode de pilotage à pas plus fin le plus proche.
- 9. Procédé selon la revendication 8, dans lequel ladite vérification comprend le fait d’évaluer le temps de calcul (CT) nécessaire pour déterminer les paramètres de commande à appliquer au moteur (SM) pour que le moteur (SM) atteigne la position suivante dans ledit mode de pilotage courant, de déterminer le temps de passage (ST) requis par le moteur pour passer réellement à ladite position suivante en prenant en compte la vitesse courante du moteur (SM), et de déterminer que ladite puissance de calcul restante (RCP) est suffisante pour permettre le passage audit mode de pilotage à pas plus fin le plus proche si ledit temps de passage (ST) est supérieur ou égal audit temps de calcul (CT) plus une deuxième marge (TM2).
- 10. Procédé selon la revendication 9, dans lequel la deuxième marge (TM2) est supérieure à un deuxième paramètre égal à la différence entre le temps de passage courant dans ledit mode de pilotage courant et le temps de passage suivant dans ledit mode de pilotage à pas plus fin le plus proche.
- 11. Procédé selon l’une quelconque des revendications 8 à 10, dans lequel, si ladite puissance de calcul restante (RCP) n’est pas suffisante pour permettre le passage audit mode de pilotage courant plus fin le plus proche, si la différence entre la position finale et la position courante du moteur (SM) est inférieure à un pas entier et si ladite position finale n’est pas accessible avec le mode de pilotage courant, la vitesse du moteur est réduite pour obtenir une puissance de calcul restante (RCP) suffisante pour permettre le passage audit mode de pilotage à pas plus fin le plus proche.
- 12. Procédé selon l’une quelconque des revendications 8 à 11, dans lequel ledit moteur (SM) comprend des phases de moteur (PHA, PHB), et ladite deuxième condition de changement comprend en outre un écart de courant minimum sur les phases de moteur (PHA, PHB).
- 13. Procédé selon l’une quelconque des revendications 7 à 12, dans lequel, si ladite deuxième condition de changement n’est pas remplie, un nouveau pas est réalisé par le moteur (SM) dans ledit mode de pilotage courant.
- 14. Procédé selon l’une quelconque des revendications précédentes, dans lequel, quand le moteur (SM) marche à vitesse constante, le mode de pilotage courant est progressivement modifié jusqu’à atteindre le mode de pilotage par pas entiers, quelle que soit la puissance de calcul restante (RCP).
- 15. Procédé selon l’une quelconque des revendications 1 à 13, dans lequel, quand le moteur (SM) marche à vitesse constante, le mode de pilotage courant est progressivement modifié jusqu’à atteindre le mode de pilotage le plus fin possible.
- 16. Dispositif (DEV) pour piloter un moteur pas-à-pas, ledit moteur (SM) étant configuré pour être piloté selon des modes de pilotage par pas comprenant un mode de pilotage par pas entiers (FSDM), un mode de pilotage par demi-pas (HSDM) et des modes de pilotage par micropas (QSDM, ESDM, SSDM), comprenant une unité de traitement (PU) pour commander le mode de pilotage courant du moteur (SM), caractérisé en ce que, pendant une phase d’accélération (AP) du moteur (SM) qui est dans un mode de pilotage courant autre que le mode de pilotage par pas entiers (FSDM), l’unité de traitement (PU) est configurée pour tester, après chaque augmentation de vitesse, si sa puissance de calcul restante (RCP) est suffisante pour rester dans ledit mode de pilotage courant, et dans le cas contraire, pour passer au mode de pilotage à pas plus grossier le plus proche en présence d’une première condition de changement.
- 17. Dispositif (DEV) selon la revendication 16, dans lequel ladite première condition de changement comprend une correspondance de la position courante du moteur dans ledit mode de pilotage courant avec une position définie dans ledit mode de pilotage à pas plus grossier le plus proche.
- 18. Dispositif (DEV) selon la revendication 17, dans lequel ledit moteur (SM) comprend des phases de moteur (PHA, PHB), et ladite première condition de changement comprend en outre un écart de courant minimum sur les phases de moteur.
- 19. Dispositif (DEV) selon l’une quelconque des revendications 16 à 18, dans lequel, pendant ledit test, l’unité de traitement (PU) est configurée pour évaluer le temps de calcul (CT) nécessaire pour déterminer les paramètres de commande à appliquer au moteur (SM) pour que le moteur (SM) atteigne la position suivante dans ledit mode de pilotage courant, pour déterminer le temps de passage (ST) requis par le moteur (SM) pour passer réellement à ladite position suivante en prenant en compte la vitesse courante du moteur (SM), et ladite puissance de calcul restante (RCP) est suffisante pour rester dans ledit mode de pilotage courant si ledit temps de passage (ST) est supérieur ou égal audit temps de calcul (CT) plus une première marge (TMI).
- 20. Dispositif (DEV) selon la revendication 19, dans lequel la première marge (TM1) est plus grande qu’un premier paramètre égal à la longueur d’un micropas dans ledit mode de pilotage courant divisée par le produit de l’accélération et dudit temps de passage.
- 21. Dispositif (DEV) selon la revendication 19 ou 20, dans lequel en l’absence de ladite première condition de changement, l’unité de traitement (PU) est configurée pour commander le moteur (SM) afin qu’il réalise au moins un nouveau pas dans ledit mode de pilotage courant, ladite première marge (TM1) étant adaptée pour permettre la réalisation dudit au moins un nouveau pas dans ledit mode de pilotage courant.
- 22. Dispositif (DEV) selon l’une quelconque des revendications 16 à 21, dans lequel, au cours d’une phase de décélération (DP) du moteur (SM) qui est dans un mode de pilotage courant autre que le mode de pilotage par micropas le plus fin, l’unité de traitement (PU) est configurée pour tester, après chaque réduction de la vitesse, si une deuxième condition de changement est remplie pour passer dans le mode de pilotage à pas plus fin le plus proche.
- 23. Dispositif (DEV) selon la revendication 22, dans lequel ladite deuxième condition de changement comprend le fait de vérifier si la puissance de calcul restante (RCP) de l’unité de traitement (PU) est suffisante pour permettre le passage audit mode de pilotage à pas plus fin le plus proche.
- 24. Dispositif (DEV) selon la revendication 23, dans lequel, pendant ladite vérification, l’unité de traitement (PU) est configurée pour évaluer le temps de calcul (CT) nécessaire pour déterminer les paramètres de commande à appliquer au moteur (SM) pour que le moteur (SM) atteigne la position suivante dans ledit mode de pilotage courant, pour déterminer le temps de passage (ST) requis par le moteur (SM) pour passer réellement à ladite position suivante en prenant en compte la vitesse courante du moteur (SM), et pour déterminer que ladite puissance de calcul restante (RCP) est suffisante pour permettre le passage audit mode de pilotage à pas plus fin le plus proche si ledit temps de passage (ST) est supérieur ou égal audit temps de calcul (CT) plus une deuxième marge (TM2).
- 25. Dispositif (DEV) selon la revendication 24, dans lequel la deuxième marge temporelle (TM2) est supérieure à un deuxième paramètre égal à la différence entre le temps de passage courant dans ledit mode de pilotage courant et le temps de passage suivant dans ledit mode de pilotage à pas plus fin le plus proche.
- 26. Dispositif (DEV) selon l’une quelconque des revendications 23 à 25, dans lequel, si ladite puissance de calcul restante (RCP) n’est pas suffisante pour permettre le passage audit mode de pilotage courant plus fin le plus proche, si la différence entre la position finale et la position courante du moteur est inférieure à un pas entier et si ladite position finale n’est pas accessible avec le mode de pilotage courant, l’unité de traitement (PU) est configurée pour réduire la vitesse du moteur pour obtenir une puissance de calcul restante (RCP) suffisante pour permettre le passage audit mode de pilotage à pas plus fin le plus proche.
- 27. Dispositif (DEV) selon l’une quelconque des revendications 23 à 26, dans lequel ledit moteur (SM) comprend des phases de moteur (PHA, PHB), et ladite deuxième condition de changement comprend en outre un écart de courant minimum sur les phases de moteur (PHA, PHB).
- 28. Dispositif (DEV) selon l’une quelconque des revendications 22 à 27, dans lequel, si ladite deuxième condition de changement n’est pas remplie, l’unité de traitement (PU) est configurée pour commander le moteur (SM) pour qu’il réalise un nouveau pas dans ledit mode de pilotage courant.
- 29. Dispositif (DEV) selon l’une quelconque des revendications 16 à 28, dans lequel, quand le moteur (SM) marche à vitesse constante, l’unité de traitement (PU) est configurée pour modifier progressivement le mode de pilotage courant jusqu’à atteindre le mode de pilotage par pas entiers, quelle que soit la puissance de calcul restante (RCP).
- 30. Dispositif (DEV) selon l’une quelconque des revendications 16 à 28, dans lequel, quand le moteur (SM) marche à vitesse constante, l’unité de traitement (PU) est configurée pour modifier progressivement le mode de pilotage courant jusqu’à atteindre le mode5 de pilotage le plus fin possible.
- 31. Système (SYS), comme un autofocus pour lentille optique ou une imprimante 3D, comprenant au moins un moteur pas-à-pas (SMI, SM2, SM3) et au moins un dispositif (DEV) selon l’une quelconque des revendications 16 à 30.1/5
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1660669A FR3058595B1 (fr) | 2016-11-04 | 2016-11-04 | Procede pour piloter de facon adaptative un moteur pas a pas, et dispositif correspondant |
US15/608,596 US10248135B2 (en) | 2016-11-04 | 2017-05-30 | Method for adaptively driving a stepper motor, and corresponding device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1660669A FR3058595B1 (fr) | 2016-11-04 | 2016-11-04 | Procede pour piloter de facon adaptative un moteur pas a pas, et dispositif correspondant |
FR1660669 | 2016-11-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3058595A1 true FR3058595A1 (fr) | 2018-05-11 |
FR3058595B1 FR3058595B1 (fr) | 2019-01-25 |
Family
ID=58645115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1660669A Expired - Fee Related FR3058595B1 (fr) | 2016-11-04 | 2016-11-04 | Procede pour piloter de facon adaptative un moteur pas a pas, et dispositif correspondant |
Country Status (2)
Country | Link |
---|---|
US (1) | US10248135B2 (fr) |
FR (1) | FR3058595B1 (fr) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09219995A (ja) * | 1996-02-13 | 1997-08-19 | Alps Electric Co Ltd | ステッピングモータの駆動方法 |
EP0831581A2 (fr) * | 1996-09-20 | 1998-03-25 | Matsushita Electric Industrial Co., Ltd. | Régulateur d'un moteur pas à pas |
US20030193611A1 (en) * | 2002-04-10 | 2003-10-16 | Kabushiki Kaisha Toshiba | Controller apparatus, driving apparatus, image sensing apparatus, and methods thereof |
US20090026996A1 (en) * | 2007-07-26 | 2009-01-29 | Toshihide Nakane | Pulse motor control device, control method, control program, and imaging apparatus |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5151640A (en) * | 1989-10-31 | 1992-09-29 | Canon Kabushiki Kaisha | Scanning device having a memory for storing driving steps for a stepping motor |
US6713985B2 (en) * | 2000-03-31 | 2004-03-30 | Canon Kabushiki Kaisha | Drive control apparatus for stepping motor |
JP2002010688A (ja) * | 2000-06-22 | 2002-01-11 | Canon Inc | モータ駆動制御装置 |
US6652629B2 (en) * | 2001-07-26 | 2003-11-25 | Helsa-Werk Helmut Sandler Gmbh & Co. Kg | Filter apparatus |
KR100555556B1 (ko) * | 2004-02-10 | 2006-03-03 | 삼성전자주식회사 | 스테핑 모터 제어 방법 |
JP4665507B2 (ja) * | 2004-12-16 | 2011-04-06 | 横河電機株式会社 | ペンレコーダ |
US20090002699A1 (en) * | 2007-06-28 | 2009-01-01 | William Scott Sutherland | Method and device for identifying an unknown substance |
-
2016
- 2016-11-04 FR FR1660669A patent/FR3058595B1/fr not_active Expired - Fee Related
-
2017
- 2017-05-30 US US15/608,596 patent/US10248135B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09219995A (ja) * | 1996-02-13 | 1997-08-19 | Alps Electric Co Ltd | ステッピングモータの駆動方法 |
EP0831581A2 (fr) * | 1996-09-20 | 1998-03-25 | Matsushita Electric Industrial Co., Ltd. | Régulateur d'un moteur pas à pas |
US20030193611A1 (en) * | 2002-04-10 | 2003-10-16 | Kabushiki Kaisha Toshiba | Controller apparatus, driving apparatus, image sensing apparatus, and methods thereof |
US20090026996A1 (en) * | 2007-07-26 | 2009-01-29 | Toshihide Nakane | Pulse motor control device, control method, control program, and imaging apparatus |
Also Published As
Publication number | Publication date |
---|---|
FR3058595B1 (fr) | 2019-01-25 |
US10248135B2 (en) | 2019-04-02 |
US20180129227A1 (en) | 2018-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0925641B1 (fr) | Dispositif de detection de la position angulaire pour le pilotage d'un moteur synchrone a excitation par aimant permanent | |
EP2003461B1 (fr) | Procédé pour détecter la perte de une ou plusieurs phases dans un moteur électrique synchrone à aimants permanents | |
FR2901647A1 (fr) | Dispositif et procede de commande de puissance pour une machine dynamo electrique du type a enroulement de champ | |
FR2851858A1 (fr) | Dispositif de controle de moteur synchrone et procede de correction de deviation en position rotationnelle du moteur synchrone | |
EP0199613B1 (fr) | Procédé et dispositif pour commander l'accélération d'un moteur électrique pas à pas | |
FR2818315A1 (fr) | Procede et dispositif de commande pour determiner l'angle vilebrequin d'un moteur a combustion interne, et train d'entrainement | |
FR3059174A1 (fr) | Moto-reducteur, systeme d'essuyage et procede de commande associes | |
EP1820265B1 (fr) | Procede de commande d'un ensemble d'entrainement de vehicule a moteur thermique | |
FR2835980A1 (fr) | Appareil de detection de sens de rotation pour un moteur triphase sans balai a courant continu | |
FR3058595A1 (fr) | Procede pour piloter de facon adaptative un moteur pas a pas, et dispositif correspondant | |
EP1398869A1 (fr) | Procédé et calculateur de détermination de la position angulaire à l'arrêt d'un rotor, unité de commande et système incorporant ce calculateur. | |
EP2810367A1 (fr) | Commande d'une machine electrique a aimants permanents. | |
EP3651345B1 (fr) | Procédé de réduction du couple de crantage produit par des moteurs électriques de type brushless utilises simulatenement | |
FR3115425A1 (fr) | Procédé et système de contrôle d’une machine électrique déterminant des consignes de courant optimales | |
EP3213404B1 (fr) | Dispositif de commande d'une machine electrique tournante synchrone polyphasee, et machine electrique reversible de vehicule automobile corres | |
FR3064427A1 (fr) | Moteur electrique, moto-reducteur, systeme d'essuyage et procede de commande associe | |
EP3070505B1 (fr) | Procede et systeme de mise au point automatique d'une camera | |
EP1703628B1 (fr) | Procédé et système pour la commande d'un moteur électrique en cas de défluxage | |
FR3058594A1 (fr) | Procede de controle du demarrage d'un moteur electrique synchrone triphase sans collecteur | |
EP3709504B1 (fr) | Procédé, programme et dispositif de configuration d'un variateur de vitesse en charge de l'alimentation d'un moteur électrique | |
WO2020001904A1 (fr) | Moteur electrique a courant continu sans balai et procede de commande associe | |
FR3023659A1 (fr) | Procede de generation de signaux de commande pour gerer le fonctionnement d’un moteur synchrone, dispositif de controle et actionneur | |
EP3010141B1 (fr) | Dispositif de défluxage automatique et adaptatif et procédé mettant en oeuvre un tel dispositif | |
EP3853994A1 (fr) | Procédé de détermination du flux magnétique d'une machine électrique | |
WO2024042241A1 (fr) | Système de pilotage destiné à un moteur sans balai polyphasé dépourvu de capteur de position |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20180511 |
|
PLFP | Fee payment |
Year of fee payment: 3 |
|
PLFP | Fee payment |
Year of fee payment: 4 |
|
ST | Notification of lapse |
Effective date: 20210705 |