Table des matières
Fabrication d'un pushTo pour le TLM
But du projet et références
Le TLM est le télescope du club (type Dobson), que nous avions fabriqué en 2013 (voir cette page qui raconte toute l'histoire, et notamment pourquoi il s'appelle TLM).
Un pushto est un système d'aide au pointage. Il permet de guider l'observateur qui déplace manuellement le télescope vers le bon endroit du ciel. Les télescopes de monture Dobson ne peuvent pas être équipées d'un Goto (un système plus complexe - et plus cher - qui envoie directement le télescope sur la cible, avec des moteurs). Donc le pushto est un bon compromis.
L'idée est proposée par Pascal qui a trouvé des instructions détaillées sur instructables. Le montage utilise des encodeurs pas à pas et un Arduino pour mesurer les positions du télescope et aider au pointage.
Présentation de Pascal :
pushtotlm.pdf
La version traduite en français (merci Jean-Christophe).
Première séance (20/12/2019)
Présents : Pascal Jean-Christophe, Christophe, Michel L, Patrick B, Maïté et Philippe, Pierre-Michel, Richard, Pascal B, Fred
Merci Maïté pour les petits gâteaux alsaciens et Jean-Christophe pour les chocolats !
Présentation de Pascal
Pascal nous explique le fonctionnement des codeurs pas à pas et comment utiliser l'Arduino pour décoder les signaux électriques et en déduire leur position absolue. En prime une démo en direct avec de vrais codeurs et un Arduino.
Les planches de Pascal :
encoder.pdf
Il faudra pour notre montage un Arduino un peu plus puissant que le modèle de base (Arduino DUE).
Conception du montage
Réflexions de groupe pour trouver la meilleure adaptation du montage à notre cas.
Disque en élévation
On le fixe à l'intérieur du TLM. Il est au bord de la caisse, donc sans masquage du miroir.
Le capteur peut se fixer sur l'intérieur, côté sud.
Débattement 90 degrés ⇒ pas de gène pour mettre le TLM horizontal.
Disque en azimut
Ce cas est plus compliqué car actuellement il n'y a pas la place ni sous la caisse, ni sous la monture.
Après avoir étudié plusieurs possibilités, nous décidons de fixer le disque sous la monture du TLM, et le capteur sur le socle.
Avantages : simplicité et faibles contraintes mécaniques.
Inconvénient : nécessite de rehausser la monture ⇒ il faudra remplacer l'axe par un autre plus long, et remonter d'autant les 3 patins en téflon (avec des cales en bois).
Cas d'un disque sous le socle (non retenu) :
Mesures :
- caisse = 35 cm de côté
- socle = 34 cm de côté
On décide aussi de refaire le socle avec un rond de diamètre 60cm + 3 pieds réglables (meilleure stabilité su sol irrégulier + réglage de l'horizontalité).
Pour les disques : contreplaqué ép 8
Important : nous choisissons de mettre la courroie avec les crans en interne, et de mettre la poulie en tension.
Il faut donc des disques un peu plus petits (selon la distance de la poulie).
Cette solution permet d'absorber les jeux, et éviter la complexité des ressorts pour mettre en tension la poulie sur le disque.
2e séance (10/1/2020)
Présents : Pascal A, Jean-Christophe, Michel L, Patrick B, Maïté et Philippe, Pascal B, Marie-Lise, Cédric, Fred
Merci à ceux qui ont apporté galettes, petits gâteaux et chocolats !
Présentation de Michel
Michel nous fait une démo de son programme pour utiliser un Arduino avec un module GPS. Ceci permet de récupérer automatiquement la position et le temps sans avoir besoin de les rentrer dans le programme manuellement. Il possède un mode démo qui envoie des valeurs de positions prédéterminées, et dont on voit l'évolution dans Stellarium.
le prototype élaboré par Michel (avec affichage lcd des données gps, temps sidéral, simulation avec des potentiomètres : impressionnant !)
Finalisation de la carte permettant d'adapter les signaux de l'Arduino Due à 3.3 V (les carte MEGA et Uno fonctionnent avec un niveau de signal fixé à 5V : en l'absence de pont diviseur de tension cette tension de 5V pourrait détruire la carte arduino Due). Le niveau 3,3 est ajusté sur chacune des 2 voies des 2 codeurs par action sur les potentiomètre et vérification de la tension avec un multimètre
Prochaine étape : intégration des améliorations développées par Michel
Fabrication du nouveau socle
Jean-Christophe a fabriqué le socle triangulaire. Il monte en séance les 3 pieds réglables.
Poursuite de la conception de l'adaptation du TLM
Les roues dentées et les courroies sont approvisionnées. Nous avançons dans la réflexion pour raccorder les codeurs et les disques. Contrairement au plan, nous avons choisi la dernière fois de mettre les courroies avec les crans en dedans, et donc fixer les codeurs un peu excentrés par rapport aux disques. Il faut donc recalculer le rayon des disques sachant que la longueur des courroies est imposée.
Cette question a donné une scène intéressante : une partie du groupe s'est lancé dans les calculs, et l'autre a choisi une démarche empirique en fabriquant des disques en carton de différents diamètres.
Dans le groupe “calculs”, Michel a montré avec brio son aisance avec les équations, puis a résolu avec un équivalent de mathlab le système 2 équations à 2 inconnues, non linéaire donc sans solution analytique. Le résultat est 17.6 cm (rayon d'un disque).
L'autre groupe “empirique” a obtenu un bon résultat avec un disque de carton de 17 cm ⇒ ouf, les 2 concordent !
Nous choisissons donc de fabriquer 2 disques de diamètre 17 et d'épaisseur avec un petit épaulement pour que la courroie reste en place. Voici le plan :
La prochaine étape est donc de trouver une plaque de PVC ou polyéthylène de dimensions 36×18 cm minimum et d'épaisseur 1 cm (imposée) puis de faire tailler les disques dedans.
Une autre voie serait d'imprimer une poulie GT avec 266 dents : cf aperçu du fichier stl
3e séance (7/02/2020)
Présents : Jean-Christophe, Christophe, Michel L, Maïté et Philippe, Pascal B, Pascal A, Fred
Programmation Arduino
Présentation de l'avancement des travaux de programmation.
Retour par Michel des considérations liées au calcul du temps sidéral et des conversion Az, Alt en RA,DEC
Initiation à l'électronique
Présentation du matériel de base nécessaire
- Tapis de soudage
- Fer à souder 15 à 30W
- Soudure fine
- Pince coupante fine
- Pince à dénuder automatique
- Multimètre
Petite présentation de l'utilisation d'un multimètre. utiliser un multimètre
Présentation des composants usuels : résistance (code couleur), condensateurs, diodes, led, transistor, circuits intégrés
La breadboard et ses connexions,
Crédit willswingscockpit.blogspot.com - ce tableau donne la valeur théorique de la résistance et sa valeur approchée dans la série normalisée ; cette valeur peut être calculée avec la loi d'ohm U=RxI en prenant pour i des valeurs entre 5 et 30mA selon les caractéristiques de la diode et l'éclat souhaité
Travaux pratiques : Maïté soude une led avec sa résistance de 470 ohms qui est testée sur l'alimentation +5V de l'Arduino : la led s'allume, épreuve réussie !
Démonstration de l'utilisation de l'outil de wrapping qui permet de faire des prototypes sans soudure.
Mécanique
Modélisation sur ThinkerCad : Bravo JC !
Décision d'opter pour un entraînement direct du codeur par la courroie exactement ajustée sur un disque de médium (Jean Christophe se charge de fabriquer les disques). Nous revenons donc en arrière par rapport aux séances précédentes. Le mécanisme de ressort semble finalement plus simple et moins risqué à mettre en place.
Nous adapterons les codeurs avec un système mobile + ressort de rappel (sera travaillé lors de la prochaine séance).
Une des flasques de la poulie des codeurs devra être éliminée pour être entraînée par le disque.
Post séance
Réalisation des deux disques par Jean-Christophe : reportage étape par étape
Impression 3D de deux poulies (Pascal)
4e séance (19/11/2021)
Après les mois de Covid, nous reprenons sur ce projet nos séances de bricolage.
Présents : Nicolas, Christophe, Jean-Christophe, Pascal B, Pascal A, Christian S, Vincent, Michel L, Maïté, Fred, Marie-Lise, Edwige et son mari
Remise à niveau
Revue en séance des comptes rendus des séances précédentes (ci-dessus dans cette page).
Démo du système par Michel
La carte Arduino récupère les coordonnées Alt/Az et les transforme en Ra/Dec que lui demande Stellarium.
La présentation de Michel : mllpusto.pdf Le code source : srcpushtomega.pdf
Le système complet avec Arduino, codeurs, GPS, mini-écran, mini-clavier :
Attention il faudra communiquer au club les factures pour :
- Arduino DUE acheté par Pascal
- Accessoires achetés par Michel (GPS, clavier, mini-écran…)
Démos de Pascal
Pascal nous explique son système de serveur de temps NTP en wifi sur TotemDuino (un Arduino sécurisé et dédié aux tests).
Conception du montage sur TLM (axe en azimut)
Nous réfléchissons à la meilleure manière de monter le codeur, la poulie et la roue sur l'axe azimut (on verra en second lieu l'axe élévation).
La poulie n'est pas assez large : il faut soit lui enlever le bord externe, soit fraiser les disques légèrement sur les bords extérieurs. On choisit de ne pas toucher aux roues, et donc de tailler le bord des poulies (Michel). Pascal essaiera aussi des poulies en impression 3D.
Fixation du codeur : il faut l'encastrer dans le socle, faire une fenêtre pour laisser libre le système de ressort. Conception d'un système de plaque pour fixer sur le socle, avec ressort (Photo ML). Christophe va préparer une plaque en alu à tester la prochaine fois.
Le socle est trop bas (le codeur va toucher le sol) ⇒ il faudra rallonger les pieds ou les fixer sur des cales (en dessous du socle).
On décide aussi de faire appuyer la monture sur le socle pour ne pas mettre du poids et des contraintes sur la roue. Il faudra donc des cales pour remonter les teflons (épaisseur de la roue).
Prévoir aussi de renforcer l'axe central pour éviter l'usure du bois.
5e séance (26/11/2021)
Avant la séance, Michel a modifié les poulies (suppression du bord externe, au tour) et Pascal en a imprimé en ABS.
Présents : Jean-Christophe, Christian, Fred, Maïté, Pascal A, Pascal B, Michel, Vincent
Jean-Christophe fait cadeau au club de 2 lampes de bureau à néon pour nos séances en salle.
Michel apporte le Arduino Due, tout monté avec les accessoires (sauf le mini-clavier qui ne fonctionne pas mais ce n'est pas indispensable).
Jean-Christophe montre son ingénieux prototype de fixation de la monture sur le socle, avec un tube de 30 et 2 roulements. Cet axe subit en effet de fortes contraintes mécaniques et nous avions constaté que le bois était émoussé autour du trou dans la monture.
Il a même prévu un écrou à goupille, pour éviter le frottement si on serre trop, et en même temps un dé-serrage de l'écrou à l'utilisation.
En séance, conception détaillée de cet axe, pour prendre en compte le tube de Jean-Christophe et les contraintes liées à la poulie, le codeur et la roue :
Schéma de la fixation de la roue sur le fond de la monture, avec des rondelles en guise de cales :
Attention à ne pas perdre le centre, puisqu'on va fraiser au diamètre 30. Donc dans cet ordre :
- fixer (4 vis) la roue en la centrant bien sur le centre de la monture,
- fraiser ensemble la roue + la monture à 30mm
Pascal A explique son système d'impression 3D, du modèle informatique jusqu'à la pièce finale, en passant par le “trancheur” (slicer) :
Travaux de Jean-Christophe (décembre 2021)
Inversion du codeur et de la roue pour réduire l'encombrement des fils à l'utilisation (les deux codeurs seront sur la monture).
Nouveaux patins, nouveaux pieds réglables, finalisation de l'axe, installation du capteur…
6e séance (14/01/2022)
Présents : Michel, Jean-Christophe, Pascal A, Maïté, Philippe, Pascal B, Fred
Jean-Christophe nous montre les travaux qu'il a réalisés chez lui suite à la dernière séance : impressions 3D, inversion de la roue et du codeur…
Pascal montre son boîtier NTP wifi, avec alim dédiée :
Conception de l'axe d'élévation : fixation du codeur et de la roue.
On marque les limites, à l'intérieur desquelles on peut mettre le support du codeur et le ressort de rappel. Ces limites sont définies par les positions extrêmes de la caisse (verticale si on observe au zénith, horizontale si on regarde à l'horizon). Il n'y a pas assez de place pour utiliser la même pièce que pour le codeur en azimut. Il faudra en fabriquer une coudée.
Il est plus simple de fabriquer une demi-roue (de toutes façon on n'utilise qu'un quart de roue) et de la fixer sur l'axe en bois de la caisse. En plus cette solution ne rajoute pas de surépaisseur vers l'intérieur du TLM (donc pas de risque de masquage). Il faudra coller cette demi-roue et aussi coller la courroie dessus. Jean-Christophe s'en occupe chez lui.
Réflexion sur la manière de packager et fixer le boîtier électronique.
7e séance (18/03/2022)
Présents : Pascal A, Pascal B, Jean-Christophe, Michel, Christian, Cédric, Maïté, Fred
Nous avons essentiellement travaillé à la fixation du codeur en élévation :
- Collage de la courroie sur la portion de roue fixée par Jean-Christophe,
- Fabrication de la plaque alu pour fixer le codeur,
- Perçage de la caisse pour faire passer le codeur,
- Adaptations de la fixation du codeur sur la plaque pour qu'il soit à la bonne profondeur par rapport à la roue,
Nous avons aussi, en rapport avec l'autre codeur (en azimut) :
- Raccourci une vis de fixation du miroir qui touchait le codeur,
- Fixé le codeur (après démontage et remontage de la caisse).
Quelques photos de la séance (merci Cédric) :
8e séance (13/05/2022)
Présents : Pascal A, Cédric, Christophe, Fred
Montage du codeur en élévation et du ressort.
Connexion de l'arduino sur PC linux avec le câble USB : l'arduino démarre mais Stellarium ne le capte pas en port COM USB.
Autres essais avec bluetooth :
- Sur PC linux : device HC-06 reconnu, connecté mais se déconnecte aussitôt.
- Sur smartphone : device HC-06 reconnu et appairé. Dans Stellarium Plus, le télescope est reconnu, se connecte mais se déconnecte quelques secondes plus tard.
Il faudra vérifier avec Michel ce qui se passe dans l'arduino et affiner la procédure.
Reste à faire :
- Raccorder à Stallarium (ou autre) et tester
- Une boîte “propre” avec fixation des fils.
- Une alim rechargeable.
- Procédure utilisateur
Je vois que vous avez essayé une connexion du montage Arduino avec un Stellarium sous Linux. Je viens d'essayer moi aussi chez moi et je ne suis pas arrivé à démarrer, sous Stellarium, la connexion par cordon USB (ni par bluetooth). Pourtant la liaison série entre l'Arduino et le système Linux marche bien, car si je fais la connexion avec un moniteur série sous Linux (celui de l'application Arduino par exemple), et que j'envoie sur la liaison le code LX200 de demande de l'ascension droite (:GR#) l'Arduino répond et envoie une valeur, et de même quand j'envoie une demande de déclinaison (:GD#). Le problème semble donc venir de l'appli Stellarium sous Linux. J'ai re-vérifié sous Windows10 : aucun problème.
J'ai fait une recherche sur internet à propos de Linux+Stellarium+Serial ou USB et il semble que pas mal de gens ont un problème non résolu.
J'ai essayé aussi avec le smartphone, en liaison bluetooth uniquement. Là aussi, avec une petite appli de communication série, la liaison avec le bluetooth de l'Arduino marche et il renvoie bien les coordonnées aux demandes :GR# et :GD#, par contre ça ne marche pas avec l'appli Stellarium+. Elle détecte bien le bluethooth, fait une connexion, mais ensuite, elle cherche à deviner le protocole (elle fait des tentatives Nexstar, Lx200), échoue et se déconnecte…
Sauf avancée de quelqu'un d'autre sur ce problème, j'ai l'impression qu'il va falloir se limiter à la commande via un PC sous windows10.
9e séance (14/10/2022)
Michel L, Pascal A, Pascal B, Richard, David, Jean-Christophe, Fred, Axel, Maïté, Philippe, Jean-Luc
Corrections mécaniques sur le codeur en élévation
Test du mécanisme en élévation : on constate que le codeur est trop près de la poulie et parfois le rebord arrondi de la poulie monte sur la courroie : on démonte le TLM et on décale le codeur en ajoutant une couche de rondelles.
David propose de faire une entretoise en impression 3D pour éviter les 3 empilements de rondelles.
Raccourcissement du ressort.
Tests du pushTo
Montage du secondaire pour équilibrer le télescope pendant les tests.
Tests avec le petit afficheur :
- Déplacement en azimut de +90 degrés ⇒ l'afficheur donne -45. Il faut recaler le signe et un facteur 2. Au retour on retrouve le chiffre initial.
- Déplacement en hauteur : l'afficheur donne 0 quand on est au zénith. Il affiche +45 quand on est à l'horizon. Il faut recaler le signe et un facteur 2.
Par contre aucune connexion ne fonctionne, y compris avec le PC Windows 10 de Michel.
Nouveau test avec cette procédure :
- Se coupler au Bluetooth. Bluetooth crée 2 ports COM.
- Dans le gestionnaire de périphériques trouver quels ports ont été créés (ici port 10 et 11).
- Dans Stellarium choisir un des 2 ports. La position du télescope apparaît sous forme d'une croix.
Test de synchro sur une étoile (paramétrage de Stellarium) : KO. La commande n'a pas été codée dans l'arduino.
Doc LX200 : http://www.lx200classic.com/files/lx200_classic_manual.pdf
Command :Sr HH:MM.T# Returns Ok Sets object right ascension.
Command :Sd sDD*MM# Returns Ok Sets object declination
Voici les commandes que j'utilise pour piloter mon EQ6 via Bluetooth depuis KSTARS et INDI (depuis un raspberry et sous linux).
Il y a deux manips à faire :
- Avoir la liste des récepteurs BT qui sont à portée du PC via la commande : sudo hcitool scan
- Dans la liste, repérer l'émetteur à apparier et noter son adresse mac (du style 20:13:09:06:04:80)
- Ensuite établir la connexion com avec ce module BT via la commande : sudo rfcomm bind /dev/refcomm0 20:13:09:06:04:80
Photos de Philippe :
10e séance (6/1/2023)
Michel L, Pascal A, Pascal B, Richard, David, Jean-Christophe, Fred, Axel, Maïté, Philippe, Marie-Lise
Entretoise
Montage de l'entretoise, imprimée 3D par David, sur le codeur en élévation.
Mise à jour du code Arduino
Connexion de Michel sur l'Arduino en USB pour télécharger la nouvelle version de son code, prenant en compte la commande Sync (recalage des coordonnées sur un point connu). Plusieurs problèmes de dépendances car Michel n'a pas tout l'environnement de développement Arduino sur son PC portable.
En parallèle Fred installe l'environnement sur son PC Ubuntu :
- Téléchargement de l'IDE Arduino avec apt (sudo apt install arduino), sur les dépôts Ubuntu
- Ouverture du .ino de Michel
- Installation des librairies nécessaires
- Installation du type de carte Arduino Due : Tools > Boards > Boards manager
- Sélection de la carte Due : Tools > Boards > Arduino ARM 32 bits Boards > Arduino Due (Programming port)
- Correction des erreurs de compilation (conversions de types, compilateur en mode exigeant)
Nous avons donc 2 environnements de développement disponibles.
Ensuite Michel compile et télécharge le code sur l'Arduino.
Connexion à l'Arduino depuis Stellarium
Plusieurs tests de connexion en bluetooth depuis le PC de Michel et celui de Fred.
Les premiers tests montrent un problème de facteur 2 (déjà vu à la séance précédente). Michel corrige et re-télécharge le code.
Un facteur -1 est aussi ajouté aux déplacements en azimut.
Plusieurs tests de mouvements et de synchro : ça marche !
Procédure :
- Activer bluetooth sur le PC (par exemple sous Ubuntu : sudo hcitool scan puis choisir le HC-06, repérer son adresse mac puis sudo rfcomm bind /dev/refcomm0 00:14:03:05:5D:4B
- Connecter stellarium au télescope (Configuration > Plugin > Telescope Control > Configurer > Choisir Stellarium direct par port série + sous linux le port /dev/rfcomm0)
- Pointer le télescope sur une étoile connue
- Synchroniser Stellarium (Sélectionner l'objet > Fenêtre Telescope Control > Select Object puis Sync - attendre 8 secondes environ)
- Sélectionner l'objet vers lequel on veut pointer avec le pushTo
- Tourner le télescope en se guidant avec Stellarium
- Vérifier que l'objet est dans l'oculaire.
Prochaines étapes : tester sur le ciel et packager l'Arduino et ses accessoires.