Une icône pour Polar Scope

Passage en mode (ré)créatif avec la conception d’une icône pour le projet de viseur polaire numérique.

Un schéma basic de viseur polaire...

viseur-polaire_3

La boussole de Safari et son aiguille me plait bien...

PolarScope-Safari

Je mélange le tout sous Sketch avec un soupçon de touche perso. Et voilà... :)

PolarScope

Corrélation stellaire

Un temps magnifique pour... coder. :/

J'avance tranquillement sur la corrélation stellaire du viseur polaire numérique. Pour être le plus performant possible sur le Pi Zéro lors des captures en live, toutes les coordonnées cartésiennes des étoiles seront pré-calculées en pixels (sur la base de l'échantillonnage connu du couple capteur/objectif) et les distances entre chaque étoile stockées dans une base SQLite.
Deux avantages:
  • Il sera très facile de limiter le champs de recherche des segments en bornant simplement les requêtes SQL sur leur longueur.
  • Aucune conversion supplémentaire nécessaire afin de respecter des rapports d'échelle pour comparer les distances entre les étoiles.
La déformation de champs de l'objectif étant très limitée, une tolérance de +-2,5 pixels semble suffisante pour filtrer correctement les segments.

Bref, l'identification commence à marcher...
correlation-stellaire

Point sur le projet...

Voici l’EM-10 en l’état d’avancement. Le projet a fait un sacré chemin depuis ses débuts! Cela commence à avoir vraiment de la gueule...
IMG_4081
IMG_4085
Le boitier abritant la carte MKS a été repensé en positionnant les composants face à l’intérieur de la monture. Cela m’a permit de placer tous les connecteurs en bas mais aussi par la suite de dégager de l’espace pour le passage de l’encodeur de l’axe R.A...
new-mks-box
D28B6685
La tension d’alimentation est maintenant régulée par un Pololu S18V20F12 12V Step-Up/Step-Down (récupération de mon tout premier proto) mis en boiter avec interrupteur...
power-box
IMG_4089
Et pour finir j’ai revu le boitier du PI Zero du proto de viseur polaire en l’inclinant de 90° pour un accès plus pratique aux ports par le dessous...
IMG_4093
Restera à voir le connecteur du câble du moteur de mise au point du CN-212 qui dans l’immédiat est encore câblé directement en interne sur la carte. Je pense partir sur du RJ-9 histoire d’avoir quelque chose de compact.

Sous les étoiles...

Petite séance hier soir sous le ciel des Alpes. Le beau gosse en action avec son joli bonnet de pirate « Au rat qui pète»...

jardin-640

Le temps était clair mais trop turbulent pour shooter la Lune. J’en ai donc profité pour prendre quelques échantillons de test pour mon algorithme de détection d’image et comparer quelques images avec ma base de donnée. :)

seance-astro-polar-scope

Mais où est l'axe polaire dans le ciel?

Maintenant que l’on sait déterminer l’axe polaire de la monture sur le capteur, l’étape suivante va être de générer une base de données des étoiles dans le ciel en projection cartésienne. Je pourrais ainsi réaliser la corrélation entre la base d’étoiles et les étoiles détectées sur les photos.

Après une journée de travail, voici un aperçu de la base de données en coordonnées cartésiennes avec ce bout de code maison créé pour l'occasion sur mon PC...

polaris-database

Je suis parti sur une couverture de 20° de rayon autour du pôle céleste. Et pour un précision optimale, j’ai pris en compte au niveau des étoiles: leur dérive annuelle, la précession des équinoxes, la nutation et l'aberration annuelle. Aperçu en vidéo...
https://youtu.be/tSQcC8lHJrI

Calibration de l'axe polaire

Comment déterminer le centre optique réel de la la monture sur le capteur de la caméra du viseur polaire en réalisant trois photos en faisant tourner de +-90° l'axe d'ascension droite? Maths niveau collège!

« Médiatrice: en géométrie plane, la médiatrice d'un segment est l'ensemble des points équidistants des deux extrémités du segment. Cet ensemble est la droite passant par le milieu du segment et qui est perpendiculaire au segment. »

On commence par déterminer des points de référence entre les clichés...

test-rotation-ra-640

Lors d'une rotation de 90° les points de référence tournent en rond autour de l'axe mécanique d'ascension droite (l'axe qu'on aligne avec le pôle nord céleste). Si l'on trace la médiatrice de chaque segment, l'intersection des médiatrices nous montre le point de rotation. Ici on constate qu'il est un peu plus haut que le centre du capteur.

axe-optique

CQFD.

Test de détectivité de la camera PI

Maintenant que je maîtrise la prise de vue pleine trame, il est temps de vérifier la détectivité de la caméra. Le ciel n’était pas exceptionnel mais déjà avec un temps de pause de 2s, je passe le cap de la magnitude 7.5 avec l’objectif de 25mm F/1,2.

La détection des étoiles est effectuée ici sur mon Raspberry Pi 3 de développement en approximativement 1,4s de traitement. Cela me semble raisonnable pour une image brute de 5 mégapixel. Mon idée serait d’intégrer l’axe polaire en réalité augmentée avec les constellations proches du pôle. Il faudra voir ce que cela donne avec le PI Zéro plus limité.

Évènement exceptionnel: Conjonction Lune / Lampadaire!!!

Qu’on se le dise! Un moment historique: conjonction Lune/Lampadaire! ;)

raspistill-on-mac-shoot

Plus sérieusement, j’avance sur le pilotage de la caméra du Raspberry PI. Il existe bien le projet picamera en Python mais je souhaite quelque chose de plus performant, que ce soit au niveau des ressources CPU que mémoire, afin de tourner correctement à terme sur un PI Zéro. C’est donc le C/C++ que je privilégie. Et là les choses se gâtent sous Raspbian. Par exemple, la librairie de traitement d’image OpenCV propose bien le support de la cam mais uniquement en flux vidéo automatisé. A noter qu’il est possible de modifier certains paramètres via la méthode set (ex: CV_CAP_PROP_SATURATION) de la classe VideoCapture. Elle fait appel au driver V4L mais dans les faits c’est très limité. Impossible par exemple de régler l’exposition de ma caméra: « HIGHGUI ERROR: V4L: Property Exposure(15) not supported by device) ». Hors dans mon cas, il est nécessaire d’accéder à l’ensemble des pixels de l’image (mode « still ») avec une gestion manuelle de la caméra (exposition, balance des blancs, réglage du gain analogique, etc). Bref, pour arriver à mes fins, je suis donc contraint de coder une version modifiée à ma sauce de raspistillyuv.

Niveau IDE de développement il n’y a pas grand chose de potable à mon goût. J’ai donc décidé de faire comme sur Arduino et d’utiliser l’IDE Xcode sur mon Mac pour avoir un éditeur digne de ce nom (code completion, refactoring, recherches avancées, etc). La mise en oeuvre est un peu plus complexe car cela nécessite de mettre en place des scripts de compilation à distance via un canal SSH mais ça y est ça tourne... :)

raspistill-on-mac-with-xcode

Cerise sur le gâteau: XQuartz me permet d’avoir la fenêtre de l’application PI directement sur le Mac (le code s’exécute sur le PI mais l’interface graphique est déportée sur le PC). Je peux maintenant coder sur mon PI avec un minimum de confort! :)

Electronic Polar Scope (suite)

Support pour le Raspberry PI Zero du prototype...

support-rpi-zero

Ma modélisation est dérivée du modèle de mynameishamish sur thingiverse et modifiée afin de pouvoir fixer le boitier à la monture...

D28B6580
D28B6582

Le prototype est maintenant opérationnel pour le développement logiciel. :)

Le Raspberry Electronic Polar Scope prend forme...

Adaptation de la caméra Raspberry PI avec son objectif CS sur l'EM-10 pour le développement logiciel. Dans un premier temps, optique et Raspberry vont être placés en extérieur. Comme ça je pourrais monter/démonter le système sans condamner le viseur polaire d'origine le temps du développement. Il me reste à faire le support du Raspberry mais l'adaptateur est ok avec fixation par pas vissant et contre écrou. Simple mais efficace et assez robuste...

Raspberry  PI Electronic Polar Scope

Noir c'est noir! Il y a de l'espoir... lali... lala...

Repassage à la peinture pour une seconde couche suite au test de la veille. Là ça devrait être au poil... :)

D28B6492
D28B6488

La caméra Raspberry PI montée sur l'EM-10

Et voici l’idée qui me trotte dans la tête pour la caméra PI et l’objectif CS que j’ai adapté : réaliser un viseur polaire numérique intégré à mon EM-10. C’est d’autant plus d’actualité que le viseur polaire optique actuel commence à accuser son âge. Sa gravure était prévue pour aller jusqu’en 2015... ;)

D28B6484
D28B6486

Le concept serait donc d’utiliser une caméra PI, un objectif CS et un Raspberry PI Zéro embarqué dans le corps de l’EM-10. Le tout pour un budget autour des 40€ d’après mes dernières estimations. :D
minion-bananier
Encore un truc de plus à coder pour 2019! Bananier!!!!

Première lumière astro pour la caméra Raspberry PI

Première lumière avec M42 pour tester le mini objectif CS 25mm F/1.2. Assez bluffant pour 7€!!! Je suis très agréablement surpris.

D28B6479
D28B6475

L’adaptateur fait très bien le job. Par contre en faible flux, j’ai l’impression que la lumière de la led rouge à proximité du capteur arrive légèrement à passer (tâche blanchâtre en bord d’image à gauche) à travers le coffrage malgré la peinture noire. Je vais devoir repasser une seconde couche voire carrément peindre la led pour être tranquille.

Adapateur monture CS pour caméra Raspberry PI

Voici une réalisation qui pourra sans doute intéresser d’autres hackers. Il s’agit d’un adaptateur d’objectif CS pour modifier une caméra IR de Raspberry grand angle de ce type...
https://fr.aliexpress.com/item/Raspberry-Pi-Camera-better-than-the-original-one-HD-5-megapixel-OV5647-sensor-adjustable-focus-for/32683743922.html?spm=a2g0s.9042311.0.0.8a956c37Ta1GXg

CSMount-OpenSCAD

L’intérêt? Et bien les capteurs avec monture CS sont plus chers. Une fois l’adaptateur réalisé, on peut par exemple utiliser cet objectif 25mm F/1.2 à moins de 7€ frais de port inclus...
1/3 "25mm CCTV Objectif vue 70 m 11 degrés F1.2 IR Fixe Iris CS Mont pour CCD de Sécurité caméra

D28B6411

L’objectif ce visse directement sur l’adaptateur...

D28B6409

L’adaptateur est équipé d’un coffrage du capteur pour l’isoler au mieux des lumières parasites (j’ai ensuite peint l’intérieur en noir mat bien évidement)...

D28B6422

On peut réutiliser les deux vis de l’objectif d’origine pour fixer le capteur et solidariser le pied de test...

cs-mount-back

Le passage de la nappe peut être placé en haut comme ici (le capteur est tête en bas) ou bien en bas (la nappe se glisse alors par le pied)...

cs-mount-front

L’ensemble a été pensé pour une impression zéro support...

cs-mount-simplyfy-3d

Quel lien avec mon projet me direz vous? Et bien je réfléchi tranquillement à réaliser un viseur polaire numérique intégré à l’EM-10 avec un Raspberry PI Zéro et le tout à moindre frais (<50€). ;)

Le modèle 3D est dispo sur mon compte thingiverse...
https://www.thingiverse.com/thing:3277107
Enjoy folks!!!

PolarisFinder dispo dans Ephemeris

PolarisFinder (version simplifiée sans GPS ni Bluetooth) est maintenant intégré dans les exemples de la librairie Ephemeris sur mon Github…

PolarisFinder
https://github.com/MarScaper/ephemeris/tree/master/examples/PolarisFinder

Abaque numérique pour le viseur polaire de l'EM10

Je me souviens très bien de cette nuit de mi-août 1998 où je mettais à l’oeuvre pour la première fois ma flambant neuve EM10. Avec cette monture et le CN-212, j’allais enfin pouvoir passer dans un autre monde: celui de l’astrophotographie et de l’indispensable alignement polaire (aussi appelé « mise en station ») qui va avec.

La monture, équipée d’usine d’un viseur polaire, était accompagnée d’un abaque en carton permettant de déterminer facilement l’endroit où placer l’étoile polaire en fonction du jour et de l’heure…
abaque carton
Après près de 20 ans de bons et loyaux services à coup de lampe rouge dans l’obscurité j’ai décidé de lui fabriquer un successeur numérique digne de ce nom!

Le concept est simple: un arduino, un écran TFT et un puce Bluetooth. Dès que l’on approche l’ensemble à quelques centimètres de la raquette de commande, la liaison Bluetooth s’établie automatiquement et les infos (localisation sur la Terre, date, heure, altitude) du module GPS de la raquette sont rapatriées. Le Arduino calcule alors le positionnement de la polaire et affiche l’abaque numérique. Et voici le résultat à côté du logiciel Polaris Finder proposé par Optique Unterlinden sur PC…
polaris-arduino-em10

Pour le calcul de l’angle de l’étoile polaire c’est on ne peut plus simple: j’utilise ma librairie Ephemeris. La longitude est celle du lieu d’observation et par contre pour la latitude on se place au pole Nord c’est à dire à +90°. Notre pôle céleste est alors parfaitement au dessus de notre tête et la polaire va réaliser sa ronde autour durant la nuit. Connaissant ses coordonnées équatoriales, on calcule ses coordonnées horizontales avec la librairie ce qui nous donne son angle en azimut. Le tour est joué.

En langage programmeur cela donne quelque chose comme ces quelques lignes…

code polaris

La classe à Dallas non?!? ;)