Station Météo avec Arduino Méga 2560

Et là comme son nom l’indique un forum pour dire quelque chose qui ne rentre pas dans un des différents forums ci-dessus, réclamer, critiquer, améliorer, parler quoi !
Répondre
henri leopold
Participation 0
Participation 0
Messages : 10
Enregistré le : 21 juil. 2010, 10:10

Station Météo avec Arduino Méga 2560

Message par henri leopold » 27 juil. 2011, 14:36

Je ne sais pas si c'est le bon endroit pour poster cette fiche. Mais je souhaitais vous présenter ma station météo personnelle.

La station se situe à Ennery (57365) dans la Moselle, région Lorraine.
Longitude: 6° 13' 00'' Est
Latitude: 49° 13' 24'' Nord
Altitude: 170 mètres au-dessus du niveau de la mer.

La station météo
C’est une station météo personnelle. Je l'ai conçue et réalisée à partir d'un microcontroleur Arduino Méga 2560.

Au départ
Je souhaitai mesurer le rayonnement solaire. Mais la station WS2350 est limitée : on ne peut pas lui adjoindre d'autres capteurs. Je ne voulais pas investir dans une vantage pro en raison de son coût. Après de longues recherches sur les forums et de nombreux essais, ne trouvant pas de réponses entièrement satisfaisantes, j'ai décidé de me lancer dans un projet de construction d'une station météo perso. Actuellement, ma station météo perso enregistre, minute par minute :
- le rayonnement solaire, la durée de l'ensoleillement (ciel limpide, voilé, laiteux ou couvert),
- la direction, la vitesse et les rafales du vent,
- la pression.
- la température extérieure sous abri
- l'humidité extérieure sous abri
- les précipitations

Les capteurs
Les capteurs sont situés à environ 8,50 m du sol à l’extrémité nord-est du toit de la maison. Le mât dépasse le toit d’environ 1,50 m. Le câble blindé (4 paires trosadées cat5), servant à relier <http://www.station-meteo.com/anemometre/>es capteurs du mât jusqu'à l'Arduino Méga 2560 (installé dans mon bureau), est logé dans une gaine qui passe sous le toit.

Sonde solaire : RG100
Tout a commencé avec elle. Sur les conseils d'un amateur météo, je me suis tourné vers la sonde solaire RG100 de la société Solems. Le détecteur RG 100 est une sonde simple et robuste qui mesure le rayonnement lumineux dans la gamme 400-1100nm. Ce domaine correspond à la majeure partie du rayonnement solaire. Il est donc adapté à des mesures de rayonnement solaire naturel en extérieur, sous tous les climats.

AUCUNE alimentation externe n’est requise pour le faire fonctionner. Le signal en voltage continu qu’il délivre est directement proportionnel au rayonnement solaire en W/m², en extérieur, dans les conditions de spectre AM 1.5, et 25°C de température ambiante. Le niveau du signal du RG 100 dans ces conditions est de : 100mV = 1000 W/m² (sensibilité : 1mV)

Le capteur du détecteur RG 100 est une cellule photovoltaïque au silicium polycristallin implantée dans un boîtier PMMA (plexiglas) et noyée dans la résine polyuréthane avec une résistance de charge stable en température qui convertit le courant de court-circuit de la cellule en voltage DC. La tension analogique de cette sonde solaire est lue, après amplification, par un Arduino Méga, sur la broche analogique 0. Cette broche analogique est un convertisseur ADC de 10 bits; la tension de référence peut être choisie: 5v, 2,56v ou 1,1v. J'ai retenu pour la sonde la tension de référence 1,1v et, moyennant une amplification, elle permet de mesurer le rayonnement solaire de 0 à 1400W/m².

Carte Arduino Méga
La carte Arduino Mega 2560 est une carte à microcontrôleur basée sur un ATmega2560.
Cette carte dispose :
- de 54 (!) broches numériques d'entrées/sorties (dont 14 peuvent être utilisées en sorties PWM (largeur d'impulsion modulée)),
- de 16 entrées analogiques (qui peuvent également être utilisées en broches entrées/sorties numériques),
- de 4 UART (port série matériel),
- d'un quartz 16Mhz,
- d'une connexion USB,
- d'un connecteur d'alimentation jack,
- d'un connecteur ICSP (programmation "in-circuit"),
- et d'un bouton de réinitialisation (reset).
Elle contient tout ce qui est nécessaire pour le fonctionnement du microcontrôleur; Pour pouvoir l'utiliser et se lancer, il suffit simplement de la connecter à un ordinateur à l'aide d'un câble USB (ou de l'alimenter avec un adaptateur secteur ou une pile, mais ceci n'est pas indispensable, l'alimentation étant fournie par le port USB).

Programme EnneryMeteo v4
Maintenant il fallait apprendre à programmer la carte Arduino Méga. Pas à pas, amélioration après amélioration, le programme fonctionne correctement. Mon correspondant météo m'a beaucoup aidé par ses questions, ses demandes et les tests qu'il effectuait avec les différentes versions que je lui envoyées. Le programme EnneryMeteo v4 lit, 10 fois par minute, la tension analogique de la sonde RG100 et en fait la moyenne. Il calcule le rayonnement solaire théorique sur un plan horizontal à la surface de la terre, en fonction de latitude du lieu, du jour de l'année, de l'heure du jour et de l'état du ciel (ensoleillé, voilé, laiteux ou couvert). Puis il compare ces données théoriques aux mesures réelles de rayonnement solaire et calcule la durée de ciel ensoleillé, voilé, laiteux ou couvert.

Girouette
Le forum Arduino est très riche en exemples. J'y ai trouvé une expérience pour gérer une girouette avec un circuit intégré MLX90316. MLX9031 est un capteur de position rotatif de 360°, sans point mort. Il remplace un potentiomètre ou un encodeur. Sa résolution est 1/10 de degré. La rotation d'un petit aimant,placé au-dessus du capteur, induit un champ magnétique. MLX90316 mesure la direction de ce champ magnétique. Selon le modèle, la sortie peut être une tension analogique ou une valeur numérique.

Le programme EnneryMeteo v4 lit, 10 fois par minute, la tension analogique de la girouette et en fait la moyenne (calcul vectoriel) : c'est la direction moyenne du vent pendant 1mn.

Anémomètre
Le capteur de l'anémomètre est une ILS. Arduino Méga compte pendant 3s les impulsions de l'ILS. Pendant 1mn, le programme EnneryMeteo v4 totalise 10 échantillons de 3s. Il compare ces 10 échantillons pour en déduire la vitesse la plus élevée pendant cette minute : c'est ce qu'on appelle la rafale. Puis il fait la moyenne de ces 10 échantillons et c'est le vent moyen sur 1mn.

Pression

Le capteur de pression atmosphérique est un MPX5100AP avec une sortie analogique. Le programme EnneryMeteo v4, pendant 1mn, totalise 10 échantillons. Il en fait la moyenne.

Température, humidité et point de rosée (Dewpoint)

Le capteur de température et d'humidité est un SHT15 avec une sortie numérique. Le programme EnneryMeteo v4, pendant 1mn, totalise 10 échantillons. Il en fait la moyenne de la température actuelle et de l'humidité actuelle. Il calcule le point de rosée, la température et l'humidité minimale et maximale de la journée en cours.

Précipitations
Les précipitations sont mesurées par un pluviomètre à basculement d'augets. Chaque basculement provoque la fermeture d'un ILS qui est enregistré par une sonde DS2423. Le programme EnneryMeteo v4 calcule la quantité de pluie tombée en 1mn, 1h et 24h.

Utilisation
Après ces différentes lectures et calculs, chaque minute, le programme EnneryMeteo v4 sauvegarde les données dans un fichier journalier (format csv) sur une carte SD, les transfère vers le PC, par une connexion USB, dans un autre fichier (format csv) pour être traitées par WsWin et GraphWeather. Ensuite les fichiers html et les graphiques sont transférés par Watchdog sur mon site internet.

Amicalement
Henri
site : http://www.hc-creation.fr/meteo

Avatar du membre
cirrus
Participation 4
Participation 4
Messages : 604
Enregistré le : 09 mars 2008, 17:26
Localisation : 82400 Valence d'Agen, a 60km de Montauban, et 25 km d'Agen, limite Nouvelle Aquitaine et Occitani
Contact :

Re: Station Météo avec Arduino Méga 2560

Message par cirrus » 27 juil. 2011, 16:23

Bonjour Henry,

Félicitations pour la realisation de cette nouvelles station, qui a du vous prendre énormement de temps, de patience, et de savoir.

Je désirerai si vous le voulez bien avoir quelques photos de cette derniere.
En souhaitant que vous arriviez a la commercialisée
D'après ce que j'ai vu sur votre site elle fonctionne avec wswin c'est super.

henri leopold
Participation 0
Participation 0
Messages : 10
Enregistré le : 21 juil. 2010, 10:10

Re: Station Météo avec Arduino Méga 2560

Message par henri leopold » 27 juil. 2011, 19:02

Bonjour, Cirrus,

C'est vrai que la réalisation de ma station m'a pris mal de temps. J'ai dû réapprendre beaucoup de choses. Mais c'est passionnant. Mais surtout aujourd'hui j'ai une station à laquelle je peux rajouter d'autres sondes, il suffit d'ajouter quelques lignes de codes. Mais programmer Arduino est facile.

Ci-joint quelques photos de ma station. J'ai bien entendu réutilisé d'anciennes girouette-anémomètre WS2350 qui étaient tombées en panne.Mais je n'en ai utilisé que les boites.

Je n'ai pas de photo de l'arduino. On en trouve sur le site Arduino.
Le fichier météo.csv est envoyé au PC par le logiciel EnneryMeteo_04. WsWin le récupère en suivi de fichier, le convertit en fichier WD_07_11.dat (par exemple), réalise les graphiques, tableaux et pages html qui sont envoyés vers mon site internet. WsWin s'utilise comme s'il s'agissait d'une Vantage et WS2350.

Amicalement
Henri
Fichiers joints
rg100_2.jpg
hygro2.jpg
girouette2.jpg

Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

Re: Station Météo avec Arduino Méga 2560

Message par Tudgur » 31 juil. 2011, 07:54

bonjour,

Un tout petit article concernant l'Arduino, p35 du dernier numéro Hors-Série de l'OI-SVM de juillet/aout...
Henri, pourrais-tu joindre une image de la courbe de radiation solaire obtenue un jour sans nuages du matin au soir ?
J'aimerais la comparer à celle obtenue avec le capteur Davis.
Merci.
Cordialement.

Tudgur
http://meteo-plouguerneau.fr" onclick="window.open(this.href);return false;

henri leopold
Participation 0
Participation 0
Messages : 10
Enregistré le : 21 juil. 2010, 10:10

Re: Station Météo avec Arduino Méga 2560

Message par henri leopold » 31 juil. 2011, 15:25

Bonjour, Tudgur,

Je ne peux vous faire parvenir une image de la courbe de radiation solaire obtenue un jour sans nuages du matin au soir.
Depuis le début juillet où j'ai mis en service ma station, en Lorraine, nous n'avons pas eu de jour sans nuages du matin jusqu'au soir. Dès que j'en aurai une, je vous l'enverrai.

Par contre, j'en ai une qui date 29/03/2011. A cette époque, la sonde était en expérimentation. Le soft que j'avais créé alors permettait de mesurer la rayonnement solaire global et de calculer le rayonnement solaire théorique (en fonction de l'heure et du jour de l'année) et de 3 seuils d'ensoleillement.
courbe rouge = rayonnement solaire de la sonde RG100.
au-dessus de la courbe bleu foncé = on peut considérer que le ciel est limpide = ensoleillé
entre la courbe bleu foncé et la courbe violette = on peut considérer que le ciel est voilé
entre la courbe violette et la courbe bleu clair = on peut considérer que le ciel est laiteux
en-dessous de cette courbe bleu clair = on peut considérer que ciel est couvert

courbe verte = période d'ensoleillement


Amicalement
Henri
Fichiers joints
tableau_25_3a.jpg

Gabriel_56
Participation 1
Participation 1
Messages : 58
Enregistré le : 20 févr. 2008, 14:57

Re: Station Météo avec Arduino Méga 2560

Message par Gabriel_56 » 31 juil. 2011, 18:47

Bonsoir,
Si cela peut aider.
Ci-joint deux courbes des 2 et 3 juin 2011, à partir de la sonde RG100, au pas de 1 minute.
Acquisition méthode 1Wire.
Région: MORBIHAN.

Gabriel56
Fichiers joints
2011-07-31_192429 (Custom).png
2011-07-31_192327 (Custom).png

Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

Re: Station Météo avec Arduino Méga 2560

Message par Tudgur » 31 juil. 2011, 21:50

Merci à vous deux.

Il semblerait que l'inflexion de la courbe se fasse plus tôt le matin et plus tard le soir qu'avec la sonde Davis...
Peut-on alors considérer que la sonde RG100 serait plus performante que la Davis ?
Quels paramétrage utilisez-vous dans WsWin pour le calcul de l’ensoleillement ?
Correction de sonde = ?
facteurs mois = ?
valeur pour 0% = ?
...
Si c'était possible, une capture de Station météo /Sondes spéciales/Solaire, serait parfaite, avec la correction éventuelle de sonde...
Cordialement.

Tudgur
http://meteo-plouguerneau.fr" onclick="window.open(this.href);return false;

henri leopold
Participation 0
Participation 0
Messages : 10
Enregistré le : 21 juil. 2010, 10:10

Re: Station Météo avec Arduino Méga 2560

Message par henri leopold » 01 août 2011, 12:20

Bonjour, Tudgur,

Il semble que la sonde RG100 soit plus performante que celle de la Davis.
Je pense que cela est dû à son fonctionnement.
Cette sonde est fabriquée et commercialisée par Solems.
Ci-dessous, extrait de la doc (voir site http://www.solems.com)
Le détecteur RG 100 est une sonde simple et robuste qui mesure le rayonnement lumineux dans la gamme 400-1100nm. Ce domaine correspond à la majeure partie du rayonnement solaire. Il est donc adapté à des mesures de rayonnement solaire naturel en extérieur, sous tous les climats.
AUCUNE alimentation externe n’est requise pour le faire fonctionner.
Le signal en voltage continu qu’il délivre est directement proportionnel au rayonnement solaire en W/m² , dans les conditions de spectre AM 1.5, et 25°C de température ambiante.
Le capteur du détecteur RG 100 est une cellule photovoltaïque au silicium poly cristallin implantée dans un boîtier PMMA (plexiglas) et noyée dans la résine polyuréthane avec une résistance de charge stable en température qui convertit le courant de court-circuit de la cellule en voltage DC.


Les mesures de rayonnement solaire de la sonde RG100 sont effectuées dès le lever du soleil jusqu'à son coucher, c'est-à-dire tant que la hauteur du soleil est égale ou supérieure à 0°

Paramétrage WsWIn pour le calcul de l'ensoleillement:
correction de sonde = 0

ci-joint une capture de Station météo /Sondes spéciales/Solaire

Amicalement
Henri
Fichiers joints
sondes_speciales.JPG

Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

Re: Station Météo avec Arduino Méga 2560

Message par Tudgur » 01 août 2011, 14:11

Merci beaucoup pour ces précisions.

Je constate que tu utilises les valeurs par défauts de Wswin.
Si je les avais conservées, mon ensoleillement serait énorme !
Par exemple pour le mois de juillet qui vient de se terminer, l'un des paramétrages qui conviendrait pour "coller" à l’ensoleillent calculé à l'aide du fichier Xaria, est :
correction de sonde : 0
correction de position du soleil : 0.485 (et non pas 0.394 par défaut !!!)
valeur pour 0% : 19W/m2 .MF ne comptabilise pas le soleil dès le lever mais à partir d'une certaine inclinaison que je ne connais plus...
Je crois que c'est jackT qui avais proposé cette valeur de 19W/m2.

Sais-tu à quoi correspond la valeur en grisé : Valeurs pour 100%, 120W/m2 ?
Chez moi, elle est à 180W/m2...
comment la modifier si besoin est ?

Voici mon paramétrage de base, pour une correction de 17W/m2 :

Image

Comme je suis "taré", à la fin de chaque mois je refais un calcul de l’ensoleillement à l'aide du fichier Xaria puis je modifie le paramétrage de Wswin pour le mois concerné (après export/ import)...
Cordialement.

Tudgur
http://meteo-plouguerneau.fr" onclick="window.open(this.href);return false;

gégé
participation 3
participation 3
Messages : 286
Enregistré le : 16 déc. 2007, 09:28
Localisation : Baladou 46600
Contact :

Re: Station Météo avec Arduino Méga 2560

Message par gégé » 01 août 2011, 15:58

bonjour
pour modifier tu décoche
exécuter la correction de la position du soleil
Gérard
Cordialement Gérard
http://meteo-baladou.com

Gabriel_56
Participation 1
Participation 1
Messages : 58
Enregistré le : 20 févr. 2008, 14:57

Re: Station Météo avec Arduino Méga 2560

Message par Gabriel_56 » 01 août 2011, 16:09

Sais-tu à quoi correspond la valeur en grisé : Valeurs pour 100%, 120W/m2 ?
Chez moi, elle est à 180W/m2...
comment la modifier si besoin est ?

Bonjour,

Ceci correspond uniquement à l'utilisation du capteur solaire "sans utiliser la correction de la position du soleil".
Base 180w/m2 = seuil par défaut de Wswin pour laquelle le soleil est comptabilisé comme ensoleillement à 100%.

Si vous décochez correction de la position du soleil vous pouvez modifier cette valeur.

Bonne journée

Gabriel_56

Ps: je suis complétement en accord avec vos réglages de la sonde.

Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

Re: Station Météo avec Arduino Méga 2560

Message par Tudgur » 01 août 2011, 17:01

Ok ! merci à tous !
Cordialement.

Tudgur
http://meteo-plouguerneau.fr" onclick="window.open(this.href);return false;

Répondre