Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Les stations météo IoT (Internet des objets) disponibles dans le commerce sont chères et ne sont pas disponibles partout (comme en Afrique du Sud). Des conditions météorologiques extrêmes nous frappent. L'Afrique du Sud connaît la sécheresse la plus dure depuis des décennies, la terre se réchauffe et les agriculteurs luttent pour produire de manière rentable, sans aucun soutien technique ou financier du gouvernement pour les agriculteurs commerciaux.
Il existe quelques stations météorologiques Raspberry Pi, comme celle que la Fondation Raspberry Pi construit pour les écoles britanniques, mais elle n'est pas disponible pour le grand public. Il existe de nombreux capteurs adaptés, certains analogiques, certains numériques, certains à semi-conducteurs, certains avec des pièces mobiles et certains capteurs très coûteux comme les anémomètres à ultrasons (vitesse et direction du vent)
J'ai décidé que la construction d'une station météo open source et open source, avec des pièces disponibles en général en Afrique du Sud, pourrait être un projet très utile et j'aurai beaucoup de plaisir (et des maux de tête difficiles).
J'ai décidé de commencer avec un pluviomètre à semi-conducteurs (pas de pièces mobiles). Le seau basculant traditionnel ne m'a pas impressionné à ce stade (même si je n'en avais jamais utilisé à l'époque). Alors, pensai-je, la pluie c'est de l'eau et l'eau conduit l'électricité. Il existe de nombreux capteurs résistifs analogiques où la résistance diminue lorsque le capteur entre en contact avec de l'eau. Je pensais que ce serait une solution parfaite. Malheureusement, ces capteurs souffrent de toutes sortes d'anomalies comme l'électrolyse et la désoxydation et les lectures de ces capteurs n'étaient pas fiables. J'ai même construit mes propres sondes en acier inoxydable et un petit circuit imprimé avec des relais pour créer un courant continu alternatif (5 volts constants, mais en alternant les pôles positifs et négatifs) pour éliminer l'électrolyse, mais les lectures étaient toujours instables.
Mon dernier choix est le capteur de sons à ultrasons. Ce capteur connecté au sommet de la jauge, peut mesurer la distance au niveau de l'eau. À ma grande surprise, ces capteurs étaient très précis et très bon marché (Moins de 50 ZAR ou 4 USD)
Étape 1: Pièces nécessaires (Étape 1)
Vous aurez besoin des éléments suivants
1) 1 Raspberry Pi (N'importe quel modèle, j'utilise un Pi 3)
2) 1 bord de pain
3) Quelques câbles de démarrage
4) Une résistance d'un Ohms et une résistance de deux (ou 2.2) Ohms
5) Une vieille tasse longue pour stocker la pluie. J'ai imprimé le mien (copie électronique disponible)
6) Une ancienne pièce de capture de pluviomètre manuel (ou vous pouvez concevoir la vôtre et l'imprimer)
7) Équipement de mesure pour mesurer les millilitres ou une balance pour peser l'eau
8) Le capteur à ultrasons HC-SR04 (les Sud-Africains peuvent les obtenir de Communica)
Étape 2: Construire votre circuit (Étape 2)
J'ai trouvé un guide très utile pour m'aider à construire le circuit et à écrire les scripts python pour ce projet. Ce script calcule les distances et vous l'utiliserez pour calculer la distance entre le capteur monté en haut de votre réservoir de jauge et le niveau d'eau
Vous pouvez le trouver ici:
www.modmypi.com/blog/hc-sr04-ultrasonic-range-sensor-on-the-raspberry-pi
Étudiez-le, construisez votre circuit, connectez-le à votre pi et jouez avec le code python. Assurez-vous de construire le diviseur de tension correctement. J'ai utilisé une résistance de 2,2 ohms entre GPIO 24 et GND.
Étape 3: Construisez votre jauge (Étape 3)
Vous pouvez imprimer votre jauge, utiliser une jauge ou une tasse existante. Le capteur HC-SR04 sera fixé au sommet du réservoir principal de votre jauge. Il est important de s'assurer qu'il restera sec en tout temps.
Il est important de comprendre l'angle de mesure de votre capteur HC-SR04. Vous ne pouvez pas l'attacher au sommet d'un cône de pluviomètres traditionnels. Une tasse cylindrique normale fera l'affaire. Assurez-vous qu'il est suffisamment large pour qu'une onde sonore appropriée descende vers le bas. Je pense qu'un tuyau en PVC de 75 x 300 mm fera l'affaire. Pour tester si le signal traverse votre cylindre et rebondit correctement, mesurez la distance entre la censure et le bas de votre cylindre avec une règle, comparez cette mesure avec la distance que vous obtenez du capteur TOF (temps de vol) distance estimée vers le bas.
Étape 4: calculs et étalonnage (étape 4)
Que signifie 1 millimètre de pluie ? Un mm de pluie signifie que si vous aviez un cube de 1000 mm X 1000 mm X 1000 mm ou 1 m X 1 m X 1 m, le cube aura une profondeur de 1 mm d'eau de pluie si vous le laissez dehors quand il pleut. Si vous videz cette pluie dans une bouteille de 1 litre, elle remplira la bouteille à 100% et l'eau mesurera également 1kg. Différents pluviomètres ont des bassins versants différents. Si votre zone de chalandise de votre jauge était de 1m X 1m c'est facile.
Aussi, 1 gramme d'eau est classique 1 ml
Pour calculer vos précipitations en mm à partir de votre jauge, vous pouvez procéder comme suit après avoir pondéré l'eau de pluie:
W est le poids des précipitations en grammes ou en millilitres
A est votre zone de chalandise en mm carré
R est votre pluviométrie totale en mm
R = L x [(1000 x 1000)/A]
Il existe deux possibilités d'utiliser le HC-SR04 pour estimer W (vous avez besoin de W pour calculer R).
Méthode 1: Utiliser la physique simple
Mesurez la distance entre le HC-SR et le bas de votre jauge (vous le faisiez également dans une étape précédente) avec le capteur en utilisant les calculs TOF (Time of Flight) dans le script python de https://www.modmypi. com/blog/hc-sr04-ultrasonic-range-sensor-on-the-raspberry-pi Appelez ce CD (profondeur du cylindre)
Mesurez la surface du fond intérieur de votre cylindre avec tout ce qui convient en mm carré. Appelez ça IA.
Maintenant, jetez 2 ml d'eau (ou toute quantité appropriée) dans votre cylindre. À l'aide de notre capteur, estimez la distance jusqu'au nouveau niveau d'eau en mm, Cal this Dist_To_Water).
La profondeur d'eau (WD) en mm est:
WD=CD - Dist_To_Water (ou la profondeur du cylindre moins la distance entre la censure et le niveau de l'eau)
Non, le poids estimé de l'eau est
W=WD x IA en ml ou en grammes (Rappelez-vous que 1 ml d'eau pèse 1 gramme)
Vous pouvez maintenant estimer les précipitations (R) en mm avec W x [(1000 x 1000)/A] comme expliqué précédemment.
Méthode 2: Calibrez votre compteur avec des statistiques
Étant donné que le HC-SR04 n'est pas parfait (des erreurs peuvent survenir), il semble qu'il soit au moins constant de mesurer si votre cylindre convient.
Construisez un modèle linéaire avec les lectures des capteurs (ou les distances des capteurs) comme variable dépendante et les poids d'eau injectés comme variable dépendante.
Étape 5: Logiciel (Étape 5)
Le logiciel pour ce projet est encore en développement.
Les scripts python sur https://www.modmypi.com/blog/hc-sr04-ultrasonic-range-sensor-on-the-raspberry-pi devraient être utilisables.
Attachez quelques applications python utiles (General Public License) développées par moi-même.
Je prévois de développer une interface web pour la station météo complète plus tard. Attach est certains de mes programmes utilisés pour calibrer le compteur et faire des lectures de capteur
Utilisez le script d'étalonnage joint pour étalonner la jauge statistiquement. Importez les données dans une feuille de calcul à analyser.
Étape 6: Reste à faire (Étape 6)
Une électrovanne est nécessaire pour vider le réservoir lorsqu'il est plein (Proche du capteur)
Les premières gouttes de pluie ne sont pas toujours mesurées correctement, surtout si la jauge n'est pas correctement nivelée. Je suis en train de développer un disdromètre pour capturer correctement ces gouttes. Le disdro mon avenir ensuite.
Ajoutez un deuxième capteur à ultrasons pour mesurer l'effet de la température sur le TOF. Je posterai bientôt une mise à jour à ce sujet.
J'ai trouvé la ressource suivante qui peut aider
www.researchgate.net/profile/Zheng_Guilin3/publication/258745832_An_Innovative_Principle_in_Self-Calibration_by_Dual_Ultrasonic_Sensor_and_Application_in_Rain_Gauge/links/540d53e00cf2f2b29a-38392b/An-Application-Innovual-Ca-Son-Application-Innovative-Ul-Sensor Pluviomètre.pdf