Durée minimale entre deux pas
Répondre à la discussion
Affichage des résultats 1 à 26 sur 26

Durée minimale entre deux pas



  1. #1
    Anduriel

    Durée minimale entre deux pas


    ------

    Bonjour à tous

    J'ai programmé des impulsions sur mon moteur pas à pas toutes les 250ms, ce qui est totalement arbitraire et pas fluide du tout.
    Si je mets 0s, le moteur ne répond plus correctement.

    Quelle est la méthode pour trouver le temps minimal, faut il le faire à taton?

    Merci

    -----
    Images attachées Images attachées

  2. #2
    gabuzo

    Re : Durée minimale entre deux pas

    250ms c'est sûr que ça ne risque pas d'être fluide et 0s c'est sûr qu'il ne risque pas de tourner bien vite...

    Un ordre de grandeur, de 2 à 5 ms c'est à la louche valable pour tous les moteurs, à affiner en fonction de celui-ci et en fonction du mode de fonctionnement.
    Je suis Charlie

  3. #3
    gcortex

    Re : Durée minimale entre deux pas

    l'idéal c'est de diminuer la tempo progressivement

  4. #4
    Qristoff
    Animateur Électronique

    Re : Durée minimale entre deux pas

    Si je mets 0s, le moteur ne répond plus correctement.
    Ah bon, parce qu'il répond ? il ne devrait pas....à 0s !

    La phase de démarrage du moteur est très rapide si le système est bien dimensionné (càd le couple moteur en rapport de la charge), généralement < 100ms. Donc, il faut que ton cycle de commande des phases moteurs évolue de façon à passer de la position fixe à une vitesse de rotation donnée (réduction progressive des durées d'impulsions par phase).

    Par exemple,
    - Position statique de départ, arrêt: 1 seule phase d'alimentée en permanence, durée d'impulsion infinie.
    - vitesse finale 1000 tr/mn (pour exemple): 1000/60=16,666Hz, soit 60ms, ce qui fait 20ms par phase.

    Donc, suivant l'accélération que tu veux donner à ton moteur, les impulsions doivent varier de permanent à 20ms en un certain temps.
    ex.:Si tu veux qu'il atteigne sa vitesse finale en 100ms, il faut appliquer faire varier la fréquence des impulsions de 0 à 16Hz en 100ms...
    Tout existe, il suffit de le trouver...!

  5. A voir en vidéo sur Futura
  6. #5
    gabuzo

    Re : Durée minimale entre deux pas

    Citation Envoyé par Qristoff Voir le message

    Par exemple,
    - vitesse finale 1000 tr/mn (pour exemple): 1000/60=16,666Hz, soit 60ms, ce qui fait 20ms par phase.
    Ton calcul est faux, 1000tr/mn ça fait 16.6 tr/s, il faut ensuite multiplier par le nombre de pas par tour pour avoir la fréquence.
    Dernière modification par gabuzo ; 02/11/2012 à 08h35.
    Je suis Charlie

  7. #6
    JP93

    Re : Durée minimale entre deux pas

    Bonjour,

    Tu dis "j'ai programmé des impulsions...", avec quoi et comment a tu programmer ces impulsion?

    Cordialement.

  8. #7
    gabuzo

    Re : Durée minimale entre deux pas

    En fait j'avais mal compris la question.

    En général on ne fait pas de pause entre deux pas (ou alors très courte dans les cas de ponts en H à base de transistor à effet de champ).
    C'est la durée d'un pas qui determine la vitesse de rotation du moteur.
    Si en faisant une pause de 0s ton moteur ne fonctionne pas c'est sans doute que la durée d'un pas est trop courte.

    Comme le dit JP93, sans voir le code on peut difficilement t'en dire plus.
    Je suis Charlie

  9. #8
    Anduriel

    Re : Durée minimale entre deux pas

    Merci pour vos réponses
    J'ai "programmé" mes impulsions avec un PIC, les sorties du PIC activent les bobines du moteur au travers d'un pont en H (L298)

    edit: merci gabuzo, mais j'ai finalement baissé la tempo à 10ms entre chaque "STEP" (nommé ainsi dans la datasheet), et ça fonctionne pas mal a priori !
    Dernière modification par Anduriel ; 02/11/2012 à 13h21.

  10. #9
    gabuzo

    Re : Durée minimale entre deux pas

    Je serais curieux de voir le code quand même...
    Je suis Charlie

  11. #10
    Qristoff
    Animateur Électronique

    Re : Durée minimale entre deux pas

    Citation Envoyé par gabuzo Voir le message
    Ton calcul est faux, 1000tr/mn ça fait 16.6 tr/s, il faut ensuite multiplier par le nombre de pas par tour pour avoir la fréquence.
    Tu as tout à fait raison, j'ai sauté une étape dans le raisonnement. Mais néanmoins, le principe reste.
    Tout existe, il suffit de le trouver...!

  12. #11
    Anduriel

    Re : Durée minimale entre deux pas

    Voilà le code, ça pourrait peut être aussi m'aider!

    Voila pour la rotation du moteur, où stepX appartient à {1000 0100 0010 0001}:
    Code:
    ROTATE_MP_CCW	               ; Tourner MP sans anti-horaire
    	
    	movfw step4				
    	movwf PORTB				; execution du step 4
    	call TEMPO					; attente pour visionnage
    	movfw step3					
    	movwf PORTB				; execution du step 3
    	call TEMPO					; attente pour visionnage
    	movfw step2					
    	movwf PORTB				; execution du step 2
    	call TEMPO					; attente pour visionnage
    	movfw step1					
    	movwf PORTB				; execution du step 1
    	call TEMPO					; attente pour visionnage
    	
    	bcf STATUS,Z       			; Z = 0
    	decf pas_MP, f				; décrémente le nombre de pas
    	btfsc STATUS, Z				; si le nombre de pas est nul, on sort
    	return					; stop si terminé
    	goto ROTATE_MP_CCW		; continue sinon
    Et la tempo:

    Code:
    TEMPO
    	movlw 40
    	movwf cmpt2				; intialisation de la tempo à 40 (40 * 255 =~ 10ms)
    boucle2
    	clrf	cmpt1				; effacer compteur1
    boucle1
    	nop						; perdre 1 cycle
    	decfsz	cmpt1,f			; décrémenter compteur1
    	goto	boucle1				; si pas 0, boucler	
    	decfsz	cmpt2,f 			; si 0, décrémenter compteur 2
    	goto	boucle2				; si cmpt2 pas 0, recommencer boucle1
    	return
    C'est mon premier programme, je pourrais donc jouer sur le timer0 mais je fais simple pour le moment!

  13. #12
    gabuzo

    Re : Durée minimale entre deux pas

    En fait ta tempo ce n'est pas une pause entre deux pas mais un delai entre deux changements d'état donc la durée d'un pas.
    Avec un moteur qui fait 20 pas par tour, à 1Oms tu ne dois être pas loin de la limite.
    Je suis Charlie

  14. #13
    Anduriel

    Re : Durée minimale entre deux pas

    En fait je n'ai pas encore compris pourquoi on appelait un pas l'ensemble des 4 "changements d'état".. Puisque la précision est liée à l'état?

    Enfin pour être sur, les tempo sont bien placées, ce n'est pas après les 4 steps qu'il faut la placer?

    Merci

  15. #14
    gabuzo

    Re : Durée minimale entre deux pas

    Un pas n'est pas un ensemble de 4 changements d'état, un ensemble de x changements d'état s'appele une séquence.

    Dans le cas de ton moteur "1000 0100 0010 0001" est une séquence elle même divisée en 4 pas.
    1OOO est le code du premier pas, 0100 le code du second pas et ainsi de suite...

    Une séquence peut être divisée par 8 en combinant des pas et des 1/2 pas et même divisée par beaucoup plus dans le cas de micro-pas.

    Et oui les tempo sont biens placées puisqu'elles gèrent la durée d'un pas.
    Essaie de mettre la tempo tous les 4 pas et regarde ce que ça donne...
    Dernière modification par gabuzo ; 03/11/2012 à 19h11.
    Je suis Charlie

  16. #15
    Anduriel

    Re : Durée minimale entre deux pas

    D'accord merci, alors comment on fait un demi-pas? Parce que mes "codes" sont plutôt exhaustifs pour l'alimentation des bobines...

  17. #16
    PA5CAL

    Re : Durée minimale entre deux pas

    Bonsoir

    Pour faire du demi-pas, on réalise une séquence du type :

    1000 1100 0100 0110 0010 0011 0001 1001


    Sinon, la question de savoir quel intervalle de temps prévoir entre les pas me dérange.

    En effet, cet intervalle dépend de la vitesse de rotation du moteur. Et je dis bien qu'il en dépend, directement, et non pas qu'il la commande, ce qu'il fait bien évidemment, mais de manière indirecte.

    Car c'est le déphasage entre les signaux électriques de commande et la position mécanique angulaire du moteur qui fixe le couple moteur, auquel se rajoute le moment des autres forces mises en jeu (charge mécanique, frottements, etc.) pour induire une variation de la vitesse de rotation.

    De ce fait, pour obtenir un fonctionnement correct du moteur (sans saut de pas, ni vibration excessive, ni retour en arrière), on ne fixe pas arbitrairement une fréquence de commutation des bobines, mais on détermine d'abord le comportement dynamique du moteur et de sa charge mécanique (qu'on doit pouvoir déterminer avec un minimum de précision), et on en déduit ensuite les caractéristiques (chronologie et niveaux) des signaux de commande à produire afin de garantir autant que possible le bon déroulement des phases d'accélération, de maintien en vitesse et de décélération.

    La question ne se résume donc pas à la simple détermination d'un intervalle de temps, hors de tout contexte. Il faut en passer par une étude mécanique sérieuse, et préalable.
    Dernière modification par PA5CAL ; 03/11/2012 à 21h45.

  18. #17
    gedonet

    Re : Durée minimale entre deux pas

    Bonjour
    J'ai ecrit un programme pour gerer un moteur pas à pas avec un pic 16F628 ou 16F88 ( en pièce jointe). Dans le programme, je ne me suis pas occupé de la latence entre deux pas, cela sera determiné par l'ensemble programme qui envoie les ordres, le moteur, son alimentation et la mecanique qu'il y a derriere.
    Sur le logiciel amateur que j'utilises pour decouper avec un fil chaud (RP-FC de IPL5X), le programme permet une serie de test pour estimer la vitesse maxi possible de l'ensemble avant perte de pas.

    Par contre dans mon programme, qui assure le control de l'intensité dans les enroulements, il y a un timming qui peut être à probléme, c'est la frequence de hachage du courant, il ne faut pas être dans les frequences audibles sinon on entend siffler le moteur, c'est le même problème avec le couple L297, L298.

    Gilles
    Fichiers attachés Fichiers attachés

  19. #18
    gabuzo

    Re : Durée minimale entre deux pas

    Au risque de me répéter :

    Il n'y a pas d'intervalle de temps à prévoir entre deux pas ! Sauf dans l'utilisaton de ponts en H à base de mosfet où un temps mort est nécessaire (sinon le pont fait couic).

    C'est la durée d'un pas qui fixe la vitesse du moteur et pas le contraire.

    La duré d'un pas peut être différente si le moteur est en charge mais un moteur qui tourne à vide ça ne sert rigoureusement à rien.

    Si ton moteur en charge saute des pas c'est pas la peine d'aller chercher des explications bien loin, tu es hors des spécifications du moteur.
    Je suis Charlie

  20. #19
    PA5CAL

    Re : Durée minimale entre deux pas

    Citation Envoyé par gabuzo Voir le message
    Il n'y a pas d'intervalle de temps à prévoir entre deux pas ! Sauf dans l'utilisaton de ponts en H à base de mosfet où un temps mort est nécessaire (sinon le pont fait couic).
    Il y a certainement un problème d'interprétation du terme « intervalle » employé.

    Le code présenté au post #11 montre qu'il s'agit ici de la durée d'un pas, et non pas de la durée d'une pause sans alimentation des bobines entre chaque pas.

    Citation Envoyé par gabuzo Voir le message
    C'est la durée d'un pas qui fixe la vitesse du moteur et pas le contraire.
    Comme je l'ai expliqué, c'est plus compliqué que ça.

    La durée (ou la fréquence) du pas, c'est une caractéristique de la commande qui agit sur le déphasage électrique/mécanique, déphasage qui agit sur le couple, couple qui participe à l'accélération angulaire, accélération qui fait varier la vitesse...

    Code:
    commande ───────┬─────────┐
                    ∨         ∨
                fréquence amplitude
                    │         │
                    ∨         │
                angle élec.   │
                    │         │
                    ∨         │
       ┌──────> déphasage     │
    angle méca.     │         │
       ∧            ∨         │
       │    ┌──> couple <─────┘
       │   fem      │
       │    ∧       ∨
       ├────┘  accélération <─┐
       │            │         │
    vitesse <───────┘      charge
                           • inertie
                           • frottements
                           • couple des forces
                              extérieures
    (NB: schéma simplifié, par manque de place et de temps)

    Si on n'élabore pas une commande pertinente vis-à-vis des caractéristiques électriques et mécaniques (dynamiques) de l'ensemble du système, on risque fort de ne pas obtenir instantanément (voire jamais) la vitesse souhaitée.

    Citation Envoyé par gabuzo Voir le message
    La duré d'un pas peut être différente si le moteur est en charge mais un moteur qui tourne à vide ça ne sert rigoureusement à rien.
    Le problème concerne tout autant un moteur qui tourne à vide. Avec une commande inadéquate, au lieu de tourner comme prévu il peut avancer de façon chaotique, osciller, faire marche arrière.
    Dernière modification par PA5CAL ; 04/11/2012 à 10h08.

  21. #20
    PA5CAL

    Re : Durée minimale entre deux pas

    Citation Envoyé par gabuzo Voir le message
    C'est la durée d'un pas qui fixe la vitesse du moteur et pas le contraire.
    Si ça ne paraît pas assez clairement dans mon explication : d'un certain point de vue, c'est la vitesse effective du moteur qui intervient de façon prépondérante dans la détermination de la durée (de la fréquence) adéquate du pas à un instant donné.

    Ensuite, la durée (la fréquence) du pas ne fixe la vitesse que si tout se passe bien.
    Dernière modification par PA5CAL ; 04/11/2012 à 10h16.

  22. #21
    PA5CAL

    Re : Durée minimale entre deux pas

    Citation Envoyé par gabuzo Voir le message
    Si ton moteur en charge saute des pas c'est pas la peine d'aller chercher des explications bien loin, tu es hors des spécifications du moteur.
    Ce point de vue est parfaitement contre-productif, et mène dans la plupart des cas à sur-dimensionner le moteur et sa commande de puissance, et à augmenter inutilement le coût et les dimensions de l'ensemble du système.

    Un moteur est correctement dimensionné dès lors qu'il est capable de produire l'action mécanique souhaitée, dans les conditions définies par le cahier des charges, et avec une commande adéquate. Il n'est absolument pas utile qu'il puisse le faire dans n'importe quelle condition et avec une commande déraisonnable.

    Quand un moteur saute des pas, l'une des premières questions à se poser est : sa commande est-elle correcte ?

  23. #22
    PA5CAL

    Re : Durée minimale entre deux pas

    Citation Envoyé par gabuzo Voir le message
    La duré d'un pas peut être différente si le moteur est en charge mais un moteur qui tourne à vide ça ne sert rigoureusement à rien.
    À ce propos, un exercice d'électrotechnique intéressant pour démontrer que cette affirmation est erronée consiste à commander un moteur à vide afin de le faire tourner en sens inverse de la séquence appliquée.
    Dernière modification par PA5CAL ; 04/11/2012 à 10h42.

  24. #23
    Anduriel

    Re : Durée minimale entre deux pas

    on détermine d'abord le comportement dynamique du moteur et de sa charge mécanique (qu'on doit pouvoir déterminer avec un minimum de précision), et on en déduit ensuite les caractéristiques (chronologie et niveaux) des signaux de commande à produire afin de garantir autant que possible le bon déroulement des phases d'accélération, de maintien en vitesse et de décélération.
    Dans le cadre d'un moteur à courant continu, avec tout le dispositif qu'il faut, je relèverai soigneusement le Bode du moteur pour mettre en place la bonne régulation, temps de réponse, dépassement... Mais étant chez moi je ne dispose de pas grand chose (voire rien) pour ça, et c'est notamment pour ça que j'ai pris un moteur pas à pas pour mon application. Je n'ai pas énormément de données: les frottements je ne les connais pas, je dispose simplement de l'inertie de la charge selon l'axe moteur, sachant que j'ai un réducteur qui multiplie le couple par 2. Et j'ai donc choisi mon moteur exclusivement sur ça, en prenant une "petite marge" selon les disponibilités chez les fabricants.

    Mon application est loin d'être industrielle, donc la robustesse et la précision... Mon souci majeur dans ce cas c'est d'avoir quelque chose de "visuellement acceptable". Et je ne vois pas comment faire cette étude physique sur un moteur pas à pas avec mon crayon a papier et ma règle :S

    Merci pour le programme godenet, je vais y jeter un oeil (en espérant comprendre!)
    Dernière modification par Anduriel ; 04/11/2012 à 14h50.

  25. #24
    gabuzo

    Re : Durée minimale entre deux pas

    Citation Envoyé par PA5CAL Voir le message
    À ce propos, un exercice d'électrotechnique intéressant pour démontrer que cette affirmation est erronée consiste à commander un moteur à vide afin de le faire tourner en sens inverse de la séquence appliquée.
    Je suis franchement curieux de voir ça, perso ça ne m'est jamais arrivé, je ne l'ai jamais vu et je n'en n'ai jamais entendu parlé. aurais-tu un lien internet ou un cours d'électrotech qui en ferait état ?
    Je suis Charlie

  26. #25
    PA5CAL

    Re : Durée minimale entre deux pas

    Citation Envoyé par gabuzo Voir le message
    Je suis franchement curieux de voir ça, perso ça ne m'est jamais arrivé, je ne l'ai jamais vu et je n'en n'ai jamais entendu parlé. aurais-tu un lien internet ou un cours d'électrotech qui en ferait état ?
    C'est une expérience de TP, mettant en application un exercice théorique (résonance harmonique). Mais ce n'est pas un point de cours, car ça ne correspond pas à un fonctionnement normal, ni même souhaité, du moteur pas-à-pas.

    De reste, les informations les plus intéressantes ne circulant pas sur Internet, et le contenu des cours d'électrotechnique ayant été grandement simplifié depuis un quart de siècle, je doute qu'on l'y aurait retrouvée aujourd'hui si elle en avait pu en faire partie. D'ailleurs, sur la quantité, je ne retrouve même pas la moitié de mon cours d'ingé dans celui mis en ligne par les universités, et j'ai pu constater qu'une bonne part des informations qu'il contient ne figure plus que dans les documents « métier » (internes et souvent confidentiels) des entreprises spécialisées.

    Toutefois, je m'étonne que tu n'aies pas déjà constaté des comportements de retour arrière sur des moteurs pas-à-pas désynchronisés.
    Dernière modification par PA5CAL ; 05/11/2012 à 18h03.

  27. #26
    PA5CAL

    Re : Durée minimale entre deux pas

    Voici deux graphes pour aider comprendre, au moins de façon intuitive, comment il est possible de faire marcher un moteur pas-à-pas à l'envers.

    Si l'on représente le déplacement du point de fonctionnement sur les courbes correspondant aux potentiels d'énergie pour chacune des phases (A+, B+, A–, B–), on obtient normalement quelque chose comme ceci :

    mpp-normal.png

    Chaque creux est un puits de potentiel dans lequel le point de fonctionnement est normalement piégé. La descente des pentes correspond à une dépense d'énergie en terme d'accélération et de pertes (électriques, magnétique et mécaniques), et la commutation de l'alimentation des bobines provoque le passage d'une courbe à l'autre.

    En cas d'arrêt de la séquence, le point de fonctionnement remonte plus ou moins haut sur l'autre versant du puits de potentiel, décélère, puis rebrousse chemin en accélérant... et ainsi de suite jusqu'à ce que les pertes d'énergie finissent par le stabiliser au fond du creux.


    Le cas dont je parle correspond à ce graphe :

    mpp-marr.png

    L'inertie du moteur et les faibles pertes mènent le point de fonctionnement à remonter assez haut les pentes des puits de potentiel. L'astuce consiste à faire en sorte que la commutation des bobines ait lieu au moment où le point de fonctionnement commence à rebrousser chemin, et à l'endroit où la phase aurait dû normalement commencer. Ainsi, avec un séquence de marche avant (A+, B+, A–, B–), on arrive à faire tourner le moteur à trois fois la vitesse prévue et en sens inverse.
    Dernière modification par PA5CAL ; 05/11/2012 à 19h52.

Discussions similaires

  1. Distance minimale entre exp(x) et ln(x)
    Par loann dans le forum Mathématiques du collège et du lycée
    Réponses: 7
    Dernier message: 16/06/2012, 11h47
  2. Durée entre deux impulsions d'entrée d'un montage monostable
    Par invite0802bd67 dans le forum Physique
    Réponses: 5
    Dernier message: 08/11/2010, 21h27
  3. coupler deux piles entre eux pour plus de durée
    Par invite4c6da441 dans le forum Physique
    Réponses: 6
    Dernier message: 05/07/2010, 06h36
  4. Moteur pas a pas - couper l'alimentation des phase entre deux pas
    Par bcoquille dans le forum Électronique
    Réponses: 8
    Dernier message: 23/02/2010, 19h06
Découvrez nos comparatifs produits sur l'informatique et les technologies.