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.
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.
Figure pleine pageLe coefficient de frottement statique est égal à la tangente de l'angle de glissement, qui s'exprime en fonction de L et H :
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)
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.
Figure pleine pageLa masse du bloc étant de 93 g, la force normale est de 0.91 N.
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.002figA.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.00050000000000000001figB.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.
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])figC.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])figD.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])figE.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])figF.pdf
On observe le même type d'oscillations, d'amplitude similaire mais avec une fréquence plus grande.
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()figG.pdf
figure() plot(t,vg) xlabel("t (s)") ylabel("v gliss (m/s)") max = abs(vg.min()) axis([0,t.max(),-max,max]) grid()figH.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()figI.pdf
figure() plot(t,vg) xlabel("t (s)") ylabel("v gliss (m/s)") max = abs(vg.min()) axis([0,t.max(),-max,max]) grid()figJ.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.