Cam86 - tests de température avec Excel
- Détails
- Catégorie : Software
- Mis à jour : mercredi 10 mai 2017 11:48
- Écrit par Gilles
Il est possible de piloter la caméra en se servant de la dll de bas niveau fournie avec le driver Ascom. On peut commander toutes les fonctions de la caméra directement en VBA, et ça marche très bien sous Excel. Je m'en suis servi pour regarder un peu le comportement de ma caméra et l'influence des différents paramètres.
Pour s'en servir, il faut :
- Enregistrer la feuille dans un dossier
- Trouver à quel endroit se trouve la dll installée, pour moi elle est ici :
- C:\Program Files (x86)\Common Files\ASCOM\Camera\Cam86\cam86ll.dll
- Copier dll du driver dans le même dossier que la feuille excel
Office est assez taquin avec la sécurité sur les macros, il va sans doute vous demander de confirmer que vous voulez bien activer les macros du classeur avant de l'ouvrir.
J'ai trois onglets :
- "TESTS TO RUN" : c'est la liste des différents tests voulus
- "GRAPH" un graphique croisé dymanique, pour visualiser les résultats
- "RESULTS" les résultats bruts
Chaque ligne de l'onglet "TESTS TO RUN" est exécutée une par une, on peut en mettre autant qu'on veut.
ici par exemple on va lancer 3 tests successivement. Le premier sert à descendre à 10° (en gros c'est juste pour arriver à un palier de départ) le second va descendre à 0° pendant 2000 secondes avec une puissance de départ à 45% et un max de 55% et un Kp à 0.08, le troisième va descendre à -10° avec d'autres paramètres.
Le principe de chaque test est de mesurer toutes les secondes tous les paramètres, il se déroule ainsi :
Au départ, on fixe le "startpower" le "maxpower" le "Kp", et bien entendu la température de consigne. Ces valeurs sont relues en retour, juste pour contrôler qu'elles ont bien été fixées. Le refroidissement n'est pas encore activé.
Ensuite on commence la lecture en boucle. J'ai mis une phase de départ, où on attend que la température dépasse une certaine valeur ("Reach T° before test"). C'est pour permettre de faire démarrer chaque test à la même température. Bien entendu ça ajoute à la durée totale du test, mais on peut laisser tourner et faire autre chose. Lorsque cette température de départ est atteinte, le refroidissement est activé, et le compteur "TimeSinceStab" commence a être valorisé : Ce TimeSinceStab représente la durée écoulée depuis que le refroidissement est actif.
Chaque test a une durée en secondes ("Duration (sec)"). Lorsqu'il est terminé, on passe au suivant.
Ensuite, vous faites ce que vous voulez avec le graphique : superposer tous les tests pour obtenir ce genre de graphe (en mettant "TimeSinceStab" en abscisse") :
ou les visualiser les uns derrière les autres (en mettant "TimeStamp" en abscisse) :
J'ai mis un petit bouton d’exécution pour ceux qui ne savent pas comment lancer une macro :
Les précautions à prendre :
- Je n'ai mis aucun contrôle, tout s’enchaîne sans vérifier que la caméra est bien connectée ou se comporte correctement. Donc, si ça part en sucette, petit rappel : pour arrêter une macro c'est "CTRL+PAUSE"
- Lorsque votre test tourne, je vous conseille de ne pas toucher à Excel, ni même de faire quoique ce soit d'autre avec le PC. On lui fiche la paix, on le regarde, mais on ne touche pas.
- J'ai codé avec les pieds, VBA est fait pour ça.
- La notion "toutes les secondes" est assez grossière, car effectivement on fait des mesures toutes les secondes, mais il n'est pas tenu compte du temps de mesure (pour avoir des vraies valeurs de temps écoulées, regardez plutôt la colonne TimeStamp, qui est valorisée avec l'heure système).
Voici donc la feuille Excel en question :
https://www.diycam.fr/images/divers/TempTestVBA-10.xlsm
Accrochez-vous ! :-)