Le camion est stable

Le camion bascule !

 \vec{ P_caisse } 

\vec{ P_Grue } 

 \vec{ P_Camion } 

Basculement d'un camion-grue

Auteur : Michaël LADRIERE

On néglige :
    La masse du crochet de la grue
    La masse de la cabine du conducteur
    La masse des roues
    On suppose que la répartition des
         masses est homogène

Base de sustentation

Affichages :
    Axe de rotation : 
    Projection :
    Base de sustentation :
    Centres de gravité :
    Poids : 
    Bilan des moments :

crochet = 1 (slider from 0 to 10, step 0.1)
largeur = 0.5 (slider from 0.2 to 1, step 0.1)
longueur = 5 (slider from 2 to 10, step 1)
B = Point(xAxis)
b = OrthogonalLine(B, xAxis)
A = Point(xAxis)
a = OrthogonalLine(A, xAxis)
R = Point(a)
i1 = OrthogonalLine(R, a)
C = Point(a)
c = OrthogonalLine(C, a)
D = Intersect(c, b)
f = Segment(C, D)
Q = Point(f)
j1 = OrthogonalLine(Q, f)
S = Intersect(i1, j1)
j2 = Segment(S, Q)
F2 = Point(j2)
d = Segment(A, B)
j3 = Line(F2, d)
Δ = Point(d)
i3 = OrthogonalLine(Δ, d)
G2 = Intersect(i3, j3)
k3 = Segment(F2, G2)
Horiz = Point(k3)
p = Circle(Horiz, largeur)
H2 = Point(Circle[Horiz, longueur])
A2 = Point(Circle[Horiz, longueur])
k = CircleArc(Horiz, A2, H2)
Angle = Point(k)
j = Segment(Horiz, Angle)
n = OrthogonalLine(Angle, j)
l = OrthogonalLine(Horiz, j)
F, H = Intersect(p, l)
m = OrthogonalLine(F, l)
I = Intersect(n, m)
c1 = Circle(I, crochet)
a1 = Line(I, f)
J, K = Intersect(c1, a1)
N = Midpoint(I, K)
e1 = Segment(K, I)
g1 = OrthogonalLine(N, e1)
V = Point(g1)
h = OrthogonalLine(V, g1)
CaisseL = Point(h)
A1 = Mirror(CaisseL, g1)
i = OrthogonalLine(CaisseL, h)
CaisseH = Point(i)
b2 = Segment(A1, CaisseH)
B1 = Mirror(CaisseH, g1)
c2 = Segment(B1, CaisseL)
Gcaisse = Intersect(b2, c2)
e = Segment(A, C)
g = Segment(D, B)
q = Segment(Horiz, F)
r = Segment(F, I)
s = Segment(I, Angle)
t = Line(Angle, f)
L, M = Intersect(c1, t)
pointe = 0.5 (slider from 0 to 5, step 0.1)
f1 = Circle(N, pointe)
O, P = Intersect(f1, g1)
b1 = Segment(Angle, O)
d1 = Segment(O, K)
h1 = OrthogonalLine(Q, f)
R1 = Point(d)
roues = 0.5 (slider from 0 to 5, step 0.1)
p1 = Circle(R1, roues)
q1 = Circle(Δ, roues)
m1 = OrthogonalLine(CaisseH, i)
n1 = Segment(A1, B1)
r1 = Segment(B1, CaisseH)
s1 = Segment(CaisseH, CaisseL)
t1 = Segment(CaisseL, A1)
a2 = Segment(N, V)
d2 = Segment(Angle, F)
e2 = Segment(Horiz, I)
C1 = Intersect(d2, e2)
f2 = Segment(O, N)
g2 = Segment(Angle, K)
Pgrue = 200 (slider from 100 to 1000, step 100)
D1 = Intersect(f2, g2)
Ggrue = Midpoint(Horiz, I)
k1 = Segment(C, R)
l1 = Segment(R, S)
k2 = Segment(A, D)
l2 = Segment(C, B)
Gcamion = Intersect(l2, k2)
Pcamion = 3000 (slider from 100 to 10000, step 100)
Pcaisse_1 = 1500 (slider from 100 to 5000, step 100)
h2 = Line(Gcamion, yAxis)
i2 = Line(Ggrue, yAxis)
p2 = Circle(Gcamion, Pcamion / 1500)
E1, F1 = Intersect(p2, h2)
q2 = Circle(Ggrue, Pgrue / 1500)
r2 = Circle(Gcaisse, Pcaisse_1 / 1500)
G1, H1 = Intersect(q2, i2)
I1, J1 = Intersect(r2, g1)
P_c = Vector(Gcamion, F1)
Pcaisse = Vector(Gcaisse, J1)
P_G = Vector(Ggrue, H1)
K1 = Point(k1)
m2 = Line(K1, f)
L1 = Point(l1)
n2 = Line(L1, k1)
M1 = Intersect(m2, n2)
s2 = Segment(K1, M1)
t2 = Segment(M1, L1)
N1 = Point(l1)
a3 = Segment(K1, N1)
b3 = Segment(N1, S)
c3 = Segment(K1, C)
poly1, c_1, k1_1, m1_1, l1_1, s_1, q_1 = Polygon(C, K1, M1, L1, S, Q)
G = Intersect(r, f)
poly2, d3, e3, f3, g3, h3, l3 = Polygon(Horiz, Angle, O, K, I, F)
E = (-1.4897246628375762, 2.068752418663483)
T = (-1.5493445079000483, 2.1402962327384496)
U = (-1.4318040976666035, 1.9988204535355665)
d3 = Segment(E, K1)
e3 = Segment(T, E)
f3 = Segment(E, U)
d_C = Intersect(h2, xAxis)
d_B = Intersect(i2, xAxis)
d_M = Intersect(g1, xAxis)
poly3, a1_1, caissel, caisseh, b1_1 = Polygon(A1, CaisseL, CaisseH, B1)
Mcamion: Pcamion 9.81 Distance[d_C, Δ] 3
Mgrue: Distance[d_B, Δ] 9.81 Pgrue 3
Mcaisse: Pcaisse_1 * 9.81 Distance[d_M, Δ] 3
grue = If(Distance[d_C, Δ] > Distance[d_C, d_B], 1, -1)
caisse = If(Distance[d_C, Δ] > Distance[d_C, d_M], 1, -1)
equilibre: Mcamion + Mgrue grue + Mcaisse caisse
T1 = If(equilibre > 0, position_1, position_2)
W = Midpoint(Gcaisse, J1)
Z = Midpoint(Ggrue, H1)
O1 = Midpoint(Gcamion, F1)
g3 = Segment(Angle, F)
h3 = Segment(Horiz, I)
u = 0 (slider from 0 to 1, step 1)
v = 0 (slider from 0 to 1, step 1)
T3: "Bilan des moments :
    M total = Mcamion + Mgrue + Mcaisse 
                = " + Mcamion + " + " + (Mgrue grue) + " + " + (Mcaisse caisse) + " 
                = " + equilibre + " N "
w = 0 (slider from 0 to 1, step 1)
z = 0 (slider from 0 to 1, step 1)
T2: "Caractéristiques du camion :
    Masse du camion ( sans la grue ) = " + Pcamion + " kg
    Masse du bras de grue = " + Pgrue + " kg
    Masse de la caisse = " + Pcaisse_1 + " kg
    Longueur du bras = " + longueur + " m"
Q1 = (0.8371077202605844, 6.764776630853187)
S1 = (0.8371077202605844, 6.043249775854627)
U1 = (-3.835074373582551, 6.043249775854627)
P1 = (7.169294611449681, 4.339669983984931)
V1 = (10.786682829006015, 4.38222749242677)
angle_1 = 0
angle_2 = -30
angle_3 = If(equilibre > 0, angle_1 °, angle_2 °)
W1 = Rotate(V1, angle_3, P1)
α = Angle(V1, P1, W1)
o1: Distance[d_C, Δ] 3
o_2: Distance[d_B, Δ] 3
o_3: Distance[d_M, Δ] 3
T7: "Bras de levier : 
    Pour le camion : d_C = " + o1 + " m
    Pour le bras de grue : d_B = " + o_2 + " m
    Pour la caisse : d_M = " + o_3 + " m "
Z1 = Intersect(j2, s_1)
B2 = Intersect(j2, s_1)
C2 = Intersect(j2, s_1)
E2 = Intersect(j2, s_1)
l3 = Segment(Horiz, H2)
poly4, a_1, c_2, d_1, b_1 = Polygon(A, C, D, B)
m3 = Segment(Horiz, A2)
p3 = CircleArc(Horiz, A2, H2)
densemble: equilibre / 3 / (Pcaisse_1 * 9.81 + Pcamion 9.81 + Pgrue 9.81)
dens: Distance[A, Δ] - densemble
q3 = Circle(A, dens)
D2, d_E = Intersect(q3, xAxis)
r3 = OrthogonalLine(d_E, xAxis)
ordo: (Distance[d_C, Gcamion] Pcamion + Distance[d_B, Ggrue] Pgrue + Distance[d_M, Gcaisse] Pcaisse_1) / (Pcamion + Pgrue + Pcaisse_1)
s3 = Circle(d_E, ordo)
I2, Gensemble = Intersect(s3, r3)
o = 0 (slider from 0 to 1, step 1)
J2 = Point(p1)
K2, L2 = Intersect(q1, i3)
n3 = Segment(J2, K2)
L2 = Midpoint(J2, K2)
sust = 0 (slider from 0 to 1, step 1)