
[question] Sur la commande de 2 moteur pas a pas
#1
Posté 19 octobre 2011 - 08:46
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
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
Posté 19 octobre 2011 - 09:50
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
Posté 19 octobre 2011 - 09:57
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
Posté 19 octobre 2011 - 10:36
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
Posté 19 octobre 2011 - 03:08
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 :

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
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
Posté 19 octobre 2011 - 03:28
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
Posté 19 octobre 2011 - 04:49
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 :

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 :

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