mardi 19 avril 2016

Chronométrer une chute libre avec Arduino

Voici une petite expérience scientifique qui nous permettra de déterminer expérimentalement l'accélération gravitationnelle à la surface de la terre qui est, théoriquement, égale à 9,8 m/s2.

Les habitués de ce blog me feront peut-être remarquer que nous l'avons déjà fait (à la même date, l'an passé!)...vous avez raison! Mais cette fois, nous allons procéder de façon différente.

Le principe:

On laisse tomber un objet d'une hauteur connue, et on mesure le temps nécessaire pour qu'il atteigne le sol.  On peut donc calculer son accélération, en supposant (avec raison) qu'elle est constante.

Le problème:  

Si vous laissez tomber l'objet d'une distance de un ou deux mètres, il atteint le sol en moins d'une seconde.  Vous ne pouvez donc pas chronométrer sa chute en contrôlant manuellement un chronomètre, même si vous considérez que vos réflexes sont très aiguisés!  Il faut concevoir un système qui démarre automatiquement le chronomètre dès le départ de l'objet, et qui interrompt automatiquement le chronomètre à l'arrivée de l'objet.

La solution:  

Une carte Arduino, et deux interrupteurs un peu particuliers.

L'interrupteur de départ:

Au départ, notre objet est maintenu en place par une pince serre-joint à ressort:  en appuyant sur les poignées de la pince, nous libérons l'objet.  Nous prendrons soin d'utiliser un objet en métal:  lorsqu'il se trouve entre les mâchoires de la pinces, un courant peut circuler d'une mâchoire à l'autre.


Aussitôt que l'objet en métal n'est plus en contact avec la pince, le courant ne circule plus...



Dans mon cas, la pince est elle-même en métal, ce qui fait qu'elle conduit toujours l'électricité, peu importe que ses mâchoires soient ouvertes ou fermées.  J'ai donc recouvert les deux mâchoires d'un ruban gommé isolant, sur lequel j'ai collé deux petites plaques conductrices auxquelles j'ai soudé des fils conducteurs et une résistance "pull down" de 33 kΩ (la valeur exacte de la résistance n'a pas d'importance).



Donc lorsque l'objet métallique est coincé entre les deux mâchoires de la pince, le courant passe dans la résistance, et une tension de 5 V est acheminée à l'Arduino.  Lorsqu'on libère l'objet, le courant ne passe plus et une tension de 0 V est acheminée à l'Arduino.



L'interrupteur d'arrivée:

Pour détecter l'impact de l'objet sur le plancher, j'ai utilisé un bouton poussoir soudé à une résistance "pull down" de 33 kΩ (mais une fois encore, la valeur exacte de la résistance n'est pas importante).



Bien sûr, ce serait problématique d'aligner le montage de façon à s'assurer que l'objet tombe précisément sur ce minuscule bouton poussoir...  Pour augmenter la surface de mon détecteur, j'ai inséré ce bouton-poussoir entre deux plaques rigides reliées par une charnière (dans mon cas, la charnière, c'était simplement du ruban gommé).





Un peu par hasard j'ai obtenu une situation idéale pour laquelle le poids de la plaque du haut était déjà presque suffisant pour actionner le bouton.  Il s'agissait de déposer l'objet sur la plaque pour que le bouton s'enfonce.

Donc lorsque l'objet n'est pas sur la plaque, le courant ne peut pas passer à travers la résistance, et une tension de 0 V est acheminée à l'Arduino.  Aussitôt que l'objet tombe sur la plaque, le courant passe à travers la résistance et une tension de 5 V est acheminée à l'Arduino.



L'objet en chute libre:

On veut un objet qui conduit l'électricité, et qui est assez massif pour actionner l'interrupteur d'arrivée et pour rendre négligeable la friction de l'air:  un petit objet en métal, donc.  J'ai utilisé une douille de clé à cliquet.



Le circuit:

C'est ultra-simple:  nos deux interrupteurs un peu spéciaux sont branchés à l'Arduino.



Le sketch:

Le sketch est également très simple.  Au départ, on vérifie que les deux interrupteurs sont dans l'état prévu. On note le temps (millis()) au départ de l'objet, et on le note à nouveau à son arrivée au sol.  Il ne reste plus qu'à afficher la durée de la chute dans le moniteur série.

La variable "enChute" prend la valeur "0" avant la chute (l'objet est encore dans la pince à ressort), "1" pendant la chute (l'objet n'est plus dans la pince, mais n'a pas encore atteint le sol), et "2" quand la chute est terminée (l'objet a actionné l'interrupteur d'arrivée).

Avant de prendre une nouvelle mesure, on appuie sur le bouton reset de l'Arduino.




Les résultats:

Voici quelques durées de chutes mesurées au moyen de ce dispositif, avec une hauteur de chute de 132,5 cm:

518 ms, 511 ms, 512 ms, 511 ms, 511 ms, 514 ms, 507 m

...donc une durée moyenne de 512 ms

Puisque la vitesse initiale de l'objet était nulle, on peu calculer l'accélération de cette façon:

a = 2 * hauteur / (durée)2 = 2 * 1,325 / (0,512)= 10,1 m/s2

... ce qui n'est pas très loin des 9,8 m/s2 prévus.

Yves Pelletier   (TwitterFacebook)

Aucun commentaire:

Enregistrer un commentaire