Calcul de l'accélération à appliquer à un moteur
#1
Posté 02 décembre 2017 - 10:54
Pour le bras robot que je suis en train de faire, j'ai pour l'instant réussi à faire des mouvements qui se finissent plus ou moins en même temps mais il y a une variable qui fait que le résultat n'est pas parfait : l'accélération.
J'utilise une librairie sur Arduino (AccelStepper) qui me permet d'appliquer des accélérations à mes moteurs afin d'avoir des mouvements fluides sur le robot.
Pour avoir des mouvements qui terminent en même temps, je calcul le delta des positions de chacun des axes, ensuite je calcul le temps que mettra chaque axe à faire le mouvement. A partir de là, je modifie la vitesse des moteurs.
D'après mes essais, c'est les accélérations (que j'ai fixées de manière arbitraire) qui font que les mouvements ne finissent pas exactement en même temps.
Donc je cherche une relation ou une sorte de proportion que je pourrais appliquer à mes accélérations par rapport à tous ça.
Merci de votre aide 😀
#2
Posté 02 décembre 2017 - 06:31
Il faut calculer l'accélération de chaque moteur pour que la phase d'accélération dure le même temps pour chaque moteur.
De manière arbitraire et très simple tu mets l'accélération à la valeur de la vitesse comme ça à 1s tous tes moteurs auront fini leur phases d'accélération...
Si mon commentaire vous a plus laissez nous un avis !
Nouveau sur Robot Maker ?
Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope aux articles, à la boutique et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être !
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!
#7
Posté 03 décembre 2017 - 01:02
tout d'abord je tiens à préciser que je me suis peut être trompé en donnant rapidement ma réponse ( j'ai fais aucun calcul et j'aurais sans doute du car la réponse n'est peut être pas aussi simple que ça ) mais le problème et que chacun des mouvement doit finir en même temps.
Si on néglige la phase d'accélération, les calculs de donovan sont déjà très bien fait; pour chaque angle à parcourir il calcules la vitesse donnée pour que les moteurs parcourent tous la la distance souhaité en un même temps.
Le résultat est déjà pas mal mais visiblement la remarque de donovan est qu'il ne peut pas négligé la phase d'accélération.
Du coup il faut calculer une accélération donnée pour que la somme des 3 temps :
t1n de phase d'accélération , t2n de vitesse constante et t3n de décélération de chacun des n moteurs soit identique.
Du coup il faut trouver une solution pour avoir cette égalité.
Le problème se pose donc ainsi
En entrée du problème on a les 5 distances à parcourir de chacun des 5 moteurs
Il nous faut savoir les accélérations de chaque moteurs et leurs vitesse max.
Ce qui fait 10 inconnues. voir 11 si on compte aussi le temps t = t1n + t2n + t3n
Afin de simplifier le problème j'essaye de proposer de faire en sorte d'avoir tous les t1n identique , tous les t2n identique et tous les t3n identique... Afin de simplifier les calculs.
Arbitrairement je fixe t1n et t3n à une seconde. Ce qui me donne une accélération de valeurs numérique égale à la "vitesse" .
Par contre j'ai pas fais le calcul pour vérifier qu'avec les distances parcouru les temps t2n sont bien identique , mais j'ai estimé que normalement si, car il me semble que si on enlève la distance parcourue lors de la phase d'accélération et de décélération il doit rester 9/10 du chemin à parcourir pour chacun des bras ... Et donc en gardant la formule utilisé précédament pour les vitesse ça devrait marcher ... ( sauf si je me suis trompé dans mes " estimations " sans calculs )
Je dirais même que t = t1 + t2 + t3 = 1s + 9/10 * previous t + 1s , previous t étant le temps calculé par donovan avec sa formule négligeant la phase d'accélération.
Si mon commentaire vous a plus laissez nous un avis !
Nouveau sur Robot Maker ?
Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope aux articles, à la boutique et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être !
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!
#11
Posté 03 décembre 2017 - 06:13
Cool ! =)
Si mon commentaire vous a plus laissez nous un avis !
Nouveau sur Robot Maker ?
Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope aux articles, à la boutique et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être !
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!
Répondre à ce sujet
1 utilisateur(s) li(sen)t ce sujet
0 members, 1 guests, 0 anonymous users