0% ont trouvé ce document utile (0 vote)
1K vues13 pages

Actions dans les mécanismes Maxpid

Ce document décrit le calcul des actions dans un mécanisme statique à l'aide de relations cinématiques et de fermetures. Il présente les étapes théoriques pour exprimer les angles en fonction des paramètres du mécanisme, ainsi qu'un exemple de résolution et de comparaison avec un modèle Solidworks.

Transféré par

dfffe
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
1K vues13 pages

Actions dans les mécanismes Maxpid

Ce document décrit le calcul des actions dans un mécanisme statique à l'aide de relations cinématiques et de fermetures. Il présente les étapes théoriques pour exprimer les angles en fonction des paramètres du mécanisme, ainsi qu'un exemple de résolution et de comparaison avec un modèle Solidworks.

Transféré par

dfffe
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Dernière mise à jour Détermination des actions Denis DEFAUCHY

27/04/2020 dans les mécanismes statiques TP1 - Maxpid

Mise en situation
𝑀
𝐿1
𝑦1
⃗⃗⃗⃗ 𝜆32
𝑦0
⃗⃗⃗⃗ 𝑦2
⃗⃗⃗⃗ 𝐿3
𝟏 𝑦3
⃗⃗⃗⃗ 𝐿42
𝑥0
⃗⃗⃗⃗

𝐴 𝑥1 𝜃10
⃗⃗⃗⃗ 𝟐
𝐵 𝑥2
⃗⃗⃗⃗ 𝟑 𝜃43
𝐶 𝑥3
⃗⃗⃗⃗
𝐷
𝐻0
𝜃21 ⃗⃗⃗⃗̂
= (𝑦 𝑦2 ) = (𝑧⃗⃗⃗̂
1 , ⃗⃗⃗⃗ 𝑧2 )
1 , ⃗⃗⃗
𝟒
⃗⃗⃗⃗̂
𝜃32 = (𝑦 𝑦3 ) = (𝑧⃗⃗⃗̂
2 , ⃗⃗⃗⃗ 𝑧3 )
2 , ⃗⃗⃗ 𝐿41
𝐿4 = 𝐿41 + 𝐿42
𝑥4
⃗⃗⃗⃗
⃗⃗⃗⃗⃗
𝐵𝐶 = 𝜆32 ⃗⃗⃗⃗
𝑥1 𝑦4
⃗⃗⃗

𝜃40

𝐹 𝐿0 𝐸

Page 1 sur 13
Dernière mise à jour Détermination des actions Denis DEFAUCHY
27/04/2020 dans les mécanismes statiques TP1 - Maxpid

Relation théorique
Fermeture cinématique : Relation de Chasles dans la base 0
⃗⃗⃗⃗⃗
𝐴𝐵 + ⃗⃗⃗⃗⃗
𝐵𝐶 + ⃗⃗⃗⃗⃗ 𝐷𝐸 + ⃗⃗⃗⃗⃗
𝐶𝐷 + ⃗⃗⃗⃗⃗ 𝐸𝐴 = ⃗0
𝐿1 ⃗⃗⃗⃗
𝑥1 + 𝜆32 ⃗⃗⃗⃗
𝑥1 + 𝐿3 ⃗⃗⃗⃗
𝑥1 − 𝐿41 ⃗⃗⃗⃗
𝑥4 − 𝐿0 ⃗⃗⃗⃗ 𝑦0 = ⃗0
𝑥0 + 𝐻0 ⃗⃗⃗⃗
(𝐿1 + 𝜆32 + 𝐿3 )𝑥
⃗⃗⃗⃗1 − 𝐿41 ⃗⃗⃗⃗
𝑥4 − 𝐿0 ⃗⃗⃗⃗
𝑥0 + 𝐻0 ⃗⃗⃗⃗ ⃗
𝑦0 = 0
(𝐿 + 𝜆32 + 𝐿3 ) cos 𝜃10 − 𝐿41 cos 𝜃40 − 𝐿0 = 0
{ 1
(𝐿1 + 𝜆32 + 𝐿3 ) sin 𝜃10 − 𝐿41 sin 𝜃40 + 𝐻0 = 0
Fermeture cinématique : Fermetures angulaires (système particulier où les rotations sont
indépendantes sur les différents axes)

⃗⃗⃗⃗̂
(𝑥 𝑥 ) + (𝑥
, ⃗⃗⃗⃗ 𝑥2 ) + (𝑥
⃗⃗⃗⃗1 , ⃗⃗⃗⃗ 𝑥3 ) + (𝑥
⃗⃗⃗⃗2 , ⃗⃗⃗⃗ ⃗⃗⃗⃗̂ 𝑥4 ) + (𝑥
3 , ⃗⃗⃗⃗ ⃗⃗⃗⃗̂ 𝑥0 ) = 0
4 , ⃗⃗⃗⃗ 𝜃 + 𝜃04 + 𝜃43 = 0
{ 0 1 ⟺ { 10
̂
(𝑧⃗⃗⃗0 , ⃗⃗⃗ ̂
𝑧1 ) + (𝑧⃗⃗⃗1 , ⃗⃗⃗ ̂
𝑧2 ) + (𝑧⃗⃗⃗2 , ⃗⃗⃗ ̂
𝑧3 ) + (𝑧⃗⃗⃗3 , ⃗⃗⃗ ̂
𝑧4 ) + (𝑧⃗⃗⃗4 , ⃗⃗⃗
𝑧0 ) = 0 𝜃21 + 𝜃32 = 0

Finalement :
𝜃10 + 𝜃04 + 𝜃43 = 0
𝜃21 + 𝜃32 = 0
{
𝜆32 cos 𝜃10 − 𝐿41 cos 𝜃40 − 𝐿0 = 0
𝜆32 sin 𝜃10 − 𝐿41 sin 𝜃40 + 𝐻0 = 0
𝜃43 = 𝜃40 − 𝜃10
Il faut donc exprimer 𝜃40 en fonction de 𝜃10 .
𝜆32 cos 𝜃10 − 𝐿41 cos 𝜃40 − 𝐿0 = 0
{
𝜆32 sin 𝜃10 − 𝐿41 sin 𝜃40 + 𝐻0 = 0
On peut au choix utiliser un arccos, arcsin, ou arctan pour exprimer 𝜃40. Compte tenu du mécanismes
𝜋 𝜋
⃗⃗⃗⃗̂
étudié, 𝜃40 étant l’angle (𝑥 𝑥4 ), cet angle évolue dans l’intervalle [− 2 , 2 ]. On choisit dont l’arcsin
0 , ⃗⃗⃗⃗

ou arctan, mais cette dernière est plus simple :


𝐿41 sin 𝜃40 − 𝐻0
tan 𝜃10 =
𝐿41 cos 𝜃40 + 𝐿0
𝐿41 sin 𝜃40 − 𝐻0
𝜃10 = tan−1 ( )
𝐿41 cos 𝜃40 + 𝐿0
𝐿41 sin 𝜃40 − 𝐻0
𝜃43 = 𝜃40 − tan−1 ( )
𝐿41 cos 𝜃40 + 𝐿0
Pour la formule avec le sinus, il est nécessaire, en plus, d’avoir exprimé 𝜆32 = 𝑓(𝜃40 )

𝑝 𝐿4 cos 𝜃40
𝐶𝑚 = 𝑛𝑚𝑔
2𝜋 𝐿41 sin (𝜃 −1 (𝐿41 sin 𝜃40 − 𝐻0 ))
40 − tan 𝐿41 cos 𝜃40 + 𝐿0

Page 2 sur 13
Dernière mise à jour Détermination des actions Denis DEFAUCHY
27/04/2020 dans les mécanismes statiques TP1 - Maxpid

# Import des librairies

from math import pi,cos,sin,atan


from matplotlib import pyplot as plt
[Link]('all')

## Théorique - Solution calculée

# Définition des constantes

L0 = 69.5 / 1000
H0 = 81 / 1000
L41 = 82 / 1000
L4 = 26 / 100
p = 4 / 1000
m = 0.65
m0 = 0 # 0.450 pour fiter Th et Exp
g = 9.81

# Fonctions

def f_T43d(T40d):
T40r = T40d * pi/180
Num = L41*sin(T40r) - H0
Den = L41*cos(T40r) + L0
Frac = Num / Den
T43r = T40r - atan(Frac)
T43d = T43r * 180/pi
return T43d

def f_Cm(T40d,n):
T40r = T40d * pi/180
F1 = p/(2*pi)
F2 = L4/L41
T43d = f_T43d(T40d)
T43r = T43d * pi/180
F3 = cos(T40r)/sin(T43r)
P = (m0+n*m)*g
Cm = F1*F2*F3*P
return Cm

# Résolution

LT40d = [i for i in range(0,91)]


LCm0th = []
LCm3th = []
LCm6th = []
for T40d in LT40d:
Cm0 = f_Cm(T40d,0)
Cm3 = f_Cm(T40d,3)
Cm6 = f_Cm(T40d,6)
[Link](Cm0)
[Link](Cm3)
[Link](Cm6)

# Affichage

def Affiche(fig,Lx,Ly,Col,Leg,Typ):
[Link](fig)
[Link](Lx,Ly,Col+Typ,label=Leg)
Page 3 sur 13
Dernière mise à jour Détermination des actions Denis DEFAUCHY
27/04/2020 dans les mécanismes statiques TP1 - Maxpid

[Link]()
[Link]()

Affiche(1,LT40d,LCm0th,'k','Th-0','-')
Affiche(1,LT40d,LCm3th,'k','Th-3','-')
Affiche(1,LT40d,LCm6th,'k','Th-6','-')

Page 4 sur 13
Dernière mise à jour Détermination des actions Denis DEFAUCHY
27/04/2020 dans les mécanismes statiques TP1 - Maxpid

Modèle Solidworks
Cas n=3

def Extraction(Nom_Fichier): # Fichiers retravaillés avant ouverture !


fichier = open(Nom_Fichier)
Liste_Lignes = [Link]()
[Link]()
Lx = []
Ly = []
for Ligne in Liste_Lignes:
Ligne = [Link]()
x,y = Ligne
x = float(x)
y = float(y)
[Link](x)
[Link](y)
return Lx,Ly

LT40r3sim,LCm3sim = Extraction("[Link]")
LT40r6sim,LCm6sim = Extraction("[Link]")

# Post-traitement (signe, radians)

LT40d3sim = [t*180/pi for t in LT40r3sim]


LT40d6sim = [t*180/pi for t in LT40r6sim]
LCm3sim = [-t for t in LCm3sim]
LCm6sim = [-t for t in LCm6sim]

# Affichage

Affiche(1,LT40d3sim,LCm3sim,'r','Sim-3','--')
Affiche(1,LT40d6sim,LCm6sim,'r','Sim-6','--')

Page 5 sur 13
Dernière mise à jour Détermination des actions Denis DEFAUCHY
27/04/2020 dans les mécanismes statiques TP1 - Maxpid

Expérimentation
LT40d0exp,LCm0exp = Extraction("[Link]")
LT40d3exp,LCm3exp = Extraction("[Link]")
LT40d6exp,LCm6exp = Extraction("[Link]")

# Post-traitement (mNm)

LCm0exp = [t/1000 for t in LCm0exp]


LCm3exp = [t/1000 for t in LCm3exp]
LCm6exp = [t/1000 for t in LCm6exp]

# Affichage

Affiche(1,LT40d0exp,LCm0exp,'g','Exp-0','o')
Affiche(1,LT40d3exp,LCm3exp,'g','Exp-3','o')
Affiche(1,LT40d6exp,LCm6exp,'g','Exp-6','o')

Page 6 sur 13
Dernière mise à jour Détermination des actions Denis DEFAUCHY
27/04/2020 dans les mécanismes statiques TP1 - Maxpid

Discussion

Comparaison :
Les 3 nuages de courbes sont similaires dans le comportement
La très légère différence entre les courbes th et sim, c’est les dimensions du modèle qui sont
légèrement différentes de celles que j’ai utilisées, prises sur les plans, ainsi que le point de l’application
de l’effort : les masses sont-elles centrées sur le point M que j’ai défini ?...
On note l’influence de la gravité dans les résultats expérimentaux. Pour obtenir les courbes
expérimentales, il suffit d’ajouter aux courbes simulée/théorique, la courbe de mesure à 0 masses, qui
correspond directement à l’effet de la masse sur le système, aux erreurs de mesure près.

Similitude gravitée via masse équivalente :


Pour voir si la prise en compte d’une masse constante est semblable (même allure de l’évolution) à
l’application de la gravité sur le mécanisme, on pourrait comparer deux simulations sans les masses :
- Avec gravité sur toutes les pièces
- Sans gravité, avec une masse m0 dont la valeur serait associée aux valeurs L4 (selon point
d’application de la force) et L41 (modèle) et à l’un des couples de la simu précédente

Page 7 sur 13
Dernière mise à jour Détermination des actions Denis DEFAUCHY
27/04/2020 dans les mécanismes statiques TP1 - Maxpid

Masse 𝒎𝟎 :

# Masse m0

Cm = 17.6/1000
T40d = 4.3
T40r = T40d * pi/180
F1 = p/(2*pi)
F2 = L4/L41
T43d = f_T43d(T40d)
T43r = T43d * pi/180
F3 = cos(T40r)/sin(T43r)
m0 = Cm/(F1*F2*F3*g)
print('m0: ',m0)
'''' Modifier m0 dans les données pour faire fiter exp et th '''

Soit on fait à tâtons sur la courbe, soit par le calcul. En utilisant un unique point dans mon cas (on peut
faire mieux…):
𝑝 𝐿4 cos 𝜃40
𝐶𝑚 = 𝑚 𝑔
2𝜋 𝐿41 sin 𝜃43 0
𝐶𝑚
𝑚0 = = ⋯ = 450𝑔
𝑝 𝐿4 cos 𝜃40
2𝜋 𝐿41 sin 𝜃43 𝑔
Alors, dans nos calculs, on écrirait :
𝑃 = (𝑚0 + 𝑛 ∗ 𝑚) ∗ 𝑔
Ce qui donne :

Rq : quid de ma mise en
évidence des frottements
secs… j’ai retouché les
mesures, en mettant couple
nul à la verticale, donc on ne
pourra rien en dire.

Page 8 sur 13
Dernière mise à jour Détermination des actions Denis DEFAUCHY
27/04/2020 dans les mécanismes statiques TP1 - Maxpid

Amélioration du modèle SW

Prise en compte de la gravité par simulation


## Gravité

LT40d3simgr,LCm3simgr = Extraction("[Link]")
LT40d3simgr = [t*180/pi for t in LT40d3simgr]
LCm3simgr = [-t for t in LCm3simgr]

Affiche(2,LT40d3exp,LCm3exp,'g','Exp-3','o')
Affiche(2,LT40d3simgr,LCm3simgr,'r','Sim-3-gr','-')

Je ne maîtrise pas les masses des pièces du modèle fourni, ni la position exacte des masses par rapport
à ce que j’ai expérimenté…
Mais comparons, je supprime une des masses pour en avoir 3 dans le modèle SW.

C’est pas mal… Plus réaliste pris en compte comme ça en tout cas, mais il faudrait peser les pièces et
vérifier la géométrie du modèle, ce que je n’ai pas fait… J’ai récupéré un modèle déjà fait.

Page 9 sur 13
Dernière mise à jour Détermination des actions Denis DEFAUCHY
27/04/2020 dans les mécanismes statiques TP1 - Maxpid

Prise en compte des frottements secs par simulation


LT40d3simgrcfsm,LCm3simgrcfsm = Extraction("[Link]")
LT40d3simgrcfsm = [t*180/pi for t in LT40d3simgrcfsm]
LCm3simgrcfsm = [-t for t in LCm3simgrcfsm]

Affiche(3,LT40d3simgr,LCm3simgr,'r','Sim-3-gr','-')
Affiche(3,LT40d3simgrcfsm,LCm3simgrcfsm,'g','Sim-3-gr-cfsm','-')

Sans surprise, le couple moteur augmente d’une valeur constante de 𝐶𝑓𝑠 ≈ 0,00345 𝑁𝑚, 1/6 de l’écart
en ordonnée entre deux traits.
LT40d3simgrcfsd,LCm3simgrcfsd = Extraction("[Link]")
LT40d3simgrcfsd = [t*180/pi for t in LT40d3simgrcfsd]
LT40d3simgrcfsd = [t+90 for t in LT40d3simgrcfsd]
LCm3simgrcfsd = [-t for t in LCm3simgrcfsd]

Affiche(4,LT40d3simgr,LCm3simgr,'r','Sim-3-gr','-')
Affiche(4,LT40d3simgrcfsm,LCm3simgrcfsm,'g','Sim-3-gr-cfsm','-')
Affiche(4,LT40d3simgrcfsd,LCm3simgrcfsd,'g','Sim-3-gr-cfsd','-')

Page 10 sur 13
Dernière mise à jour Détermination des actions Denis DEFAUCHY
27/04/2020 dans les mécanismes statiques TP1 - Maxpid

Il y a quand même une influence, qui en proportion est très importante quand le bras est en position
verticale…
On ne sait pas où on sera dans l’intervalle, cela dépend du sens dans lequel le bras allait avant de
s’arrêter.
Mise en évidence : le robot étant asservi, observer l’intensité quand on force sur le système, en
position verticale évidemment, c’est là où c’est le plus visible

Cfs = 0.00345
Pourcents = [(2*Cfs)/Cm*100 for Cm in LCm3simgr]
Affiche(5,LT40d3simgr,Pourcents,'k','Influence Cfs %','-')

Ça commence quand même à 6% !


Bien prendre 2Cfs/Cm sans frottements

Page 11 sur 13
Dernière mise à jour Détermination des actions Denis DEFAUCHY
27/04/2020 dans les mécanismes statiques TP1 - Maxpid

Affiche(6,LT40d3exp,LCm3exp,'g','Exp-3','o')
Affiche(6,LT40d3simgrcfsm,LCm3simgrcfsm,'g','Sim-3-gr-cfsm','-')

La simulée est supérieure à l’expérimentée, mais… C’est normal, j’ai annulé les frottements secs par
recalage sur les mesures… Et ajd ne je peux pas faire mieux, il faudrait que j’ai accès au robot, mais
confinement oblige…

De même, quid des dimensions et masses comme vu avant…

Page 12 sur 13
Dernière mise à jour Détermination des actions Denis DEFAUCHY
27/04/2020 dans les mécanismes statiques TP1 - Maxpid

Pour aller plus loin : Simulation dynamique

LT40d3simgrcfsmdyn,LCm3simgrcfsmdyn = Extraction("[Link]")
LT40d3simgrcfsmdyn = [t*180/pi for t in LT40d3simgrcfsmdyn]
LCm3simgrcfsmdyn = [-t for t in LCm3simgrcfsmdyn]

Affiche(7,LT40d3simgrcfsm,LCm3simgrcfsm,'b','Sim-3-gr-cfsm-stat','-')
Affiche(7,LT40d3simgrcfsmdyn,LCm3simgrcfsmdyn,'r','Sim-3-gr-cfsm-dyn','-
')

A cette vitesse, différence très faible et plutôt constante


En effet, sur la plage d’étude, l’énergie cinétique des différentes pièces reste relativement constante…

Page 13 sur 13

Vous aimerez peut-être aussi