Jump to content
bemo

Fabrication détecteur de nuage pas cher

Recommended Posts

Donc j'ouvre le sujet ici pour tenter de fabriquer un détecteur de nuages permettant de gérer l'ouverture / fermeture du toit de l'observatoire quand les conditions ne sont pas bonnes, ciel non dégagé.

A priori cela peut se fabrique sur la base d'un arduino, un bout de soft émulant les codes du driver Ascom et capteur IR MLX90614.

L'idée étant ensuite de le voir via le driver Ascom et pouvoir donc récupérer ses infos depuis des outils comme Maxpilote, SGP, Theskyx et autres capables de gérer un toit ou une coupole.

A suivre donc avec plus de détails.....

@olivier1986 si tu as des idées je suis tout ouïe :)

 

Share this post


Link to post
Share on other sites

+1 pour suivre

J'ai des capteurs IR qui n'attendent que ça dans mes tiroirs...

  • J'aime 1

Share this post


Link to post
Share on other sites

idem pour suivre, comme ça j'apprendrai ce qu'est un capteur IR dans ce genre d'install. ;)

  • J'aime 1

Share this post


Link to post
Share on other sites
Posted (edited)

pour votre info, si vous travaillez avec INDI ou une suite qui est basée sur INDI, vous avez un excellent post dans le Club Linux & Astronomie qui décrit la réalisation d'une station météo complète incluant la détection de couverture nuageuse.

Ici, le but c'est de voir comment on peut réaliser une solution couverture nuageuse mais utilisable avec driver Ascom.

Edited by bemo

Share this post


Link to post
Share on other sites
Posted (edited)

cloudsensor DIY

Si ça peut aider ;)

 

le code arduino avec la librairie adafruit  simplissime qui envoie sur le port série la T ambiante et la T IR (ciel) séparées par un "pipe"  |

#include <Wire.h>
#include <Adafruit_MLX90614.h>

Adafruit_MLX90614 mlx = Adafruit_MLX90614();

void setup() {
  Serial.begin(9600);
   mlx.begin();  
}
void loop() {
  Serial.print(mlx.readAmbientTempC());
  Serial.print('|'); 
  Serial.print(mlx.readObjectTempC());
  Serial.println();
  delay(30000);
}

voir aussi : https://learn.adafruit.com/using-melexis-mlx90614-non-contact-sensors/wiring-and-test

Edited by Raphael_OD
  • J'aime 1

Share this post


Link to post
Share on other sites
il y a 55 minutes, Raphael_OD a dit :

cloudsensor DIY

Si ça peut aider ;)

 

Ca aide mais il ne partage pas l'apli ASCOM ?

Share this post


Link to post
Share on other sites

Apparemment il a aussi fait un driver ascom.

Mais demain on devrait avoir la contribution de @olivier1986, lui aussi a une solution qui ressemble furieusement à celle de @Raphael_OD je crois...

A suivre demain :)

Share this post


Link to post
Share on other sites

Le driver ASCOM est développé en VB.NET et est très spécifique à mon montage, je peux aider qui veut en fonction de la solution choisie, sans rentrer dans les détails ASCOM récupère les données JSON et génère le critère Safe/Unsafe pour les appli telles que  SGP ou autres.

Entre Arduino et Ascom il y a le calcul des différences de températures qui permet de dire si le ciel est couvert ou pas avec correction selon la saison.

Il y a tellement de choix de montage : directement en USB sur le PC maitre d'un observatoire, en réseau sur un petit serveur etc ...ASCOM est capable de gérer directement par le  port série, mais aussi en réseau avec une API json ...

A+

  • J'aime 1

Share this post


Link to post
Share on other sites
Posted (edited)

Bonjour à tous.

 

Je viens poser ma pierre à l'édifice ^^

Donc, initialement, @bemo me demandait la possibilité d'une détéction simple de la présence de nuage qui via ascom piloterai la fermeture ou l'ouverture (un safe/unsafe) de l'observatoire.

Pour ma part je suis parti sur une distribution linux et nafabox pour gérer l'observatoire.

Coté Windows, fut une époque où je regardais déjà ce genre de solution. J'utilisais principalement Maxpilote.

J'avais donc trouvé une solution beaucoup plus simple que celle de @Raphael_OD qui se base sur un serveur avec récupération de fichier json (un travail remarquable d'ailleurs).

La pour le coup, il s'agit d'un simple driver, sans historique, sans serveur et qui ne sert QUE lors d'une session astro.

il s'agit de celui ci:

https://github.com/hjd1964/CloudSensorEvoPlus

Une fois l'arduino programmé, on va dans Maxpilote et dans l'onglet OPTIONS, on regarde dans l'encadré "cloud sensor". Nous avons le choix entre plusieurs modèles dont un choix ascom.

Il suffit alors, après installation du drivers ascom fournit, de le choisir et le tour est joué.

Pour ajouter d'autres fonctionnalités via une station météo déjà installé, il suffit de récupéré les données lisible par Maxpilote et cela donne une station complète.

 

Mais je répète, cela ne sert qu'à l'utilisation lors d'une session, cela ne permet pas de tenir un historique -> Pour cela la station météo peux le faire a part .

Edited by olivier1986
  • J'aime 1

Share this post


Link to post
Share on other sites

un grand merci à tous les deux, alors pour ma part la situation est simple : jamais touché un arduino, jamais vraiment soudé des composants sur un circuit, capable de monter des choses en Linux (Ubuntu et aussi avec mon Rpi3 sous rapsbian, ou Octoplus pour les print 3D) mais uniquement si on me fournit les commandes à copier/coller dans le terminal... et pas de compétences en programmation sur les codes actuels pour faire simple... j'ai été expert en COBOL et Assembleur 360 pour ceux qui ont connu mais bon... plus vraiment d'actualité !! 😬

 

j'ai construit mon obs en version automatisé ou automatisable, toit coulissant, IPX800 pour piloter les relais et capteurs toit fermé/ouvert et position park de la monture, le tout piloté par Maxpilote actuellement, mais il manque encore ce capteur de nuages pour sécuriser les ouvertures ou fermetures en cas de couverture nuageuse. La station météo connectée à WeatherUnderground n'est là que pour info et historisation, mais sans lien avec l'obs à ce stade, sinon qu'elle est dessus :)

 

Donc si une de ces solutions peut se décrire sous forme d'un tuto pas à pas, moi je veux bien tenter un de ces détecteurs.... le plus simple ?

Share this post


Link to post
Share on other sites
il y a 50 minutes, bemo a dit :

un grand merci à tous les deux, alors pour ma part la situation est simple : jamais touché un arduino, jamais vraiment soudé des composants sur un circuit, capable de monter des choses en Linux (Ubuntu et aussi avec mon Rpi3 sous rapsbian, ou Octoplus pour les print 3D) mais uniquement si on me fournit les commandes à copier/coller dans le terminal... et pas de compétences en programmation sur les codes actuels pour faire simple... j'ai été expert en COBOL et Assembleur 360 pour ceux qui ont connu mais bon... plus vraiment d'actualité !! 😬

 

j'ai construit mon obs en version automatisé ou automatisable, toit coulissant, IPX800 pour piloter les relais et capteurs toit fermé/ouvert et position park de la monture, le tout piloté par Maxpilote actuellement, mais il manque encore ce capteur de nuages pour sécuriser les ouvertures ou fermetures en cas de couverture nuageuse. La station météo connectée à WeatherUnderground n'est là que pour info et historisation, mais sans lien avec l'obs à ce stade, sinon qu'elle est dessus :)

 

Donc si une de ces solutions peut se décrire sous forme d'un tuto pas à pas, moi je veux bien tenter un de ces détecteurs.... le plus simple ?

Alors,

a mon sens, le plus simple est le lien que je donne.

il 'a juste a installé le programme pour l'arduino, balancer le programme dans l'arduino et installé le driver ascom.

Et comme un arduino est programmable à l'infini (ou presque) tu pourras toujours passer à une version plus élaborée si tu le souhaites plus tard.

 

Dans un 1er temps il te faut acheter un arduino nano et un MLX90614 version board (c'est à dire sur une carte déjà souder). Il te faudra alors seulement mettre 4 fils dupont, donc sans soudures.

Je pourrais t'aider à faire tout ça quand tu aura ces 2 composants!

As tu une préférence sur les sites marchands?

Share this post


Link to post
Share on other sites
Posted (edited)

non pas de préférence particulière, éventuellement plutôt avec délais de moins de 1 mois :)

 

edit : j'ai quand même l'impression que ce sera du aliexpress ou équivalent... fais moi la liste de course et je lance ça...

Edited by bemo

Share this post


Link to post
Share on other sites
Posted (edited)

@ @olivier1986 ta solution est plus rapidement réalisable. La mienne est un développement sur-mesure pour mon usage en distant (40km) et à terme automatique si j'en vois la finalité.

L'essentiel c'est la bonne calibration du détecteur pour ne pas avoir de surprise en milieu de nuit : ex un nuage qui passe au dessus et qui clôture la session, il faut bien ajuster.
Bemo si tu as fait du COBOL et de l'assembleur ça ne devrait pas trop te perdre comme activité pas plus dur que des push ou des BP dans la pile ;) .

Edited by Raphael_OD

Share this post


Link to post
Share on other sites
à l’instant, Raphael_OD a dit :

@ @olivier1986 ta solution est plus rapidement réalisable. La mienne est un développement sur-mesure pour mon usage en distant (40km) et a terme automatique si j'en vois la finalité.

L'essentiel c'est la bonne calibration du détecteur pour ne pas avoir de surprise en milieu de nuit : ex un nuage qui passe au dessus et qui clôture la session, il faut bien ajuster.
Bemo si tu as fait du COBOL et de l'assembleur ça ne devrait pas trop te perdre comme activité pas plus dur que des push ou des BP dans les piles ;) .

hehe, oui, ça me rappelle des choses, mais honnêtement c'est loin tout ça... mais on devrait y arriver... avec vos conseils...

dans la solution olivier, tu penses qu'elle est moins automatisable ? qu'est-ce qui fait la différence sur la plan automatisation ?

Share this post


Link to post
Share on other sites
Posted (edited)

Pas du tout ! la solution d'olivier est très bien

 

Pour approfondir j'ai préféré scinder les opérations, mon arduino est juste un peu bourrin il envoie des données brutes vers un RPI, il ne calcule rien c'est le PI qui fait tous les traitements statistiques (base de données, calcul en temps réel de la température différentielle, traitements des mesures aberrantes et génération du fichier JSON) puis ASCOM se charge de récupérer ce qu'il veut. Cette façon me permet de m'affranchir de ASCOM dans certaines situations ou il y a des plantages. Le JSON est utilisable dans toutes les applications type ASCOM ou tout autre développement (ex mon toit roulant), d'ailleurs sous SGP il est dans le Safety Monitor et dans le Observing Conditions.

Edited by Raphael_OD

Share this post


Link to post
Share on other sites

Ok, super alors, et si on compare à un aag, on arrive à la même précision de la mesure où tu penses qu'il y a un écart ?

Mon voisin a un aag installé, on pourra faire un test comparatif peut être..

Share this post


Link to post
Share on other sites
Posted (edited)
il y a 32 minutes, bemo a dit :

Ok, super alors, et si on compare à un aag, on arrive à la même précision de la mesure où tu penses qu'il y a un écart ?

Mon voisin a un aag installé, on pourra faire un test comparatif peut être..

Aucune idée du fonctionnement de l'AAG  ni du code implémenté. Le CS est raccord avec ma Allsky et le SHT15 (T°)  je me suis pas posé plus de questions :)

Il me semble que AAG utilise le même capteur.

 

 

Edited by Raphael_OD

Share this post


Link to post
Share on other sites

@bemo @Raphael_OD

l'AAG dispose du même capteur, le MLX90614. La précision de la mesure est donc la même.

En revanche, ce qui peut changer et c'est le cas dans notre topic ici, c'est la valeur de la mesure.

Je m'explique: le capteur infrarouge mesure une température infrarouge sur une portion du ciel. Aussi, la valeur mesurée sera peut être (c'est un exemple) de 15°C par mauvais temps et de +10°C (toujours un exemple) par beau temps alors que l'AAG lui afficherai plutôt 0°C dans le 1er cas et -5°C dans le 2ème cas.

Alors pk ça? le driver que je propose ne dispose pas d'une équation de correction dont dispose la'AAG.

cette equation est celle ci:

Tcorrection = (K1 / 100) * (T - K2 / 10) + (K3 / 100) * pow((exp (K4 / 1000* T)) , (K5 / 100))

Ici on a 5 coefficients de correction que sont K1 à K5 et T qui est la température ambiante au niveau de l'observatoire (ou du sol ou autre!!).

Cette correction a donc une forme linéaire au début (pour des valeurs inférieures à 25°C environ) puis une forme logarithmique qui permet d'avoir une meilleure correction pour les chaudes journées et soirées d'été.

Cette correction permet d'avoir une correction assez précise pour les valeurs coefficients suivantes:

K1=33

K2=0

K3=4

K4=100

K5=100

Cela fonctionne comment: Si par un très beau jour, sans nuages et aux bonnes conditions, la température du ciel mesurée doit toujours être la même au court de la journée (et même la nuit) alors que la température ambiante va elle croître au fil de la journée pour redescendre en fin de journée. Cette correction, a peaufiner permet de garder cette valeur corrigée toujours constante.

 

Voilà comment fonctionne l'AAG. Autrement dit, sans cette correction, en fonction de la saison, la température du ciel par beau temps risque de ne pas être la même. Il faudra donc ajuster les paramètres 3 à 4 fois par an. Rien de rédhibitoire, faut juste y penser!! 

  • J'aime 1

Share this post


Link to post
Share on other sites

Hm, ok, on va tout savoir... Et si on introduit la fonction de correction ? C'est compliqué ?

Share this post


Link to post
Share on other sites
Posted (edited)

petite question OFF topic  @bemo vu que l'on a le même moteur de toit , il n'est pas trop brutal ?  Malgré les réglages et auto apprentissage je le trouve vraiment hyper brusque. Le ralentissement de fin de course est un peu barbare. Je cherche en ce moment à modifier la carte pour calmer ses ardeurs ;)

 

Arduino vers mlx pin dupont FF vu tes choix.

Edited by Raphael_OD

Share this post


Link to post
Share on other sites
il y a 2 minutes, Raphael_OD a dit :

petite question OFF topic  @bemo vu que l'on a le même moteur de toit , il n'est pas trop brutal ?  Malgré les réglages et auto apprentissage je le trouve vraiment hyper brusque. Le ralentissement de fin de course est un peu barbare. Je cherche en ce moment à modifier la carte pour calmer ses ardeurs ;)

ah  non, aucun souci de mon côté, je sais qu'il y a des réglages de force et accélération dans le paramétrage, j'y ai apporté quelques modifs je crois, mais ça fait longtemps que j'y ai pas touché. Mais mon toit est assez lourd je pense, ça doit le calmer ...

 

  • Merci / Quelle qualité! 1

Share this post


Link to post
Share on other sites
Il y a 2 heures, bemo a dit :

Hm, ok, on va tout savoir... Et si on introduit la fonction de correction ? C'est compliqué ?

Je ne vais plus pouvoir répondre ce soir, je repasserai demain.

juste pour repondre, il est possible de modifier le code arduino pour y ajouter la correction, d’autant que le MLX90614 dispose d’un capteur de température ambiant en plus de l’infraRouge. Ce serait tres facile.

en revanche il faudrait modifier le driver ascom et ça je n’ai jamais fait...

Share this post


Link to post
Share on other sites
Il y a 1 heure, Raphael_OD a dit :

Arduino vers mlx pin dupont FF vu tes choix.

ah ok pour les dupont donc femelle/femelle

 

et pour l'arduino et le capteur, ça te semble bon ? ou on attends l'avis d'olivier... quoique vu les délais, y a pas le feu :)

Share this post


Link to post
Share on other sites

Ont pourrait faire une commande groupée pour les composants 

Le sujet m'intéresse 

À l'obs des Makes à la Réunion, le toit ouvrant du T60 et tout le train astro est géré par le logiciel  AudeLa.  après préparation de la  liste des objets à shooter pour toute la nuit, le soft gère le toit ouvrant en fonction des conditions météorologiques, pluie, brouillard,,et nuages. En 10 ans jamais de problèmes de ce côté là.

Programmation  de la nuit, et le lendemain  tu récupère les images  pour le post traitements, ça vraiment que du bonheur 

++Daniel 

Share this post


Link to post
Share on other sites
Posted (edited)
il y a 15 minutes, danielL a dit :

Ont pourrait faire une commande groupée pour les composants 

ah pas de soucis, faut juste voir ou sont les destinataires...  et puis pour le capteur leur livraison est gratuite.. je sais pas si on y gagne, pour l'arduino peut être un peu..

Edited by bemo

Share this post


Link to post
Share on other sites

Je regarde pour le mlx car y’a rupture partout...a croire que les gens se sont tous fabriqués des thermomètres IR en cette période !!

pour le nano v3 aucun soucis

Share this post


Link to post
Share on other sites

Mais le lien que j'ai mis plus haut, sur Ali, ils en ont 2600 en stock.

Share this post


Link to post
Share on other sites
il y a 38 minutes, bemo a dit :

Mais le lien que j'ai mis plus haut, sur Ali, ils en ont 2600 en stock.

Oui en Chine y’a ce qu’il faut!! Je regardais les stocks France, au cas ou!

Share this post


Link to post
Share on other sites
il y a 1 minute, olivier1986 a dit :

Oui en Chine y’a ce qu’il faut!! Je regardais les stocks France, au cas ou!

ah c'est sur que c'est plus rapide de france... ali donne une livraison au 7/7

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.