Objectif
Réalisation d’une station météo équipée d’un pluviomètre, d’une sonde température et humidité ainsi que d’un dispositif de mesure de la qualité de l’air. Les données recueillies sont envoyées en http à un serveur Domoticz.
Le montage est réalisé avec deux platines PCB. J’utilise une platine d’alimentation déjà éprouvée dans un projet précédent.
Description du module
- L’ensemble des fichiers du projet (programmes Arduino, schémas EsayEDA et fichiers de réalisation des platines PCB) sont téléchargeables ici.
- Le cœur du système est constitué d’un contrôleur Wemos mini D1 pro. Il s’occupe de la lecture des capteurs et de la communication au travers de son interface Wifi et d’internet.
- Un timer TPL5110 rythme l’activité du montage. Lorsqu’il est actif il alimente les composants du montage. En mode actif le contrôleur Wemos est mis sous tension et son programme démarre. Ce programme lit les périphériques et en fonction des résultats effectue des actions. En fin de programme il donne une impulsion par D3 au port D0 du circuit TPL5110 qui se met en veille. La résistance R1 donne la durée veille du timer et donc la durée ou le montage est hors tension.
- Un filtre constitué d’un inverseur et d’un condensateur connecté entre le port D3 du Wemos et le port D0 du timer permet d’éviter des impulsions parasites au démarrage du Wemos.
- Ce filtre est nécessaire car au démarrage du Wemos les GPIO passent par l’état LOW avant de pouvoir être contrôlés par le programme. Sans le filtre RC le circuit TPL5110 passerait à nouveau en état de veille sans que le programme du Wemos puisse se dérouler.
- La durée d’inactivité du timer est fixée par la résistance R1 (La valeur de 94k correspond à un état de veille d’environ 32 minutes. Il faudra déconnecter la résistance interne du circuit TPL5110).
Particularités du montage
·
Consommation électrique
· Ce montage se caractérise par sa faible consommation électrique. Durant l’état de veille la consommation est de 20µA.
· En mode actif la consommation passe à 130mA pour quelques secondes.
· Pluviométrie
· La partie pluviométrique est basée sur deux godets qui se remplissent avec l’eau de pluie à tour de rôle. Lorsqu’un godet est rempli il bascule pour se vider. Ceci déclenche une impulsion qui est transmise à un circuit compteur CD4040. Ce circuit est alimenté en permanence et ne consomme que très peu de courant. Toutes les 30 minutes le circuit Wemos relève le compteur grâce au circuit PCF8574 (convertisseur parallèle-série). Le compteur est remis à zéro en fin de journée.
· Température/Humidité
· J’utilise deux capteurs DHT22. L’un ayant la charge de mesurer la température extérieure et l’autre la température interne du boîtier. Cette dernière me permet de surveiller, par curiosité, la température du boîtier. Les capteurs DHT22 sont plus précis que les capteurs DHT11 et fonctionnent avec les températures négatives.
Alimentation électrique
L’alimentation est assurée par une batterie 16850, un circuit de recharge solaire et d’un convertisseur DC-DC qui fournit une tension stable de 5V (indispensable pour assurer la stabilité du circuit Wemos !).
Afin de surveiller le niveau de la batterie on utilise un circuit LM10. C’est un amplificateur disposant d’une tension de référence interne de 0,2V.
Un pont diviseur (R2, R3, RP1) fournit une tension qui est comparée à cette tension de référence. Le pont diviseur fournit 0,2V lorsque la tension de la batterie atteint 3,5V. Dès que la tension de la batterie est inférieure à 3,5V la sortie du circuit bascule de 0 à 5V. Le potentiomètre RP1 permet d’ajuster la tension seuil à 3,5V.
La mesure du niveau de la batterie est pilotée par un optocoupleur qui connecte le circuit à la batterie. De même un optocoupleur transmet l’état de la batterie.
Par ce principe on découple électriquement la batterie du circuit à alimenter afin de réduire la consommation électrique.
Le panneau solaire avec son interface de rechargement alimente la batterie.
Programmes
Le programme Arduino se base sur les bibliothèques «SdS011», «ESP8266WiFi.h», « DHT.h », «ESP8266HTTPClient.h», «arduino.h» et «PCF8574.h»
L’application se compose de deux fichiers : le programme principal, et dans un souci de clarté, un fichier regroupant les fonctions Wifi et traitement des données. Je me suis inspiré des exemples fournis avec les bibliothèques.
Dans le programme principal la partie déclarative regroupe les appels de bibliothèques et les variables. En particulier les URL destinées à Domoticz.
La partie setup est simple. Elle initialise les périphériques et démarre la connexion Wifi. Les premières transmissions avec Domoticz concernent la puissance du signal WiFi ainsi que le temps pour se connecter.
La partie « loop » traite séquentiellement les capteurs et envoie pour chacun d’eux la valeur en http au serveur Domoticz. Un appel au serveur « worldtimeapi.org » permet de connaître l’heure afin de pouvoir réinitialiser le compteur CD4040 en fin de journée.
En fin de programme le port D3 passe à LOW. Ainsi le port D0 du circuit TPL5110 passe à HIGH qui coupe le courant pour 30 minutes.
Domoticz
Les informations recueillies sont envoyées à un serveur Domoticz situé à un autre lieu que la station météo. Le réseau internet est utilisé pour véhiculer les informations vers le site hébergent Domoticz.
Le paramétrage de Domoticz est simple et visible sur les copies d’écrans. A part les relevés de température on utilise des « dummy devices/ virtual sensor creation/ custom sensor
» pour la réception des données.
Il est possible d’utiliser d’autres serveurs de domotique en adaptant les URL.virtual sensor creation
Conclusion
Dans ce projet j’ai conçu les schémas avec le logiciel EasyEDA et la génération des fichiers PCB ainsi que le site jlcpcb.com pour la fabrication des PCB. La fabrication est peu onéreuse. Pour rentabiliser le coût du transport j’ai effectué une commande groupée de différents PCB. Le résultat est de très bonne qualité et le délai de livraison rapide (10 jours). Les fichiers PCB sont à votre disposition pour une éventuelle commande.
J’ai déjà publié une réalisation de station météo. Cette dernière me semble la plus aboutie.
Une modification a été ajoutée au montage (comme indiqué sur l’image plus haut). Il s’agit d’un bouton reset pour le compteur CD4040 (entre le +5 et la pin reset). A la mise sous tension initiale (changement de batterie ou modification du programme) il faut mettre le compteur à zéro car à la mise sous tension il prend une valeur aléatoire.
Si cela peut vous donner des idées j’en serais ravi. « Enjoy it ».
Laisser un commentaire