lundi 6 juin 2016

Mesurer une force avec un ressort et un potentiomètre

Supposons que vous désirez mesurer une force ou peser un objet au moyen d'un système électronique (un Arduino, par exemple).   La méthode classique consiste à utiliser des jauges de déformation, un pont de Wheatstone et un circuit d'amplification.

Et si on procédait autrement?

J'ai tenté de construire mon propre dynamomètre/balance électronique en utilisant deux éléments principaux:  un ressort, et un potentiomètre rectiligne.  Le principe est simple:  le potentiomètre et une des extrémités du ressort sont fixés sur un même support rigide (en l'occurrence un petit morceau de bois). L'autre extrémité du ressort est fixé au curseur du potentiomètre rectiligne.  Lorsqu'on exerce une force sur cette extrémité du ressort, le ressort s'étire, ce qui déplace le curseur du potentiomètre.

(J'ai pris cette idée à la page 26 du livre "Engineer's MiniNotebook - Sensor Projects" par  Forrest Mims, sauf que le modèle présenté utilisait un ressort fixé à l'extrémité d'un levier dont l'axe de rotation était constitué d'un potentiomètre rotatif).


Et ça fonctionne?

Pour vérifier l'efficacité et la précision de mon dispositif, je l'ai utilisé comme une balance, en y suspendant des masses connues

Le curseur de mon potentiomètre peut se déplacer d'une distance maximale de 3 cm.  Lorsque le ressort n'est pas du tout étiré, le curseur occupe la position la plus haute.  Une masse d'environ 500 grammes (ou une force de 5 N) oblige le ressort à s'étirer de presque 3 cm, ce qui déplace le curseur près de sa position la plus basse.  Ces résultats dépendent évidemment de la rigidité du ressort utilisé.

J'ai branché le potentiomètre à une carte Arduino:  une extrémité à la masse (GND), l'autre extrémité à 5 V, et le curseur à l'entrée analogique A5.


Dans un premier temps, j'ai affiché la valeur mesurée sur l'entrée A5 pour différentes masses suspendues échelonnées entre 0 et 500 grammes:








J'avais choisi un potentiomètre dont le curseur glissait très facilement, ce qui m'avait permis d'espérer que la force de frottement allait être négligeable.  Mais les résultats montrent que ce n'est malheureusement pas tout à fait le cas:  d'une part, une masse de 50 g ou 100 g est insuffisante pour déplacer le curseur, qui demeure à la même position que quand aucune masse n'est suspendu.  D'autre part, le curseur ne se stabilise pas toujours à la même position pour une masse donnée.

Par exemple, pour une masse suspendue de 250 grammes, le signal lu par l'entrée A5 de l'Arduino peut parfois être de 217... et parfois de 318!

Pourrait-on améliorer les résultats en lubrifiant le potentiomètre, de façon à atténuer la force de frottement?  Peut-être, je n'ai pas essayé.  Si vous utilisez un ressort plus rigide, de façon à mesurer des masses de quelques kilogrammes, par exemple, la force de frottement devrait avoir un effet négligeable sur vos résultats.

Mon appareil n'est donc pas d'une très grande précision, mais il peut très bien distinguer une masse de 200 grammes d'une masse de 300 grammes, ce qui n'est déjà pas si mal.

Malgré la dispersion des points, le graphique est bel et bien linéaire pour des masses suspendues de 150 grammes et plus (en concordance avec la loi de Hooke).  Grâce à Excel, j'ai pu établir que l'équation de la droite est:

     valeur mesurée par l'Arduino = 2.2829 * masse  - 281,43


Avec un peu d'algèbre, on peut modifier l'équation de façon à calculer la masse en grammes à partir de la valeur mesurée par l'Arduino:

     masse = (valeur mesurée + 281.43)/2.2829

Voici un petit sketch minimaliste qui affiche dans le moniteur série la masse suspendue en grammes (et qui avertit l'utilisateur quand la masse est trop faible pour être mesurée):




Et voici quelques résultats obtenus pour quelques masses suspendues:


Comme je le disais, ce n'est pas une balance de précision, mais ça marche à peu près...

Yves Pelletier   (TwitterFacebook)


2 commentaires:

  1. On pourrait remplacer le potentiomètre par un capteur à effet Hall linéaire (du genre Allegro A1302), dont le signal de sortie est proportionnel au champ magnétique perçu : Ainsi, tu places un (petit) aimant au bout du ressort, le capteur judicieusement placé renvoie une tension (presque) proportionnelle à la proximité de l'aimant. Zero contact, zero usure ;)

    RépondreSupprimer