Démo d'avancement du goto prédictif...

Ce n’est pas encore parfait mais on approche... :)


https://www.youtube.com/watch?v=CCw-PU-hffA

L'ATmega2560 de la MKS MINI au taquet...

Après avoir bien poussé les optimisations de code, voici un benchmark montrant les impulsions d’un des moteurs pas à pas poussées au maximum des capacités de la carte Arduino (le mode PWM permettrait d’aller encore plus loin mais sans aucun retour pour le comptage de pas donc incompatible avec les besoins du projet)...

arduino-moteur-pas-a-pas-frequence-max

Interprétation de la mesure à l’analyseur logique:
Le code exécuté dans l’interruption en elle même prend 3,375us (remise à zéro du compteur du timer comprise) avec une périodicité d’à peine 8us soit plus de 123 000 impulsions par seconde!!! On arrive ici à la limite extrême en se limitant à un seul moteur. En prenant un peu de marge cela signifie qu’en déplacement bi moteurs (A.D. et déclinaison en simultané) pour du goto on peut sans complexe espérer atteindre les 50Khz avec encore un peu de temps CPU pour le reste du programme.

Pour atteindre de telles performances, le code des interruptions moteur a été réduit à sa plus simple expression (comptage de pas + envoi impulsion moteur). Toutes les fonctions d’écriture -digitalWrite()- ont été optimisées avec l’excellente librairie Arduino-GPIO. Enfin, la gestion des accélérations/décélérations, changement de direction, activation/désactivation moteur, ont été dévolues à un timer dédié servant de « modulateur de fréquence » comme le montre cette capture...

accel-timer

Les avantages:
- Le fonctionnement des moteurs à vitesse constante est très peu gourmand en temps processeur.
- Cela ouvre la porte pour faire sans souci du goto en microstepping 1/16 là où d’autres projets sont contraints de basculer à la volée en 1/2 pas voire même en fullstep pour tenir la cadence.
- L’intégration du rattrapage de jeu et la correction d’erreur périodique pourront se faire au niveau du timer d’accélération sans impacter les performances des interruptions moteur.

Saturne et Mars au CN-212

Deux photos sans prétention de Mars et Saturne prises le 15 Août soir pour le plaisir. Le seeing était tout juste correct mais c'était l'occasion de tester ma barlow powermate 2x avec l'APN et la nouvelle électronique.

saturne-cn212-takahashi-mks-mini

mars cn212 takahashi mks mini arduino

CN-212 à F/D 12,4 + Barlow 2x + 5D MKIII. Shoot en mode vidéo RAW Magic Lantern et zoom 3x. Traitement avec MLVToMovie, AS2 et Registax 6.

D’ailleurs pour rappel, si vous êtes sur Mac, sachez que j’ai mis à dispo des versions Mac d’AS2, Registax 6 et même Iris...
http://mlvtomov.eliotis.com/goodies/index.html

MKS MINI sous les étoiles

Premier crash test sous le ciel avec le nouveau prototype 2018 basé sur une carte contrôleur MKS MINI pour imprimante 3D. Il reste pas mal de chemin à faire côté logiciel mais déjà le gain est indéniable par rapport à l’électronique d’origine: 4 vitesses au lieu de deux, gestion des moteurs en micro stepping 1/16, mise au point motorisée, courbes d’accélération/décélération sinusoïdale donnant des mouvement très doux sans aucun accoup de freinage. A l’usage c’est vraiment un plaisir. :D

proto-em10-mk-mini-4

proto-em10-mk-mini-5

Aperçu de la courbe d’accélération de type sinusoïdale...

courbe-acceleration

Comme le montre le graphique, on obtient un démarrage et un arrêt très doux offrant un bon amortissement de l’inertie du télescope. Pour plus d’infos, voir cet ancien billet: Accélération/décélération: Sinus or not Sinus?

MKS MINI aux commandes...

Les choses avancent doucement mais surement. La mise au point motorisée est maintenant intégrée. Dans l’immédiat, le contrôle se fait avec la manette SEGA en attendant de reprendre la partie raquette tactile qui viendra compléter le système.

https://www.youtube.com/watch?v=ckrY5U3mfkk

Le projet a bien évolué depuis ses débuts. Simplifions, simplifions, simplifions! Reste à intégrer une led d’éclairage pour le viseur polaire, prévoir une connectique pour le câble de la motorisation de la mise au point et ajouter la deuxième connectique DB-9 pour la future télécommande tactile. A partir de là on sera pas mal niveau matériel côté monture.

detail-motorisation-mks-mini

Test motorisation mise au point du CN-212

https://www.youtube.com/watch?v=uoLb24RszUE

Vref pour MKS MINI V2.0

Attention pour les personnes intéressées par l’usage d’une MKS-MINI. Les premières versions utilisaient des drivers DRV8825. La version 2 utilise des drivers HR4988. Il en résulte que le calcul Vref permettant d’ajuster l’intensité du courant a changé. La formule est dorénavant:

I = Vref / 0.8.



MKS mini V2.0 makerbase

Documentation Makerbase:

datasheet-mks-mini-v2.0-makerbase

Traduction:

« 1. Algorithme actuel du driver 4988: i = vref /0.8.
Vref par défaut est environ 0.8v.
Le courant par défaut est 1.0A. Le courant maximal est 2.0A.  »


Source: https://github.com/makerbase-mks/Datasheet/blob/master/Chinese%20datasheet/MKS%20MINI%20V2.0%20数据手册.pdf

C'est reparti... :)

Après avoir temporisé mon projet depuis Septembre dernier (2017) pour raison professionnelle et personnelle, je m’y remets enfin! C’est donc reparti cet été au gré de mon temps libre! Je m’étais arrêté sur un premier prototype pour ma monture EM-10 avec une électronique entièrement maison et équipée: d’un Arduino MEGA, d’une manette SEGA, d’une puce GPS, d’une partie puissance maison pour les deux moteurs pas à pas d’origine et d’un écran tactile installé à même la monture. Ce dernier point était pratique pour le développement mais beaucoup moins à l’usage. En fonction de la position de la monture, l’écran peut en effet se retrouver tête en bas ce qui n’est pas des plus fonctionnel. De même l’électronique de puissance entièrement maison c’est très sympa mais j’ai reçu pas mal de demandes de personnes intéressées et je me suis dit que ce serait bien d’essayer d’optimiser aussi cette partie avec quelque chose de plus générique voire même meilleur marché. Dernier point en ce qui me concerne: j’aimerais aussi pouvoir piloter la mise au point de mon fidèle CN-212 afin de boucler la boucle.

Donc on récapitule:
- revoir l’électronique de la monture pour qu’elle soit plus simple à concevoir et pourquoi pas encore moins chère?
- déporter l’écran dans une raquette déportée.
- prévoir de piloter la mise au point.

Ok on en est donc là ou presque puisque j’ai déjà avancé sur la question vous vous en doutez. :) Concernant l’électronique, je pense avoir trouvé mon bonheur avec une carte pour imprimante 3D que je vais hacker pour mon usage: la MKS Mini V2.0 Makerbase.

MKS mini V2.0 makerbase

Elle a tout pour me plaire:
- basée sur un Arduino MEGA dans la continuité de mon projet.
- dimensions relativement compactes.
- 4 drivers 4988 afin de piloter à la fois les deux moteurs pas à pas du télescope et potentiellement deux autres périphériques.
- technologie éprouvée puisque dérivée de la Mks standard équipant nombre d’imprimantes 3D DIY.
- tout petit prix: à peine plus de 20€ avec les frais de port sur aliexpress.com.
Il n’en fallait pas plus pour me lancer sur cette piste!

Je vous présente donc mon nouveau prototype déjà installé en bonne place sur ma monture (merci l’impression 3D)... :)

proto-em10-mk-mini-1
proto-em10-mk-mini-2
proto-em10-mk-mini-3

La manette SEGA a été conservée et j’ai prévu un second port DB9 pour la raquette de contrôle qui exploitera l’ancienne carte Arduino équipée de l’écran tactile. Ce dernier s’occupera de l’intelligence (base de donnée, GPS, GOTO, abaque polaire) et la carte Mks s’occupera des moteurs et du PEC.