Résistance moteur Pas à Pas

  • Auteur de la discussion Mélissandre
  • Date de début
M

Mélissandre

Nouveau
Bonjour,

J'avais, l'année dernière bénéficié de vos conseils pour un portique qui finalement n'a jamais vu le jour car trop complexe pour mes connaissances. Tous les morceaux de portique que j'ai fabriquée renvoyaient vers de nouvelles difficultés. Je remercie tout de même encore une fois tous ceux qui m'avaient prévenu de la difficile faisabilité de mon idée.
Il n'empêche que toutes mes recherches et mes essais, m'ont donné le goût de la robotique et je reviens vers vous pour une question plus théorique que pratique. Je souhaite faire simple cette fois (lol).
J'ai le moteur pas à pas suivant:

Nombre de pas: 200
Angle par pas: 1,8°
Alimentation: 2,8 V
Résistance/phase: 1,4 ohms
Courant/phase: 2 A
Inductance/phase: 3 mH
Couple de maintien: 5,9 kg.cm
Connexion: 4 fils
Dimensions de l'axe: Ø5 x 18 mm
Dimensions: 42 x 42 x 49 mm
Poids: 400 g

Le driver est un TB 6600 commandé par arduino.

Donc (schéma simple) le moteur et son pignon de sortie, une courroie crantée reliant ce pignon à une couronne qui met en mouvement un bras de 0 à 180 degrés (aller-retour, aller-retour etc...). J'ajoute du poids au bout de mon axe à chaque essai de démultiplication. Je ne tiens pas compte de la vitesse, je ne retiens que le couple pour pouvoir soulever le maximum de poids en bout de bras.
J'ai fais des essais en changeant de couronne et j'ai de la peine à trouver les meilleurs réglages pour optimiser ce petit montage.

Sachant que la démultiplication est proportionnelle au couple, je me doute que cela ne va pas à l'infini (mais je n'ai pas 50 couronnes pour tester) et je souhaite savoir quel maximum de démultiplication il est raisonnable de faire avec ce moteur.
Je souhaite savoir également quel est le meilleur choix de réglage du driver concernant le pas, le 1/2 pas, le 1/8 de pas etc.. Quelles conséquences ce réglage du driver a t'il sur le montage ?

Je vous remercie par avance.

Mélissandre
 
A

Alex31

Compagnon
Bonsoir

je ne comprend pas trop ce que tu recherche


en théorie, tu peux avoir une démultiplication infinie = tu aura un pignon sur l'arbre moteur, et une roue de taille infinie et donc tu engrennera sur une portion de crémaillère droite, avec un couple infinie, et une vitesse de rotation nulle, et un temps pour faire 180° infini

pour engrener correctement, le petit pignon doit avoir un nombre suffisant de dents: 15 (voire 25) dents c'est mieux

mais ce n'est pas ce que tu recherche
donc reformule ta question, ou fais un dessin
 
P

psemel

Ouvrier
Bonsoir,
la capacité maximum de pas est donnée par la variable utilisé sur l'arduino, sinon le moteur tournera à l'envers!!.
regarde la documentation sur les variables par exemple : int:le nombre varie de -2,147,483,648 à 2,147,483,647
 
M

MARECHE

Compagnon
Bonjour,
Il faut être raisonnable et ne pas trop dépasser 10 comme démultiplication. Mais rien ne t'empêche d'utiliser plusieurs étages de démultiplication. Et rester dans le mode pas entier, tu auras un couple un peu meilleur.
Salutations
 
L

louloute30

Compagnon
Perso, je dirai que tu pars de la fin du pb:
Si tu nous donnais la longueur souhaitée de ton bras, la masse en bout de ton bras, on en déduirait le couple nécessaire, donc la démultiplication nécessaire... et la vitesse, ma foi, en découlerait vu que ça n'est pas une contrainte.
Sinon, j'utilise les TB6600 en 1/8ème de pas, avec une limite basse de 900 microsecondes entre impulsions.
 
M

Mélissandre

Nouveau
Bonsoir et merci pour vos réponses.

Cette question étant purement théorique, je vais effectivement faire un dessin de mon projet pour avoir vos conseils.

Merci Alex pour cette réponse qui répond effectivement à ma question dans la limite maxi. Car je me posais bien la question de la démultiplication à l'infini, cherchant une limite.

"la capacité maximum de pas est donnée par la variable utilisé sur l'arduino, sinon le moteur tournera à l'envers!!.
regarde la documentation sur les variables"

Je vais me renseigner sur les variables car pour moi, cette phrase ressemble à du chinois LOL...

"Il faut être raisonnable et ne pas trop dépasser 10 comme démultiplication"

Merci du conseil

"Sinon, j'utilise les TB6600 en 1/8ème de pas, avec une limite basse de 900 microsecondes entre impulsions"

Peux tu me dire pourquoi le 1/8 de pas et éclairer ma lanterne sur où paramétrer cette limite basse de 900 microsecondes ?

Merci pour votre aide.

Mélissandre
 
L

louloute30

Compagnon
Pourquoi Le 1/8ème de pas:
D'abord, en réglage "pas entier" et "1/2 pas", chaque impulsion génère une rotation de 1.8° (ou .9°), ce qui est souvent trop important dans mes projets. La rotation engendrée est également trop saccadée, trop marquée, et dans mon cas, je perds en adhérence (entre une roue de robot et un sol).
Le 1/4 de pas commence à être un bon compromis dans mon cas, et le 1/8 ème de pas me permet une accélération douce et surtout sans accoue.
Ajouté qu'en pas entier ou demi pas, c'est souvent très bruyant (encore une fois cela dépend du projet)

Mais, plus tu parts vers le 1/4, le 1/8 ou le 16/ème de pas, et plus tu perds en couple de maintien, ou en vitesse max de rotation. En même temps, si tu parts en pas entier, et que ta charge à porter est trop lourde, il se peut que tu aies des sauts de pas...

Si on nous offre la possibilité de choisir ce paramètre, c'est avant tout pour qu'on puisse trouver le réglage le plus adapté à son projet.

Une limite basse de 900µsec:
Hum, là, c'est juste de la prog...
Puisque tu as précisé que tu utiliserais arduino, dans ce cas, c'est dans ta boucle qui génère les impulsions qu'il faut l'inscrire:
Voici un code tout simple pour mieux distinguer. à noter que ce code n'inclut pas le sens de rotation...

 
T

tronix

Compagnon
Bonjour,

si la programmation en utilisant delayMicroseconds() fonctionne, c'est une très mauvaise solution car le processeur est bloqué à ne rien faire. Donc, ça fonctionne tant que le processeur est peu utilisé, mais on est très vite limité, on ne gère bien en fait qu'un seul signal.
 
V

vres

Compagnon
Je pense que c'est juste un programme de test, ce qui m'interpelle, c'est qu'il ny a pas de tempo entre le signal haut et les signal bas, l'impulsion doit être très courte même si
digitalWrite n'est pas très rapide.
 
L

louloute30

Compagnon
Alors oui, c'est un prog de test, d'autant qu'il n'y a pas de code sur l'accélération et la desceleration (le plus frappant sans doute), mais lorsque Melissandre a demandé comment paramétrer les 900µsec, j'ai pensé qu'il valait mieux un prog facile pour commenter (utilisant de ce fait microsecondes plutôt qu'une boucle ouverte).

Cependant sur les cartes de CNC à 3 axes (dont l'auteur de cet article ne mâche pas ses mots) il faut une tempo entre les impuls, autant avec les TB6600, le temps nécessaire à digitalWrite suffit.
C'est pourquoi, même pour une imprimante 3D ou tout type de projet à base de moteur pas à pas, mieux vaut remplacer les cartes à 3 axes classique par des drivers comme un TB6600, DM860, HBS86H... Essayez, et vous serez convaincu, tant sur la tempo, mais aussi et surtout sur la qualité et la puissance envoyé au moteur.
 
Dernière édition:

Sujets similaires

N
Réponses
15
Affichages
837
Doctor_itchy
D
C
Réponses
36
Affichages
5 353
CLRAO
C
K
Réponses
19
Affichages
748
rabotnuc
R
Haut