Aller au contenu

Messages recommandés

Posté

Bonjour

entre autre travaux, j'ai pour projet de motoriser mon dobson

donc, 2 moteurs + drivers et arduino avec contrôle de la position par encodeurs ou autre

j'aimerai savoir si les vitesses de rotation des moteurs sont constantes où, si ce n'est pas le cas, quelles sont les formules qui les font varier

des idées?

Posté

Les vitesses des deux moteurs ne peuvent pas être constantes, au quel cas le télescope irait tout droit dans une seule direction.

 

Il doit y a avoir des algo qui permettent de déterminer la vitesse spécifique de chaque moteur en fonction de la position pointée sur le ciel.

 

Intéressant de te lancer là dedans. Tu veux passer au cmos pour shooter avec ton dob?

(c'est même pas une blague, c'est une vraie question)

Posté

Intéressant de te lancer là dedans. Tu veux passer au cmos pour shooter avec ton dob?

(c'est même pas une blague, c'est une vraie question)

 

oui pour les algos

pourquoi veux-tu que je me fasse ch.. avec de la photo au dobson alors que j'ai un poste fixe?

et puis, des galaxies j'en ai chouté des centaines, c'est à toi de bosser maintenant :be:

moi, c'est le dob en haute montagne avec juste les yeux :cool:

Posté
oui pour les algos

pourquoi veux-tu que je me fasse ch.. avec de la photo au dobson alors que j'ai un poste fixe?

et puis, des galaxies j'en ai chouté des centaines, c'est à toi de bosser maintenant :be:

moi, c'est le dob en haute montagne avec juste les yeux :cool:

 

Justement pour pouvoir shooter sans te faire ch... partout avec ton dob... ;)

Shooter avec un 400 plutôt qu'un 250 ça peut être intéressant...

 

Quoi qu'il en soit, si tu arrives a programmer tout ça, ça sera utile a cette technique d'astrophoto.

Posté

Salut,

 

Un peu monomaniaque le Benjamin...

 

Mais sinon je suis très intéresse par l'algo de motorisation (aaah si je pouvais motoriser mon 600...)... cela dit avec un peu de trigo ca doit pouvoir se calculer... faut reflechir

 

A+

Posté
Salut,

 

Un peu monomaniaque le Benjamin...

 

Mais sinon je suis très intéresse par l'algo de motorisation (aaah si je pouvais motoriser mon 600...)... cela dit avec un peu de trigo ca doit pouvoir se calculer... faut reflechir

 

A+

 

C'était juste une blague a la base...

Posté

Mais sinon je suis très intéresse par l'algo de motorisation (aaah si je pouvais motoriser mon 600...)... cela dit avec un peu de trigo ca doit pouvoir se calculer... faut reflechir

 

A+

oui, cela doit pouvoir se faire

pour la rotation en azimut cela doit être constant, enfin je pense

reste à savoir quelles sont les formules à appliquer pour l'altitude

un matheux ou une matheuse va bien passer par là

Posté
non, tu es un peu obsédé par ton joujou :p

 

Tu veux dire comme un ccdiste?? :be:

Bon allez, je propose de laisser la polémique sur un autre fil.

 

Perso, je serais aussi très intéressé de voir un programme arriver permettant de motoriser n'importe quel dob.

Posté

re,

 

en azimut je pense qu'il faut appliquer un petit cosinus, la trajectoire reste courbe.

 

en altitude c'est probablement la meme chose... j'ai deux trois souvenirs d'ecole, je vais reflechir a la question ce soir...

 

edit : ca coute combien un arduino ? :)

Posté

Pour mes programmes, j'utilise cette méthode. Ca marche bien.

 

 

 

Tiré de http://emilie.bodin.free.fr/logiciel/logicielframe.html

 

----

Les formules :

Notations utilisées :

Latitude = lat

Longitude = longi

Déclinaison = dec

Ascension droite = asc

Azimut =az

Hauteur = hau

Angle Horaire de l'étoile = H = angle - asc + longi

angleH = angle lié a l'heure sidérale.

angleT = angle lié a l'heure.

angle = angleH + angleT

Calcul de la Hauteur :

sinushauteur = sin(dec) * sin(lat) - cos(dec) * cos(lat) * cos(H)

La hauteur est un angle compris entre -90° et +90°, la hauteur s'obtient donc simplement par :

hau = arcsin (sinushauteur)

Calcul de l'Azimut :

cosazimuth = ( sin(dec) - sin(lat) * sin(hau) ) / ( cos(lat) * cos(hau) )

L'azimut est un angle compris entre 0 et 360°, nous avons donc besoin d'un calcul intermédiaire :

sinazimuth = ( cos(dec) * sin (H) ) / cos(hau)

Si sinazimuth > 0 alors :

az = + arccos(cosazimuth)

Sinon :

az = - arccos(cosazimuth)

Calcul du jour julien:

 

Pour la date, il faut utiliser un système de référence plus simple que le système jour-mois-année traditionnel, on utilise en général le JOUR JULIEN : ce calendrier est très simple, il ne fait que compter les jours à partir d'une date de référence. La date de référence est le 1er janvier de l'an -4712 à 12H00 (par exemple le 1er janvier 2OOO à 00H00 correspond au jour julien 2451544.5).

L'utilisateur a donc entré une Année, un Mois, un Jour, une Heure et une Zone, nous en déduisons par le calcul le nombre de jour depuis le 1er janvier 2000 auquel il correspond. L'heure donnée est l'heure locale, la zone correspond au décalage par rapport à Greenwich.

 

[ Par convention : la fonction Int est la fonction qui rend la partie entière d'un nombre ]

• Si le mois est inférieur à 3 :

alors Mois = Mois + 12 et Année = Année - 1

sinon on ne fait rien

 

Puis on fait les calculs suivants :

• A = Int( Année / 100 )

• B = 2 - A + Int( A / 4 )

( les termes A et B sont des termes correctifs qui doivent être utilisés pour les dates à partir du 15 octobre 1582, date de la reforme du calendrier julien en calendrier grégorien. Dans mon logiciel, j'ai supposé que l'utilisateur tape toujours une date apres celle-ci )

• C = Int( 365.25 * Année )

• D = Int( 30.6001 * ( Mois + 1 ) )

• Jour Julien :JJ = B + C + D + jour + 1720994.5

 

Calcul de l'heure sidérale:

 

L'heure sidérale va nous permettre de calculer un angle qui dépend de l'heure d'observation et de la date.

Nous connaissons le jour julien, nous en déduisons le nombre de siècle depuis le 01/01/2000 grâce à la formule suivante :

T = ( JJ - 2451545 ) / 36525

On en déduit l'heure sidérale en seconde grâce à la formule suivante :

H1 = 24110.54841 + ( 8640184.812866 * T) + ( 0.093104 * ( T^2 ) ) - (0.0000062 * ( T^3 ) )

en heure l'heure sidérale est donc :

HSH = H1 / 3600

Mais il faut ramener cette heure dans un intervalle de 0 à 24H et ne garder que la partie fractionnaire de ce nombre d'où :

HS = (( HSH / 24 ) - Int( HSH / 24 ))*24

Calcul du décalage dû à l'heure sidérale

 

Sachant que la Terre tourne sur elle-même en 23H56min4s, on en déduit l'angle auquel correspond l'heure sidérale

angleH = 2 * PI * HS / (23H56min4s)

Calcul du décalage dû à l'heure

 

Il depend de l'heure en temps universelle, c'est à dire l'heure à Greenwich, d'où le paramètre "-zone", il est compté à partir de 12H (car l'heure sidérale est comptée à midi) d'où le paramètre "-12", ce décalage dépend aussi de la rotationde la Terre en 23H56min4s.

angleT = (heure - 12 + minute/60 - zone) * 2 * PI/(23H56min4s)

Posté

Bonjour,

j'ai développé un système qui fait exactement cela.

Il est en deux parties :

- partie bas-niveau : une carte arduino avec 2 drivers de moteurs pas à pas (micropas) et une carte bluetooth

- partie haut-niveau : une application android pour avoir une interface utilisateur (écran tactile) et la puissance de calcul pour calculer les épéhmérides des planètes.

 

coût total des composants : une trentaine d'euros si commandé en chine (hors téléphone et moteurs)

 

A l'usage :

1. on pointe le télescope à la main

2. on serre les embrayages

3. on indique sur le téléphone, l'objet qu'on observe (planète ou NGC, Messier, étoile...)

4. le téléphone calcule les vitesses de suivi en altitude et azimuth, transmet tout ça par bluetooth à l'arduino qui se charge du suivi.

 

Ca marche bien. J'avais un petit bug sur le suivi des planètes que je pense avoir corrigé mais je n'ai pas pu tester sur le ciel depuis la correction.

Pour l'instant c'est utilisable, mais le code mériterait d'être un peu nettoyé. Et surtout il faudrait faire une doc.

En tout cas je suis prêt à le partager et à le mettre en open source s'il y a des amateurs pour l'améliorer.

 

Eric

Posté

Voici mon code VBA. C'est un peu le bordel sans éditeur :be:

 

Function Angle_horaire(AD As Date, Longitude As Single, Date_choisie As Date, Heure_choisie As Date, Zone As Integer) As Single

 

Dim Dayz, Monthz, Yearz, Hourz, Minutez, Secondz As Integer

Dim AD_in_degre, A, B, C, D, JJ, T, H1, HSH, HS, AngleH, AngleT, PI As Single

 

PI = 3.14159

Dayz = Day(Date_choisie)

Monthz = Month(Date_choisie)

Yearz = Year(Date_choisie)

Hourz = Hour(Heure_choisie)

Minutez = Minute(Heure_choisie)

Secondz = Second(Heure_choisie)

 

AD_in_degre = 15 * (Hour(AD) + Minute(AD) / 60 + Second(AD) / 3600)

 

If (Monthz < 3) Then

Monthz = Monthz + 12

Yearz = Yearz - 1

End If

 

A = Int(Yearz / 100)

B = 2 - A + Int(A / 4)

C = Int(365.25 * Yearz)

D = Int(30.6001 * (Monthz + 1))

JJ = B + C + D + Dayz + 1720994.5

T = (JJ - 2451545) / 36525

H1 = 24110.54841 + (8640184.812866 * T) + (0.093104 * (T * T)) - (0.0000062 * (T * T * T))

HSH = H1 / 3600

HS = ((HSH / 24) - Int(HSH / 24)) * 24

AngleH = (2 * PI * HS / (23 + 56 / 60 + 4 / 3600)) * 180 / PI

AngleT = ((Hourz - 12 + Minutez / 60 - Zone) * 2 * PI / (23 + 56 / 60 + 4 / 3600)) * 180 / PI

Angle_horaire = AngleH + AngleT - AD_in_degre + Longitude

 

End Function

 

Function Convert_temps(ByVal T As Single) As String

Dim H, M, S As Integer

Dim Temp, Temp2 As Single

 

H = Int(T)

If H >= 24 Then H = H - 24

Temp = T - H

Temp2 = Temp * 60

M = Int(Temp2)

If M >= 60 Then

M = 0

H = H + 1

End If

 

Temp = Temp - M / 60

Temp2 = Temp * 3600

S = Temp2

If S >= 60 Then

S = 0

M = M + 1

End If

 

Convert_temps = H & ":" & M & ":" & S

 

End Function

 

Function Arsin(ByVal X As Single) As Single

If (Abs(X) >= 1) Then Arsin = 0 Else Arsin = Atn(X / Sqr(-X * X + 1))

End Function

 

Function Arcos(ByVal X As Single) As Single

If (Abs(X) >= 1) Then Arcos = 0 Else Arcos = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)

End Function

 

Function Hauteur(Dec As Single, Latitude As Single, H As Single) As Single

 

Dim Sin_hauteur, PI As Single

PI = 3.14159

Sin_hauteur = Sin(Dec * PI / 180) * Sin(Latitude * PI / 180) - Cos(Dec * PI / 180) * Cos(Latitude * PI / 180) * Cos(H * PI / 180)

Hauteur = Arsin(Sin_hauteur) * 180 / PI

End Function

 

Function Azimuth(Dec As Single, Lat As Single, H As Single, Haut As Single) As Single

 

Dim Cosazimuth, Sinazimuth, test, Az As Single

PI = 3.14159

Cosazimuth = (Sin(Dec * PI / 180) - Sin(Lat * PI / 180) * Sin(Haut * PI / 180)) / (Cos(Lat * PI / 180) * Cos(Haut * PI / 180))

Sinazimuth = (Cos(Dec * PI / 180) * Sin(H * PI / 180)) / Cos(Haut * PI / 180)

If (Sinazimuth > 0) Then Az = Arcos(Cosazimuth) * 180 / PI Else Az = -Arcos(Cosazimuth) * 180 / PI

If (Az < 0) Then Azimuth = 360 + Az Else Azimuth = Az

End Function

Posté
Bonjour,

j'ai développé un système qui fait exactement cela.

Il est en deux parties :

- partie bas-niveau : une carte arduino avec 2 drivers de moteurs pas à pas (micropas) et une carte bluetooth

- partie haut-niveau : une application android pour avoir une interface utilisateur (écran tactile) et la puissance de calcul pour calculer les épéhmérides des planètes.

 

coût total des composants : une trentaine d'euros si commandé en chine (hors téléphone et moteurs)

 

A l'usage :

1. on pointe le télescope à la main

2. on serre les embrayages

3. on indique sur le téléphone, l'objet qu'on observe (planète ou NGC, Messier, étoile...)

4. le téléphone calcule les vitesses de suivi en altitude et azimuth, transmet tout ça par bluetooth à l'arduino qui se charge du suivi.

 

Ca marche bien. J'avais un petit bug sur le suivi des planètes que je pense avoir corrigé mais je n'ai pas pu tester sur le ciel depuis la correction.

Pour l'instant c'est utilisable, mais le code mériterait d'être un peu nettoyé. Et surtout il faudrait faire une doc.

En tout cas je suis prêt à le partager et à le mettre en open source s'il y a des amateurs pour l'améliorer.

 

Eric

impeccable!

j'ai pris deux Nema 17 avec leur carte contrôleur, et la gestion se fera sur un netbook car je code en Turbo-Pascal

par contre, ton code m’intéresse aussi

le mail de mon asso: astrottoirs33 gmail com

Posté

L'angle horaire a comme argument

- l'AD

- la Longitude

- la date

- L'Heure (pas TU, l'heure de la montre)

- la Zone géographique (2 en été pour la France, 1 pour l'hiver)

 

La hauteur est donnée par la fonction "Hauteur" qui a comme arguments:

- la Déc

- la latitude

- l'angle horaire

 

L'azimuth est donné par la fonction "Azimuth" qui a comme arguments:

- La Déc

- la latitude

- l'angle horaire

- La hateur calculée précédemment

Posté

Attention quand on passe vers le zénith, il y a des divisions par "presque" zéro qui foutent le bordel...

Posté
Attention quand on passe vers le zénith, il y a des divisions par "presque" zéro qui foutent le bordel...

 

oui, je pense gérer "à l'arrondi" pour obtenir un suivi suffisant pour le dessin

en même temps avec les deux m de focale de mon dob, le zénith n'est pas ma cible favorite

Posté

Salut à tous, c'est super cool comme projet ce que vous faites là.

Moi aussi je suis en train de motoriser un dob en Altaz, mais comme je n'ai pas votre niveau dans tout ce bordel, je suis parti d'une motorisation d'AZEQ6... :-)

 

Je vous montrerai ça quand j'aurai fini et surtout si ça fonctionne... :-)

Posté

Bonsoir à tous.

 

Je viens de finir la partie mécanique d'une modification d'une monture a fourche. Je suis également à la recherche d'info sur les calcul de coordonnée.

 

Le post tombe a point nommée.

 

Mon but c'est pour de la radio-astronomie et pointage du soleil, lune. dans un premier temps l'arduino gère les moteurs et la partie PC pour le calcul. Puis éventuellement faire tout gérè par un arduino ou autre.

 

Bonne soirée.

Posté (modifié)

Hello,

 

moi qui hésitait à me lancer dans la construction d'une base motorisé pour mon Strock.

objectif avoir le suivie et un GOTO via un pc connecté en BT et carte du ciel.

 

eroyer si tu peux diffuser tes lien internet que tu as utiliser pour que l'on puisse regarder il semblerait que l'on soit asser nombreux a être intéressé ;)

 

on peut faire vraiment plein de truc avec ces petit adruino pour peu que l'on ai un peu de temps.

 

merci pour ton soft en tout les cas je vais regarder ça.

 

Edit : je viens de regarder il doit manquer un gros morceau le seul truc que j'ai c'est un Main.cpp qui converti le catalogue en un classe Java catalogue.java

Tu génères un fichier avec les vitesses de correction à appliquer aux moteurs en fonction de l'objet pointé c'est ça ?

Modifié par alexthecoolman

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.