|

Télescope suiveur d’astre

L’objectif de ce travail était de motoriser un télescope afin qu’il puisse se déplacer automatiquement vers la position d’un astre, sans intervention manuelle. Ce système vise à simplifier l’utilisation d’un télescope pour des utilisateurs débutants ou occasionnels, tout en offrant un suivi précis pour l’observation astronomique.

Le télescope est conçu pour repérer automatiquement la position d’un astre dans le ciel, à partir de données astronomiques et de la position géographique de l’observateur. Pour cela, le système intègre un contrôleur de moteurs permettant d’orienter le télescope. Ce fonctionnement nécessite également un calcul précis des coordonnées célestes des astres, en fonction de l’heure et de la localisation GPS de l’appareil.

Sur cette page, vous allez pouvoir découvrir les différents aspects techniques et pratiques qui rendent ce système de télescope motorisé fonctionnel. Chaque section vous guide à travers les éléments essentiels du projet : de la compréhension des coordonnées célestes, au choix des composants électroniques, jusqu’à la programmation du contrôleur de moteurs.

Architecture

Le projet est divisé en 3 sous-système avec chacune leur tâche. Le premier sous système est le PCB principal, puis on a un PCB attaché au télescope et enfin un serveur. Il communique entre eux via internet.

Schéma de fonctionnement

ServeurPrend la position GPS du télescope et calcul la position des astres. Enfin, il l’envoi sur un broker MQTT
PCB du télescopePrend la position du télescope et l’envoie sur un broker MQTT
PCB principalPrend la position des astres ainsi que la position du télescope à partir du broker MQTT et détermine quel doit être la position des moteurs. Il y a aussi un menu qui permet de choisir quel astre doit visé le télescope. Il permet aussi de contrôler librement le télescope à l’aide de bouton.

Principes utilisés

Comment savoir où bouger le télescope ?

Pour connaître la position des astres, on utilise ce qu’on appelle une éphéméride, qui est simplement un fichier contenant la position des astres à différents moments. Calculer la position d’une planète ou d’une étoile est une tâche complexe, et c’est là que la NASA intervient pour nous faciliter le travail.

Des superordinateurs calculent ces positions à l’aide de modèles physiques (taille, masse, lois de la gravitation, relativité, interactions entre planètes, etc.). Ces calculs sont enrichis par des observations réelles, obtenues grâce à des outils technologiques très précis comme des satellites, télescopes ou lasers lunaires. Le résultat est enregistré dans un fichier binaire contenant la position des astres par rapport à un point appelé le barycentre du système solaire. Ce barycentre est un point imaginaire autour duquel tout le système solaire tourne. On pourrait simplifier en disant que c’est le centre du Soleil, mais ce n’est pas toujours vrai : il peut même se trouver à l’extérieur du Soleil à cause de l’influence gravitationnelle des autres planètes, comme Jupiter.

C’est ensuite que vient Astropy, une bibliothèque Python(langage de programmation) qui permet de traduire les positions contenues dans l’éphéméride en positions observables depuis la Terre, en fonction de notre position géographique. Elle fait les conversions nécessaires pour qu’on puisse savoir où regarder dans le ciel à un moment donné.


Comment savoir où pointe le télescope ?

Pour savoir dans quelle direction pointe le télescope, on utilise un capteur appelé CMPS12. C’est un petit module électronique qui combine trois types de capteurs : un accéléromètre, un gyroscope et un magnétomètre.

Un accéléromètre sert à mesurer l’inclinaison du télescope. Par exemple, s’il est orienté vers le haut ou vers le bas. Il contient plusieurs capteurs orientés selon différents axes (souvent trois : X, Y et Z). En mesurant comment la gravité agit sur chacun de ces axes, l’accéléromètre peut déterminer précisément dans quelle direction l’objet est incliné. C’est un peu comme si on observait comment un objet « pèse » dans différentes directions. En combinant ces mesures, on peut savoir dans quelle position se trouve le télescope par rapport à la verticale.

Un gyroscope sert à mesurer la vitesse de rotation du télescope, c’est-à-dire s’il tourne, et dans quelle direction (par exemple s’il pivote vers la droite, vers la gauche, ou bascule vers le haut ou le bas).

Un magnétomètre sert à mesurer la direction du champ magnétique terrestre, un peu comme une boussole. Il permet de savoir dans quelle direction pointe le télescope par rapport au nord magnétique.

Individuellement, ces capteurs ne permettent pas d’obtenir une précision suffisante. Mais en combinant leurs données à l’aide d’un algorithme, on peut déterminer précisément l’orientation du télescope. Le gyroscope mesure la vitesse de rotation, mais il peut dériver avec le temps. L’accéléromètre donne l’inclinaison par rapport à la gravité, ce qui permet de corriger cette dérive. Le magnétomètre, lui, indique la direction du nord magnétique. C’est justement ce que fait le CMPS12 : il intègre ces trois capteurs et réalise lui-même la fusion des données, ce qui permet d’obtenir directement une orientation fiable sans avoir à faire les calculs soi-même.

Comment bouger les moteurs ?

Un moteur pas à pas (ou stepper motor) est un type de moteur qui ne tourne pas de façon continue comme un moteur classique, mais par petits mouvements appelés « pas ». Cela signifie qu’à chaque impulsion électrique, l’axe du moteur tourne d’un angle fixe (par exemple 1,8°). Cela permet de contrôler précisément la position du moteur, ce qui est très utile pour orienter un télescope.

Ensuite, le système utilise un contrôleur proportionnel pour assurer un positionnement précis. Le principe d’un contrôleur proportionnel est simple : il ajuste la sortie en fonction de l’erreur entre la position actuelle et la position désirée. Plus l’erreur est grande, plus le contrôleur applique une correction rapide et forte, permettant ainsi de réduire l’écart rapidement. En revanche, plus l’erreur est petite, plus le contrôleur ralentit pour atteindre une précision maximale. Cependant, dans le contexte de notre système, il a été nécessaire d’ajouter une extrapolation de la position entre les envois de commandes, car les communications par Internet étaient trop lentes pour garantir une réponse immédiate. Ainsi, à chaque envoi de commande, le contrôleur proportionnel se base non seulement sur l’erreur actuelle, mais aussi sur une estimation de la position future du moteur, en tenant compte de sa vitesse actuelle et du temps jusqu’au prochain envoi de commande. Cela permet de compenser les délais entre chaque signal envoyé et d’assurer que le moteur continue à se déplacer de manière fluide et précise.

La communication entre les sous-systèmes ?

Les différents sous-systèmes communiquent entre eux via MQTT (Message Queuing Telemetry Transport), un protocole de messagerie léger spécialement conçu pour ce type de communication. MQTT fonctionne grâce à un broker, un serveur en ligne dédié à la gestion des échanges de messages entre les systèmes. Ce protocole permet de surmonter plusieurs défis liés à l’utilisation d’Internet, comme la gestion de la consommation de réseau ou l’attribution d’adresses IP, qui peuvent être complexes dans certains environnements. Dans notre système, les données de la position des astres et du télescope sont envoyées via MQTT. Le main PCB récupère ces informations et ajuste les moteurs en fonction de ces positions pour diriger le télescope avec précision.

Schéma électrique

Main PCB:

PCB du télescope:

DEVKIT:

Carte életronique

Main PCB:

PCB du télescope:

DEVKIT:

Document et liens

Auteur/autrice

Publications similaires