まこと の ブログ

MaKoTo no burogu — Journal de bord…

Aller au contenu | Aller au menu | Aller à la recherche

Mot-clé - NodeMCU

Fil des billets - Fil des commentaires

samedi, 28 décembre 2019

Un Anémomètre Radio Multifonction -4-

Edition du 23 Fevrier 2020, code Arduino et esp8266 mis à jour.
Suite des études précédentes : Anémomètre et Monitoring.

À ce stade, vu tous mes bidules radio, il serait légitime de se demander pourquoi avoir 2 ou 3 appareils différents (l'un pour surveiller le vent, un pour la rotation de l'éolienne et un autre pour la charge de la batterie).
En fait lors du développement il est naturel d'avancer par étape en ajoutant peu à peu des fonctions, cette suite de billet n'en est finalement que le reflet.

Il est maintenant temps de fusionner tout ça !

  • Cette fois donc, l'appareil sera chargé de récupérer les 4 informations que sont la vitesse du vent, la rotation de l'éolienne, l'énergie produite par la génératrice, et l'état de charge de la batterie; afin de les transmettre à des afficheurs et à une base de donnée pour être tracé.

La partie émetteur :

  • J'ai donc câblé un nouveau circuit :


Matériel requis :

- 1 Arduino Pro Mini 5V.
- Un ordi avec port USB et le soft Arduino IDE.
- 1 plaquette HC-12 et son antenne.
- 1 diode 1N4007.
- 2 résistances 10kΩ.
- 1 Capteur à effet Hall US1881 (anémo).
- 1 Capteur à effet Hall 3144 (éolienne).
- 1 Régulateur Négatif 9V L7909CV.
- 1 condensateur électrochimique polarisé de 220µF.
- 1 condensateur électrochimique polarisé de 2,2µF.
- 1 condensateur électrochimique polarisé de 1µF.
- 1 module ACS712 (20A) (Attention cependant !! > Je sais que mon générateur ne dépassera pas 5A, à moins d'une tempête de vent de fin du monde…).

Principe de fonctionnement :
- À intervalle régulier, l'Arduino va envoyer les valeurs lues sur les entrées analogiques A0 et A1, sur le port série du HC-12.
- A0 pour mesurer la valeur de la tension aux bornes de la batterie ( On a fabriqué un voltmètre très précis câblé en parallèle ).
- A1 pour mesurer le courant sortant du générateur ( Un Ampèremètre câblé en série ).
- Dés que le vent fera tourner l'anémomètre, l'interruption déclenche l'envoie des valeurs lues sur l'entrée numérique 2 (int0).
- Dés que le vent fera tourner l'éolienne, l'interruption déclenche l'envoie des valeurs lues sur l'entrée numérique 3 (int1).

Lire la suite...

vendredi, 27 décembre 2019

Surveiller l'état et la charge d'une batterie 12 Volts

  • Monitorer la vitesse du vent et la rotation de l'éolienne, c'est fait !!

Cependant quid de l'état de la batterie ?
Combien d'énergie la génératrice produit-elle ?
Cela est-il suffisant pour recharger la batterie ?

J'avais acheté un appareil pour mesurer ça en local, mais en définitive je ne m'en sert pas… Pas utile à moins d'aller au fond du jardin pour le consulter…

  • J'ai donc entrepris de construire un nouvel appareil de mesure, sur la même idée que l'Anémomètre Radio (Arduino + HC-12), avec transmission des données pour statistiques sur Grafana via InfluxDB (NodeMCU).

Attention cependant, Si on souhaite faire fonctionner l'Anémomètre et le Monitoring en même temps, il faudra prendre soin de différencier les canaux de fonctionnement des modules HC-12 (Voir la section Setup de chaque programmes)

Le monitoring Batterie, partie émetteur :

J'ai donc câblé un nouveau circuit :

dsc04270.jpg Matériel requis :

- 1 Arduino Pro Mini 5V.
- Un ordi avec port USB et le soft Arduino IDE.
- 1 plaquette HC-12 et son antenne.
- 1 diode 1N4007.
- 1 Régulateur Négatif 9V L7909CV.
- 1 condensateur électrochimique polarisé de 220µF.
- 1 condensateur électrochimique polarisé de 2,2µF.
- 1 condensateur électrochimique polarisé de 1µF.
- 1 module ACS712 (20A) (Attention cependant !! > Je sais que mon générateur ne dépassera pas 5A, à moins d'une tempête de vent de fin du monde…).

dsc04272.jpg dsc04273.jpg

Principe de fonctionnement :
- À intervalle régulier, l'Arduino va envoyer les valeurs lues sur les entrées analogiques A0 et A1, sur le port série du HC-12.
- A0 pour mesurer la valeur de la tension aux bornes de la batterie ( On a fabriqué un voltmètre très précis câblé en parallèle ).
- A1 pour mesurer le courant sortant du générateur ( Un Ampèremètre câblé en série ).

Lire la suite...

vendredi, 30 août 2019

Un anémomètre WiFi -3- … ha bah non, Radio !

Suite de l'étude précédente :

Retour sur l'usage de l'anémomètre à base de NodeMCUv3 LoLin (puce ESP8266).
Après quelques mois d'utilisation que peut-on conclure ?
Et bien il fonctionne bien, mais… Il présente plusieurs défauts :

- Problème de portée, de temps en temps on perd la connexion avec le routeur WiFi.
- Je n'ai pas beaucoup creusé, mais à priori le code que j'ai écrit finit par planter.
- Il consomme beaucoup d'énergie si on envisage de rendre son alimentation autonome (batterie).
- Une seule connexion est possible. C'est à dire que c'est soit le module récepteur qui affiche les données, soit la page web avec le manomètre.
- J'aurais voulu « grapher » des statistiques, et je me voyais embarqué dans du développement complexe et laborieux pour mes maigres compétences.

Sur une suggestion de Chrismart, j'ai donc décidé de revoir le projet dans une version plus fiable et proche de mes attentes.

Fonctionnalités revues et corrigées :

- Exit l'ESP8266 pour la transmission de data, ça va se passer en Radio 433Mhz grâce à un module HC-12 afin de gagner en portée.
- Sans le WiFi qui réclamait une connexion permanente, on va pouvoir mettre les appareils en économie d'énergie lorsqu’il n'y a pas de vent.
- La réception des data, va donc aussi se passer en Radio, pour se voir affichée sur le module d'affichage client avec un rafraîchissement temps réel.
- Dans le boîtier Client, on garde l'ESP8266, qui sera chargé d'envoyer les data à un serveur Web afin de « grapher » des statistiques à l'aide d'une BDD InfluxDB et du grapheur Grafana.
- Ce qui ne change pas, c'est la partie mécanique, vue dans le premier billet.

Anemo_synoptic.svg.png
Nous allons voir tout ça étape par étape.

L'anémomètre, partie émetteur :

J'ai donc câblé un nouveau circuit :
Anemometre02.png
20190802_211343.jpg Matériel requis :

- 1 Arduino Pro Mini 5V.
- 1 plaquette HC-12 et son antenne.
- 1 condensateur électrochimique polarisé de 220µF.
- 1 diode 1N4007.
- 1 résistance 10kΩ.
- 1 Capteur à effet Hall US1881.
- Un ordi avec port USB et le soft Arduino IDE.

Pour permettre au montage de s'intégrer en lieu et place du NodeMCUv3 LoLin , j'ai tout fixé sur un morceau d'époxy.

Lire la suite...

samedi, 5 janvier 2019

Un anémomètre WiFi -2-

Suite de l'étude précédente :

  • Avoir un affichage sur le web c'est bien…

Une petite vidéo :

  • Mais un module d'affichage physique c'est quand même plus pratique !

Une petite vidéo :

  • Une seconde démo en vidéo, avec le programme de l'anémomètre revu et corrigé. Le rafraîchissement des valeurs se fait toutes les demi-secondes :
  • J'ai donc passé quelques jours à concevoir ce boîtier client qui fonctionne à base lui aussi d'un NodeMCU connecté au réseau WiFi de la maison, et qui récupère les infos de vitesse transmise par l'anémomètre.

Principe :

Ce client se connecte à l'anémomètre et récupère le fichier JSON ( http://192.168.0.34:8080/mesures.json) afin de le parser toutes les secondes, reste alors à afficher l'information.

Ce sont donc des vieux afficheurs matriciel DLG7137 qui vont faire le travail.
Pour chaque afficheurs il aurait fallu employer un registre à décalage, afin de pouvoir adresser les données à afficher sur chaque matrices, comme cela à été fait sur le WebRadioReveilWiFi, mais ne disposant pas de suffisamment de 74HC595, j'ai dû procéder autrement.
Les DLG7137 disposent en effet d'une pin Write (WR/) qui n'autorise l'affichage de la donnée qu'au moment où elle passe à l'état bas.
Du coup en reliant tous les afficheurs entre eux et en faisant circuler l'information, il restait au programme de valider la pin Write du bon afficheur au bon moment pour afficher le caractère attendu sur chacun des afficheurs.
Et comme le NodeMCU ne dispose pas de suffisamment de papattes pour pouvoir brancher les 12 pins Write des 12 afficheurs, j'ai donné ce travail à faire à deux registres 74HC595, permettant ainsi d'adresser 16 pins Write.

ClientAfficheur_bb.png
Note : J'ai oublié de câbler les deux condensateurs de découplage utiles aux registres 74HC595 !!
Ne les oubliez-pas ! (100nF directement entres les pattes d'alimentation 8 et 16)

Lire la suite...

- page 1 de 2