Aller au contenu


Photo
- - - - -

[question] Sur la commande de 2 moteur pas a pas


8 réponses à ce sujet

#1 Bogaert_olivier

Bogaert_olivier

    Nouveau membre

  • Membres
  • 6 messages

Posté 19 octobre 2011 - 08:46

Bonjour a tous ,
Je viens de commencer un projet de robotique (c’est un robot qui va résoudre un labyrinthe),
dans ce projet je vais utiliser deux moteurs pas à pas Sanyo Denki H546 avec un module JSMotor-A (schemat en annexe)

Ce module permet de commander les moteur pas a pas à l’aide d’un signal PWM :
CLK_A : Clock for motor A. Motor A turns according to the clock signal.
DIR_A : Direction of motor A. 0= counterclockwise, 1= clockwise.
EN_A : Enable of motor A. 0= disable, 1=enable
CLK_B : Clock for motor B. Motor B turns according to the clock signal.
DIR_B : A direction of motor B. 0= clockwise, 1= counterclockwise.
EN_B : Enable of motor B. 0= disable, 1=enable
PHASE : Select the motor’s driving method (coil driving method). 0=1-2 phase, 1=2 phase
Note : A clock means a signal that changes its voltage level from low to high and high to low.
0V - 5V - 0V
Voici mes questions :
1) Que pensez vous de ce module ? Je pense qu’il permet de faciliter la commande des moteurs pas à pas et alléger la programmation.
2) Ce module peut-il me faire perdre en précision ?

Merci d'avance
Olivier Bogaert

#2 Astondb8

Astondb8

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 1 111 messages
  • Gender:Male
  • Location:Paris

Posté 19 octobre 2011 - 09:17

Bonjour a tous ,
Je viens de commencer un projet de robotique (c’est un robot qui va résoudre un labyrinthe),
dans ce projet je vais utiliser deux moteurs pas à pas Sanyo Denki H546 avec un module JSMotor-A (schemat en annexe)

Ce module permet de commander les moteur pas a pas à l’aide d’un signal PWM :
CLK_A : Clock for motor A. Motor A turns according to the clock signal.
DIR_A : Direction of motor A. 0= counterclockwise, 1= clockwise.
EN_A : Enable of motor A. 0= disable, 1=enable
CLK_B : Clock for motor B. Motor B turns according to the clock signal.
DIR_B : A direction of motor B. 0= clockwise, 1= counterclockwise.
EN_B : Enable of motor B. 0= disable, 1=enable
PHASE : Select the motor’s driving method (coil driving method). 0=1-2 phase, 1=2 phase
Note : A clock means a signal that changes its voltage level from low to high and high to low.
0V - 5V - 0V
Voici mes questions :
1) Que pensez vous de ce module ? Je pense qu’il permet de faciliter la commande des moteurs pas à pas et alléger la programmation.
2) Ce module peut-il me faire perdre en précision ?

Merci d'avance
Olivier Bogaert



Bonjour,

La question est plutôt de savoir pourquoi tu as choisie un moteur Pas à Pas plutôt qu'un moteur CC bien plus simple a manipuler?

Cdlt
Yves

 


#3 Bogaert_olivier

Bogaert_olivier

    Nouveau membre

  • Membres
  • 6 messages

Posté 19 octobre 2011 - 09:50

Bonjour Astondb8 ,

Pour moi un moteur CC avec un codeur sur la roue est plus compliquer et moins précis que les moteur pas a pas.
Ce que je recherche ses de la précision.

Le module JSMOTOR géré automatiquement le mouvement du moteur en fonction d'un signal PWM de N impulsion qui correspond a N pas.
Je pense qu'il n'y a rien de complique dans la programmation de celle-ci.

J'ai trouver la réponse a ma question sur le net , la précision reste la même, c'est juste la programmation qui est simplifier.

Cordialement,

Olivier Bogaert

#4 Astondb8

Astondb8

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 1 111 messages
  • Gender:Male
  • Location:Paris

Posté 19 octobre 2011 - 09:57

Bien
Mais tu les pilote avec quoi tes moteurs PaP ?
Un petit lien vers tes contrôleurs et tes moteurs ?
Merci

Quand je parlais de moteurs CC, je parlais de moteurs avec codeurs.
Odométrie me semble un bon chois pour un robot roulant.
Mais j'ai hâte de voir ton projet avancer.
Mets nous une vidéo dés que tu aura suffisamment avancé.

Cdlt
Yves

 


#5 Nowoday

Nowoday

    Nouveau membre

  • Membres
  • 4 messages

Posté 19 octobre 2011 - 10:36

Bonjour,
Je rejoins la remarque de Astondb8. Si tes moteurs sont utilisés pour déplacer (faire rouler) ton robot, il me semble que les moteurs CC sont bien plus adaptés.

Pour ce qui est de la précision, tout dépendra de ton asservissement : tu peux privilégier la vitesse, la précision ou la stabilité...
Les moteurs PaP sont généralement choisis pour du pilotage en position et aussi du maintien en position. Je ne pense pas que ce soit ici ton objectif.

Mais toute idée est bonne à essayer. On attend tes premiers retours.

Bonne continuation.

#6 Bogaert_olivier

Bogaert_olivier

    Nouveau membre

  • Membres
  • 6 messages

Posté 19 octobre 2011 - 03:08

Bonjour a tous,

Un grand merci pour votre soutien dans mon projet , sa fait plaisir de voir que l'on a une belle communauté.

En premier lieu voici les lien correspondent
Au contrôleur des moteur pas a pas :
Manuel: http://www.active-robots.com/fileuploader/download/download/?d=0&file=custom%2Fupload%2FFile-1307825569.pdf
Schéma : http://www.active-robots.com/fileuploader/download/download/?d=0&file=custom%2Fupload%2FFile-1307825707.pdf

Au moteur pas-à-pas sont des Sanyo Denki H546 :
Moteur unipolaire 2 phases.
Nombre de pas: 200
Angle par pas: 1,8°
Alimentation: 3,15 V
Résistance/phase: 3,15 ohms
Courant/phase: 1 A
Inductance/phase: 2,8 mH.
Couple de maintien: 0,147 N.m.
Connexion: connecteur 6 broches.
Diamètre de l'axe: 5 mm.
Dimensions: 42 x 42 x 32 mm.
Poids: 200 g.
Fiche technique : http://www.gotronic.fr/doc/robotique/01609.pdf

Batterie : 2 accus 7,2 Vcc (450mA)

Alimentation :
Image IPB

Calcul de la distance parcourue par un pas théorique :
Les roue de mon robot font 48 mm de diamètre donc (48*1.8*3.14)/360 = 0.7540 mm théorique
On peut voir que le robot sera très précis.


Je suis content d'avoir eu une autre approche que vous sur le choix des moteur ,car parfois sa permet de découvrir de nouvelle chose que l'on ne connaissait pas.

Un grand merci pour votre soutien

Olivier

#7 Nowoday

Nowoday

    Nouveau membre

  • Membres
  • 4 messages

Posté 19 octobre 2011 - 03:27

Nombre de pas: 200
Angle par pas: 1,8°

Calcul de la distance parcourue par un pas théorique :
Les roue de mon robot font 48 mm de diamètre donc (48*1.8*3.14)/360 = 0.7540 mm théorique
On peut voir que le robot sera très précis.


Sauf que si tu multiplies par PI il faut diviser par 180 il me semble pour faire la conversion degré -> radian.

#8 Astondb8

Astondb8

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 1 111 messages
  • Gender:Male
  • Location:Paris

Posté 19 octobre 2011 - 03:28

Merci pour ces liens

Mais personnellement, je voyais plus ce genre de moteur sur la motorisation d'une CNC ou autre système qui aurait besoin de commander précisément le nombre de tours ou de portions de tour.
La ce dont tu as besoin, c'est de faire tourner des moteurs (rapidement ou pas) et de savoir exactement combien de tours ils ont effectués.
Comment compte t t'y prendre pour déplacer ton robot ? comment vas tu faire pour lui demander de se rendre à u n point précis alors que ce que tu sais lui demander est d'effectuer un ombre de tour précis ?

Tu as certainement une idée (précise également) pour y parvenir. Donc comment compte tu t'y prendre ?

Sans compter que des moteurs avec codeurs et réducteurs seraient bien moins cher et plus simple a utiliser...

Enfin, c'est mon avis.

Cdlt
Yves

 


#9 Bogaert_olivier

Bogaert_olivier

    Nouveau membre

  • Membres
  • 6 messages

Posté 19 octobre 2011 - 04:49

Bonjour,

Le moteur pas a pas me permet d'avance de la même distance a chaque fois, une case = x pas
Après suffit de faire des procédure, le robot avanceras précisément a chaque fois de la même distance et comme les case on toute la même taille.

Le robot sera confronter a 8 cas :
Image IPB

Pour chaque cas il y auras une liste de procédure de déplacement

Procedure :

B00 : Arrêt
B01 : Avancer d'une case tous droit
B02 : Avancer d'une demi case tous droit
B03 : Avancer tous droit a une distance égale a hypoténuse
B04 : Tourner sur place de 45° vers la gauche
B05 : Tourner sur place de 45° vers la droite
B06 : Tourner sur place de 90° vers la gauche
B07 : Tourner sur place de 90° vers la droite

Je pense programmé les déplacement de manière très simple grâce a ses procédure :

Par exemple le cas n°5 :
Image IPB

Chaque point au centre des carrée c'est le milieu du robot


Du point 1 au point 2 : B01
Du point 2 au point 4 : B02,B05,B03,B05,B02
Du point 4 au point 5 : B01

Voici mon idée départ, bien-sur en testant je vais la modifier car la c'est juste théorique ^^


Le plus gros défit dans ce projet c'est de comprendre algorithme qui permet de mémoriser le chemin du labyrinthe inconnu.

Bien a vous

Olivier bogaert



Répondre à ce sujet



  


1 utilisateur(s) li(sen)t ce sujet

0 members, 1 guests, 0 anonymous users