jeudi 23 juin 2016

Fabrication d'un anémomètre (Arduino)

Un anémomètre est un appareil qui permet de mesurer la vitesse du vent.  C'est très facile de construire un anémomètre à coupelle, et de mesurer sa vitesse de rotation au moyen d'une carte Arduino et d'un capteur approprié.

L'anémomètre

J'ai construit un anémomètre à coupelles rudimentaire constitué de 3 petits bols de plastique (de forme vaguement hémisphérique) fixés à l'extrémité de 3 légères tiges de bois. L'extrémité opposée des tiges de bois est fixée à un axe de rotation:  quelque chose qui tourne facilement (dans mon cas:  un ventilateur d'ordinateur n'ayant plus de pales).

Visez la légèreté:  celui que j'ai fabriqué ne réagit pas du tout si la brise est trop légère.


Le capteur: un interrupteur reed

L'intérêt de notre montage d'un point de vue électronique, c'est qu'il comportera un capteur nous permettant de déterminer automatiquement la vitesse de rotation.  J'aurais pu compter les tours au moyen d'un système optique (un duo LED infrarouge/phototransistor, par exemple).  J'ai toutefois opté pour un capteur magnétique (qui demeure immobile), alors qu'un aimant est fixé à une des tiges de l'anémomètre.

Si j'avais eu besoin de mesurer avec précision le champ magnétique causé par l'aimant, j'aurais utilisé comme capteur un magnétomètre numérique (comme le HMC5883L) ou un capteur analogique à effet Hall (comme l'Allegro A1302).  Mais pour compter les tours effectués par l'anémomètre, je n'ai besoin que de détecter la présence (ou l'absence) d'un champ magnétique:  c'est pourquoi j'ai choisi d'utiliser un interrupteur reed.



L'interrupteur reed est constitué de deux lames conductrices qui entrent en contact uniquement lorsqu'elle se trouvent à l'intérieur d'un champ magnétique suffisamment intense (donc à proximité d'un aimant).

Pas d'aimant à proximité:  l'interrupteur reed ne laisse pas circuler le courant
Aimant à proximité:  l'interrupteur reed laisse circuler le courant

Ces deux contacts se trouvent à l'intérieur d'un petit tube en verre TRÈS FRAGILE:  je m'étais procuré un lot de 5 interrupteurs reed, et j'en ai cassé 3 lors de la réalisation de ce projet!

Le circuit

On branche l'interrupteur reed à l'Arduino de la même façon qu'on brancherait un bouton poussoir. Lorsque l'aimant (qui est fixé à une des tiges de l'anémomètre) passe au-dessus de l'interrupteur reed, la pin 8 de l'Arduino sera soumise à un niveau logique HAUT (5 V), alors qu'elle sera soumise à un niveau logique BAS (0 V) le reste du temps.

Une LED branchée à la pin 13 de l'Arduino (ou simplement la LED qui se trouve déjà sur la carte) s'allumera à chaque passage de l'aimant, ce qui nous aidera à vérifier que tout fonctionne correctement.


Calcul de la vitesse

Le temps écoulé entre deux passages successifs de l'aimant représente la période de révolution de l'anémomètre.

On peu ensuite calculer la vitesse des coupelles; puisqu'elles sont en mouvement circulaire, elle parcourent une distance égale à la circonférence pendant une durée correspondant à la période:

vitesse des coupoles = (2 * pi * rayon)/période

...où le rayon est mesuré de l'axe de rotation jusqu'au centre des coupelles (c'était 15 cm dans mon cas).


S'agit-il de la vitesse du vent?  Oui, dans l'hypothèse où les coupelles se déplacent aussi vite que le vent,  mais ce n'est malheureusement pas le cas.

Pour obtenir la véritable vitesse du vent, il faut ensuite multiplier le résultat par une fonction d'étalonnage qui dépend de la forme et des dimensions de l'anémomètre et de sa vitesse de rotation! Pour trouver cette fonction, il faudrait donc mesurer le vent au même endroit et au même moment au moyen d'un anémomètre commercial correctement calibré, et produire une courbe de calibration.

Sinon, tout ce que nous mesurons représente une limite inférieure: nous savons que le vent va au moins aussi vite que les coupelles, dont nous connaissons la vitesse.

Un sketch

Voici un sketch qui affiche dans le moniteur série la période de rotation et la vitesse des coupoles.




Pour une utilisation sur une longue période, il sera utile d'emmagasiner nos données, par exemple sur une carte SD, ou grâce à un service en ligne.

Yves Pelletier   (TwitterFacebook)

9 commentaires:

  1. J'ai testé la fabrication d'un anémo avec interrupteur reed : le souci c'est que l'interrupteur montre une résistance lorsque l'anémo tourne lentement !
    La meilleure solution reste l'interrupteur à effet hall (il en existe des version "on/off" chez allegro !)

    RépondreSupprimer
  2. Ludovic: votre schéma et code avec interrupteur à effet Hall sont visibles quelque part? Cela m'intéresse...

    RépondreSupprimer
  3. J'ai commencé à bricoler avec un interrupteur à effet Hall (après trois jours de travail sans résultat, j'ai fini par comprendre qu'un montage arduino fonctionne mieux quand le circuit est monté dans le bon sens...), mais en fait je suis bloqué sur un point nettement plus prosaïque: comme fixer les trois tiges (en balsa je suppose?) sur le palier de disque dur que j'ai récupéré?

    RépondreSupprimer
  4. Et pourquoi ne pas utiliser une fourche optique? pas de contact mécanique.

    RépondreSupprimer
    Réponses
    1. Comme je l'indique dans l'article, c'était une autre option possible.

      Supprimer
  5. Une suggestion pour étalonner l'anémomètre :
    le fixer sur le toit d'une voiture (sur une barre de toit) et rouler à une vitesse stablisée. (il faudra peut-être avoir auparavant étalonné le compteur de la voiture !)

    RépondreSupprimer
  6. Bonjour, j'ai testé votre programme et tout semble fonctionner à part une chose .. le moniteur n'indique aucune valeurs, même avec les paramètres corrects. Pourriez-vous m'aider ? C'est pour réaliser un projet final de bac.

    RépondreSupprimer
  7. J'ai le meme problème rien ne s'affiche sur le moniteur. Des solutions ?

    RépondreSupprimer
  8. Bonjour, j'ai réalisé un anémomètre en mesurant la tension aux bornes du moteur (qui devient générateur) directement sur l'arduino. Il faut néanmoins un étalonnage.

    RépondreSupprimer

Related Posts Plugin for WordPress, Blogger...