Comment mesurer le vent? (partie 1)

Comment mesurer le vent? (partie 1)

Les propriétaires de Yocto-Meteo nous demandent régulièrement si Yoctopuce compte sortir un capteur pour leur permettre de mesurer la force du vent. Le problème, c'est qu'un anémomètre comporte plus de mécanique que d'électronique. Nous avons examiné quelques modèles disponibles sur le marché. Nous en avons conclu que les modèles bon marchés sont trop difficiles à hacker et que les modèles prévus pour être interfacés sont hors de prix. On va donc vous expliquer comment en fabriquer un vous-même en utilisant un Yocto-Knob.


Un anémomètre est essentiellement une hélice ou un rotor qui tourne, entraîné par le vent. La difficulté consiste à déterminer à quelle vitesse. De cette vitesse, on peut déduire plus ou moins empiriquement la vitesse du vent. Il existe plusieurs manières de déterminer la vitesse d'un axe qui tourne, nous avons choisi une méthode optique: l'axe du rotor est muni d'un disque perforé qui est intercalé entre une LED et un photo-transistor. Le photo-transistor devient passant à chaque fois qu'il est éclairé par la LED. Cet état passant peut être détecté par un Yocto-Knob.

Schéma de principe: le rotor entraine un disque perforé qui tourne devant un détecteur de lumière
Schéma de principe: le rotor entraine un disque perforé qui tourne devant un détecteur de lumière


Il se trouve que le Yocto-Knob vient d'hériter avec le dernier firmware d'une fonctionnalité intéressante: un compteur d'impulsions. Chaque entrée dispose désormais d'un compteur de temps monotone, et d'un compteur d'impulsions qui augmente de 1 à chaque fois que l'entrée correspondante change d'état. Ces deux compteurs peuvent être remis à zéro simultanément. Ainsi, si on relie une des entrées de Yocto-Knob au photo-transistor, il est possible de compter de nombre de perforations qui sont passées devant le photo-transistor en un temps donné. Voilà pour le principe.

Câblage entre le Yocto-Knob et le détecteur
Câblage entre le Yocto-Knob et le détecteur


Niveau connections, le photo-transistor est simplement connecté sur l'entrée 1 du Yocto-Knob. Par contre, il faut alimenter la LED. Pour ce faire, on utilise le 5V de l'USB, on peut le trouver sur le pad marqué [+] situé derrière la prise USB du Yocto-Knob. Et on utilise une résistance de 150 Ω en série pour avoir un courant d'environ 20 mA qui passe dans la LED. Remarquez qu'il suffit donc de sortir 3 fils de l'anémomètre, il est en en effet plus sage de garder le Yocto-Knob à l'intérieur où il sera à l'abri de l'humidité. Le photo-transistor est un SFH 310-2/3 de OSRAM et la LED une L7104SRC/J de Kingbright, mais il existe plein d'autres composants qui marcheront tout aussi bien.

Pour la réalisation, nous avons choisi l'impression 3D pour gagner du temps. Pour assembler les pièces ensemble, on utilise des inserts en laiton que l'on pose avec un simple fer à souder muni d'une panne spéciale. Ainsi les éléments peuvent être montés ensemble à l'aide de simples vis, le résultat est solide tout en restant facilement démontable.

    Inserts en laiton  Pose des inserts avec un fer a souder
Pour limiter les frottements, on utilise des roulements à billes spéciaux en plastique qui ne s'oxyderont pas à la première pluie.

Roulements inoxydables: corps en plastique et billes de verre
Roulements inoxydables: corps en plastique et billes de verre



Le montage est relativement simple. Après avoir été soudés, les fils de la LED et le photo-transistor sont noyés dans la colle chaude pour éviter d'éventuels problèmes liés a l'humidité. Tous les éléments sont vissés ensemble.

Assemblage du rotor
Assemblage du rotor


Système de blocage du rotor sur l'axe
Système de blocage du rotor sur l'axe


L'axe du rotor est une tige en acier de 3mm de diamètre. Le disque perforé est enfoncé de force sur cet axe. Pour pouvoir être démonté facilement, le rotor est maintenu par deux petites vis sans tête perpendiculaires à l'axe, ces deux vis sont visibles sur la photo ci-dessus. Deux petites bagues découpées dans du tube de laiton et enfoncées de force dans la partie centrale du rotor permettent d'éviter que ce dernier ne se déforme lorsque que les vis sans tête sont serrées. La géométrie du rotor peut paraître un peu compliquée, mais cela est surtout dû aux contraintes techniques de l'impression 3D.

Assemblage du corps
Assemblage du corps



L'anémomètre complet
L'anémomètre complet



La différence de résistance entre les deux états du photo-transistor dépendent du modèle de photo-transistor, de la puissance de la LED et de la longueur du câble. Pour que les changements d'état soient correctement détectés par le Yocto-Knob on peut calibrer la fonction anButton correspondante à l'aide du VirtualHub.

Calibration
Arrivé à ce point, on se retrouve avec un appareil qui tourne quand il y a du vent, générant ainsi des impulsions qu'un Yocto-Knob peut compter. La difficulté consiste à trouver la relation entre la fréquence de ces impulsions et la vitesse du vent. Il est probablement possible de la calculer, mais nous avons choisi une méthode plus pragmatique. L’anémomètre a été monté au bout d'une perche et nous somme allés faire un tour en voiture.

La calibration peut être estimée à l'aide d'une route déserte et d'une voiture :-)
La calibration peut être estimée à l'aide d'une route déserte et d'une voiture :-)


Il suffit de faire quelques relevés à différentes vitesses pour se faire une idée de cette relation. Coïncidence amusante, dans le cas de notre anémomètre, on est quasiment à 1 impulsion = 1Km/h en dessous de 50 Km/h. A des vitesses supérieures, la relation diverge un peu, on pense que l'écoulement de l'air autour de l'anémomètre doit changer de régime. On n'a pas osé dépasser les 100 Km/h :-)

Interpolation des mesures
Interpolation des mesures


Dans notre cas, on en avons déduit que la relation entre la vitesse du vent V en Km/h et la fréquence des f des impulsions en Hz peut être approximée de la manière suivante

V = f - 0.00005*f^2 - 0.000014*f^3


Quelques conseils pour la calibration: faites chaque trajet à la même vitesse dans un sens puis dans l'autre, puis prenez la valeur médiane pour éliminer l'effet du vent météo. Utilisez un GPS pour calculer la vitesse de la voiture, les compteurs de voiture sur-estiment systématiquement la vitesse. Vous pouvez utiliser une des entrées libres du Yocto-Knob pour y connecter un bouton poussoir qui vous permettra de télécommander l'enregistrement des données de calibration une fois la voiture stabilisée à la vitesse voulue.

Programmation
La programmation pour calculer la vitesse du vent est relativement triviale, il s'agit de récupérer à intervalle régulier les valeurs du timer et du compteur d'impulsions, d'en déduire la fréquence des impulsions et d'appliquer la fonction de calibration. Voila un exemple en C#:

// makes the assumption the Anemometer is connected to
// an input named "wind"
YAnButton wind = YAnButton.FindAnButton("wind");
while (true)
 { if (wind.isOnline())
    { long pulse = wind.get_pulseCounter(); // retreive counter values
      long time = wind.get_pulseTimer();
      if ((pulse > 0) || (time > 5000))
        { // compute frequency
          double f = 1000 * pulse / time;
          // apply calibration
          double windSpeed = f - 0.00005 * f * f - 0.000014 * f * f * f;
          // reset both timer and pulse counter
          wind.resetCounter();
          Console.WriteLine("Speed = "+Math.Round(windSpeed).ToString()+" Km/h");
        }
       YAPI.Sleep(1000, ref errmsg);
     }
  }


Conclusion
Il est relativement facile de se construire son propre anémomètre. Nous avons utilisé une imprimante 3D pour gagner du temps, mais si vous n'avez pas d'imprimante 3D, vous pourrez probablement fabriquer votre anémomètre à partir de matériaux courants comme du tuyau en PVC et des balles de ping-pong. Mais si vous aimer bricoler, on vous recommande vous intéresser sérieusement à ces imprimantes 3D, elle commencent à devenir vraiment abordables. Vous pouvez télécharger les fichiers nécessaires à la construction de cet anémomètre sur Thingiverse.

Cet anémomètre est évidement une version ultra simple, de nombreuses améliorations peuvent y être apportées, par exemple, inclure un fil chauffant pour éviter qu'il ne gèle et se bloque en hiver.

Pas mal, mais le vent va dans quel sens?
Pas mal, mais le vent va dans quel sens?


Bon, vitesse du vent, check. La prochaine fois, on s'occupe de la direction.

Commenter aucun commentaire Retour au blog












Yoctopuce, get your stuff connected.