Aller au contenu


Photo
- - - - -

Calcul de l'accélération à appliquer à un moteur


11 réponses à ce sujet

#1 Donovandu88

Donovandu88

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 680 messages
  • Gender:Male

Posté 02 décembre 2017 - 10:54

Salut ! J'espère poster au bon endroit.

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 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 965 messages
  • Gender:Male
  • Location:Anglet

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  !  :thank_you:

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!

 

Les réalisations de Mike118  

 

 

 


#3 Donovandu88

Donovandu88

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 680 messages
  • Gender:Male

Posté 03 décembre 2017 - 09:20

A oui bien vu. J'essayerai ça tout à l'heure 😀

#4 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 03 décembre 2017 - 11:54

J'ai pas compris :)



#5 Donovandu88

Donovandu88

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 680 messages
  • Gender:Male

Posté 03 décembre 2017 - 11:56

Mike ou moi que tu n'as pas compris ?

#6 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 03 décembre 2017 - 12:03

Pardon, c'est la solution que Mike propose que j'ai pas compris. Je veux bien admettre que je suis neuneu mais au passage je préfère comprendre. :)



#7 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 965 messages
  • Gender:Male
  • Location:Anglet

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  !  :thank_you:

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!

 

Les réalisations de Mike118  

 

 

 


#8 Donovandu88

Donovandu88

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 680 messages
  • Gender:Male

Posté 03 décembre 2017 - 01:23

Merci pour ton complément de réponse Mike. J'essaye ça tout à l'heure et je vous tiens au courant ici.

#9 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 03 décembre 2017 - 01:35

Je comprends mieux. Merci.

Cette manière de décomposer le problème, doit devenir un réflexe ;)



#10 Donovandu88

Donovandu88

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 680 messages
  • Gender:Male

Posté 03 décembre 2017 - 06:04

J'ai essayé en mettant les accélérations à la même valeurs que les vitesses et le problème est résolu. Tous mes mouvements finissent bien en même temps.

C'était donc aussi simple que ça.



#11 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 965 messages
  • Gender:Male
  • Location:Anglet

Posté 03 décembre 2017 - 06:13

Cool ! =)


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

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!

 

Les réalisations de Mike118  

 

 

 


#12 Donovandu88

Donovandu88

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 680 messages
  • Gender:Male

Posté 03 décembre 2017 - 06:37

Oui  :yahoo:

Donc :

Vitesses des moteurs en fonction de celui qui a le plus de distance à faire

Réglage des accélérations à la même valeurs que les vitesses.





Répondre à ce sujet



  


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

0 members, 0 guests, 0 anonymous users