[3/50] Défi 50 objets : L’anémomètre connecté – Partie 1
Après une semaine complète passée sur la conception et la réalisation de cet objet, je ne me voyais pas le présenter en un seul article. Déjà, d’une part, car l’anémomètre n’est pas fini et d’autre part car l’objet doit rentrer en interaction avec une base de données qui me servira à tous les futurs objets […]
Défi 3 - Anémomètre Partie 1

Après une semaine complète passée sur la conception et la réalisation de cet objet, je ne me voyais pas le présenter en un seul article. Déjà, d’une part, car l’anémomètre n’est pas fini et d’autre part car l’objet doit rentrer en interaction avec une base de données qui me servira à tous les futurs objets connectés de cette série ! Voyons un peu plus en détail les étapes par lesquels je suis passé !

Il s’agit du premier de ma liste d’objets connectés de cette série d’objet ! Je préfère donc passer du temps à construire une base solide sur laquelle je pourrais me calquer sur les futurs projets. D’où la nécessité pour moi d’y passer 2 semaines au lieu d’une ! D’une part, je garantie une certaine qualité en terme de conception électronique et de programmation et d’autre part je gagne du temps pour tous mes futurs objets !

Cahier des charges

J’ai regardé ce qu’il se faisait sur le marché des anémomètres sans fil. On retrouve pas mal de stations communicantes en radiofréquence domotique (entre 400 et 900 MHz). Les prix avoisinent en moyenne les 50 euros. Certains anémomètres, plus légers et plus résistants sont vendus entre 500 et 1000€. Il s’agit dans ce cas-là d’appareils de mesures pour les unités maritimes, rien de comparable à un anémomètre domestique donc. Je suis également tombé, lors de mes recherches, sur le projet Pioupiou qui permet à quiconque prends un abonnement de mesurer la vitesse du vent chez eux. Dans ce cas-là, le système est totalement autonome, se localise grâce au GPS intégré et est connecté à internet. Pratique pour les aérodromes et les stations de montagne je trouve ! Cependant, ce n’est pas donné pour un particulier !

L’objectif est de réaliser une mesure de la vitesse du vent à l’extérieur. Mes besoins sont les suivants :
– Que le système soit totalement autonome en énergie.
– Le système doit être sans fil.
– Le système devra réaliser des relevés de vitesse du vent et les envoyer à une base de données sur un serveur distant.
– Le système devra avoir un coût abordable, bien inférieur à 50 euros.

Mesurer la vitesse du vent

Tout d’abord, la question la plus intéressante sur laquelle je me suis penchée est :
Comment mesurer la vitesse du vent ?

Un des premiers réflexes est de consulter la page Wikipédia de l’anémomètre. Et là, stupéfaction ! Les technologies sont nombreuses ! Moi qui connaissais les anémomètres à coupelles et côtoyais les anémomètres à fil chaud dans l’industrie, je me retrouve face à une dizaine d’anémomètres différents. On y retrouve deux catégories : les anémomètres à vitesse et les anémomètres à pression. Notre objet concernera la première catégorie avec les anémomètres :
– L’anémomètre à coupelles,
– L’anémomètre à hélice,
– L’anémomètre à moulinet,
– L’anémomètre à fil chaud,
– L’anémomètre à ultrason,
– L’anémomètre laser.

Anémomètre à hélice portable

Anémomètre à hélice portable

Pour faire un choix entre ces différentes technologies, j’ai pris en compte deux critères : simplicité de réalisation et consommation énergétique de l’objet. Avec les anémomètres laser, à ultrason et à fil chaud, la consommation énergétique est élevée, ce qui complique l’autonomie de l’appareil. Pour les anémomètres à hélice et à moulinet, il faut prendre en compte l’orientation de l’objet et donc coupler l’objet à une girouette, ce qui complique la réalisation (rappel : une semaine par objet !). J’ai donc choisi de réaliser un anémomètre à coupelles. L’avantage est que la vitesse de rotation est proportionnelle à la vitesse du vent, quelle que soit la direction du vent !

Anémomètre à coupelles

Anémomètre à coupelles

D’après Wiki, la vitesse du vent est calculée selon le nombre de de tour par secondes, le rayon moyen des bras de l’axe de rotation jusqu’au centre des coupelles et une fonction d’étalonnage basée sur les propriétés aérodynamiques de l’anémomètre.

 : vitesse du vent [m/s]
 : rayon moyen des bras (de l’axe de rotation jusqu’au centre des coupelles) [m]
 : nombre de tours par seconde [1/s]
 : fonction d’étalonnage

Afin de pouvoir calculer cette fonction d’étalonnage, je vais devoir réaliser des essais avec l’objet fini avec une soufflerie.

Conception de l’anémomètre

Solutions technologiques

Afin de réaliser un anémomètre à coupelles, il faut que je sache mesurer la vitesse de rotation de mon axe afin de connaître le nombre de tour par seconde. Pour cela, il était nécessaire de coupler l’axe à un disque situé à l’intérieur du boitier. Ce disque serait mon repère pour « compter » le nombre de tours.

Schéma de l'intégration de l'axe de l'anémomètre au socle. Le disque sera notre repère pour compter les tours.

Schéma de l’intégration de l’axe de l’anémomètre au socle. Le disque sera notre repère pour compter les tours.

Pour cela, je me suis penché sur 2 technologies possible. La première est un système LED / récepteur lumineux. Une LED fixe serait allumée face à un récepteur lumineux. Entre les deux, le disque possédant 2 trous de part et d’autre, afin d’équilibrer le disque. En cas de vent, lors de la rotation de l’axe, et donc du disque, le récepteur lumineux verrait une alternance lumière / ombre. Le signal est donc envoyé au microcontrôleur qui se charge du calcul de la fréquence et de la vitesse du vent. Les inconvénients de cette technologie sont : une LED constamment allumée, et consommatrice de courant, ainsi qu’un récepteur à la fois sensible, mais pas des plus réactifs.

Schéma de l'axe de l'anémomètre avec le capteur photosensible et la LED.

Schéma de l’axe de l’anémomètre avec le capteur photosensible et la LED.

Le deuxième système consiste à placer des aimants dans ces trous et d’utiliser un capteur à effet hall. Ce capteur permet d’avoir un signal électrique s’il y a présence ou non d’un aimant. Il capte le pôle SUD des aimants. Ayant utilisé ce capteur brut de composant, j’ai eu beaucoup de mal à avoir un signal propre. Le composant est très sensible au bruit. Le signal reçu doit être filtré. Je suis donc passé par une carte d’adaptation qui me sortait un signal tout ou rien propre et réactif. Présence de l’aimant ou non, c’est tout ce que j’ai besoin de savoir.

Schéma de l'axe de l'anémomètre avec le capteur à effet Hall.

Schéma de l’axe de l’anémomètre avec le capteur à effet Hall.

C’est cette deuxième solution que j’ai choisie. La mise en œuvre est plus simple à réaliser et la consommation est moindre.

Le capteur à effet Hall.

Le capteur à effet Hall.

 

Montage du capteur à effet Hall

Montage du capteur à effet Hall

Stratégie de conception électronique

Ici, on attaque un des sujets les plus important de l’objet. La conception électronique. Rappelons que notre anémomètre doit être autonome en énergie. Cela suppose la récupération d’énergie, que ce soit via la rotation de l’axe ou via des cellules solaires. Ne voulant pas influencer la mesure et coupler l’axe avec autre chose, c’est grâce à des cellules solaires que le système sera autonome.

Déjà, pour commencer, et avant de dimensionner batterie et cellules solaires, il faut qu’on sache combien tout ça va consommer ! Commençons par le choix du microcontrôleur…

Pour le microcontrôleur, d’après les quelques microcontrôleur de prototypage que je connais, plusieurs options s’offraient à moi :
– Arduino Mini Pro + module RF
– Arduino Mini Pro + module Wifi (ESP 8266)
ESP 8266 seul

Il se trouve que le système le plus économique est l’ESP 8266 seul. Que ce soit au niveau de la consommation d’énergie ou même du prix composant. On retrouve l’ESP 8266 dans sa version 12-F (soit la dernière version 12 au moment où j’écris ces lignes) pour environ 2€ pièce sur Ebay et Amazon. Il faut compter 5€ mini pour les Arduino Mini Pro sur Ebay. L’unique bémol avec l’ESP est sa consommation élevée, Wifi allumé. La consommation de la carte peut monter jusqu’à 150mA par pics (calculs + connexion wifi et envoi des données). Par contre, en mode veille (deep sleep), la carte ne consomme que quelques μA.

ESP8266

ESP8266

Un autre avantage indéniable est la taille de la carte : 16x24x3mm. Très petite et simple à intégrer. De plus elle possède quelques pins d’entrée/sortie, le tout en 3,3 V ! Parfait pour de l’IOT (Internet Of Things) !

L’autre composant énergivore est le capteur à effet hall. Il requiert entre 3 et 3,5 mA en courant d’alimentation. S’ajoute à cela le courant nécessaire à la sortie du capteur qui est d’environ 40 mA lorsque ce dernier est en saturation. Lorsqu’il n’y a pas d’aimants, la sortie du capteur est proche des 0 mA.

Datasheet du TLE4945L - Le capteur à effet Hall

Extrait de la datasheet Siemens du TLE4945L – Le capteur à effet Hall

Le capteur est ici donné entre 3,8 V et 24 V. Cela varie entre les différents constructeurs. J’ai testé sur mon composant avec la carte d’adaptation en 5 V et 3,3 V. Je n’ai pas vu de différence, mon capteur fonctionne donc en 3,3 V !

Il faut donc compter environ 200 mA en pic de consommation pour l’ensemble du montage (ESP8266 en mesure + Wifi + capteur saturé) et environ 4 mA pour les minimales.

Pour dimensionner correctement mes besoins énergétiques, je me place dans le pire cas. Pour se faire, je regarde quels sont les deux mois les moins ensoleillés dans ma région sur la dernière année. Je tombe sur décembre 2016 et janvier 2017 (chiffres Météo France).

Ensoleillement Bas-Rhin Décembre 2016

Ensoleillement Bas-Rhin Décembre 2016

 

Ensoleillement Bas-Rhin Janvier 2017

Ensoleillement Bas-Rhin Janvier 2017

On voit que le plus grand écart entre les grandes plages d’ensoleillement (>2h) est d’environ 6 jours !

Il faut donc que l’objet soit autonome pendant 6 jours, sans rechargement de la batterie. 6x24h = 144 heures d’autonomie ! Afin que le microcontrôleur soit en veille le plus souvent possible pour consommer moins, ce dernier « se réveillera » que lorsqu’il y aura du vent (grâce à une interruption, on verra ça en partie 2). Habitant dans une région peu soumise au vent, j’estime que le système ne tournera que 15% du temps. Pour 6 jours sans ensoleillement, cela représente environ 21h en consommation « prise de mesure » (entre 20 mA et 200 mA, selon wifi, envoi des données et vitesse du vent) et 123h en consommation minimale (4 mA).

Dans le pire cas, avec la mesure constamment à 200 mA, on aurait une moyenne de consommation sur ces 6 jours de : (21*200)+(123*4) = 4200 + 492 = 4692 mA. Pour tenir uniquement sur batterie, il faudrait une batterie d’une capacité supérieure à 4692 mAh. J’ai donc choisi une batterie NiMh de 6000 mAh (en vrai, j’ai pris ce que j’avais sous la main). Cela devrait largement suffire !

L'électronique présent dans le boîtier de l'anémomètre

L’électronique présent dans le boîtier de l’anémomètre

La consommation est pondérée sur le temps de cette manière : 15% à 200 mA et 85% à 4 mA. Soit une consommation moyenne de 33,4 mA. Afin de recharger ça, j’ai commandé 3 cellules solaires de 0,15 W en 5 V. Ce qui donne une recharge en ensoleillement maximale de 30 mA par cellules. Avec un raccordement des 3 cellules en parallèles, on monte à 90 mA maximum en rechargement. Avec l’ensoleillement moyen en Alsace, je m’attends à une recharge moyenne supérieure à la consommation en 3,3 V du circuit sur la période hivernale. Les 6000 mAh de la batterie feront tampon en cas de « crise d’ensoleillement ».

Avec les cellules solaires en parallèles, les courants d'additionnent.

Avec les cellules solaires en parallèles, les courants d’additionnent.

La charge est assurée par un contrôleur de charge qui adapte la tension de charge à la batterie (env. 4 V) et au montage (3,3 V).

 

Conception 3D

Pour la conception, elle s’effectue sur 3 sous-ensembles principaux : le boîtier, le socle du boîtier et l’axe de rotation munis de coupelles. Ce dernier est muni de 5 sous-ensembles : le disque et l’axe, le hub et les 3 tiges muni de coupelles.

Vue éclatée filée de l'anémomètre connecté

Vue éclatée filée de l’anémomètre connecté

L’axe est couplé avec le socle via un roulement 608ZZ. Le roulement a été passé au WD40 pour lubrifier et diminuer les frottements.

Roulement 608ZZ

Roulement 608ZZ

Je n’avais pas de socle pour batterie, j’ai donc récupéré des languettes de contact pour piles sur un socle existant que j’adapterai à mon boitier. J’y ai prévu des encoches pour pouvoir les insérer.

Rendu final de l'anémomètre sous Fusion360.

Rendu final de l’anémomètre sous Fusion360.

 

J’ai ajouté un espace pour raccorder l’anémomètre à une tige sur le côté du boitier. L’ensemble des fichiers sera disponible sur mon Thingiverse à la sortie de la partie 2 de l’article, la semaine prochaine.

Réalisation de l’anémomètre

Assemblage de l’objet

L’assemblage des pièces s’effectue via des vis M3x5.

Fin d'impression du boîtier avec les supports.

Fin d’impression du boîtier avec les supports.

 

Montage du socle avec l'axe.

Montage du socle avec l’axe.

 

Anémomètre monté.

Anémomètre monté.

L’objet a été imprimé avec du filament ArianePlast Vert Pomme et Orange. Le vert a été imprimé à 210°C et l’orange à 215°C. J’ai eu une bien meilleure finition sur l’orange. Je pense qu’avec le froid de ma cave en ce moment, je vais rester sur du 215°C, ça sera nickel ;-).

Implantation de l’électronique et programmation

J’ai testé l’ensemble des composants. Je suis en plein test de l’ESP8266 dans lequel je vous ferai un retour dans un prochain article dédié !

Montage ESP8266 en mode programmation et tests

Montage ESP8266 en mode programmation et tests

Ici il y a une question importante à se poser : ai-je besoin de programmer un serveur ou un client sur l’ESP8266 ?

  • Un serveur est un programme qui durant toute son exécution reste à l’écoute de requêtes provenant de l’extérieur, de requêtes clients. Lorsque la requête arrive, le serveur effectue l’action adéquate.
    Dans notre cas, si l’ESP reçoit l’instruction « donne-moi la vitesse du vent » par un client, ce dernier donnera la vitesse du vent. Ma mission est alors accomplie, mais un inconvénient de taille s’impose : quand lui faire la demande ? En effet, notre microcontrôleur aura le wifi éteint en veille, car notre objet est voué à vivre de manière autonome et sans fils. Ce n’est pas compatible avec un serveur, car ce dernier doit toujours être allumé !
  • Un client, au contraire, n’est pas à l’écoute de requêtes provenant de l’extérieur. Il effectue de lui-même ses propres requêtes quand il en a besoin. Dans notre cas, cela revient à dire : « S’il y a du vent, j’allume mon wifi et j’envoie l’information de vitesse du vent à mon serveur ».

Vous l’avez bien compris, j’ai commencé à programmer un client sur l’ESP8266. Je le programme directement avec l’IDE Arduino et les librairies ESP8266 associées. Il est aussi possible de programmer en LUA avec NodeMCU et le firmware associé. Ce que je ne fais pas, car NodeMCU consomme de la ressource et de l’énergie (la consommation en deep sleep se situe vers 10mA).

Ce qu’il reste à faire – en route pour la partie 2 !

L’objet n’est pas terminé. Je suis en plein dans la programmation de l’objet et du serveur. Je viens également de recevoir les cellules solaires. Il me reste donc à :
– Monter et souder les cellules solaires,
Programmer l’ESP8266 afin de réaliser des essais,
– Calculer la fonction aérodynamique pour obtenir la vitesse du vent,
Programmer l’ESP8266 avec une stratégie orientée client,
Monter un serveur avec lequel communiquera l’ESP8266. Ce serveur sera sur Raspberry Pi.

L’objectif final est :
Dès que le vent se lève, l’anémomètre tourne un tour. Cela réveille l’ESP8266 qui, via le capteur à effet hall, obtient la vitesse de rotation de l’axe. Au bout de 2 tours d’affilés, l’ESP8266 se connecte au serveur distant et envoi la vitesse du vent. Le serveur enregistre la mesure dans la base de donnée. Chaque point de mesure sera calculé pour chaque tour effectué. La vitesse du vent est envoyée au serveur distant à chaque tour. Lorsque le signal du capteur à effet hall est inactif un certain temps (1 minute), l’ESP8266 se remet en veille.

L’ensemble des points enregistrés dans la base de données pourra être visualisé sur un graphique.

On peut appeler ça le WorkFlow du capteur ! :-P

On peut appeler ça le WorkFlow du capteur ! 😛

 

Que pensez-vous de cette première partie ? N’hésitez pas à commenter et donner votre avis !

Benoît Jellimann.

 

1 Commentaire

  1. Michel R.

    Bonjour,

    super article, on a envie de voir la suite !
    Question bête, que ce passe-t-il si, lorsque la « roue » s’arrête, l’aimant reste juste au dessus du capteur effet hall ?

    Ça doit pouvoir se traiter par soft …

    Bonne continuation!

    Réponse

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Pin It on Pinterest

Shares
Share This