telescopio+arduino+motor control shield for arduino+motori passo-passo+joystick

Progetto unire 3 passioni: Osservazione degli astri, elettronica, fai da me! :grin:
Come ho già scritto nel messaggio di presentazione sono un'appassionato di astrofilia e dopo aver costruito una montatura altazimutale per un piccolo telescopio, da me definita "montatura davvero spartana" fig. 1 1° Forum di Astronomia Amatoriale Italiano • Leggi argomento - Autocostruzione montatura davvero spartana, tornando al tema in corso, mi è venuta anche l'idea di motorizzarla, ma sempre mantenendo la filosofia del fai da te e dell'economicità, e fu così che conobbi Arduino uno!
Girando un pò per la rete ho trovato diversi progetti, ma nessuno che mi somigliasse, tranne uno chiamato "ArduGoto" ma è in spagnolo e se non ho capito male è rimasto incompiuto https://sites.google.com/site/ardugoto/.
Comunque per pilotare i due motori passo-passo (recuperati da una vecchia stampante epson stylus color 700 comprata tanti anni fa quando c'era ancora la lira) ho scelto la "motor control shield for arduino" fig. 2 della Adafruit, poichè non sapevo ancora quali motori riuscivo a reperire e questa shield può pilotare motori passo-passo, servo e a corrente continua.
Infine sarebbe fantastico se si potesse utilizzare uno dei tanti software come Stellarium o KStars per guidare il telescopio da PC ed osservare il tutto attraverso una webcam posta sul focheggiatore del telescopio, che in seguito, se riesco a far andare in porto il progetto, verrà motorizzato anch'esso per la messa a fuoco delle immagini.
Un ultimo particolare sarebbe quello di poter pilotare il telescopio anche senza un pc ma attraverso un Joystick fig. 3 di quelli tipo vecchi videogiochi arcade!
Ho dimenticato di dire i sistemi operativi che utilizzo, Ubuntu 12.10 e windows XP.
Ora chiedo a tutti voi molto più esperti di me, se il progetto è fattibile e magari aiuti, suggerimenti e consigli in merito, nel caso lo fosse, mi servirebbe una mano nella compilazione delle istruzioni!
Mi sembra di non aver dimenticato nulla, casomai avessi dimenticato, aggiungerò in seguito
A presto e............... Grazie in anticipo a tutti!!!!!!!

156-197-large.jpg

Il progetto è fattibile.

Però, forse sarebbe meglio iniziare con dei buoni servo analogici, che, anche se meno precisi dei motori passo passo, hanno il vantaggio di essere più semplici da usare.

Gli stepper invece devono essere dotati di encoder per determinare la posizione iniziale, il che complica il software.

Mi concentrerei invece sulla conversione coordinate stellari - posizione motori che è fondamentale.

I stepper non hanno bisogno di un encoder, ma di un sensore di HOME. Sid eve riconoscere una posizione di partenza e da lí si calcola i passi da dare per arrivare alla posizione voluta.
Ciao Uwe

Non sono bravo in robotica però sono un astrofilo nel mio piccolo. Per puntare un telescopio, una volta "messo in stazione" (ossia regolato correttamente, non sto a spiegare) i movimenti devono essere calcolati in modo preciso, se si vuole creare una funzione di "autopuntamento".
Quali sono i motori più precisi?

leo72:
Quali sono i motori più precisi?

Dipende tutto dalla velocitá che necessita il movimento.

Qualsiasi motore controllato in posizione (stepper o encoder) con un ingranaggio demoltiplicatore puó andare bene. I motori DC (brushless o con spazzole) possono essere piú veloci rispetto ai motori passo passo a patto che il encoder possa essere letto dal controllo con quella velocitá.

Un motore passo passo ha a causa del suo funzionamento un "freno2 incorporato. Un motore DC non lo ha ma la demoltiplicazione e un montaggio del telescopio in modo che i pesi sono equilibrati non necessitá un freno.

La precisione di posizionamento dipende dalla qualitá del ingranaggio e del rispettivo gioco.

Ciao Uwe

Allora, per quanto riguarda il mio progetto, avevo scelto i motori passo-passo, proprio per il freno e la precisione, e la trasmissione volevo farla con delle cinghie di gomma quindi nessun gioco o quantomeno molto ridotto, parlando in termini non astronomici, che permetterebbe la rotazione sia orizzontale che verticale, la velocità non è importante, o meglio la velocità che serve per saltare da un oggetto puntato ad un'altro, mentre invece la velocità fondamentale è quella che serve per inseguire l'oggetto una volta puntato che deve essere uguale ma contraria al moto rotatorio della terra per compensarlo, ma tutto ciò per quanto riguarda la guida attraverso un programma come stellarium, mentre invece, e dovrebbe essere abbastanza semplice, si potrebbe iniziare a capire come poter comandare i due motori attraverso il joystick di cui ho allegato foto nel primo post.

Per precisione intendo anche sapere esattamente dove un motore è. Se cioè una volta allineato, mi devo spostare a determinate coordinate, il motore non solo deve portarmici esattamente (non posso sgarrare neanche di mezzo grado se l'ingrandimento è elevato) ma deve poi da lì potermi portare anche in un'altra posizione. Non so se mi spiego.

La velocità è relativa. Durante l'"inseguimento", cioè quando il telescopio ruota con la stessa velocità del cielo, basta che sia capace di 15"/s, mentre in "puntamento" dovrebbe andare un po' di più, altrimenti arriva l'alba prima che abbia raggiunto la nuova posizione :stuck_out_tongue_closed_eyes:

Ora non so di quanto siano capaci le montature professionali motorizzate. Non le ho mai avute, aspettiamo che il nostro amico astrofilo ci illustri qualcosa di più

si, anche questo è esatto, diciamo che di default il tele dovrebbe essere in una determinata posizione appena si accende la montatura motorizzata, considera però che stiamo parlando di una montatura altazimutale e non equatoriale, per cui non è necessario partire dalla stella polare.

Anche nel caso di una montatura altazimutale automatizzata però. Se tu a mano sei capace di allineare il tubo, devi pensare che in caso di un sistema di automazione, a questo gli servirebbe almeno una bussola digitale per poter trovare il nord. Altrimenti gli dici di spostarsi a X/Y quello magari va da tutt'altra parte :stuck_out_tongue_closed_eyes:

hai ragione!!!!
per questo bisogna fare le cose fatte per bene e pensare a tutte le casistiche!!!

Ho scritto al moderatore per quanto riguarda i link ma non mi ha ancora risposto, così ho aggiornato il primo post inserendo i link per farvi capire meglio di cosa stiamo parlando e la base da cui partire, nel caso in cui il moderatore mi dirà di eliminarli, lo farò!
Grazie a tutti!

Dato che conosco molto bene il problema, ho progettato diverse elettroniche per il puntamento di telescopi sia basati su montatura polare che montatura altazimutale, vi dico subito che state sottovalutando il problema.
Prima di tutto vi siete scordati del "piccolo" problema che non basta puntare il telescopio in certo settore del cielo, poi tocca pure continuare a muoverlo per inseguire l'oggetto visto che la terra ruota e la volta celeste si sposta di conseguenza, se poi l'oggetto da inseguire è vicino e molto veloce tocca pure compensare il suo movimento.
Seconda cosa, i movimenti devono essere molto, ma molto, precisi, come minimo parliamo del minuto d'arco come risoluzione e precisione, il che richiede un'ottima meccanica con giochi che devono essere prossimi allo zero, Cavaliere_Templare scusami se te lo dico ma la tua montatura mi pare tutto meno che meccanicamente adatta ad una motorizzazione.
La scelta dei motori ricade inevitabilmente su due tipologie, motori DC/BLDC dotato di encoder ad alta risoluzione e fortemente ridotti, motore stepper da almeno 400 step e idoneo per il microstepping, deve avere la necessaria coppia per muovere il tutto, anche lui con riduzione meccanica e trasmissione, l'ideale è con puleggia e cinghia dentata in gomma (assorbe le vibrazioni), più il relativo controller microstepping.
Al tutto deve essere abbinato un sistema di controllo in grado di calcolare i movimenti per puntare le desiderate coordinate, meglio ancora se dotato di un database per gli oggetti di interesse con le relative effemeridi e la capacità il puntamento in base a data, ora e latitudine (l'abbinamento ad un GPS può risultare molto utile), in questo caso basta chiedere l'oggetto da inquadrare e il telescopio lo punta, e lo insegue, totalmente in automatico.
Con Arduino riesci solo a gestire un sistema molto semplice dove immetti tu le coordinate su cui puntare e di conseguenza vengono spostati i motori.

i

Scusate se rispondo solo ora, ma sono stato a lavoro!!!!
per quanto riguarda la sottovalutazione, non c'è stata:

mentre invece la velocità fondamentale è quella che serve per inseguire l'oggetto una volta puntato che deve essere uguale ma contraria al moto rotatorio della terra per compensarlo

come ho scritto qualche post più su.
Invece, in merito alla montatura, sarà anche autocostruita, ma ti assicuro che non ha nessun gioco ne sull'asse dell'altezza ne dell'azimut, e comunque anche se ci fosse è davvero minimo ed anche in merito alla trasmissione ho scritto in qualche post più su:

la trasmissione volevo farla con delle cinghie di gomma quindi nessun gioco o quantomeno molto ridotto

ovviamente per una trasmissione precisa bisognerà calcolare tutti i rapporti di riduzione, grandezza degli ingranaggi e di quanti denti dovranno avere le ruote dentate, per i motori ancora non è definitiva la scelta ma si dovrà scegliere quelli più adatti al progetto come da te consigliato.

In fine:

Al tutto deve essere abbinato un sistema di controllo in grado di calcolare i movimenti per puntare le desiderate coordinate, meglio ancora se dotato di un database per gli oggetti di interesse con le relative effemeridi e la capacità il puntamento in base a data, ora e latitudine (l'abbinamento ad un GPS può risultare molto utile), in questo caso basta chiedere l'oggetto da inquadrare e il telescopio lo punta, e lo insegue, totalmente in automatico.
Con Arduino riesci solo a gestire un sistema molto semplice dove immetti tu le coordinate su cui puntare e di conseguenza vengono spostati i motori.

tutto perfettamente corretto per rendere la montatura completamente indipendente, se invece i calcoli li fa il pc dotato anche di antenna gps con su installato stellarium o altro software che invieranno le coordinate ad arduino e relativa shield tradurranno ai motori in termini di rotazione in un senso o nell'altro, per raggiungere l'oggetto che si vuole osservare e farlo inseguire per non perderlo dall'oculare dopo 1 minuto.

Ad ogni modo bisogna procedere un passo alla volta e fare tutte le migliorie ed aggiustamenti strada facendo, per ora ancora non ho capito come pilotare i due motori attraverso il joystick digitale che ho mostrato nel primo post, per poter pilotare il movimento del telescopio in manuale attraverso il joystick, questo è l'obiettivo che mi sono proposto come prima fase poi passeremo all'automazione tramite programma guida.

@astro:
non lo avevo evitato il problema dell'inseguimento, l'ho scritto nel mio reply #6 che il telescopio non solo deve poter puntare ma anche poi seguire l'oggetto.

@cavaliere:
credo che la tua montatura sia da rivedere completamente. Se ho interpretato bene ciò che ha detto astro (io di montature non me ne intendo, non ne ho mai realizzata una di mio), devi smontare tutto e ricostruire in base ai suggerimenti che ti ha dato e su come poi vuoi motorizzare tutto. Quindi se devi ad esempio collegare pulegge e cinghie, con la montatura attuale il lavoro lo vedo difficile.
Lato meccanico non so aiutarti, lato software sicuramente una mano posso dartela.
Però devi prevedere il complesso elettronico/meccanico già predisposto per la guida in automatico, altrimenti devi poi tornarci in seguito.

Quindi per ora potresti anche pensare ad un progetto basato sul solo Arduino per pilotare i motori in manuale. Ma devi pensare anche ad una porta di connessione per il sistema di guida automatico, che potrebbe essere gestito da un micro/scheda più potente. In questo potrebbe risultare utile la DUE, una scheda a 32 bit che avrebbe la necessaria potenza di calcolo per poter elaborare in tempo reale i dati di puntamento di un oggetto. Usando una SD potresti anche creare un piccolo DB degli oggetti del profondo cielo più comuni (ad esempio gli oggetti Messier e quelli principali del catalogo NGC) selezionabili dall'operatore tramite un piccolo terminale (display LCD + pulsantiera).

leo72:
credo che la tua montatura sia da rivedere completamente.

Esatto, la parte più difficile è proprio la meccanica, dato che ho non poca esperienza su questa cosa affermo senza problemi che la meccanica di Cavaliere_Templare non è idonea per la motorizzazione.
Quando ho citato una precisione minima del minuto d'arco, ovvero 21600 step su una rotazione completa, non parlavo per sentito dire, lo affermo per averlo verificato in pratica, anzi è pure poco come risoluzione/precisione, è sufficiente solo per un telescopio non dotato di forte ingrandimento/risoluzione.
Con un telescopio ad alta risoluzione tocca arrivare al secondo d'arco, 1296000 step, e il tutto non deve avere nessun gioco meccanico altrimenti oltre ad avere grossi problemi di puntamento ci sono forti vibrazioni durante l'inseguimento che rendono impossibile la visione.
Non è un caso che le montature commerciali di qualità costano tanti soldi, sono oggetti meccanici di alta precisione e dato che sono prodotti in un numero limitato di esemplari il costo è elevato.

Per quanto riguarda il discorso controllo con Arduino al massimo pilota degli stepper, che è la soluzione peggiore dal punto di vista vibrazioni, poi potrebbe abbinare un netbook/tablet per le funzionalità superiori.
La soluzione ottimale è usare dei motoriduttori di ottima qualità dotati di motori DC/BLCD ed encoder ottici ad alta risoluzione, però è una soluzione molto costosa e non gestibile con Arduino.

Vi state focalizzando sulla montatura e sui problemi meccanici, ma questi possono essere corretti e modificati di volta in volta se e quando si presenteranno, come recita un detto antico "non ti fasciare la testa prima di rompertela" oppure ancora più calzante "non mettiamo il carro davanti ai buoi", nel mio caso il carro da trasportare è la montatura ed i buoi sono i motori più elettronica. Inoltre ho ribadito diverse volte che la mia intenzione è di pilotare il tutto tramite notebook che farà la stragrande maggioranza dei calcoli, mentre arduino dovrà solo preoccuparsi di tradurre in numero di giri ai motori e la direzione. Credo che in questo modo sia più semplice! Ad ogni modo per ora resta la priorità al primo passo e cioè di pilotare i due motori attraverso il joystick che accoppiato con una resistenza da 10 kohm su ogni pulsante normalmente aperto, invierà un segnale digitale ad arduino.

Cavaliere_Templare:
Vi state focalizzando sulla montatura e sui problemi meccanici, ma questi possono essere corretti e modificati di volta in volta se e quando si presenteranno, come recita un detto antico "non ti fasciare la testa prima di rompertela" oppure ancora più calzante "non mettiamo il carro davanti ai buoi",

Stai usando un approccio errato, la meccanica è il primo problema, poi viene l'elettronica che tutto sommato è abbastanza semplice se usi gli stepper.

@astrobeed
Hai un sito, blog, o anche post nel forum dove posso vedere e prendere spunti e suggerimenti dai tuoi progetti realizzati? Pubblica qualche link. Grazie!

Cavaliere_Templare:
Hai un sito, blog, o anche post nel forum dove posso vedere e prendere spunti e suggerimenti dai tuoi progetti realizzati? Pubblica qualche link. Grazie!

Io non pubblico i miei progetti per il semplice motivo che sono realizzazioni professionali sottoposte a vincolo di riservatezza e/o brevetto.
Per quanto riguarda le mie realizzazioni a titolo personale non ho il tempo per metterle su un sito, mi limito a rendere disponibile parti di codice, a volte interi sorgenti, e schemi a seconda delle necessità dei forum che frequento.

Scusami, non avevo capito che si trattava di progetti professionali e lavorativi, credevo fossero progetti amatoriali di ottimo livello, vabbè allora non voglio violare nessun diritto mi limiterò a chiederti solo consigli!