Bonjour
je suis entrain de fabriquer une machine à usinage numérique, elle comporte 3 axes X,Y et Z. chacun est controllé par un moteur pas à pas.
au niveau du programme de microprocesseur de commande, je suis entrain d'implémenter le traducteur GCODE. bref, en recevant la commande depuis m'ordinateur, le processeur doit traduire le code en movement des moteurs X,Y et Z. essentiellement je travail sur la commande G01. la forme de cette commande est comme suit :
G01 : movement linéaireG01XnnnYnnnZnnnFnnn
Xnnn : cordonnée X à l'arrivé (mm)
Ynnn : cordonnée Y à l'arrivé (mm)
Znnn : cordonnée Z à l'arrivé (mm)
Fnnn : vitesse en cm/ minute
si en envoi par exemple
G01X100Y000Z000F001
le moteur de l'axe X tourne a vitesse de 1 cm / minute, moteur Y et Z sont en etat d'arret
G01X000Y100Z000F001
le moteur de l'axe Y tourne a vitesse de 1 cm / minute, moteur X et Z sont en etat d'arret
G01X100Y100Z000F001
le moteur de l'axe X et Y tournent a vitesse de 1 cm / minute. ici on forme une ligne droite diagonale et la vitesse de movement resultante est de 1 cm/ minute
mon probleme lorsque X et Y sont quelconque. je cherche à trouver les equations de vitesse pour X et Y afin de donner une vitesse resultante demande et un deplacement X et Y resultant comme demandé.
donc j'ai commencé à crée de equation pour les deux axes qui depend du temps :
X(t)= a.t
Y(t)= b.t
a et b sont les vitesse de translations de chaque moteurs.
à la fin de course on a :
X(t1) = a.t1 = X1
Y(t1) = b.t1 = Y1
X(t1) / Y(t1) = a/b = X1/Y1 (1)
on a aussi l'equation du movement en vectoriel :
F(t) = X(t) + Y(t)
= a.t.i + b.t.j
= (a.i+b.j).t
vitesse c'est la dérivé
V= a.i+b.j
donc norm :
|V| = sqrt(a²+b²) (2)
donc de (1) et (2) on a V,X1 et Y1 sont connus
je peux trouver a et b
est ce que moin raisonnement est correcte?
Merci
-----