Table des matières Python

Étude expérimentale du frottement solide

1. Introduction

Ce document présente une étude expérimentale du frottement d'un solide en bois sur un support en bois. La méthode du plan incliné permet d'obtenir le coefficient de frottement statique. L'étude en dynamique est faite avec un dynamomètre à jauge de déformation. La vitesse du support étant imposée, on observe des oscillations de broutement lorsque la liaison avec le dynamomètre est élastique et lorsque la vitesse est assez faible. Le coefficient de frottement dynamique peut être obtenu avec une liaison rigide.

2. Méthode du plan incliné

Un bloc en bois de masse m=93 g est posé sur une plaque en bois de longueur L=62 cm. Après un temps de repos d'environ 1 minute, on lève lentement une extrémité de la plaque en suivant une règle graduée disposée verticalement. Lorsque le glissement se déclenche, on relève la hauteur H de la face inférieure de la plaque.

../../../../figures/sciphys/meca/frotexp/planincline.svgFigure pleine page

Le coefficient de frottement statique est égal à la tangente de l'angle de glissement, qui s'exprime en fonction de L et H :

μs=tanα=HL2-H2(1)

L'expérience est faite 10 fois. Voici les mesures et le calcul du coefficient de frottement statique (valeur moyenne et écart-type)

import numpy
H = numpy.array([27,28,32,31,28,30,29,25,28,30],dtype=numpy.float32)
L=62.0
tab_mus = H/numpy.sqrt(L*L-H*H)
mus = numpy.mean(tab_mus)
dmus = numpy.std(tab_mus)
               
print((mus,dmus))
--> (0.52578744888305662, 0.044957586274585293)

3. Utilisation d'un dynamomètre

3.a. Dispositif expérimental

Un dynamomètre à jauge de déformation est fixé sur la table. Le bloc en bois est relié au dynamomètre par un fil. Un ressort est éventuellement ajouté pour assouplir la liaison. La plaque est déplacée manuellement à une vitesse constante. La force est enregistrée au cours du temps avec une carte d'acquisition (SysamSP5). La distance de déplacement étant de 50 cm, la vitesse de glissement peut être estimée à partir de l'enregistrement de la force.

../../../../figures/sciphys/meca/frotexp/dynamometre.svgFigure pleine page

La masse du bloc étant de 93 g, la force normale est de 0.91 N.

3.b. Liaison rigide

On commence par un enregistrement avec un fil rigide reliant directement le bloc au dynamomètre.

import numpy
from matplotlib.pyplot import *

data = numpy.loadtxt("data-54.txt",skiprows=1,unpack=True)
t1 = data[0]
F1 = data[1]
te1 = t1[1]-t1[0]

figure(figsize=(12,5))
plot(t1,F1)
xlabel('t (s)')
ylabel('F (N)')
grid()
axis([0,t1.max(),0,0.6])
                
print(te1)
--> 0.002
figAfigA.pdf

Voici un deuxième enregistrement, avec une vitesse plus rapide.

data = numpy.loadtxt("data-56.txt",skiprows=1,unpack=True)
t2 = data[0]
F2 = data[1]
te2 = t2[1]-t2[0]

figure(figsize=(12,5))
plot(t2,F2)
xlabel('t (s)')
ylabel('F (N)')
grid()
axis([0,t2.max(),0,0.6])
                
print(te2)
--> 0.00050000000000000001
figBfigB.pdf

Le relevé de la force de déclenchement du glissement est difficile, car on ne sait pas si l'échantillonnage est assez rapide pour saisir le moment du déclenchement. Le premier enregistrement donne un coefficient de frottement statique de 0.44, le second donne 0.57 (la fréquence d'échantillonnage est 4 fois plus grande). Pour le second enregistrement, on remarque aussi un phénomène oscillatoire au début du mouvement.

La vitesse de glissement est de 2 cm/s pour le premier enregistrement, 6.2 cm/s pour le second. La force de frottement est pratiquement la même dans les deux cas. On observe d'importantes fluctuations de la force, mais le glissement semble continu. Voici le calcul de la force de frottement moyenne et de son écart-type :

n1 = int(3.0/te1)
n2 = int(26.0/te1)
mf1 = numpy.mean(F1[n1:n2])
df1 = numpy.std(F1[n1:n2])
                 
print((mf1,df1))
--> (0.22855076696290436, 0.019994629890653086)
n1 = int(2.0/te2)
n2 = int(9.0/te2)
mf2 = numpy.mean(F2[n1:n2])
df2 = numpy.std(F2[n1:n2])
                 
print((mf2,df2))
--> (0.23371506867281697, 0.016528040833707725)

Voici le coefficient de frottement dynamique :

N = 0.91
mud1 = mf1/N
dmud1 = df1/N
mud2 = mf2/N
dmud2 = df2/N
                 
print((mud1,dmud1))
--> (0.25115468897022458, 0.021972120758959435)
print((mud2,dmud2))
--> (0.25682974579430434, 0.018162682234843654)

Le coefficient de frottement dynamique est donc environ deux fois plus petit que le coefficient de frottement statique.

3.c. Liaison souple

Un ressort de raideur K=0.082 N/cm est introduit dans la liaison entre le bloc et le dynamomètre. Le ressort est accroché directement au dynamomètre. L'autre extrémité est reliée au bloc par un fil.

data = numpy.loadtxt("data-44.txt",skiprows=1,unpack=True)
t3 = data[0]
F3 = data[1]
te3 = t3[1]-t3[0]

figure(figsize=(12,5))
plot(t3,F3)
xlabel('t (s)')
ylabel('F (N)')
grid()
axis([0,t3.max(),0,0.6])
                
figCfigC.pdf
data = numpy.loadtxt("data-47.txt",skiprows=1,unpack=True)
t4 = data[0]
F4 = data[1]
te4 = t4[1]-t4[0]

figure(figsize=(12,5))
plot(t4,F4)
xlabel('t (s)')
ylabel('F (N)')
grid()
axis([0,t4.max(),0,0.6])
                
figDfigD.pdf

La force au déclenchement du glissement permet d'obtenir le coefficient de frottement statique. La reproductibilité est meilleure que dans le cas d'une liaison filaire rigide. On obtient un coefficient statique de 0.57. Le glissement ne se fait pas en continu, mais par une alternance de phases d'adhérence et de glissement. Il s'agit du phénomène de broutement (stick-slip).

On voit que la force du premier glissement est nettement supérieure à la force qui déclenche les glissements suivants.

Voyons le résultat avec une vitesse de déplacement de la plaque plus grande :

data = numpy.loadtxt("data-45.txt",skiprows=1,unpack=True)
t5 = data[0]
F5 = data[1]
te5 = t5[1]-t5[0]

figure(figsize=(12,5))
plot(t5,F5)
xlabel('t (s)')
ylabel('F (N)')
grid()
axis([0,t5.max(),0,0.6])
                
figEfigE.pdf

Les oscillations sont sinusoïdales, sans interruption du glissement.

La figure suivante montre un enregistrement obtenu avec un ressort de raideur K=0.44 N/cm.

data = numpy.loadtxt("data-51.txt",skiprows=1,unpack=True)
t6 = data[0]
F6 = data[1]
te6 = t6[1]-t6[0]

figure(figsize=(12,5))
plot(t6,F6)
xlabel('t (s)')
ylabel('F (N)')
grid()
axis([0,t6.max(),0,0.6])
                
figFfigF.pdf

On observe le même type d'oscillations, d'amplitude similaire mais avec une fréquence plus grande.

4. Modélisation

Les lois du Coulomb permettent de modéliser le frottement de glissement. Le programme suivant effectue une simulation de mouvement correspondant à l'expérience où la plaque est tirée à vitesse constante. L'équation différentielle du mouvement est intégrée avec la méthode d'Euler.

v0=0.04 # vitesse de glissement
mus=0.37 # coefficient de frottement statique
mu=0.25 # coefficient dynamique
g = 9.8
m=0.1 # masse
k=8.0 # coefficient de raideur
    
def integration(tmax,h):
    t = 0.0
    x = 0.0
    v = v0
    vg = 0.0
    glissement = False
    sens_frottement = 1
    liste_t = numpy.array([t])
    liste_x = numpy.array([x])
    liste_vg = numpy.array([vg])
    while t<tmax:
        t += h
        if glissement:
            frottement = sens_frottement*mu*m*g
            acceleration = (frottement-k*x)/m
            v += acceleration*h
            vg = v-v0
            x += v*h
            if vg*sens_frottement > 0:
                glissement = False
        else:
            v = v0
            vg = 0.0
            x += v0*h
            if k*x >= mus*m*g:
                glissement = True
                
                
        liste_t = numpy.append(liste_t,t)
        liste_x = numpy.append(liste_x,x)
        liste_vg = numpy.append(liste_vg,vg)
        
    return (liste_t,liste_x,liste_vg)

tmax = 10.0
(t,x,vg) = integration(tmax,1e-3)
f = k*x
figure()
plot(t,f)
xlabel("t (s)")
ylabel("F (N)")
axis([0,t.max(),0,0.6])
grid()
              
figGfigG.pdf
figure()
plot(t,vg)
xlabel("t (s)")
ylabel("v gliss (m/s)")
max = abs(vg.min())
axis([0,t.max(),-max,max])
grid()
              
figHfigH.pdf

Le coefficient de frottement statique a été choisi pour correspondre à peu près à celui observé dans la phase stationnaire du mouvement. Le coefficient dynamique est celui obtenu avec la liaison rigide

Voyons le résultat avec une vitesse plus grande :

v0=0.15
tmax = 10.0
(t,x,vg) = integration(tmax,1e-3)
f = k*x
figure()
plot(t,f)
xlabel("t (s)")
ylabel("F (N)")
axis([0,t.max(),0,0.6])
grid()
              
figIfigI.pdf
figure()
plot(t,vg)
xlabel("t (s)")
ylabel("v gliss (m/s)")
max = abs(vg.min())
axis([0,t.max(),-max,max])
grid()
              
figJfigJ.pdf

On a dans ce cas des oscillations sinusoïdales avec un glissement presque permanent. L'amplitude d'oscillation de la force est plus grande que pour les oscillations de broutement. Expérimentalement, on observe au contraire une réduction de l'amplitude des oscillations lorsqu'on augmente la vitesse.

Creative Commons LicenseTextes et figures sont mis à disposition sous contrat Creative Commons.