Affichage des articles dont le libellé est byj48. Afficher tous les articles
Affichage des articles dont le libellé est byj48. Afficher tous les articles

lundi 29 août 2016

Roue à filtre motorisée : la mécanique



Dans un précédent billet je vous présentais mon idée de roue à filtre motorisée... Maintenant, place à l'action !

Pour motoriser une roue à filtre, il suffit de faire tourner la roue !!!

Pour ça, je vais utiliser un moteur pas à pas 28byj-48, pour plein de bonnes raisons:
  •  un moteur pas à pas permettra des mouvements précis
  •  celui là est vraiment bon marché (2/3€ sur internet),
  •  il est assez petit (3 centimètres de diamètre)
  •  je le connais bien (il fait tourner mon focuser depuis quelques mois...). 

Le plus simple pour entraîner la roue à filtre semble d'utiliser des roues dentées :
  • une petite de 24 dents directement montée sur l'axe du moteur.
  • une grande de 150 dents qui viendra en complément du carroussel. Comme le carroussel est quasiment en contact avec le coffre, la roue sera au dessus; elle ne pourra pas faire plus que la hauteur maximale d'un filtre, soit 3 ou 4 mm.
Le moteur retenu est beaucoup démultiplié; à pleine vitesse il a besoin d'au moins une bonne seconde pour faire un tour. Les deux engrenage ayant un rapport d'environ 6, il faudra au moins 6 à 12 secondes pour un tour, soit 1 à 2 secondes par changement de filtre.



J'ai créé le design des deux roues avec le logiciel merveilleux logiciel OpenScad "imprimé" ces pièces sur une imprimante 3D en plastique PLA. La grande roue sera collée sur le carrousel:

La grande roue à coté du carrousel



Précision du déplacement

Il faut biensur que la roue à filtre amène le filtre sur le train optique, dans l'axe. Mais encore plus que le centrage, il faut surtout que le positionnement soit répétable! Une erreur d'un demi millimètre sera acceptable si elle est reproduite à chaque cliché. Dans ce cas les flats corrigeront bien l'éventuel décentrage. Par contre, si chaque cliché a sa propre erreur de positionnement, il sera impossible de produire des flats corrigeant ces imperfections !

Le moteur pas à pas devrait en théorie être capable de positionner précisément la roue à filtre : 4096 micro pas par tour, mutliplié par le rapport des engrenages donne une précision de 0,015°... Il faut néanmoins compter avec le backlash. (le jeu), de quelques degrés sur l'axe du moteur, et certainement aussi au niveau de l'engrenage. Pour limiter les effet du backlash, il devrait suffire de faire tourner la roue toujours dans le même sens, pour que les engrenages soient en appui du même coté du jeu. C'est donc d'abord un problème de firmware!

Pour traiter un changement de filtre, le controleur du moteur pas à pas devra déterminer le nombre de pas à franchir. Le nombre de pas total requis pour faire un tour doit pouvoir être déterminé facilement, et en divisant par le nombre de filtres, on obtient le nombre de pas à franchir (aux irrégularités des engrenages près)

Calibration

Cela fonctionne quand le firmware connait la position de départ de la roue. Mais maintenir cette information à jour dans le temps est plutot compliqué: l'information va se perdre par exemple en cas de coupure de courant pendant un déplacement, ou si le mouvement de la roue est bloqué (par exemple si l'alim n'est pas branchée...). Et sur le terrain ce petit incident peut ruiner la soirée !!!

J'ai donc doté le montage d'un système de calibration automatique basée sur un senseur à effet hall (testé ici). Ce composant détecte le passage d'un aimant devant lui (il en faut un relativement puissant). Plus précisément, il se déclenche lorsqu'un champ magnétique d'intensité suffisante lui est appliqué. Il suffit donc d'incruster un aimant dans l'engrenage collé au caroussel. Le controleur considèrera alors arbitrairement que la position 0 est celle à laquelle le capteur se déclenche.
Il restera à determiner précisément - une fois pour toute - la distance entre ce point 0 et le premier filtre.


Assemblage

Le moteur et le capteur à effet hall sont montés dans une coque imprimée en PLA; l'emplacement du moteur est ajustable pour permettre un bon contact avec la grande roue. Pour faciliter l'impression et le montage, j'ai conçu trois parties : deux autours du moteur (dessous/dessus), et une troisième venant recouvrir les fils (un simple "capot"). Voici les deux premières tout juste imprimées:



Pour rester précis, il est important que le système d’entraînement soit bien fixé à la roue à filtre (sinon, le moteur va avoir du jeu et les positionnements risquent de ne pas être répétables).
J'ai percé deux trous de 3 sur le débord de la roue à filtre (c'est de l'aluminium, ça se perse très bien) et prévu les trous correspondant dans les pièces en plastique. Des écrous à tête large et un bon serrage rigidifient l'ensemble.

Enfin, comme le Arduino qui va piloter le tout est déporté, j'ai prévu une connectique RJ45...

Voici à quoi ressemble le montage avant fermeture du capot:

Le design des pièces est disponible sur github (il y a même le design de la roue à filtre elle même...).

Facture


En résumé, le matériel requis est donc:
  • Le moteur avec son contrôleur (3€ sur ebay)
  • Le capteur à effet hall (2€ chez MC Hobby)
  • Un aimant terre rare de petit diamètre
  • L'Arduino Nano (5€ sur Ebay, mais je l'avais déjà!)
  • Une prise droite RJ45 (1€ pièce chez Gotronic) et un cable

Ajoutez quelques euros pour le plastique, les écrous, la colle... Le budget de cette modification devrait atteindre les 15€ !

Après le montage, il reste à activer programmer tout ça... Ce sera l'objet d'un prochain billet sur ce blog !



dimanche 14 juin 2015

Focuser Arduino : circuit et bonus

La partie mécanique du focuser motorisé étant terminée (voir le précédent billet), il faut maintenant connecter le tout à un ordinateur.

Un module Arduino Nano semble tout désigné pour ça:
  • il est relativement petit, 
  • la connectivité USB, 
  • il possède de nombreuses possibilités en sortie,
  • les exemples sont très nombreux sur le Net (comme ici ou ),
  • on le trouve à 2€50 sur ebay...
Un Arduino Nano vu de dessus



Le moteur va être piloté par un module ULN2003A (souvent vendu avec). Ce module permet de transformer les signaux issus des pin du Arduino en tension applicable au moteur pas à pas.
Un moteur 28byj48 avec son module ULN2003A




Comme le Arduino a largement la capacité à faire autre chose, j'ai décidé d'ajouter également le pilotage d'une résistance chauffante. Le but est d'économiser l'électricité, et l'autonomie de mon setup complet.  Cette tache requiert de comparer la température du tube optique avec le point de rosé (la température à laquelle la rosée se forme). Ce dernier est déduit de la température et l'humidité extérieure.

Le contrôle du chauffage requiert donc quelques composants en plus:
  • Pour servir d'interrupteur on/off sur la résistance chauffante: un Moffset (transistor de puissance), avec une résistance et une diode. J'ai utilisé un transistor IRF540N et une diode 1n4007.
  • une sonde de température qui devra être contre le tube optique : DS18B20 (trouvée à 3€ toute montée sur ebay avec la recherche "DS18B20 Dallas 1-Wire Digital Thermometer Etanche (Waterproof)")
  • une sonde d'humidité qui devra être à l'air libre : DHT22 (5€ sur ebay)

Enfin, le Arduino est capable de mesurer une tension. C'est très pratique pour connaître l'état d'une batterie ! Comme le Arduino ne peut mesurer précisément que des température relativement faible (de l'ordre de 1,2V), il faut réduire la tension pour pouvoir la mesurer. Le montage est trés simple, il s'agit d'un pont de 3 résistances entre le gnd et l'entrée +12V. Il faut des résistances suffisamment grandes pour que la consommation soit négligeable. Le pin Arduino analogique est ensuite simplement connecté entre deux résistances. La valeur n'est pas très précise parce que la référence interne du Arduino Nano n'est pas calibrée. Par contre, elle est stable, ce qui donnera quand même une bonne indication de l'évolution de la tension, y compris d'une soirée à l'autre.


Au final, voici le circuit, présenté sur une carte de prototypage (attention, c'est vu du dessous !):







dimanche 31 mai 2015

Motorisation de mise au point sur le Mak Intes M500

Je me suis lancé dans la construction d'un focuser motorisé pour mon téléscope !

J'utilise essentiellement mon téléscope pour faire des photos du ciel profond, avec un caméra CCD spécialisée connectée à un ordinateur.

Normalement, la mise au point est faite en tournant manuellement une molette. La précision requise est de l'ordre du centième de tour (quelques degrés). La difficulté est qu'en astrophoto, on n'a pas un retour direct sur les manipulations et donc il faut beaucoup d'aller-retour avec l'ordinateur et une bonne intuition pour réussir une mise au point correcte en un temps raisonnable - tout ça de nuit bien-sur. Et la qualité de la mise au point est forcement cruciale pour le résulta final !

L'idée de ce montage est de motoriser la molette de mise au point pour qu'un logiciel sur l'ordinateur puisse tout contrôler : Le logiciel va déclencher les déplacements de la molette, les prises de vue et en rechercher la meilleure position en fonction de la netteté de chaque image.



Je suis parti d'un projet existant trouvé sur un forum : http://stargazerslounge.com/topic/218975-arduino-ascom-focuser-mark2/


Les idées du projet original sont:
  • utiliser un moteur pas à pas facilement controlé par un Arduino
  • coupler ce moteur à l'axe de la molette
  • développer un driver "ASCOM" pour faire l'interface entre l'arduino et les logiciel d'astrophoto capables de piloter le tout
Mon téléscope n'étant pas particulièrement accueillant pour un tel montage (c'est une INTES M500, construit comme un tank russe).... la première difficulté à été de trouver un moyen de couplage du dispositif avec l'axe de mise au point.

Il faut d'un coté trouver comment coupler le moteur à l'axe, et de l'autre fixer le dispositif pour qu'il ne soit pas du tout mobile, pour ne pas qu'il tourne autours de l'axe, et aussi pour qu'il ne soit pas source de vibration pendant les photos !

Voici comment se présente l'arrière de mon télescope (molette retirée) :

A la main, l'axe est un peu résistant, et je ne suis pas du tout confiant sur la capacité d'un petit moteur pas à pas à l'entrainer. La courroie semble une bonne option pour avoir de la liberté sur le positionnement du moteur, et permettre une réduction avec des roues de taille différente. J'ai opté pour une combinaison de roues et courroies MXL025, avec un moteur pas à pas BYJ48 en 12V. Ce dernier a déjà une réduction interne importante (4096 pas par tour !), encore réduit par le rapport de 5 entres les roues utilisées pour atteindre 20000 pas par tour (sous réserve d'un montage rigide !)

Pour le montage de la grande roue sur l'axe du focuser (d'un coté du diamètre 13, de l'autre du 6), j'ai improvisé un coupleur maison en bois :


Enfin, l'ensemble va utiliser le support de chercheur présent sur le tube, que je n'utilise pas.

Voici un premier "prototype" en polystyrène:

Et voici la version presque finale, essentiellement en alluminium (des corniches avec écrou et boulon) et un petit tasseau. Le Arduino va loger dans une plinthe en ABS blanc.


C'est tout pour la partie mécanique ! Je détaillerais dans un autre post le circuit électronique et les aspects logiciels!