Commande d'u stepmotor asssocié au driver ULN 2003

Gerda

New Member
Bonjour à tous,

Si quelqu'un peut répondre à ma question s'il vous plaît: Peut_on commander un stepmoteur cad envoyer sue séquencede commande vers le ULN 2003 à partir d'un picaxe 8M2. ?

merci
 

PieM

Senior Member
Bonjour,
Quel type de moteur (bipolaire, unipolaire)
Quelles caractéristiques ( ses références ?)
Le 2003 n'est pas l'idéal, mieux vaut un LD293D pour un petit unipolaire.
 

Gerda

New Member
Bonjour,
Quel type de moteur (bipolaire, unipolaire)
Quelles caractéristiques ( ses références ?)
Le 2003 n'est pas l'idéal, mieux vaut un LD293D pour un petit unipolaire.
C'est un moteur 4 phases 5 fils avec reducteur mécanique qui en fait est fourni avec le module ULN. Je trouve partout des applis avec arduino mais pas à partir d'un picaxe. Merci à vous pour l'intérêt que vous portez à on cas.
 

PieM

Senior Member
Bonjour,
Donc c'est un unipolaire qui nécessite 4 sorties sur picaxe. Avec un 08M2, a moins d'utiliser la broche serout et compliquer la programmation des séquences, ce n'est pas possible.
Je vous conseillerais d'utiliser au mini un 14M2, ce qui permet des commandes plus simples.
A titre indicatif un post qui en parle (avec un 20M2, mais le principe est le même) : PaP avec 20M2 et ULN 2003
Attention que les ULN sont limités à 500mA en courant!
 

DIDIER17

Active member
Bonjour Gerda
s'agit il d'un moteur 28-BYJ-48 avec le module made in china SBC-motor1
bonne journée
23373
 

PieM

Senior Member
Si c'est ce petit moteur, alors une commande en pas simple peut se faire avec ce petit programme:
Il fait faire 64 pas (1 tour) dans un sens à une certaine vitesse, et 64 pas dans l'autre à une autre vitesse.
Attention de bien connecter les broches C.0, C.1,C.2 et C.4 et le debugage via le terminal ne sera pas possible.
Si le moteur vibre, intervertir 2 fils (pas le V+ !)
Rich (BB code):
#picaxe 08M2

symbol vitesse1 = 50
symbol vitesse2 = 10

dirsC= %11111
main: 
do
   for b3= 0 to 64    ; boucle sens 1 vitesse1
      pause vitesse1
      gosub marche1           
   next                 
  for b3 = 64 to 0 step-1         ; boucle sens 2 vitesse2
      pause vitesse2
      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 a 3)
   lookup b1,(%10000,%0001,%0010,%0100),b4  ;(1 sortie active a la fois)
   outpinsC = b4
return
 

Gerda

New Member
Bonjour,
Donc c'est un unipolaire qui nécessite 4 sorties sur picaxe. Avec un 08M2, a moins d'utiliser la broche serout et compliquer la programmation des séquences, ce n'est pas possible.
Je vous conseillerais d'utiliser au mini un 14M2, ce qui permet des commandes plus simples.
A titre indicatif un post qui en parle (avec un 20M2, mais le principe est le même) : PaP avec 20M2 et ULN 2003
Attention que les ULN sont limités à 500mA en courant!

MERCI !
 

Gerda

New Member
Si c'est ce petit moteur, alors une commande en pas simple peut se faire avec ce petit programme:
Il fait faire 64 pas (1 tour) dans un sens à une certaine vitesse, et 64 pas dans l'autre à une autre vitesse.
Attention de bien connecter les broches C.0, C.1,C.2 et C.4 et le debugage via le terminal ne sera pas possible.
Si le moteur vibre, intervertir 2 fils (pas le V+ !)
Rich (BB code):
#picaxe 08M2

symbol vitesse1 = 50
symbol vitesse2 = 10

dirsC= %11111
main: 
do
   for b3= 0 to 64    ; boucle sens 1 vitesse1
      pause vitesse1
      gosub marche1           
   next                 
  for b3 = 64 to 0 step-1         ; boucle sens 2 vitesse2
      pause vitesse2
      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 a 3)
   lookup b1,(%10000,%0001,%0010,%0100),b4  ;(1 sortie active a la fois)
   outpinsC = b4
return
C'est bien de ce moteur qu'il s'agit. Je vais essayer de m'en sortir avec ça, Merci!
 

Gerda

New Member
Bonjour,
Donc c'est un unipolaire qui nécessite 4 sorties sur picaxe. Avec un 08M2, a moins d'utiliser la broche serout et compliquer la programmation des séquences, ce n'est pas possible.
Je vous conseillerais d'utiliser au mini un 14M2, ce qui permet des commandes plus simples.
A titre indicatif un post qui en parle (avec un 20M2, mais le principe est le même) : PaP avec 20M2 et ULN 2003
Attention que les ULN sont limités à 500mA en courant!
merci !
 

DIDIER17

Active member
Bonsoir Gerda,
Si vous voulez mal programmer suivez mon exemple,
je vais me faire gronder par le big boss ( PieM) :oops: en plus j'ai mis un "goto" je risque l'excommunication

plus la "pause" est longue plus le moteur tourne doucement
pour le sens inverse il faut inverser les séquences

boucle avant
step 1,2,3,4
retour


boucle arrière
step 4,3,2,1
retour





Code:
;programe marche avant

let dirsB = %00010111   

turn:   

;step1            C4 C2C1C0
;                      | |||
        let pinsB = %00000011
        pause 2
;step2           C4 C2C1C0
;                      | |||
        let pinsB = %00000110
        pause 2
;step3          C4 C2C1C0
;                      | |||
        let pinsB = %00010100
        pause 2
;step4           C4 C2C1C0
;                      | |||
        let pinsB = %00010001
        pause 2
goto turn
le programme sans les commentaires

let dirsB = %00010111

turn:
let pinsB = %00000011
pause 2
let pinsB = %00000110
pause 2
let pinsB = %00010100
pause 2
let pinsB = %00010001
pause 2
goto turn
 
Top