Aller au contenu

Messages recommandés

Posté (modifié)

Bonjour à tous,

 

Vous le savez, je continue toujours la conception/mise au point de la monture équatoriale de mon Strock.

Il me faut donc désormais réaliser une raquette de commande.

J'ai donc opté pour les fournitures suivantes:

Petite plaque électronique (1.69€):

http://www.amazon.fr/dp/B00GTFPCLM/ref=pe_386181_40444391_TE_item

La carte arduino pro mini (2.37€)!

http://www.amazon.fr/dp/B00YGPU7KI/ref=pe_386181_40444391_TE_item

Des petits afficheurs 7 segements 3 digits (1.87€):

http://www.amazon.fr/dp/B00IIDXCGA/ref=pe_386181_40444391_TE_item

5 petits boutons poussoirs, 2 petits interrupteurs, et 1 optocoupleur que j'avaient sous la la main. Et le powertank + câble USB déjà décrits dans d'autres posts.

 

La confection de la carte électronique n'est pas monstrueuse:

25696-1453105702.jpg

- Relier les cathodes des afficheurs entre elles, et à l'arduino, et les 6 Anodes (qui font office de "chip select") à l'Arduino (via résistance de 810ohms). Total : 7 + 6 sorties de l'Arduino. Certaines cathodes sont reliées directement aux sorties de l'Arduino, limitant d'autant les fils à souder!

- Réaliser un montage avec réseau de résistances et 4 boutons poussoirs pour réaliser un clavier. La lecture se fait via une seule entrée analogique.

- Câbler 1 sortie digitale sur la diode électroluminescente (via résistance de 330ohms) de l'optocoupleur. La sortie va directement sur l'APN. J'ai ajouté 1 bouton poussoir et 1 interrupteur pour permettre le déclenchement manuel.

- Et naturellement, câbler le moteur pas à pas (4 sorties digitales).

Il me reste :

1 entrée analogique.

le port USB (broches RX1 TX0) pour relier la carte au PC de guidage, et recevoir à terme les consignes d'autoguidage de PHD2.

 

Partie arrière:

Certes le montage est "à la chinoise" avec des composants par dessus les uns des autres (les résistances en l'air seront recâblées avec de la gaine thermorétractable...

25696-1453105716.jpg

Toron de câble:

Câbles bleu/rouge/jaune/vert : commandes des phases du moteur.

Câble rouge/noir : alimentation du moteur

Câble bleu/masse : commande de l'APN.

Je suis encore alimenté par le cordon USB de programmation. A terme, un autre câble (USB) me permettra une alimentation via le toron de câbles. Le port de programmation sera libéré, mais pourra être utilisé par le PC d'autoguidage.

 

Une fois tout ce petit monde soudé, tout se passe dans le logiciel.

Passé quelques heurs d'essais / codage / mise au point voici les fonctionnalités:

- Un mode normal, avec vitesse x2, vitesse 0 (comme une raquette standard) en AD.

- Un mode "régler la vitesse" qui peut être incrémentée / décrémentée par centième de pas par seconde.

- Un mode "Cible" pour choisir entre Ciel, Soleil et Lune (applique un coefficient multiplicateur à la vitesse).

- Un mode "calcul de la vitesse par vitesse moyenne". On cible une étoile, on laisse dériver, on corrige par x2 / 0, et on calcule la vitesse moyenne réellement nécessaire.

- Un mode "réglages caméra" pour déterminer la durée et l'intervalle des poses. Autant j'utilise principalement le mode "rafale + télécommande de l'APN" quand je fais du CP, autant ce mode sera particulièrement utile lors des éclipses..

- Un mode "autoguidage USB", pour recevoir les consignes AD+ / AD- par le PC de guidage. L'arduino, après avoir appliqué un petit "x2 / 0" augmentera / réduira légèrement sa vitesse pour éviter que cela ne se reproduise.

- Un mode "DARV" (Drift Alignment by Robert Vice) avec 2 durées (30s et 125s) pour aider à la mise en station. L'Arduino commande automatiquement l'APN qui est placé en mode "Bulb".

 

Voici donc! La suite au prochain épisode.

 

Christophe

Modifié par CDLC
Posté

Bonjour à tous,

 

Après quelques tests à l'oscilloscope, j'ai pu constater le manque de fiabilité de la librairie traditionnelle de commande des moteurs pas à pas. J'ai donc développé la mienne.

Elle sait attendre quelques micro-secondes si nécessaire de façon à assurer un tick à l'instant T nécessaire.

 

Autant la librairie d'origine permet de monter à 1000 pas pas secondes, autant la mienne permet de monter à 1700!

J'ai donc à priori un moteur pas à pas proprement commandé. Je vais faire un test à l'oscilloscope demain.

En effet, il est fondamental de pouvoir avoir une vitesse x2 parfaitement calibrée : elle sert lors du monde "calcul de vitesse moyenne", si la vitesse réelle du mode "x2" n'est pas suffisante, je vais donc appuyer sur le bouton un peu trop longtemps, et me retrouver avec une vitesse surestimée...

 

Étonnant de n'avoir aucune réaction à mon post quand on voit l'apport d'une telle commande sur une table équatoriale... Je sais que çà n'a pas l'air hyper concret, mais çà l'est, je puis vous l'assurer!

 

Christophe

Posté

Excellent!

 

Câbler 1 sortie digitale sur la diode électroluminescente (via résistance de 330ohms) de l'optocoupleur. La sortie va directement sur l'APN. J'ai ajouté 1 bouton poussoir et 1 interrupteur pour permettre le déclenchement manuel.

J'avais fait un intervallomètre avec le miniduino pour mon nikon mais vu que j'avais pas d'optocoupleur, j'avais utilisé un simple relais...une petite latence de quelques ms se faisait remarquer :be:

 

Bon...ben du coup, reste plus qu'à faire le goto ? ^^

Moteur 400 pas à 300 tours/s ? ça devrait le faire ? en tout cas, ça me trotte dans le citron depuis un moment aussi! vu qu'en ce moment, je bosse sur le soft de traitement camera/gpu, j'ai un peu mis de coté la partie hardware.

Posté

Bonjour à tous, et merci pour les retours!

 

Greg : Mon moteur tourne entre 200 et 210 demi-pas par seconde.

L'opto a l'avantage de l'absence de latence, la faible consommation côté Arduino, et surtout la parfaite isolation galvanique, sachant que la bobine d'un relais revoie toujours un pic de tension lors de l'ouverture (d'où l'obligation d'utiliser une diode de roue libre).

Le nombre de cycles est limité également.

 

Christophe

Posté

Étonnant de n'avoir aucune réaction à mon post quand on voit l'apport d'une telle commande sur une table équatoriale... Je sais que çà n'a pas l'air hyper concret, mais çà l'est, je puis vous l'assurer!

 

Christophe

 

Salut, on reste muets devant les choses qui nous dépassent ;)

 

C'est du patois de chinois pour moi mais j'admire ce que les gars comme toi peuvent faire avec 3 bouts de fils, une carte et un ordi :b::beer:

 

J'aimerai bien avoir les connaissances pour en faire autant car j'adore l'idée de pouvoir se fabriquer ses propres raquettes, ses propres intervalomètres d'apn, ses régulations domestiques etc... rien que pour le fait de comprendre comment ça se passe sous ces tas de puces électroniques...

 

Chapeau !

Posté
Salut, on reste muets devant les choses qui nous dépassent ;)

 

C'est du patois de chinois pour moi mais j'admire ce que les gars comme toi peuvent faire avec 3 bouts de fils, une carte et un ordi :b::beer:

 

J'aimerai bien avoir les connaissances pour en faire autant car j'adore l'idée de pouvoir se fabriquer ses propres raquettes, ses propres intervalomètres d'apn, ses régulations domestiques etc... rien que pour le fait de comprendre comment ça se passe sous ces tas de puces électroniques...

 

Chapeau !

 

Pareil. :1010::1010::1010::1010:

Si tu pouvais nous mettre le schéma de câblage et le source arduino pour que les nuls comme moi essaye de comprendre ça serait sympa .

Paul

Posté (modifié)
Pareil. :1010::1010::1010::1010:

Si tu pouvais nous mettre le schéma de câblage et le source arduino pour que les nuls comme moi essaye de comprendre ça serait sympa .

Paul

 

Bonjour Banjo,

 

Tes désirs sont des ordres:

Voici donc le tableau récapitulatif des entrées/sorties de l'Arduino pro mini que tu as sous les yeux:

25696-1453808723.jpg

 

AFFICHEURS:

Pour câbler l'afficheur, les segments A à G sont communs aux 6 digits et sont les cathodes des diodes électroluminescentes. Si à +5v => segment éteint, si à 0v segment sera allumé si et seulement si l'anode est à +5v.

Les 6 anodes sont donc reliées à l'arduino et servent de "chip select", on va donc les commander tour à tour, à +5v. Attention, il convient d'ajouter une résistance, comme pour toute commande d'une diode. On peut alors déterminer le niveau de luminosité via sa valeur. J'ai pris 810ohms.

Un bon tutoriel ici: http://eskimon.fr/98-arduino-205-afficheurs-7-segments

Cependant, le programme proposé est une vrai merde en terme d'optimisation...

Enfin, on peut clairement optimiser tout cela en prenant un afficheur I2C, on prendra alors les 2 sorties SDA et SCL...

 

CLAVIER 4 touches:

Le principe est de câbler les 4 touches sur une même entrée analogique, et de déterminer la touche pressée à partir de la tension. Le principe marche avec une grande fiabilité jusqu'à 12 touches...

Le principe est expliqué ici, j'ai juste réduit à 2x2 touches et optimisé les valeurs de résistances:

http://playground.arduino.cc/Code/OneWireKeyPad

Je n'utilise pas la librairie suggérée, mais ma propre formule, plus rapide et surtout, prenant moins de place en mémoire...

 

COMMANDE MOTEUR PAS A PAS:

Il suffit de 4fils pour commander en pas / demi-pas. Ils sont commandés tour à tour (ou par pair) et arrivent à une petite platine de commande qu'il faut parallèlement alimenter de 5v à 12v.

En demi pas, on a les séquences suivantes:

1000 1100 0100 0110 0010 0011 0001 1001

et en commande par pas:

1000 0100 0010 0001

il est alors possible d'optimiser via un 74HC239:

s201171544340525.gif

Chose que je ferai à terme pour les moteurs en ALT et AZ. D'où une économie, vous l'aurez compris, de 4 fils de sortie de l'Arduino.

 

COMMANDE DE L'APN:

Prendre une sortie digitale, et commander la diode d'un optocoupleur via une résistance (typiquement 330 ou 390ohms). La sortie du transistor de l'optocoupleur est reliée directement à l'APN (bien mesurer la polarité au multimètre). On ajoute en parallèle un bouton poussoir et un interrupteur pour se permettre des fonctions de commande manuel...

 

Enfin, un dernier interrupteur permet la mise sous tension (câblage non terminé sur les photos), depuis un câble USB (dont on utilise que les broches 0 et 5v) collé au toron de câble... le powertank étant donc posé au sol...

 

Christophe

Modifié par CDLC
Posté

Il existe des drivers MotPAP à interfaçage simplissime comme EazyDriver , Big Eazy Driver ou Polulu...qui permettent le micropas. (3 pins Dir Step et mode pas)

Mais ta méthode est tout aussi viable.

A+

Posté (modifié)
Il existe des drivers MotPAP à interfaçage simplissime comme EazyDriver , Big Eazy Driver ou Polulu...qui permettent le micropas. (3 pins Dir Step et mode pas)

Mais ta méthode est tout aussi viable.

A+

 

Bonjour Gandalf,

 

En fait l'intérêt du micropas se présente à vitesse lente, mais ici, je suis entre 200 et 210 demi-pas par seconde. Cela signifie qu'un demi pas = 0.075 seconde d'arc (15"/s / 200). Donc dans mon cas, aucun intérêt.

Ensuite, je doute qu'il soit facile d'implémenter un mode DARV sur un EazyDriver, ainsi qu'un réglage de choix de cible (Ciel / Soleil / Lune) pour éviter la dérive traditionnelle de la Lune... etc.

Mais c'est une solution très intéressante pour une table équatoriale motorisée en vis sans fin tangente...

 

Christophe

Modifié par CDLC
Posté

Côté logiciel, je suis encore en plein développement.

J'ai avancé pas à pas selon les étapes suivantes:

- utilisation de librairies "open source" pour commencer rapidement (AccelStepper par exemple).

- développement progressif du logiciel...

- optimisations / développement de ma propre librairie, plus optimisée et précise.

 

Comme l'OS de l'Arduino n'est pas multitâche, on a 2 possibilités:

- utiliser les interruptions (précises à la ms, donc trop peu précises pour les moteurs pas à pas.

- développer des routines modulaires qui savent quand elles doivent travailler ou pas, et les appeler en boucle. C'est d'ailleurs le principe de la librairie AccelStepper.

 

Le programme est plutôt modulaire:

- créer comme des machines d'état avec des switch / case pour gérer les modes (clavier, affichage, etc.),

- n'appeler les choses que lorsque c'est nécessaire (traitement du clavier et du rafraichissement du contenu de l'affichage 50 fois par seconde et non en permanence),

- Et surtout, parfaitement maîtriser la complexité du code, et en particulier éviter les boucles, voire même les if, de façon à garantir un temps de traversée maîtrisé pour chaque section du code.

 

Christophe

Posté

Merci,

Je suis l'évolution de ce montage avec intérêt et encore merci d'en faire profiter la communauté , même si c'est un peu difficile pour moi ,la partie entraînement AD/DEC pour ma monture P.Bourge m'interresse particulièrement .

Paul

Posté

bravo a toi ;)

cela fait plusieurs fois que j'ai la même idée que toi mais a chaque fois j'abandonnais car je trouvais sa impossible

j'espère que tu va y arriver

Posté
bravo a toi ;)

cela fait plusieurs fois que j'ai la même idée que toi mais a chaque fois j'abandonnais car je trouvais sa impossible

j'espère que tu va y arriver

 

Ma raquette fonctionne déjà suffisamment bien pour du visuel, et ce, avant d'avoir trouvé le bug de précision de la librairie AccepStepper.

Il me reste à déterminer la vitesse "parfaite".

Ensuite, la fonction "autoguidage", etc, ce n'est que du bonus.

Donc en un sens, j'y suis déjà arrivé!

 

Christophe

Posté

Bonsoir à tous,

 

Quelques nouvelles du projet:

Pas mal d'améliorations dans le code de l'Arduino. En particulier, recodage d'une librairie de commande du moteur pas à pas, précise à quelques micro-secondes...

 

Essais jeudi 28/01 au soir de l'ensemble.

- Mise en station par le DARV 125 (préalablement faite au rapporteur numérique) = OK.

- Réglage de la vitesse par la fonction "moyenne" sur le trapèze d'Orion. Une première vitesse est déterminée. Elle devra être affinée, mais c'est une bonne base.

- Série de photos de M42/M43 d'Orion à 15s de pose : très peu de dérive globale sur 30ms. Certaines photos très nettes, d'autres "détruites" par les bourrasques de vent.

- Série de photos sur les Pléïades. Là encore on arrive à avoir un suivi global plutôt correct, et sans commune mesure meilleur qu'avec toutes les motorisations "EQ1" utilisées par le passé.

 

Bref, mon petit projet est de plus en plus prometteur...

 

Christophe

Posté

Voici pour donner une idée du setup complet:

Le Strock T200 prêt en mode "sans autoguidage".

25696-1454097703.jpg

Le site d'observation... Le Sud-Ouest est en face, le Sud à gauche... Et surtout : 3 projecteurs de 250W sur l'immeuble d'en face!

25696-1454097728.jpg

 

La table EQ:

25696-1454097801.jpg

 

Quelques écrans de la télécommande...

25696-1454097840.jpg

 

La validation à l'oscilloscope de la vitesse "x2"...

25696-1454097873.jpg

25696-1454097890.jpg

 

Christophe

Posté (modifié)

Voici pour présenter un peu les modes de fonctionnement, et l'utilisation générale de la raquette:

Toutes vos suggestions sont les bienvenues!

25696-1454419221.jpg

PS : petite erreur dans le syno : la fonction "Intrvl" sert à définir la période entre 2 groupes de photos.

 

En fait, l'APN peut se commander de 4 façons:

- en mode DARV (le mettre en Bulb), la raquette commande l'APN pendant la durée du DARV.

- en mode rafale pur, on utilise l'interrupteur manuel.

- en mode une seule pose : on utilise le bouton poussoir manuel.

- en mode "éclipse", on peut utiliser la raquette pour prendre 2 poses toutes les mn. Les réglages servent pour cela : durée d'une pose, nombre de poses dans un groupe, et intervalle entre les groupes (entre la 1ère pose de chaque groupe). Je m'en servirai donc pour faire des films d'éclipses!

 

Christophe

Modifié par CDLC
  • 2 semaines plus tard...
Posté

Bonjour à tous,

 

La télécommande que vous voyez donne déjà d'excellents résultats.

Toutefois, la commande "directe" des leds de l'afficheur (par balayage matriciel) me consomme un nombre très important de sorties (6 + 7).

Je ne pourrai donc pas commander l'autoguidage du télescope avec cette télécommande.

 

Voici donc un nouveau modèle. Cette fois, l'écran est de type "SPI" (Serial Protocol Interface) et me prend 3 fils... J'en gagne donc 10 qui vont me permettre de commander les moteurs de l'autoguidage, ainsi que lire un port ST4 (même si la carte sera également capable de recevoir les consignes par USB.

 

Une nouvelle carte est donc en développement... La photo ce soir!

 

Christophe

  • 1 mois plus tard...
Posté

Bonjour à tous,

 

J'ai enfin le plaisir de vous présenter la nouvelle télécommande Arduino...

- Ayant trouvé un afficheur à base de MAX 7277 (sur Amazon), je n'ai désormais besoin que de 3 fils pour le commander... Grosses économies! J'ai remplacé la résistance de réglage de la luminosité pour avoir un écran moins brillant de nuit. Tout en sachant qu'on peut la piloter par le logiciel, et donc, la réhausser pour une utilisation de jour (éclipse de Soleil)...

 

- Je peux donc dégager 4 fils pour lire les commandes ST4 depuis la QHY5L-II... C'est ce qui m'a le plus bloqué : J'avais commandé un câble RJ11, et manque de bol, c'est un RJ12 qu'il faut (6 fils et non 4, mais même connecteur!).

 

- Ensuite, j'ai utilisé un composant L293E (ou L293D, çà marche aussi) pour piloter des moteurs à courant continu. Il suffit de 4 sorties, et on peut donc faire du 0/+5v pour chaque pole de moteur, et donc commander le sens de marche... Je peux donc commander le rockeur...

 

- Enfin, avec un ULN2803 (même composant que dans les petites platines de commande des moteurs 28BYJ-48, mais avec 8 canaux au lieu de 7), je peux commander directement le moteur pas à pas en AD.

 

Mais ce n'est pas tout!

En utilisant un équivalent du 74HC239 et un ULN2803, je peux commander 2 moteurs pas à pas en mode pas (4 étapes), en utilisant 2 fils chacun! Je pourrai donc commander un rockeur utilisant des moteurs pas à pas et non à courant continu! La télécommande est donc évolutive!

 

- Enfin, l'ensemble des câbles est collé pour former un toron général, ce qui évite les câbles qui pendent dans tous les sens...

 

NB : il y a ici 2 écrans empilés, celui du dessous ayant rendu l'âme juste avant la séance photo! J'ai donc soudé le second en parallèle à la va-vite!

25696-1460447326.jpg

 

25696-1460447449.jpg

 

Les transistors Darlington (ULN2803) sont désormais reportés sur la télécommande.

25696-1460447522.jpg

 

L'ensemble global, avec le toron de câbles (dont ceux de la QHY5LII-C).

25696-1460447576.jpg

 

Christophe - PhotoStrockeur en effervescence!

Posté

Waouh ça faite un moment que je suis tes évolutions et franchement bravo à toi, même si je suis un novice c'est vraiment une belle réussite.

Si j'avais tes connaissances pour pouvoir faire de même je foncerais pour faire la même chose.

Donc si j'ai bien compris ton systeme te permet de choisir la vitesse de ta table suivant ce que tu regarde CP, planéte, lune??

Si c'est le cas ça doit être moins prise de tête que de régler la vitesse à chaque fois que tu change de cible avec le moteur eq1 et son pota comme j'ai.

Encore bravo

Posté
Waouh ça faite un moment que je suis tes évolutions et franchement bravo à toi, même si je suis un novice c'est vraiment une belle réussite.

Si j'avais tes connaissances pour pouvoir faire de même je foncerais pour faire la même chose.

Donc si j'ai bien compris ton systeme te permet de choisir la vitesse de ta table suivant ce que tu regarde CP, planéte, lune??

Si c'est le cas ça doit être moins prise de tête que de régler la vitesse à chaque fois que tu change de cible avec le moteur eq1 et son pota comme j'ai.

Encore bravo

 

Merci Manu!

 

Oui, c'est çà : j'ai calculé le coefficient à appliquer à la vitesse sidérale pour la Lune et le Soleil, et il me suffit donc de l'appliquer!

L'avantage de l'Arduino, c'est qu'une fois câblé, tout est logiciel!

 

Christophe

Posté
Merci Manu!

 

Oui, c'est çà : j'ai calculé le coefficient à appliquer à la vitesse sidérale pour la Lune et le Soleil, et il me suffit donc de l'appliquer!

L'avantage de l'Arduino, c'est qu'une fois câblé, tout est logiciel!

 

Christophe

 

Pour le calcul c'est propre à ta table ? Je demande ça comme chaque table est construite différemment je parle de l'entrainement (roulement, roue de roller...)

Posté
Pour le calcul c'est propre à ta table ? Je demande ça comme chaque table est construite différemment je parle de l'entrainement (roulement, roue de roller...)

 

Non:

La vitesse sidérale de base est propre à la table, puisque rapport de réduction et au rapport de circonférence entre le secteur et le galet,

Mais le rapport de réduction lune/sidéral est absolu. Idem pour le Soleil.

 

Christophe

  • 2 semaines plus tard...
Posté

Bonjour à tous,

 

Dernière évolution du logiciel, les commandes ST4 peuvent être orientées vers les moteurs de notre choix:

Mode Alt-Azimutal : AD+/AD- commandent les moteurs droite/gauche, et DEC+/DEC- commandent les moteurs haut/bas.

Mode AD: commande du moteur AD+/AD- seul (vitesse x2 / vitesse nulle). Les commandes DEC sont ignorées.

Mode AD + combinaisons de moteurs Alt/Azimutal : pour les commandes DEC+/DEC-, on peut choisir quels moteurs sont commandés, avec donc 8 directions pour DEC+ (et les directions opposées pour DEC-). Par exemple, je cible un objet à l'Ouest, l'axe AD descend donc en diagonal bas/droit. Conséquence, je choisis les commandes DEC en "alt/az" haut/droit, donc à peu près orthogonal. Certes, ce n'est pas parfait, mais çà doit pouvoir marcher car l'angle ne sera pas distant de plus de 22.5° de l'angle orthogonal.

 

Il n'y a plus qu'à essayer quand le temps le permettra.

 

Christophe

Rejoignez la conversation !

Vous pouvez répondre maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous pour poster avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.