Calcul Vitesse

Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
4lelec
Membre Naturel
Messages: 12
Enregistré le: 05 Oct 2015, 06:22

Calcul Vitesse

par 4lelec » 05 Oct 2015, 07:54

Bonjour a tous;
je fait ce petit poste car je n'arrive pas trouver.
Voici le problème, je cherche une vitesse sachant que :
-je veut aller d'un point h a j soit une distance D connue, en un temps T connu ceci avec une accélération A et une décélération -A
Au début la vitesse est de 0 en h et la vitesse en j a la fin et de 0.Quelle vitesse me faut-il entre la fin de l’accélération et le début de la décélération (celle-ci est constante).

Je vois bien que la V=A*t (t= temps de l’accélération)
D/T=2*(At/2)+V(T-2*t) (Vmoy acc = Vmoy dcc donc 2*At/2 et V(T-2*t) ma vitesse *le Temps moins le temps acc+temps dcc).
Quelqu'un peut-il me donne quelque orientation afin de resoudre ce probleme ?
merci par avance.



Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 07:03

par ampholyte » 05 Oct 2015, 11:21

Bonjour,

Décompose en 2 parties distinctes ton problème.

On pose tm le temps où la vitesse est maximale.

I) Etude de l'accélération :

Cette partie se trouve sur l'intervalle [0; t]

Tu sais que l'accélération est A, donc :


Tu sais aussi que l'accélération est la dérivée de la vitesse donc :


De la même manière tu sais que la vitesse est la dérivée de la distance donc :




II) Etude de la decélération :

Cette partie se trouve sur l'intervalle [t; T]

On sait que :


Donc :



La distance est donc :



Or tu sais que :


Est-ce que tu t'en sors un peu mieux avec ça ?

4lelec
Membre Naturel
Messages: 12
Enregistré le: 05 Oct 2015, 06:22

par 4lelec » 05 Oct 2015, 13:46

merci pour ta réponse.
Je comprend ce que tu écris mais il manque une 3° phase ou la vitesse est constante:
3 phases :
1 : accélération suivant A
2 : vitesse constante
3 : décélération suivant -A
dans ce que tu écris V1=A*(T/2) D1=D/2

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 07:03

par ampholyte » 05 Oct 2015, 14:42

je veut aller d'un point h a j soit une distance D connue, en un temps T connu ceci avec une accélération A et une décélération -A


Es-tu sûr qu'il y a une phase constante ?

D'après l'énoncé je comprends que l'on a une première phase d'accélération puis une décélération.

Si tu as une phase constante, il faut procéder de la même manière en rajoutant la phase constante.

Il faut donc remplacer tm par t1 (moment de la phase constante) et t2 (moment de la decélération).

4lelec
Membre Naturel
Messages: 12
Enregistré le: 05 Oct 2015, 06:22

par 4lelec » 05 Oct 2015, 15:33

oui je suis sur qu'il y a une phase a vitesse constante et merci pour ton aide
mais je voie par trop comment en déduire une formule car le tout doit mis dans une carte Arduino.

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 07:03

par ampholyte » 06 Oct 2015, 08:53

D'accord, je suppose que le projet a pour but de faire avancer un robot ? Tu as besoin de la vitesse que tu souhaites atteindre.

Si on pose Da la distance parcourue au cours de l'accélération et Dc la distance parcourue au cours de la phase à vitesse constante, alors tu as :

D = Da + Dc + Da = 2Da + Dc

En effet, l'accélération et la décélaration étant opposée, la même distance est parcourue dans ces deux phases.

De la même manière si on pose Ta la durée de l'accélération et Tc la durée de la phase constante alors :

T = 2Ta + Tc (même raisonnement que ci-dessus).

Mantenant posons le paramètre Vc, une constante correspondant à la vitesse de la phase sans accélération alors on peut calculer Ta :




Donc on en déduit Td :



A partir de là, tu peux jouer avec le paramètre Vc pour voir les modifications.

Au niveau du code tu peux décomposer en 3 portions :

Code: Tout sélectionner
// Initialisation des constantes
double begin = time(); // on va se baser sur le temps qui s'écoule
double T = ... ; 
double D = ... ;
double A = ...;
double Vc = ...;
double Ta = Vc / A;
double Tc = T - 2Ta;

// Phase 1 : accélération

while ((time() - begin) < Ta) {
      // code d'accélération
}

// Phase 2 : phase constante

while ((time() - begin) < (Ta + Tc)) {
     // code constant
}

// Phase 3 : phase
while ((time() - begin) < T) {
     // code deceleration
}


Après tu peux le faire dans une seule boucle si tu préfères avec des if :

Code: Tout sélectionner
double current = time() - begin;
while (current < T) {
      if (current < Ta) {
           // code acceleration
      } else if (current < (Ta + Tc)) {
           // code phase constante
      } else {
          // code phase deceleration
      }

      current = time() - begin;
}


Donc le paramètre que tu dois poser est Vc.

4lelec
Membre Naturel
Messages: 12
Enregistré le: 05 Oct 2015, 06:22

par 4lelec » 06 Oct 2015, 10:05

Merci pour ta réponse, et le bout de code.

A vrais dire j’avais déjà fait cela.
Je voulais poser comme condition le Temps total pour le déplacement, et en déduire la Vc.
Et c'est la où je bug, j'arrive à le faire de façon empirique, mais ne trouve pas de formule qui en déduit le Vc sachant juste le temps total , l’accélération et la distance.

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 07:03

par ampholyte » 06 Oct 2015, 11:14

C'est normal car pour le même temps tu peux avoir plusieurs Vc possible, cela impactera au niveau des durées d'accélérations.

Par exemple voici 2 courbes qui ont le même T et le même A mais pas le même Vc.

Image

La seule chose qui change entre les 2 courbes est le temps d'accélération / décélération et le temps de la phase à vitesse constante.

Plus Vc va être grand plus la phase constante va être courte et plus l'accélération / décélération va être longue.

Au contraire, plus Vc va être petit, plus la phase constante va être longue et la phase accélération / décélération courte.


C'est donc à toi de jouer avec la vitesse que tu veux attendre pour voir qu'est-ce que tu préfères pour ton module.

4lelec
Membre Naturel
Messages: 12
Enregistré le: 05 Oct 2015, 06:22

par 4lelec » 06 Oct 2015, 12:11

OK, et la distance parcouru est la même dans les 2 cas ?

Prenons le cas 1 avec avec la vitesse V et le cas 2 avec 2V
A est le même pour les 2 cas ainsi que le T.

D1=2*da1+ V(T-2ta1)

da1=V²/(2A)

ta1=V/A

D1=2*V²/(2*A)+V(T-2*V/A)= V²/A+VT-2V²/A

D1=VT+(V²-2V²)/A=VT-V²/A

D2=2*da2+V(T-2ta2)

da2=Vc2²/2A=(2V)²/2a=4V²/2A=2V²/A

ta2=2*V/A

D2=2*2V²/A+V(T-4V/A)=VT+4V²/A-4V²/A

D2=4V²/A+VT-4V²/A=VT


D2=VT alors que D1=VT-V²/A

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 07:03

par ampholyte » 06 Oct 2015, 13:42

Non en effet j'ai carrément oublié de prendre en compte D constant.

Je vais y réfléchir ce soir et je reviens vers toi, ce sera plus simple comme ça ^^.

4lelec
Membre Naturel
Messages: 12
Enregistré le: 05 Oct 2015, 06:22

par 4lelec » 06 Oct 2015, 13:53

ampholyte a écrit:Non en effet j'ai carrément oublié de prendre en compte D constant.

Je vais y réfléchir ce soir et je reviens vers toi, ce sera plus simple comme ça ^^.



Merci tu temps que tu prend pour ceci ...
j'aie pas encore trouver la solution ,je crois avoir trouvais le ta en fonction de D,T et A
mais le résultât ne donne pas grand chose de cohérent (équation du type ax²+bx+c=0)
:mur:

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 07:03

par ampholyte » 06 Oct 2015, 14:08

C'est ce que j'ai obtenu également par la suite. Quelque chose du genre :

At² - TAt + D = 0

Mais cela me semble également curieux.

As-tu des valeurs de A T et D pour que je puisse regarder plus tard ?

4lelec
Membre Naturel
Messages: 12
Enregistré le: 05 Oct 2015, 06:22

par 4lelec » 06 Oct 2015, 14:28

ampholyte a écrit:C'est ce que j'ai obtenu également par la suite. Quelque chose du genre :

At² - TAt + D = 0

Mais cela me semble également curieux.

As-tu des valeurs de A T et D pour que je puisse regarder plus tard ?

moi j'ai obtenu:
t²(1-2A²) + ATt - D=0
pour exemple D=10000; A=50000;T=1;
mais valeur sont D en Pas;A en Pas/S²; et T en S
et oui c'est pour un moteur pas a pas plus facile de gérer des pas que des mètres ou centimètre

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 07:03

par ampholyte » 06 Oct 2015, 14:49

4lelec a écrit:moi j'ai obtenu:
t²(1-2A²) + ATt - D=0



Je regarderais pour cette partie ce soir.

pour exemple D=10000; A=50000;T=1;
mais valeur sont D en Pas;A en Pas/S²; et T en S
et oui c'est pour un moteur pas a pas plus facile de gérer des pas que des mètres ou centimètre


Oui c'est sur que pour un moteur pas à pas c'est plus simple de compter en nombre de pas. Merci pour les valeurs.

4lelec
Membre Naturel
Messages: 12
Enregistré le: 05 Oct 2015, 06:22

par 4lelec » 07 Oct 2015, 07:59

J'obtiens bien At² - ATt + D = 0

après résolutions t = 2500.22.361 ou t = 2499.77693
CA fait beaucoup pour un temps d'accélération?

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 07:03

par ampholyte » 07 Oct 2015, 08:26

Bon après avoir repris plusieurs fois le calcul je tombe bien sur le résultat que je t'ai donné avant :

At² - TAt + D = 0

Ce que tu obtiens également.

Par contre je ne suis pas d'accord avec toi pour les racines que tu obtiens. D'ailleurs comme T = 1, tous les temps que tu trouveras au dessus de 1 ne peuvent pas être pris en compte.

Donc si on reprend au calcul des racines, l'équation est donc :

50000t² - 50000 * 1 t + 10000 = 0

Ce qui revient à :
5t² - 5t + 1 = 0

On trouve :



Par contre les hypothèses me paraissent un peu bizarre. Es-tu sûr que A = 50000 et D = 10000 ?

Car cela signifie qu'à partir d'une seconde le moteur a une vitesse de : 50 000 pas / s

Avec une distance D = 10 000 pas, le temps d'accélération doit être inférieur à 0.05s (sinon on a déjà dépassé les 10 000pas ^^).

Est-ce que tu pourrais m'en dire un peu plus sur le but du projet car cela m'aiderait peut-être d'avoir le contexte (c'est peut-être plus expérimental que théorique).

4lelec
Membre Naturel
Messages: 12
Enregistré le: 05 Oct 2015, 06:22

par 4lelec » 07 Oct 2015, 08:48

le projet est un chariot qui se déplace j'avoue que l’accélération n'est pas encore défini (pas assez expérimenter pour cela) car le charriot porte une camera (il faut que se soit !! fluide !!)
L'utilisateur choisi deux point puis un temps (réglage a 0.1 seconde) et le charriot doit faire se mouvement aller dans le temps impartie puis retour.
L’accélération est a 5000 et non 50000 dans mes calcul dsl erreurs de frappe mais c'est totalement arbitraire!
La partie gestion du moteur pas a pas et sur une carte externe (TRINAMIC )ou je lui donne le point final et la vitesse; elle s’occupe de l’accélération et la décélération.Elle ne connait que des pas/s ou pas/s² ou pas pour les positions.

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 07:03

par ampholyte » 07 Oct 2015, 09:05

Donc si je comprends bien, dans ce projet on distingue 2 parties :

* une partie IHM avec 3 paramètres, distance D (la différence entre les 2 points) et temps T.

* La partie embarquée avec 2 paramètres, la distance et la vitesse (je suppose que c'est la vitesse max souhaitée que tu envoies).

J'imagine que l'accélération A est un paramètre que tu définis en interne ou est-ce la carte externe qui gère automatiquement la partie accélération / décélération ?

4lelec
Membre Naturel
Messages: 12
Enregistré le: 05 Oct 2015, 06:22

par 4lelec » 07 Oct 2015, 10:00

Oui l'accélération est géré par la carte externe et il faut lui envoyer la vitesse du déplacement souhaiter.
Le A est régler par l'IHM puis transférer a la carte externe de façon transparent ainsi je mémorise la A

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 07:03

par ampholyte » 07 Oct 2015, 10:17

Ha d'accord donc même l'accélération est réglable depuis l'IHM.

 

Retourner vers ✎✎ Lycée

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 93 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite