Picaxe AXE023 Commande Petit Moteur Pas à Pas Bipolaire

gouardo.pat

New Member
Bonjour,
Je suis nouveau sur ce forum et aussi en tant qu'utilisateur Hobbyste des Picaxes.
Je voudrai commander un petit moteur pas à pas bipolaire 4 Fils 2 Bobines avec l'Axe023 mais avant cela j'ai essayé de tester le programme et le circuit.
J'ai donc branché une LED 5V en sortie 0, 1, 2, et 4 et la masse de la carte Axe023.

J'ai téléchargé le programme ci joint à partir du site Internet Picaxe.

View attachment Picaxe-4 Led-blink.basView attachment Picaxe - Bipolar Motor.bas

Ce qui m'étonne c'est qu'il ne se passe rien pour la LED connectée à la broche 4 de la carte.
Les autres clignotent OK mais pas la 4.
Est-ce normal ?

Est-ce à cause du programme, y a t'il quelque chose que j'ai oublié, pas vu ?
J'ai certainement oublié de commencer ma formation au début !!

J'ai testé le circuit au cas ou en faisant tourner le deuxième programme joint et toutes les diodes clignotent donc le circuit électronique est correct.
Je dois dire à ce niveau que je regrette qu'il n'y a pas un schéma électronique digne de ce nom dans la notice de ce module, même si il peut paraitre simple.
Un schéma électronique doit aussi faire partie de l'éducation ou de l'information de l'utilisateur.

Ou puis-je trouver les informations pour savoir quel est le timing des signaux que je dois avoir sur chacune des broches 0, 1, 2 et 4 de l'Axe023 ?

Quel est le timing des signaux à appliquer sur les 2 bobines d'un moteur pas à pas bipolaire dans son mode standard car si finalement nous avons 4 signaux en sortie de la carte, c'est pour attaquer seulement 2 bobines.

Merci pour vos informations.

Bien Cordialement

Patrick


O
 

PieM

Senior Member
Bonjour et bienvenue,

le premier programme fonctionne, bien que non conforme (fait état de sortie sur B.0 à B.4 alors que sur un 08M2, il s'agit du port C).
Donc vérifier le câblage.
comment sont nommées les sorties sur le L293D ?
C.0, C.1, C.2, C.4 correspondent aux sorties du picaxe. la numérotation sortie L293D n'est pas forcément la même.

Le second programme Bipolar Motor n'est pas du tout adapté à un 08M2! Et si toutes les leds clignotent avec ce programme c'est qu'il y a un problème de connexion car il commande C.3 qui est une entrée du picaxe!

1/ faire fonctionner vos leds sur les sorties du L293D
en remplaçant les B.x par des C.x dans le programme Led.

2/ sur le moteur pas à pas repérer les fils : quels fils correspondent à un même enroulement.
3/ la doc picaxe: lire les instructions DirsC , outpinsC, manuel 2 page 28 et lookup
4/ lire avec intérêt : http://www.picaxeforum.co.uk/showthread.php?20813-Deux-moteurs-pas-%E0-pas/page2&highlight=moteur+PaP

Je vous ferai ensuite un petit programme simple pour démarrer...
 

PieM

Senior Member
Bonjour,

A tout hasard, j'ai une page à ce sujet, merci de me signaler des erreurs:
http://electromag1.wifeo.com/pilotage-des-moteurs-pas-a-pas.php

MM
Il est parfait ton topo michel, comme d'hab ...

Je lui fais un bout de programme plus simple en rapport avec sa doc, et adapté au 08M2 qui a ses 4 sorties sur 5 bits de outpins:

Code:
[COLOR=Green]'==========================================
'Programme moteur PaP bipolaire sur AXE023
'08M2 + L293D                  PieM 2016/02
'==========================================[/COLOR]
[COLOR=Black]#Picaxe08M2[/COLOR]

[COLOR=Blue]let [/COLOR][COLOR=Purple]dirsC [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Navy]%10111            [/COLOR][COLOR=Green]; C.4, C.2, C.1, C.0 en sorties[/COLOR]
[COLOR=Blue]symbol vitesse1 [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Navy]50[/COLOR]
[COLOR=Blue]symbol vitesse2 [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Navy]10[/COLOR]

[COLOR=Black]main: [/COLOR]
[COLOR=Blue]do
   for [/COLOR][COLOR=Purple]b3 [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Navy]0 [/COLOR][COLOR=Blue]to [/COLOR][COLOR=Navy]99              [/COLOR][COLOR=Green]; boucle sens 1 vitesse1
      [/COLOR][COLOR=Blue]pause vitesse1
      gosub [/COLOR][COLOR=Black]marche1           
   [/COLOR][COLOR=Blue]next                 
   for [/COLOR][COLOR=Purple]b3 [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Navy]99 [/COLOR][COLOR=Blue]to [/COLOR][COLOR=Navy]0  [/COLOR][COLOR=Blue]step [/COLOR][COLOR=DarkCyan]-[/COLOR][COLOR=Navy]1     [/COLOR][COLOR=Green]; boucle sens 2 vitesse2
      [/COLOR][COLOR=Blue]pause vitesse2
      gosub [/COLOR][COLOR=Black]marche1        
   [/COLOR][COLOR=Blue]next                 
loop

   [/COLOR][COLOR=Black]marche1: [/COLOR][COLOR=Green]' fonctionne en pas entiers 2 phases (couple maxi)
   [/COLOR][COLOR=Purple]b1 [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Purple]b3 [/COLOR][COLOR=DarkCyan]& [/COLOR][COLOR=Navy]%00000011        [/COLOR][COLOR=Green]; n'utilise que les 2 bits de poids faible de b3 (0 à 3)
   [/COLOR][COLOR=Blue]lookup [/COLOR][COLOR=Purple]b1[/COLOR][COLOR=Black],[/COLOR][COLOR=Blue]([/COLOR][COLOR=Navy]%10010[/COLOR][COLOR=Black],[/COLOR][COLOR=Navy]%10001[/COLOR][COLOR=Black],[/COLOR][COLOR=Navy]%00101[/COLOR][COLOR=Black],[/COLOR][COLOR=Navy]%00110[/COLOR][COLOR=Blue])[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]outpinsC [/COLOR][COLOR=Green]'(2 sorties actives à la fois)
   [/COLOR][COLOR=Blue]return

   [/COLOR][COLOR=Black]marche2: [/COLOR][COLOR=Green]' fonctionne en pas entiers 1 phase
   [/COLOR][COLOR=Purple]b1 [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Purple]b3 [/COLOR][COLOR=DarkCyan]& [/COLOR][COLOR=Navy]%00000011        [/COLOR][COLOR=Green]; n'utilise que les 2 bits de poids faible de b3 (0 à 3)
   [/COLOR][COLOR=Blue]lookup [/COLOR][COLOR=Purple]b1[/COLOR][COLOR=Black],[/COLOR][COLOR=Blue]([/COLOR][COLOR=Navy]%10000[/COLOR][COLOR=Black],[/COLOR][COLOR=Navy]%00001[/COLOR][COLOR=Black],[/COLOR][COLOR=Navy]%00100[/COLOR][COLOR=Black],[/COLOR][COLOR=Navy]%00010[/COLOR][COLOR=Blue])[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]outpinsC [/COLOR][COLOR=Green]'(1 sortie active à la fois)
   [/COLOR][COLOR=Blue]return

   [/COLOR][COLOR=Black]marche3:  [/COLOR][COLOR=Green]' fonctionne en demis pas 
   [/COLOR][COLOR=Purple]b1 [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Purple]b3 [/COLOR][COLOR=DarkCyan]& [/COLOR][COLOR=Navy]%00000111        [/COLOR][COLOR=Green]; n'utilise que les 3 bits de poids faible de b3 (0 à 7)
   [/COLOR][COLOR=Blue]lookup [/COLOR][COLOR=Purple]b1[/COLOR][COLOR=Black],[/COLOR][COLOR=Blue]([/COLOR][COLOR=Navy]%10010[/COLOR][COLOR=Black],[/COLOR][COLOR=Navy]%10000[/COLOR][COLOR=Black],[/COLOR][COLOR=Navy]%10001[/COLOR][COLOR=Black], [/COLOR][COLOR=Navy]%00001[/COLOR][COLOR=Black],[/COLOR][COLOR=Navy]%00101[/COLOR][COLOR=Black],[/COLOR][COLOR=Navy]%00100[/COLOR][COLOR=Black],[/COLOR][COLOR=Navy]%00110[/COLOR][COLOR=Black],[/COLOR][COLOR=Navy]%00010[/COLOR][COLOR=Blue])[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]outpinsC
   [/COLOR][COLOR=Blue]return[/COLOR]
@ Patrick

dans #1 : "en faisant tourner le deuxième programme joint et toutes les diodes clignotent"
je pense qu'il y erreur: c'est en faisant tourner le premier (LED) que ça marche. par contre avec le second prog (bipolar-motor), effectivement la led 4 ne peut pas fonctionner!

donc bancher votre moteur avec bobine 1 sur sorties 0 et 1 et bobine 2 sur 2 et 4, et lancer mon programme.
Si le moteur vibre, intervertir 2 fils (n'importe lesquels entre sortie 0 et sortie 2 ou 4 par ex.)
 
Last edited:

gouardo.pat

New Member
AXE023 - Moteur Bi Polaire 5 Fils

Bonjour et merci pour votre excellente réponse.

J'ai testé le programme et cela marche avec un micro vérin que j'avais acheté sur Internet.
Le moteur de ce micro vérin a 4 fils.

J'attend de Chine un petit moteur Pas à Pas piloté par une carte avec un UNL2003.
Par contre ce moteur bi Polaire a 5 fils .

Est ce que cela change le programme.

Merci à tous pour vos réponses et commentaires.

Cordialement

Patrick


s
Il est parfait ton topo michel, comme d'hab ...

Je lui fais un bout de programme plus simple en rapport avec sa doc, et adapté au 08M2 qui a ses 4 sorties sur 5 bits de outpins:

Code:
[COLOR=Green]'==========================================
'Programme moteur PaP bipolaire sur AXE023
'08M2 + L293D                  PieM 2016/02
'==========================================[/COLOR]
[COLOR=Black]#Picaxe08M2[/COLOR]

[COLOR=Blue]let [/COLOR][COLOR=Purple]dirsC [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Navy]%10111            [/COLOR][COLOR=Green]; C.4, C.2, C.1, C.0 en sorties[/COLOR]
[COLOR=Blue]symbol vitesse1 [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Navy]50[/COLOR]
[COLOR=Blue]symbol vitesse2 [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Navy]10[/COLOR]

[COLOR=Black]main: [/COLOR]
[COLOR=Blue]do
   for [/COLOR][COLOR=Purple]b3 [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Navy]0 [/COLOR][COLOR=Blue]to [/COLOR][COLOR=Navy]99              [/COLOR][COLOR=Green]; boucle sens 1 vitesse1
      [/COLOR][COLOR=Blue]pause vitesse1
      gosub [/COLOR][COLOR=Black]marche1           
   [/COLOR][COLOR=Blue]next                 
   for [/COLOR][COLOR=Purple]b3 [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Navy]99 [/COLOR][COLOR=Blue]to [/COLOR][COLOR=Navy]0  [/COLOR][COLOR=Blue]step [/COLOR][COLOR=DarkCyan]-[/COLOR][COLOR=Navy]1     [/COLOR][COLOR=Green]; boucle sens 2 vitesse2
      [/COLOR][COLOR=Blue]pause vitesse2
      gosub [/COLOR][COLOR=Black]marche1        
   [/COLOR][COLOR=Blue]next                 
loop

   [/COLOR][COLOR=Black]marche1: [/COLOR][COLOR=Green]' fonctionne en pas entiers 2 phases (couple maxi)
   [/COLOR][COLOR=Purple]b1 [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Purple]b3 [/COLOR][COLOR=DarkCyan]& [/COLOR][COLOR=Navy]%00000011        [/COLOR][COLOR=Green]; n'utilise que les 2 bits de poids faible de b3 (0 à 3)
   [/COLOR][COLOR=Blue]lookup [/COLOR][COLOR=Purple]b1[/COLOR][COLOR=Black],[/COLOR][COLOR=Blue]([/COLOR][COLOR=Navy]%10010[/COLOR][COLOR=Black],[/COLOR][COLOR=Navy]%10001[/COLOR][COLOR=Black],[/COLOR][COLOR=Navy]%00101[/COLOR][COLOR=Black],[/COLOR][COLOR=Navy]%00110[/COLOR][COLOR=Blue])[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]outpinsC [/COLOR][COLOR=Green]'(2 sorties actives à la fois)
   [/COLOR][COLOR=Blue]return

   [/COLOR][COLOR=Black]marche2: [/COLOR][COLOR=Green]' fonctionne en pas entiers 1 phase
   [/COLOR][COLOR=Purple]b1 [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Purple]b3 [/COLOR][COLOR=DarkCyan]& [/COLOR][COLOR=Navy]%00000011        [/COLOR][COLOR=Green]; n'utilise que les 2 bits de poids faible de b3 (0 à 3)
   [/COLOR][COLOR=Blue]lookup [/COLOR][COLOR=Purple]b1[/COLOR][COLOR=Black],[/COLOR][COLOR=Blue]([/COLOR][COLOR=Navy]%10000[/COLOR][COLOR=Black],[/COLOR][COLOR=Navy]%00001[/COLOR][COLOR=Black],[/COLOR][COLOR=Navy]%00100[/COLOR][COLOR=Black],[/COLOR][COLOR=Navy]%00010[/COLOR][COLOR=Blue])[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]outpinsC [/COLOR][COLOR=Green]'(1 sortie active à la fois)
   [/COLOR][COLOR=Blue]return

   [/COLOR][COLOR=Black]marche3:  [/COLOR][COLOR=Green]' fonctionne en demis pas 
   [/COLOR][COLOR=Purple]b1 [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Purple]b3 [/COLOR][COLOR=DarkCyan]& [/COLOR][COLOR=Navy]%00000111        [/COLOR][COLOR=Green]; n'utilise que les 3 bits de poids faible de b3 (0 à 7)
   [/COLOR][COLOR=Blue]lookup [/COLOR][COLOR=Purple]b1[/COLOR][COLOR=Black],[/COLOR][COLOR=Blue]([/COLOR][COLOR=Navy]%10010[/COLOR][COLOR=Black],[/COLOR][COLOR=Navy]%10000[/COLOR][COLOR=Black],[/COLOR][COLOR=Navy]%10001[/COLOR][COLOR=Black], [/COLOR][COLOR=Navy]%00001[/COLOR][COLOR=Black],[/COLOR][COLOR=Navy]%00101[/COLOR][COLOR=Black],[/COLOR][COLOR=Navy]%00100[/COLOR][COLOR=Black],[/COLOR][COLOR=Navy]%00110[/COLOR][COLOR=Black],[/COLOR][COLOR=Navy]%00010[/COLOR][COLOR=Blue])[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]outpinsC
   [/COLOR][COLOR=Blue]return[/COLOR]
@ Patrick

dans #1 : "en faisant tourner le deuxième programme joint et toutes les diodes clignotent"
je pense qu'il y erreur: c'est en faisant tourner le premier (LED) que ça marche. par contre avec le second prog (bipolar-motor), effectivement la led 4 ne peut pas fonctionner!

donc bancher votre moteur avec bobine 1 sur sorties 0 et 1 et bobine 2 sur 2 et 4, et lancer mon programme.
Si le moteur vibre, intervertir 2 fils (n'importe lesquels entre sortie 0 et sortie 2 ou 4 par ex.)
 

PieM

Senior Member
J'attend de Chine un petit moteur Pas à Pas piloté par une carte avec un UNL2003.
Par contre ce moteur bi Polaire a 5 fils .

Est ce que cela change le programme.
Si ce moteur a 5 fils, c'est un moteur Unipolaire et non bipolaire.
Lire l'excellent doc de Fuse.
Donc il faut repérer le fil commun, à relier à V+ dans le cas d'utilisation avec un ULN2003.

relier les 4 fils aux sorties correspondant à C.0, C.1, C.2 et C.4 du Picaxe, et garder le même programme.
Si le moteur vibre, intervertir certains fils. Les couleurs ne sont malheureusement pas normalisées.
 
Top