Station Météo

Parlez nous de vos projets et de vos idées, imaginez des applications

Station Météo

Message non lude HenriLeopold » Mar 31 Mai 2011 21:26

complété le 11 juillet 2011

Bonjour,

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


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. Nous avons retenu pour la sonde 1,1v.

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 v3
Maintenant il fallait apprendre à programmer cette 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 v3 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 v3 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 v3 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 v3, 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 v3, 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 v3 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 v3 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) utilisable par WsWin.

site internet :
http://www.hc-creation.fr/meteo

Amicalement
Henri
HenriLeopold
 
Messages: 32
Inscription: Mer 25 Mai 2011 19:19

Re: Station Météo

Message non lude HenriLeopold » Mer 27 Juil 2011 19:13

Bonsoir,

Ci-joint quelques photos de ma station

Amicalement
Henri
Fichiers joints
station2.jpg
station2.jpg (28.67 Kio) Vu 11688 fois
hygro2.jpg
hygro2.jpg (42.59 Kio) Vu 11688 fois
girouette2.jpg
girouette2.jpg (38.82 Kio) Vu 11688 fois
HenriLeopold
 
Messages: 32
Inscription: Mer 25 Mai 2011 19:19

Re: Station Météo

Message non lude Lionel » Jeu 28 Juil 2011 09:42

Bonjour,

Quand ce qui existe dans le commerce ne nous convient pas, et bien il ne reste plus qu'à mettre les mains à la pâte...

Très belle station avec l'association de capteurs sympathiques (le SHT15 et MLX90316 me plaisent beaucoup).

Je n'ai pas saisi le transfert (puis la publication de données) de données, elles sont transférées via usb toutes les minutes ?
A un PC qui uploade les données sur un serveur ? Au soft WsWin32 qui génère une page HTML ? une image GIF ?

Prochaine étape ? Retrait du PC ? Upload des données sur internet via arduino ethernet ? ;)

A bientôt,

Lionel
Image - Distributeur officiel Arduino - Conception de shields
Avatar de l’utilisateur
Lionel
 
Messages: 734
Inscription: Mar 21 Déc 2010 09:52
Localisation: Toulouse

Re: Station Météo

Message non lude HenriLeopold » Jeu 28 Juil 2011 13:57

Bonjour, Lionel,

« Je n'ai pas saisi le transfert (puis la publication de données) de données, elles sont transférées via usb toutes les minutes ? »

Le sketch EnneryMeteo_04.pde envoie, chaque minute, les données brutes (date,heure,direction du vent, vitesse du vent, rafale, rayonnement solaire, durée d'ensoleillement, pression relative, précitpitations, température et humidité) de l'Arduino méga vers le PC (connexion série-USB habituelle, reliant arduino et pc).

Sur le PC, le logiciel GobetWino, alerté par Arduino, recueille, chaque minute, ces données et les enregsitre dans un fichier au format csv : par exemple meteo.csv

Le logiciel WsWin32 travaille en surveillance de fichier : il surveille le fichier méteo.csv
Dès qu'il y constate un changement, il recopie les nouvelles données, les convertit et les intègre dans un fichier comme par exemple le fichier WD_07_11.dat (c'est le fichier de données pour le mois de juillet 2011). A partir de ce fichier WsWin32 crée les graphiques (format gif), les tableaux(format gif), les pages au format htm, les statisques hebdomadaires, mensuelles et annuelles (format gif), en fonction des paramétrages que j'ai indiqués à WsWin32. Il sauvegarde tout cela dans un dossier particulier que je lui ai indiqué, par exemple dans le dossier EnneryMeteo . (WsWin32 est un programme d'acquisition-opération de données météo de Werner Krenn.)

Puis intervient le logiciel WatchDog qui, lui, surveille ce dossier EnneryMeteo. Dès qu'il constate l'arrivée de nouveaux fichiers (fabriqués, chaque minute, par WsWin32), il transfère les nouveaux fichiers (graphiques, tableaux, pages htm, statisques hebdomadaires, mensuelles et annuelles) vers mon site internet.


« Prochaine étape ? Retrait du PC ? Upload des données sur internet via arduino ethernet ? »

Bien sûr, retrait du PC et upload des données sur internet via arduino ethernet. Mais problème :
avec arduino éthernet je ne transfère que les données brutes vers internet. Il faut donc prévoir par exemple une base de données MySql et des pages php qui transforment ces données brutes en graphiques, tableaux ….

Ce que je sais pas encore faire. Mais, comme on dit, il suffit d'apprendre, même à tout âge.
Comment programmer sur Arduino Méga, le transfert des données brutes vers internet dans une base de données MySql ?
Mais si quelqu'un peut m'aider, je suis preneur.

Amicalement,
Henri
HenriLeopold
 
Messages: 32
Inscription: Mer 25 Mai 2011 19:19

Re: Station Météo

Message non lude alain_g » Sam 29 Oct 2011 10:49

Bonjour, très beau projet. Une petite question, comment trouvez vous le temps d'ensoleillement journalier? Votre sonde ne mesure que le rayonnement solaire, déduisez vous l'ensoleillement d'après cette donnée?

Merci d'avance.

Alain
alain_g
 
Messages: 22
Inscription: Sam 29 Oct 2011 01:03

Re: Station Météo

Message non lude HenriLeopold » Dim 30 Oct 2011 16:41

Bonjour, Alain_g

La petite question nécessite une longue réponse.

Ma sonde RG100 ne mesurant que le rayonnement solaire global, le temps d'ensoleillement est déduit de la comparaison entre cette mesure et le calcul minute par minute, du rayonnement solaire direct théorique sur une surface horizontale après traversée de l'atmosphère.

J'explique le tout dans le document joint : ensoleillement.doc
Dans ce document tu y trouveras les références qui m'ont servi pour bâtir ce calcul.

Bonne lecture

A+
Amicalement
Henri
Fichiers joints
Ensoleillement.doc
(57.5 Kio) Téléchargé 315 fois
HenriLeopold
 
Messages: 32
Inscription: Mer 25 Mai 2011 19:19

Re: Station Météo

Message non lude alain_g » Lun 31 Oct 2011 14:26

Waouh, merci pour cette réponse.

Je me doutais bien qu'il y aurait des tonnes de calculs à faire mais j’espérais naïvement pouvoir y échapper...

Je regarde tout cela.

Merci encore.

Alain
alain_g
 
Messages: 22
Inscription: Sam 29 Oct 2011 01:03

Re: Station Météo

Message non lude alain_g » Mer 2 Nov 2011 10:04

Bon, j'ai eu quelques petites difficultés mais je pense m'en être sorti.

Par contre il y a une chose qui m'intrigue, dans la formule de l'absorption (1, 2 ou 3), il y a 100-((Esol/coeffx)/Esol*100) tu peux simplifier par Esol et donc tu te retrouves avec cette formule: 100-(100/coeffx). J'ai tord?

Heureusement que tu as mis tous ces liens car j'ai pu me rendre compte que dans la formule des coeff, le Hsd était la hauteur du soleil en degré et non en radian comme c'est calculé dans la variable HS.

Merci encore pour ton coup de main.

Alain
alain_g
 
Messages: 22
Inscription: Sam 29 Oct 2011 01:03

Re: Station Météo

Message non lude HenriLeopold » Mer 2 Nov 2011 14:33

Bonjour,

L'intrigue est levée :tu as raison.

J'ai recopié simplement les formules. Je n'ai pas cherché à les simplifier.
Merci pour cette remarque judicieuse. Il faut toujours gardé l'esprit en éveil.

Je vais m'empresser à corriger mon soft arduino.

A+
Henri
HenriLeopold
 
Messages: 32
Inscription: Mer 25 Mai 2011 19:19

Re: Station Météo

Message non lude alain_g » Mer 2 Nov 2011 14:40

Puisque tu vas modifier il y en a une autre dans le calcul de la surface:

(1/cos_effet*100)/100 peut être simplifiée par 1/cos_effet

Bonne journée ;)

Alain
alain_g
 
Messages: 22
Inscription: Sam 29 Oct 2011 01:03

Re: Station Météo

Message non lude pseudogaetan » Lun 6 Fév 2012 00:43

Bonsoir,

HenriLeopold a écrit:Bien sûr, retrait du PC et upload des données sur internet via arduino ethernet. Mais problème :
avec arduino éthernet je ne transfère que les données brutes vers internet. Il faut donc prévoir par exemple une base de données MySql et des pages php qui transforment ces données brutes en graphiques, tableaux ….

Ce que je sais pas encore faire. Mais, comme on dit, il suffit d'apprendre, même à tout âge.
Comment programmer sur Arduino Méga, le transfert des données brutes vers internet dans une base de données MySql ?
Mais si quelqu'un peut m'aider, je suis preneur.

Amicalement,
Henri


Pourquoi pas, je suis intéressé par le fichier brut sortant de l'Arduino, pour regarder ce que l'on peut en faire et voir comment mettre en place une page HTML avec les informations. Je pense que la transformation peut se faire directement sur le serveur web, en manipulant le fichier brut avec des scripts.

En tout cas ça m'intéresse de regarder.

Amicalement,
Gaëtan.
pseudogaetan
 
Messages: 1
Inscription: Lun 6 Fév 2012 00:38

Re: Station Météo

Message non lude HenriLeopold » Lun 6 Fév 2012 08:14

Bonjour, Gaëtan,

Depuis le mois de juillet, j'ai fait des progrès.
En effet ma station météo Arduino envoie directement, sans passer par un PC, les données dans une bas MySql, située chez mon hébergeur.

J'ai même réussi à lire les données de la base ( php) pour les intégrer dans une page HTML, mais c'est un peu long à mon goüt.
Voir à l'adresse : http://hc-creation.fr/meteo dans le menu "Aujourd'hui" sous-menu "Tableau"

En même temps, le logiciel Skin2800 de Philippe Schnellbach lit les données sur le port série, crée un fichier currdat;lst (fichier données en temps réel), un fichier de données brutes et fichiers de statistiques au format csv.
Je sais maintenant extraire les données des fichiers statistiques pour en faire des tableaux comme à la page "Statistiques" => "mensuelles". Mais il faudrait que j'apprenne comment effectuer des calculs sur ces données, par exemple calcul des moyennes mensuelles....

Si tu souhaites poursuivre, envoie-moi ton adresse email par l'intermédiaire de la page contact de mon site météo.
Je pourrais alors te faire parvenir les informations dont tu aurais besoin.

A+
Cordialement
Henri
HenriLeopold
 
Messages: 32
Inscription: Mer 25 Mai 2011 19:19

Re: Station Météo

Message non lude Zebulon » Jeu 22 Mar 2012 16:53

Bonjour,
encore bravo pour la réalisation de ta station météo dont la" page Web" est très sympa.
Comme mon projet (surveillance d'une installation de panneaux photovoltaiques) comporte quelques points communs avec le tien ,tu m'avais recommandé la société Solems pour la sonde d'ensoleillement RG100.C'est fait, je viens de leur passer commande.J'en profite pour aussi confirmer leur disponibilité et compétence.
En relisant la description de ton projet ( paragraphe précipitations),j'ai retenu que tu utilises un circuit DS2423 derrière un ILS;ce DS2423 servant de compteur d'impulsions et de mémoire que tu peux lire avec le µcontroleur arduino.Je voudrais utiliser ce circuit pour compter et mémoriser les impulsions générées par mon compteur de production (1000impulsions pour 1 kwh).Apparemment ce composant n'est plus fabriqué par Dallas et se fait de plus en plus rare.A part aux Etats Unis, aurais-tu de bonnes adresses de vendeurs pour ce produit ?
Merci d'avance
Zebulon
 
Messages: 19
Inscription: Mer 28 Déc 2011 20:31

Re: Station Météo

Message non lude HenriLeopold » Jeu 22 Mar 2012 17:15

Bonjour, Zebulon,

En effet la société Solems est disponible et compétente.

Le ds2423, je l'ai commandé chez Hobby Boards dont voici l'adresse /
http://www.hobby-boards.com/catalog/product_info.php?cPath=22&products_id=42

Je suis suppose que tu as un compteur avec téléinfo. Si oui cette cette solution pourrait t'intéresser :
http://www.cartelectronic.fr/index.php?option=com_content&view=article&id=4&Itemid=57

A+
Henri
HenriLeopold
 
Messages: 32
Inscription: Mer 25 Mai 2011 19:19

Re: Station Météo

Message non lude Zebulon » Jeu 22 Mar 2012 20:38

Bonsoir HenriLéopold,

merci pour le lien chez HobbyBoard .J'avais déjà aperçu leur site mais croyant trouver plus près je t'ai posé la question.
Peut-on payer avec Paypal?

Pour Téléinfo: comme je suis en Belgique, les façons de contrôler la production d'énergie sont:
-petit carnet et stylo tous les soirs
-de compter le nombre d'impulsions fournies par le compteur d'energie produite sachant qu'une impulsion correspond à un wh produit. Le compteur est équipé d'une led qui clignote au rythme des impulsions et d'un bornier libre de potentiel.Donc je pensais récupérer les impulsions sur un ds2423 connecté sur mon Arduino.Ce type d' appareil peut aussi être utilisé pour mesurer les consommations sur tel ou tel circuit électrique et existe en monophasé ou triphasé.Je compte en ajouter un pour contrôler la consommation de ma pompe à chaleur; voilà déjà le début d'un deuxième projet.....

Merci et bonne soirée
Zebulon
 
Messages: 19
Inscription: Mer 28 Déc 2011 20:31

Re: Station Météo

Message non lude HenriLeopold » Jeu 22 Mar 2012 21:09

Bonsoir, Zebulon,

Oui, on peut payer par Paypal.

Pas de problème pour compter les impulsions.
Le DS2423 a 2 canaux de comptage indépendants.
Mais il a une seule sortie. Il suffit de lire d'abord le canal A (1er compteur), puis le canal B ( 2ème compteur).
J'ai une librairie ds2423.h pour faciliter la lecture. Mais cette librairie ne fonctionne pour le moment qu'avec arduino 023 et pas arduino 1.0

A+
Amicalement
Henri
HenriLeopold
 
Messages: 32
Inscription: Mer 25 Mai 2011 19:19

Re: Station Météo

Message non lude Zebulon » Dim 22 Avr 2012 11:55

Bonjour HenriLéopold,

désolé de te solliciter à nouveau. J'ai commandé les ds2423 chez Hobby( très bonne adresse) ..et vu le format des CI ,je les ai soudé sur un adaptateur pour "retrouver des normes standard".Par contre pour la librairie DS2423.h je la trouve sur un site comme http://code.google.com/p/gfb/source/bro ... 3/DS2423.h .mais impossible de la télécharger ; je ne peux voir que le contenu.Aurais-tu un lien à me fournir ou une manière de les télécharger à partir de ce genre de sites?
Merci d'avance
Bon dimanche

Zebulon
Zebulon
 
Messages: 19
Inscription: Mer 28 Déc 2011 20:31

Re: Station Météo

Message non lude HenriLeopold » Jeu 26 Avr 2012 07:18

Bonjour, Zébulon,

J'avais oublié de consulter le forum.
Je t'envoie ci-joint un fichier zip contenant le dossier "ds2423" avec les différents fichiers h, cpp, etc. Il suffit de le dézipper et de placer le dossier ds2423 dans dossier libraries. Attention, ça fonctionne avec l'IDE "arduino 023", je ne sais pas si ça fonctionne avec l'IDE "arduino 1.0"

Merci de dire si tout a bien marché, si tu as reçu le zip en bon état.

Bonne continuation

Cordialement
Henri
Fichiers joints
DS2423.zip
(3.43 Kio) Téléchargé 220 fois
HenriLeopold
 
Messages: 32
Inscription: Mer 25 Mai 2011 19:19

Re: Station Météo

Message non lude Zebulon » Jeu 26 Avr 2012 19:31

Bonsoir Henri,
merci pour la mise à disposition du fichier demandé.
vu les changements radicaux de la météo de ces derniers jours, tu dois avoir les yeux rivés sur le monitoring de ta station...LoL.
Pour ma part, j''ai su placer le fichier DS2423 que tu m'as fourni dans la librairie et la fonction " include"fonctionne pour la version 023 (cela semblerait etre bon signe).
Voilà le retour des 1ers tests.Ce week-end je ferai les tests avec les circuits DS2423 et ce sur les deux versions IDE 023 et 1.0 et te tiendrai informé.Vu que mon installation de panneaux photovoltaiques doit etre terminée dans les prochains jours je dois aussi etre pret avec une première version pour mon projet.

Encore merci pour ton aide.

A bientot.

Zebulon
Zebulon
 
Messages: 19
Inscription: Mer 28 Déc 2011 20:31

Re: Station Météo

Message non lude Zebulon » Ven 27 Avr 2012 20:25

Bonsoir Henri, bonsoir à tous,
je viens d'essayer un exemple de code (counter.pde) pour essayer de lire un compteur d'impulsion DS2423.Cet exemple faisant appel aux librairies wire.h et ds2423.h (fournie hier).Lors de la commande verify ,je me fais cribler d'erreurs et comme je suis débutant en language C ,je patauge.Comme les renseignements autour du DS2423 sont rares , c'est pas évident.
Cet exemple est-il "compatible avec la librairie DS2423.h?
Si non aurais-tu un exemple de code pour lire les compteurs A et B de ce ds2423?
Quant aux entrées, de quel type sont les impulsions (je trouve des avis contradictoires sur les schémas de cablage);soit l'entrée à l'état bas (reliée à la masse via une résistance ) et mis à 5v le temps de l'impulsion ou l'inverse: l'entrée raccordée au 5v via une résistance et mise à l'état bas (masse) le temps de l'impulsion?
Ci dessous l'exemple testé...

#include <OneWire.h>
#include <DS2423.h>

DeviceAddress counter = { 0x1D, 0xF4, 0xCB, 0x0F, 0x0, 0x0, 0x0, 0xA5 };

OneWire ow(4);
ds2423 myCounter(&ow, counter);


void setup(void)
{
Serial.begin(9600);
}

void loop(void)
{
Serial.print("Counter A: ");
Serial.println(myCounter.readCounter(1));
Serial.print("Counter B: ");
Serial.println(myCounter.readCounter(2));

Serial.println();
}
La commande verify bloque déjà sur One Wire Ow...
Un grand merci d'avance

Bon w-e
Zebulon
Zebulon
 
Messages: 19
Inscription: Mer 28 Déc 2011 20:31

Suivante

Retourner vers Vos projets, vos idées

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

cron