Autoguida astronomica con arduino

Ciao ragazzi,
ho una domanda un pò particolare!

Volevo realizzare una montatura altazimutale per astrofotografia utilizzando arduino.

Per chi non lo sapesse, la montatura in questione ha 2 assi semplicemente verticale (altezza) e orizzontale (azimuth).

Collegando arduino al pc ed usando il protocollo LX200 potrei interfacciarlo con il software Stellarium per ottenere in tempo reale le coordinate delle stelle (ho trovato dei tutorial in rete).

Il problema nasce sul posizionamento originale della montatura... cioè:
Come faccio a dire a stellarium cosa sto inquadrando al momento?

Ho letto di motori con encoder di posizione, ma non so assolutamente nulla in merito e ne come funzionano (specie per gli astri).

Avevo pensato di utilizzare almeno l'altezza con un accelerometro per arduino, ma ovunque trovo sketch con gradi pieni, mentre per gli altri si usano gradi, primi, secondo e decimi di secondo... l'accelerometro per arduino ha questa precisione? Esiste un componente più preciso?

Grazie a chi mi darà una mano :slight_smile:

StefanoV89:
Avevo pensato di utilizzare almeno l'altezza con un accelerometro per arduino, ma ovunque trovo sketch con gradi pieni, mentre per gli altri si usano gradi, primi, secondo e decimi di secondo..

Scordati di farlo con un accelerometro, anche se prendi un modello da millemila Euro non ha quella risoluzione.
Le montature dei telescopi si comandano o tramite motori dotati di encoder ad alta risoluzione oppure tramite motori stepper, pilotati in microstepping oppure con elevate riduzioni meccaniche, non solo è importante poter effettuare movimenti quasi micrometrici, è anche importante poter far girare i motori a velocità precise e costanti, altrimenti te lo scordi di mantenere inquadrato un qualunque oggetto dell volta celeste.
Il vero problema non è il codice per Arduino, è la meccanica per far muovere la montatura.

astrobeed:
Scordati di farlo con un accelerometro, anche se prendi un modello da millemila Euro non ha quella risoluzione.
Le montature dei telescopi si comandano o tramite motori dotati di encoder ad alta risoluzione oppure tramite motori stepper, pilotati in microstepping oppure con elevate riduzioni meccaniche, non solo è importante poter effettuare movimenti quasi micrometrici, è anche importante poter far girare i motori a velocità precise e costanti, altrimenti te lo scordi di mantenere inquadrato un qualunque oggetto dell volta celeste.
Il vero problema non è il codice per Arduino, è la meccanica per far muovere la montatura.

Grazie per la risposta!

Allora, la meccanica ancora va costruita quindi mi adatterò alle specifiche richieste.

Mi puoi dare una documentazione o qualcosa per capire come utilizzare questi encoder? Su google si trovano un sacco di cose ma non capisco come adattarli per sapere in che coordinate celesti mi trovo.
Calcola che è la prima volta che ne sento parlare...mi sono sempre limitato a muovere gli stepper da codice manualmente.

Quello che a me serve è sapere l'angolo tra il nord e dove guardo per sapere l'azimuth, e l'altezza precisa.
Pensavo di usare magnetometro e accelerometro, ma mi ha smontato l'idea :stuck_out_tongue: quindi come ottengo questi valori con gli encoder? :slight_smile:

Dimenticavo!

Ho già costruito con gli stepper (un 28BYJ-48 modificato e pilotato con ponte H) una montatura EQ motorizzata sull'ascensione retta, e funziona perfettamente!

Alla fine io devo fotografare oggetti del deep con pose lunghe massimo un paio di minuti, non devo fare esposizioni di ore.

Inoltre ci metto la reflex con un 300mm, non avrò il peso del telescopio o altro.

Sempre se non l'hai già visto, qui dovresti trovare qualcosa riferito alle montature altazimutali e alla conversione di coordinate

Come faccio a dire a stellarium cosa sto inquadrando al momento?

Su stellarium potresti puntare ad un oggetto conosciuto, idem con la montatura in modo "manuale", dopodichè, dopo aver preventivamente inserito le coordinate dell'oggetto nel tuo codice, avresti così "calibrato" la montatura.

In pratica stellarium non sa a cosa stai puntando, sei tu che ti adegui la prima volta in fase di calibrazione

doppiozero:
Sempre se non l'hai già visto, qui dovresti trovare qualcosa riferito alle montature altazimutali e alla conversione di coordinate

Su stellarium potresti puntare ad un oggetto conosciuto, idem con la montatura in modo "manuale", dopodichè, dopo aver preventivamente inserito le coordinate dell'oggetto nel tuo codice, avresti così "calibrato" la montatura.

In pratica stellarium non sa a cosa stai puntando, sei tu che ti adegui la prima volta in fase di calibrazione

Grazie mille :slight_smile:

Avevo pensato anche a questo e infatti pensato, essendo altazimutale anche se non ho inquadrato un oggetto precisamente al centro, se mi sposto di quanto dice stellarium, dovrei riuscire ugualmente ad inseguire con microstep! :slight_smile:

Volevo però automatizzare la cosa :smiley:
Però se come ipotizzato mi confermate che se la calibrazione può non essere precisissima, allora con magnetometro + accelerometro + Giroscopio potrei almeno inquadrare ciò che voglio calibrare! :\

Che ne pensate? Ovunque chiedo come usare gli encoder per ottenere azimuth e altezza, spariscono senza rispondermi... :\

StefanoV89:
Però se come ipotizzato mi confermate che se la calibrazione può non essere precisissima, allora con magnetometro + accelerometro + Giroscopio potrei almeno inquadrare ciò che voglio calibrare! :\

La calibrazione può anche non essere perfetta, il fatto stesso che la fai con il piccolo cannocchiale cercatore per sua natura non è certo precisa, anche il posizionamento della montatura, che fai con la bussola, non è precisissimo, però il puntamento e l'inseguimento richiedono elevata precisione.
Un conto è approssimare la posizione di un oggetto per localizzarlo e fare il primo puntamento, un conto sono i movimenti per centrarlo e poi inseguirlo, per giunta con una montatura altazimutale devi tenere in perfetto sincrono due motori invece di uno solo come nelle montature equatoriali.

astrobeed:
La calibrazione può anche non essere perfetta, il fatto stesso che la fai con il piccolo cannocchiale cercatore per sua natura non è certo precisa, anche il posizionamento della montatura, che fai con la bussola, non è precisissimo, però il puntamento e l'inseguimento richiedono elevata precisione.
Un conto è approssimare la posizione di un oggetto per localizzarlo e fare il primo puntamento, un conto sono i movimenti per centrarlo e poi inseguirlo, per giunta con una montatura altazimutale devi tenere in perfetto sincrono due motori invece di uno solo come nelle montature equatoriali.

Perfetto! La risposta che mi serviva :slight_smile:

Allora vedrò di utilizzare i sensori per la rilevazione iniziale di posizione, mentre gli encoder per calcolare lo spostamendo dei motori :slight_smile:

Grazie mille :slight_smile:

StefanoV89:
Allora vedrò di utilizzare i sensori per la rilevazione iniziale di posizione, mentre gli encoder per calcolare lo spostamendo dei motori :slight_smile:

Motori dotati di encoder idonei costano molti soldi, parliamo di non meno di 100 E per ogni motore + encoder, poi ti serve il relativo driver e controller pid, minino 50-60 E a motore.
Con gli stepper te la cavi con poche decine di Euro per motori e driver microstepping, inoltre sono molto più semplici da controllare con Arduino, per i motori con encoder dovresti andare come minimo su una Teensy 3.x.

StefanoV89:
...
Allora vedrò di utilizzare i sensori per la rilevazione iniziale di posizione...

Scusa, ma non sarebbe piu facile posizionare gia dall'inizio tutto il supporto con l'asse verso nord (o dove ti serve), in modo che lo sketch sappia gia da che punto parti, invece di doverselo andare a cercare ?

Oppore intendi costruire un sistema portatile utilizzabile in qualsiasi posto, e quindi che non sara' mai posizionato nella stessa direzione ogni volta ?

io farei così:

_ puntamento manuale dell'oggetto
_ affinamento del puntamento aumentando l'ingrandimento e muovendo gli stepper con un tastierino (su giù, dx ,sx)
_ attivazione inseguimento con stellarium

edit:
vero è anche che se conosci la posizione della montatura nello spazio puoi evitare di metterla in bolla e correggere lo spostamento via software però.. boh, ne vale la pena?

doppiozero:
io farei così:

_ puntamento manuale dell'oggetto
_ affinamento del puntamento aumentando l'ingrandimento e muovendo gli stepper con un tastierino (su giù, dx ,sx)
_ attivazione inseguimento con stellarium

Rimane il fatto che' per inseguire un'oggetto che fa parte della volta celeste, devi prima dare allo sketch sia l'orientamento polare di partenza dell'asse orizzontale del supporto , sia allineamento ed alzo dell'oggetto, altrimenti come fa lo sketch a calcolare quale motore e di quanto muoverlo ? (voglio dire, non e' la stessa cosa, se parti con l'asse orizzontale allineato est-ovest invece che nord-sud, o in qualsiasi altra posizione intermedia ... inoltre se vuoi veramente un sistema preciso, devi dare al sistema anche la posizione geografica a cui ti trovi, dato che altrimenti non potrebbe compensare l'arco di rotazione del punto in cui ti trovi rispetto al movimento del pianeta ... :wink:

ma infatti alcuni parametri di partenza devono sempre essere messi, come in qualsiasi telescopio penso :slight_smile:

comunque prima mi riferivo all'inclinazione della montatura e non della macchina/telescopio come diceva stefanov89, sono partito per la tangente :grin:

Etemenanki:
Rimane il fatto che' per inseguire un'oggetto che fa parte della volta celeste, devi prima dare allo sketch sia l'orientamento polare di partenza dell'asse orizzontale del supporto , sia allineamento ed alzo dell'oggetto, altrimenti come fa lo sketch a calcolare quale motore e di quanto muoverlo ? (voglio dire, non e' la stessa cosa, se parti con l'asse orizzontale allineato est-ovest invece che nord-sud, o in qualsiasi altra posizione intermedia ... inoltre se vuoi veramente un sistema preciso, devi dare al sistema anche la posizione geografica a cui ti trovi, dato che altrimenti non potrebbe compensare l'arco di rotazione del punto in cui ti trovi rispetto al movimento del pianeta ... :wink:

Allora:

si alla fine uso gli stepper, faccio prima e risparmio...inoltre ho più precisione.

Per quanto riguarda le informazioni iniziali, leggo i dati di accelerometro e magnetometro per posizionamento iniziale, li confronto con la data UTC fornita dal PC, con le coordinate date da stellarium settando dove mi trovo, ed inoltre correggo la declinazione magnetica.

Dopo-di-ché, calcolo ogni step (in base agli ingranaggi che dovrò calcolare) a quanti decimi di spostamento mi corrisponde visto che utilizzero probabilmente 1 barra filettata curva che inclini la base, ed una ruota dentata per girare la montatura su se stessa definendo quindi l'azimuth.

Con arduino codifico gli spostamenti in base alle coordinate di stellarium, e ricalcolo continuamente utilizzando i sensori come controllo di sicurezza.

Intanto ho ordinato i sensori in modo da provare il grado di precisione che riesco ad ottenere, e poi vedo di disegnare la meccanica di movimento.

La barra filettata "curva" te la sconsiglio, perche' finiresti per dover usare una chiocciola speciale con sezioni a molla (per compensare la differenza di inclinazione delle facce della spirale sviluppata su una curva), oppure una chiocciola molto corta (che ti darebbe maggiore imprecisione e piu possibilita' di errori e vibrazioni, oltre a consumarsi piu in fretta) ... ed inoltre, non e' esattamente facile da trovare :wink:

Se davvero vuoi fare un lavoro fatto bene, ti consiglierei una cremagliera sviluppata su una curva (in pratica una "sezione di ingranaggio" larga il piu possibile, compatibilmente con le dimensioni che vuoi tenere), mossa da una vite senza fine, oppure se lo spazio e' un problema, una barra filettata diritta collegata con una leva (lo sketch dovra' compensare anche la variazione progressiva dovuta all'inclinazione dei vettori man mano che la leva si muove, ma si puo fare, ed inoltre meccanicamente e' la soluzione che crea forse meno problemi) ... questo per l'asse orizzontale, quello verticale basta un largo ingranaggio mosso da una vite senza fine, e dovrebbe essere quello che da meno problemi ...

Quanto poi al recupero dei giochi, la tua non e' un'applicazione da telescopio professionale, quindi dovrebbe essere sufficente usare un paio di molle per i supporti dei motori, ma se invece vuoi fare anche quella, si puo fare con un minimo in piu di meccanica ...

Ciao io sto facendo una motorizzazione per la mia Eq3 ti riporto i miei ragionamenti ed esperienze magari possono essere di aiuto o meno... mi dirai poi

Per quanto riguarda la motorizzazione

Questi sono le varie riduzioni delle montature attualmente a commercio con i passi dei motori ovviamente tutte utilizzano il microstepping che in Arduino lo fai con i driver tipo pololu che "manovri" i motori con soli 2 pin (a motore) e vai in microstepping (se così si chiama ...non sono tanto esperto)

Ora tutte le motorizzazioni a commercio altazimutali fanno l'allineamento a 3 stelle ... 2 per trovare la posizione la 3° solitamente la centra senza troppi problemi ... nessuna utilizza encoder quindi contano i passetti

Se vuoi con calma poi ti descrivo il mio progettino

Per il codice ho visto che già hai trovato il sito

Se hai bisogno del calcolo del tempo siderale ho postato poco tempo fa il codice nella sezione software a me serve per calcolare l'RA

StefanoV89:
Alla fine io devo fotografare oggetti del deep con pose lunghe massimo un paio di minuti, non devo fare esposizioni di ore.

Inoltre ci metto la reflex con un 300mm, non avrò il peso del telescopio o altro.

Esperienza indiretta difficilmente riesci a tenere le stelle ai bordi del campo rotonde con quei tempi di posa forse arrivi a 50"

buona giornata

roppo:
Ciao io sto facendo una motorizzazione per la mia Eq3 ti riporto i miei ragionamenti ed esperienze magari possono essere di aiuto o meno... mi dirai poi

Per quanto riguarda la motorizzazione

EQMOD

Questi sono le varie riduzioni delle montature attualmente a commercio con i passi dei motori ovviamente tutte utilizzano il microstepping che in Arduino lo fai con i driver tipo pololu che "manovri" i motori con soli 2 pin (a motore) e vai in microstepping (se così si chiama ...non sono tanto esperto)

Ora tutte le motorizzazioni a commercio altazimutali fanno l'allineamento a 3 stelle ... 2 per trovare la posizione la 3° solitamente la centra senza troppi problemi ... nessuna utilizza encoder quindi contano i passetti

Se vuoi con calma poi ti descrivo il mio progettino

Per il codice ho visto che già hai trovato il sito

Se hai bisogno del calcolo del tempo siderale ho postato poco tempo fa il codice nella sezione software a me serve per calcolare l'RA

Esperienza indiretta difficilmente riesci a tenere le stelle ai bordi del campo rotonde con quei tempi di posa forse arrivi a 50"

buona giornata

Toglimi una curiosità, a che mi serve il tempo siderale? Non posso leggere quello dato da stellarium direttamente?

Ad ogni modo io non sto motorizzando una montatura, ma la devo proprio costruire in legno, quindi i passi delle montature purtroppo non mi servono, andrò un pò a tentativi controllando anche i sensori messi.

Insomma un bel casino, ad ogni modo ho fotografato oggetti messier senza inseguimento con al max 3" di esposizione e non è uscito niente di malvagio... se arrivo a 50" fidati che sarei contentissimo ugualmente ahahah :smiley:

il tempo siderale serve per calcolare l'angolo orario dell'oggetto essendo l'RA costante devi calcolarti la posizione nel cielo

comunque la posizione te la da già stellarium sia altazimutali che orarie

buon lavoro