Station météo V2 : le pluviomètre

Station météo V2 : le pluviomètre

Le second élément de mesure de la station sera la mesure des précipitations avec le pluviomètre. Il existe plusieurs techniques :

  • La lecture directe : la pluie tombe dans une sorte de verre gradué, et il suffit de lire la hauteur de liquide régulièrement.
  • À balance : un système mesure le poids de liquide tombé et en calculant la différence régulièrement on déduit les précipitations dans le temps.
  • Optique : la pluie passe à travers un faisceau lumineux et la quantité d’eau est calculée selon les variations optiques.
  • À bascule : une sorte de balançoire tape-cul se rempli et se vide alternativement et chaque bascule correspond à un volume d’eau. C’est cette technique qu’on va utiliser.

Présentation globale

Partie électronique

Le capteur sera une petite ampoule interrupteur REED ou ILS (Interrupteur à Lames Souples) normalement ouvert actionné par un petit aimant positionné sur la bascule. À chaque bascule, lors du passage de l’aimant,  l’interrupteur sera brièvement fermé et une impulsion sera comptée.

Comme pour le capteur de température, l’alimentation électrique se fera avec une petite cellule solaire et avec un super-condensateur de plusieurs Farads. Le microcontrôleur utilisé sera un atmega328p-au, celui qu’on retrouve sur les Arduino nano. Le circuit est donc le même que pour la température.

Partie mécanique

Côté boitier, ça se fera à l’imprimante 3D, imprimé en ASA (Acrylonitrile styrène acrylate) qui est plutôt résistant aux rayonnements UV.

Partie logique

Le datagramme des données transmises.

 

Réalisation

Le circuit

Le schéma est identique au capteur de température. Pour rappel, la partie alimentation est composée d’une cellule solaire, d’un super condensateur (ou plutôt de deux en série, vendu en module déjà préfabriqué), d’une diode Zener pour protéger ce dernier et d’un régulateur de tension de 2.5V qui va alimenter toute la partie logique. Un pont diviseur de tension activable avec deux mosfets permet de mesurer la tension du supercap.
L’atmega328p-au (le P est important, c’est pour PicoPower avec ses modes veille performants) fonctionne avec son horloge interne à 8MHz et donc il n’y a pas de quartz.
Les composants de l’encadré i2c ne sont pas nécessaires ici.

Les détails du circuit sur Oswhlab : https://oshwlab.com/sanglierlab/weather-station-remote-sensor

Schéma du capteur de température

Le firmware

Comme pour le capteur de température, il est fait sous PlatformIO (mais peut facilement être adapté pour être compilé sous Arduino IDE avec le package MCUdude/MiniCore). Pour rester dans les spécifications de l’Atmega concernant la fréquence CPU et la tension d’alimentation, il fonctionne à 4MHz avec l’oscillateur interne, donc attention de choisir le bootloader correspondant.

Il est pour l’utilisateur d’un NRF24, pour l’utiliser en LoRa il sera nécessaire de le modifier selon la librairie LoRa choisie.

L’EEPROM d’un atmega328p neuf est remplie de 0xFF. Il conviendra de l’initialiser au préalable avec 0x00 partout. Afin de limiter les cycles d’écriture sur la même zone mémoire, le firmware utilise un buffer circulaire pour écrire dans toute l’EEPROM. A chaque bascule, le compteur est incrémenté, puis toutes les 5min environ la valeur est sauvegardée et transmise par radio.

Télécharger le code source du firmware : RainGaugeFirmware

Le boîtier entonnoir

Les fichiers STL sont disponibles sur Printable : https://www.printables.com/model/1173424-stevenson-screen-v2-for-temperature-sensor ou à télécharger en zip : RainGaugeHardware

Les joints sont à imprimer en FLEX / TPU.
Funnel.stl est à imprimer à l’envers (le haut de l’entonnoir côté plateau), attention à bien faire une rotation sur l’axe X ou Y et non pas un miroir en Z, sinon le filetage ne fonctionnera pas pour se visser sur la base !

Le boîtier est réalisé avec OpenScad, il faudra y ajouter :

  • Une tige en alu ou en inox de 30mm de long et 3mm de diamètre
  • Un interrupteur REED (ou ILS) de 1.8x7mm
  • Un aimant néodyme de 4mm de diamètre et 2mm d’épaisseur
  • Du silicone en tube pour l’étanchéité du capteur et de la cellule solaire (style kafuter, ou pour les joints de cuisine)
  • De la colle forte pour coller l’aimant au godet.
  • 4 aimants néodyme de 20mm de diamètre, 5mm d’épaisseur, et un trou de 5mm au centre. Ça dépend quel sera le support du pluviomètre, le mien sera fixé sur une couvertine métallique donc une base magnétique est idéale.

Quelques vis :

  • 2x M4x16 (Extension arm sur la base)
  • 4x M4x25 (Les pieds sur la base)
  • 4x M3x20  Sensor box cover
  • 4x M2.5×10  Bucket holders
  • 5x M3x6    Solar cell, sensor and sma holder
  • 4x M2.5×5 (Circuit dans le boîtier)
  • 4x M4x10 à tête fraisée (aimants sous les pieds)

Le boitier interne et le capteur

Autre matériel utilisé :

  • Connecteur JST-XH 2 fils pour la cellule solaire et l’interrupteur magnétique
  • Câble ipex/sma pour l’antenne
  • Antenne 2.4GHz (mais on peut utiliser aussi l’antenne PCB du module NRF24 selon la portée)
  • Mini panneau solaire 30mA/5V de 53x30mm.

Le module sur lequel se trouve le capteur est étanchéifié avec du silicone. Sur mon ancien projet de pluviomètre, les fils avaient fini par s’oxyder.

Zoom sur le godet à bascule avec son axe et l’aimant

 

Calibration

En déversant un volume d’eau  connu à l’avance, j’obtiens une bascule pour 1.15mL d’eau. Le diamètre de l’entonnoir faisant 16cm, cela donne 0.057mm de pluie à chaque bascule. Ça peut varier selon le filament utilisé et l’impression du godet.

One thought on “Station météo V2 : le pluviomètre

Laisser un commentaire

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