Séquence pour moteur pas a pas

electrique5

Senior Member
Bonjour
j'ai acheter ce petit moteur PAP pour testé

https://fr.aliexpress.com/item/5V-4-phase-Stepper-Motor-Driver-Board-ULN2003-for-Arduino-1x-Stepper-motor-1x-ULN2003-Driver/32559343320.html

le souci c'est que je n'arrive pas a trouvé la séquence pour le faire tourné
j'a essayé de suivre les étapes de ce site mais le moteur ne tourne pas.
il est bien alimenté pas de souci la dessus

je fait une séquence exemple

Code:
high 4
low 5
low 6
low 7
pause 100
puis une autre séquence et ainsi de suite.
je sens que le moteur vibre mais ne tourne pas.
j'ai essayé une séquence plus bas mais c'est la même chose ca vibre mais ne tourne pas.
certe j'ai mis des pause assez longue de 100ms mais on devrais quand même voir que le moteur devrais tourné.

pour info c'est un picaxe 20m2 auquel IN1,IN2,IN3 et IN4 sont connecté au borne B4,B5,B6 et B7
je voudrait savoir si sur ce site les séquence sont bonne ou pas ou si le moteur que j'ai les séquence ne convienne pas.
Je vous remercie
 

PieM

Senior Member
pour info c'est un picaxe 20m2 auquel IN1,IN2,IN3 et IN4 sont connecté au borne B4,B5,B6 et B7
je voudrait savoir si sur ce site les séquence sont bonne ou pas ou si le moteur que j'ai les séquence ne convienne pas.
Je vous remercie
Bonjour,

Tout d'abord, ce moteur est donc un moteur unipolaire. Il est alimenté par le V+, et chaque enroulement est mis à GND par l'ULN
Quand un moteur PaP vibre, il suffit d'intervertir deux fils liés aux bobines.
Comme le câblage est fixe, ici il suffit d'intervertir la commande sur 2 IN.

Il y a eu déjà pas mal de posts sur le sujet.
Ici un petit programme qui va faire tourner le moteur dans un sens pendant 99 pas, puis dans l'autre.
Si le moteur vibre, il faut changer la séquence du lookup.

Deux autres modes sont possibles: mode 2 phases, fort couple, et mode demi pas. On verra après...

Il ne faut jamais utiliser de pulsout avec des moteurs pas à pas.

Rich (BB code):
#picaxe 20M2

let dirsB = %11110000            ; B.4 à B.7 en sorties
symbol vitesse1 = 50

main: 
do
   for b3 = 0 to 99              ; boucle sens 1 vitesse1
      pause vitesse1
      gosub marche1          
   next                
  for b3 = 99 to 0 step-1         ; boucle sens 2 vitesse1
      pause vitesse1
      gosub marche1          
   next            


loop

   marche1: ' fonctionne en pas entiers 1 phase
   b1 = b3 & %11        ; n'utilise que les 2 bits de poids faible de b3 (0 à 3)
   lookup b1,(%1000,%0001,%0010,%0100),b4 '(1 sortie active à la fois)
   outpinsB = b4*16 ' décale de 16 pour être sur les sorties B.4 à B.7
   return
 
Last edited:

guydu99

New Member
Bonjour Piem,
Merci pour l'info sur le pulsout. Mais pourquoi ne doit-on pas l'utiliser ?
Je l'utilise pour commander un relais bistable. Est-ce aussi mauvais?
Merci
 

PieM

Senior Member
Bonjour Piem,
Merci pour l'info sur le pulsout. Mais pourquoi ne doit-on pas l'utiliser ?
Je l'utilise pour commander un relais bistable. Est-ce aussi mauvais?
Merci
Bonjour,
Il n'y a aucun problème pour un relais bistable.
Ce qu'il faut comprendre c'est qu'un moteur pas à pas est par définition un moteur qui se commande avec précision de façon angulaire. Cela suppose qu'à tout instant au moins un enroulement est sous tension afin de conserver sa position, et ce même à l'arrêt. Ce qu'un pulsout ne permet pas.
Faute de cela, tout couple résistant viendrait faire sauter des pas...
Le seul cas possible serait d'avoir, associée à la sortie du moteur PaP, une mécanique non réversible; par exemple vis sans fin.
 

guydu99

New Member
Encore Merci à PIEM.
Du coup j'ai supprimé mon post qui n'est pas une bonne solution.
 
Last edited:

Gerda

New Member
Bonjour,

Tout d'abord, ce moteur est donc un moteur unipolaire. Il est alimenté par le V+, et chaque enroulement est mis à GND par l'ULN
Quand un moteur PaP vibre, il suffit d'intervertir deux fils liés aux bobines.
Comme le câblage est fixe, ici il suffit d'intervertir la commande sur 2 IN.

Il y a eu déjà pas mal de posts sur le sujet.
Ici un petit programme qui va faire tourner le moteur dans un sens pendant 99 pas, puis dans l'autre.
Si le moteur vibre, il faut changer la séquence du lookup.

Deux autres modes sont possibles: mode 2 phases, fort couple, et mode demi pas. On verra après...

Il ne faut jamais utiliser de pulsout avec des moteurs pas à pas.

Rich (BB code):
#picaxe 20M2

let dirsB = %11110000            ; B.4 à B.7 en sorties
symbol vitesse1 = 50

main: 
do
   for b3 = 0 to 99              ; boucle sens 1 vitesse1
      pause vitesse1
      gosub marche1          
   next                
  for b3 = 99 to 0 step-1         ; boucle sens 2 vitesse1
      pause vitesse1
      gosub marche1          
   next            


loop

   marche1: ' fonctionne en pas entiers 1 phase
   b1 = b3 & %11        ; n'utilise que les 2 bits de poids faible de b3 (0 à 3)
   lookup b1,(%1000,%0001,%0010,%0100),b4 '(1 sortie active à la fois)
   outpinsB = b4*16 ' décale de 16 pour être sur les sorties B.4 à B.7
   return

Bonjour,

je viens de découvrir ce petit programme qui me convient bien. (un grand merci à PieM pour tous ses avis) Seul bémol je n'ai pas de Picaxe 20M2 et je vais en commander car j'ai plusieurs moteurs bipolaires et unipolaires. J'ai aussi des CI 2003 et L293N. Alors pour me permettre de bricoler avec ces éléments j'essaie de trouver un petit microprocesseur pas cher. C'est la raison pour laquelle j'ai du picaxe 8M2. Maintenant je ne sais quoi adopter ? Picaxe 20M2 ou 14M2 ? J'ai déjà réussi a faire mes montages avec de l'Arduino uno mais trop cher pour ce que je veux en faire.

Merci pour votre aide
 

DIDIER17

Active member
Bonsoir Gerda,
Combien de moteur souhaitez vous faire tourner?
je dis peut être une bêtise mais si vous avez déjà des 08M2 vous pouvez les utiliser
pour les moteurs PAP certes il faut un 08M2 par moteur pap ?
vous pouvez commander les ensembles par un autre 08 M2
cela dépends de votre objectif
Personnellement j'ai fait tourner 2 moteur PAP avec un 20M2

Cela sent l'animation de Noël?:)

pour l’interfaçage il y une bonne doc "Manuel N°3 circuits d'interface Microcontrôleur" en ligne

Bonne soirée
 

Gerda

New Member
Bonsoir et merci pour la réponse.

J'ai en fait des tiroirs pleins de composants de récupération électroniques à savoir opto-electronique, transistors, micros, hp, capteurs e fait de la récupération intensive de lecteurs CD DVD Disquettes, ordis, etc... mais aussi de matériaux divers: tôle métal et alu (conserves et canettes) contreplaqué (cagettes) ...

En tant que je pratique du recyclage non lucratif pour fabriquer des gadgets à moindre coût: tirelire animée ou sonore, animations vintage, coucou suisse, où l'ancien moteur (un ressort) est remplacé par du pap.

à vous lire ... (merci encore)

(le picaxe 8M2 est le processeur le moins cher trouvé mais pour arriver au bout de mes projets je veux bien passer au picaxe 14 ou 20. à suivre)
 

PieM

Senior Member
Bonjour,
Comme déjà dit, le 08M2 nécessite d'utiliser la sortie SerialOut de programmation, ce qui n'est pas idéal. De plus seule une entrée reste disponible, donc assez limité!
A mon avis, le minimum pour des PaP est le 14M2. voire le 20M2 (pas de 18M2).
 

Gerda

New Member
Bonjour,
Comme déjà dit, le 08M2 nécessite d'utiliser la sortie SerialOut de programmation, ce qui n'est pas idéal. De plus seule une entrée reste disponible, donc assez limité!
A mon avis, le minimum pour des PaP est le 14M2. voire le 20M2 (pas de 18M2).

Je vais tout simplement acheter quelques 14M2 ce qui je pense va simplifier mes expérimentations.

merci!
 
Top