PDA

Visualizza Versione Completa : Motorizzazione AR per Eq5/Exos2/Eq3 etc etc



gspeed
04-08-2020, 22:49
Ecco come costruirsi una motorizzazione AR che ha pochi rivali in quanto a qualità dei componenti, per meno di 50euro (*). Questo è lo step iniziale per un progetto più ambizioso ma vista la semplicità ve lo espongo sperando possa essere utile a qualcuno.

Il progetto permette di muovere l'asse AR alla velocità corretta per inseguire le stelle (vedete sotto la spiegazione), premendo il pulsante avanza a 8x, ri-premendo indietreggia a -6x per poi tornare alla velocità siderale con una ulteriore pressione. Potevo metter due pulsanti ma di notte al buio una sola cosa da premere rende le cose più semplici... e poi avevo un solo pulsante in casa!

Ogni suggerimento o miglioramento è ben accetto!

____
(*) non inclusa una batteria 12v, alcuni componenti non si trovano singoli a buon prezzo, per cui se non li riciclate i costi sono leggermente maggiori, ad esempio il driver lo trovate in confezioni da 5 per una decina di euro, Arduino Nano per una quindicina ne avrete tre.


Lista della spesa
La mia montatura è una EQ5 Exos2 Bresser, ma penso non vi siano differenze per qualsiasi EQ5 Skywatcher, per altre montature controllate le distanze e spazio disponibile.

39587


Allo zenit sopra il Cigno il motore stepper Nema 17, ma non uno qualsiasi, per 2-3 euro in più ne prendete uno da 0.9°/step (400 step per giro), ha una precisione doppia rispetto a quelli standard (qui (https://www.omc-stepperonline.com/nema-17-stepper-motor/nema-17-bipolar-0-9deg-36ncm-51oz-in-0-9a-5-4v-42x42x40mm-4-wires.html?mfp=149-step-angle%5B0.9%5D))

Poco a sud circonda Volpetta e Sagitta la cinghia GT2 da 138mm denti, larga 6mm (qui (https://www.amazon.it/gp/product/B07D923VHB/ref=ox_sc_act_title_1?smid=A39KIAQT9XODN8&th=1)). Quanto lunga serve dipende da che pulegge scegliete e dalla distanza tra le stesse , per un calcolo preciso vedete questo belt calculator (https://www.bbman.com/belt-length-calculator/).

Copre l'Aquila la puleggia GT2 da 40 denti con foro passante (bore) da 6mm da inserire nel perno del movimento micrometrico (qui (https://www.ebay.it/itm/GT2-Pulley-Timing-Smooth-6mm-Tooth-Idler-12-15-16-20-30-36-40-60-80-100-all-Bore/303157636647?hash=item46959a6e27:g:bQ8AAOSwZGBc3yV Y)). 40 denti è per me la massima grandezza per evitare di dover montare la puleggia a sbalzo e non poter richiudere il coperchio nero della montatura. Nota: Trovarla con foro da 6mm non è semplice... lo standard sembra essere 6.3 o 5mm, al più comprate con foro da 5mm e allargatelo a 6mm con un trapano a colonna.

Abbassandosi sull'orizzonte, vicino a M2 c’è la puleggia GT2 da 16 denti con foro da 5mm, standard per i motori Nema (qui (https://www.ebay.it/itm/GT2-Pulley-Timing-Smooth-6mm-Tooth-Idler-12-15-16-20-30-36-40-60-80-100-all-Bore/303157636647?ssPageName=STRK%3AMEBIDX%3AIT&var=602102052815&_trksid=p2057872.m2749.l2649)).

Abbraccia M15 un condensatore da almeno 50µF che servirà per proteggere l'elettronica, mentre al centro del quadrato di Pegaso si trova un interruttore (instabile, i.e. rilasciandolo si disattiva). Non è strettamente necessario ma renderà l'inseguimento più comodo. Procuratevene uno migliore di quello che avevo in casa...

Tra Cassiopea e M31 il driver DRV8825 permetterà di pilotare il motore con microstep di ben 1/32 passi: tale rapporto risulta importante per aumentare la precisione ed evitare vibrazioni (qui (https://www.amazon.it/gp/product/B07K9ZB7M5/ref=ppx_yo_dt_b_asin_title_o02_s01?ie=UTF8&psc=1))

Al centro del campo il cuore del sistema, un microcontrollore Arduino Nano (5eur), quasi sprecato per pilotare un motorino ma servirà per sviluppi futuri...

Già tramontato (non presente in foto) un vecchio tagliere ikea, sacrificato per costruire la base su cui fissare il supporto per il motore (a nord di Cefeo) alla montatura. Occhio all'altezza del supporto se volete usare il coperchio nero (5cm per la mia montatura). Mi manca una stampante 3D, accidenti: vi sono schemi online per rendere le cose ancora più compatte e professionali.

Bassi sull'orizzonte cavetteria e connettori vari con cui ingegnarsi per compattare l'elettronica.

Ecco il risultato finale:

395883958939586


Schema Elettrico

39590

Notate come nel Driver i pin MS* sono tutti e tre collegati all'uscita 5v per abilitare il microstepping 1/32, insieme ai pin RST e SLP. Il driver va limitato in corrente (ca. 1A per il motore in questione) agendo sul mini-potenziometro sulla scheda, si trovano facilmente guide in rete (es. qui (https://www.makerguides.com/drv8825-stepper-motor-driver-arduino-tutorial/))

Facciamo i conti

Più riusciamo ad aumentare il rapporto tra velocità di rotazione del motore e di rotazione del telescopio più saliamo in precisione, diminuiamo eventuali errori e vibrazioni (già di per sé ridotte dalla distribuzione a cinghia) e permetteremo correzioni di fino (negli sviluppi futuri...).

La terra completa una rotazione in 23h 56m e 4 secondi, quindi 23*60*60+56*60+4 = 86164 secondi per fare 360°, vuol dire che impiega 86164/360=239.34 secondi per ruotare di un grado.
La vite senza fine della montatura EQ5 ha un rapporto di 1 su 144, i.e. occorrono 144 rotazioni della manopola micrometrica per fare 24h (360 gradi) - il numero lo potete verificare empiricamente e trovate vari riscontri online (EQ 3.2 è 130, HEQ5 135). Il rapporto scelto tra le pulegge è di 40/16=2.5.

Quindi? Comandiamo un motore a cui servono 32 microstep per fare uno dei 400 step (0.9°) necessari a compiere un giro completo che farà girare 1/2.5 volte la vite senza fine a cui servono 144 giri per far fare un giro completo in AR... insomma (400x32x2.5x144) / 360° = 12800 sono i microstep necessari al motore per far muovere di un grado il tubo.

Ma in quanto tempo? In esattamente i 239.34 secondi calcolati prima! Quindi 239.34/12800 = 0.018699 secondi per ogni microstep. Questa è la velocità con cui comandare l'impulso ai motori.

Arduino Nano va a 16MHz, 16 milioni di operazioni al secondo e quindi comandare un impulso ogni 18699 microsecondi (o milionesimi di secondo) gli lascia molto tempo (ad occhio, tre ordini di grandezza) per fare altro. E prima o poi glielo faremo fare.

Il codice

Comandare semplicemente gli impulsi del motore risulta facile, con un caveat: un impulso completo ha due fasi (HIGH seguita da LOW) per cui ogni fase avrà una durata di metà dei 18699 microsecondi sopra calcolati


const unsigned long STEP_DELAY = 18699;
// Define pin connections
const int dirPin = 4;
const int stepPin = 3;

void setup() {
// Declare pins as Outputs
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
// Set motor direction clockwise (HIGH)
// you may have to invert this depending
// on how you mount the motor
digitalWrite(dirPin, HIGH);
}
void loop() {
digitalWrite(stepPin, HIGH);
// STEP_DELAY/2 is the duration of each pulse
// must be > 16383 otherwise
// delayMicroseconds will not work properly
delayMicroseconds(STEP_DELAY/2);
digitalWrite(stepPin, LOW);
delayMicroseconds(STEP_DELAY/2);
}

La funzione delayMicroseconds ha il limite di 16383 microsecondi: occhio se usate rapporti diversi o driver diversi (tipo l’A4988), se allungate la durata dell’impulso il codice sopra potrebbe non funzionare.

Noi però vogliamo usare il pulsante, per poter avanzare o indietreggiare più velocemente e centrare l'oggetto da inseguire. Il codice si complica perché dobbiamo far fare ad Arduino dell'altro anziché bloccarsi sulla funzione delayMicroseconds mentre il tempo passa, ma comunque si dovranno comandare gli impulsi al motore perfettamente. La spiegazione del codice “non bloccante” è più complessa, anche se è tra gli aspetti più interessanti di quanto fatto fin'ora, se avete domande chiedete pure!

Ecco qui il codice finale (RAto.ino) (https://mappite.org/stars/RAto.ino).

gspeed
04-08-2020, 22:53
Alcune foto aggiuntive

Prototipo
39591

Tagliere ikea immolato alla giusta causa
39592
39593
Qui le misure
39597
Per rendere l'attacco più resistente ho avvitato una molla (helicoil) dove si avviterà il vitone passante per la montatura (che non ho menzionato sopra, mi sembra un 4cm x 6mm).

Se però avete per le mani una stampante 3D, potete evitare di acquistare il supporto a L e sventrare un tagliere: vi costruire il vs. supporto (es. modello per eq5 qui (https://www.thingiverse.com/thing:2278288))


Dettagli montaggio
39594
39595

frignanoit
04-08-2020, 23:04
Bravissimo!! un lavorone! credo di riuscirci, ma mi devo studiare bene la cosa, la guida è ottimamente descritta, grazie!!

Coco
05-08-2020, 05:46
Ma stracomplimenti!!! :shock:

etruscastro
05-08-2020, 10:05
perbacco! complimenti!!!

gspeed
05-08-2020, 13:36
Grazie mille! È stato proprio divertente costruirsi questo aggeggino e la cosa più importante è che sembra pure funzionare ;)

Angelo_C
05-08-2020, 18:28
Complimenti davvero per l'inventiva.
Ormai con arduino, si riesce a fare di tutto.

Pastore1980
02-10-2020, 21:11
Complimenti davvero per la guida ben fatta ed il progetto.
Io stavo pensando di fare un sistema GOTO con Arduino per la mia EXOS2,quindi motori in AR e DEC, con il progetto ONSTEP.
Credi che possa usare gli stessi componenti (motore nema-17 0,9° e driver DRV8825) anche per il mio progetto, ovviamente raddoppiando per due? Arduino consigliano invece il mega per quel progetto.
Cosa ne pensi dei Nema-11 (che vengono montati nel GOTO"ufficiale")? Sarebbero un pò più piccoli e si risparmia un pò di spazio,ma non mi convincono...

gspeed
03-10-2020, 10:47
Pastore1980 grazie! Il numero nema indica la diagonale del motore visto di fronte (1.1 pollici, 1.7 pollici) e non la coppia che offre. A parità di lunghezza un 17 ha più coppia, ma un Nema11 "lungo" potrebbe aver e più coppia di un Nema17 "corto". Ho visto che per OnStep i Nema17 sembrano essere lo standard ed ho scelto quelli visto che come dimensioni (lunghezza inclusa) ci stanno giusti, quindi non rischierei di sottodimensionarli - poi se tutto è ben bilanciato direi che non ci saranno problemi anche con un motore più piccolo.

Arduino Mega è ben più potente del Nano, ma consuma e costa di più ed è molto più grande (dovrai quindi usare una scatoletta esterna). Secondo me per implementare un Goto è sufficiente il Nano, bisogna però ottimizzare il codice - quindi non penso che tu possa usare il progetto OnStep con Arduino Uno.

Sto lavorando all'evoluzione (quasi-)goto, ho già il secondo motore e il codice pronto da testare, appena trovo un po' di tempo monto tutto, testo per bene e farò un post. Anche aggiungere una porta ST4 sembra fattibile, ho studiato come funziona, ma non facendo foto al momento non avrei modo di testarla.

Comunque in quasi due mesi di osservazioni l'inseguimento in AR si comporta benissimo, negli alti ingrandimenti è proprio comodo non dover star lì ad inseguire a mano e ritrovarsi l'oggetto centrato perfettamente anche dopo qualche minuto in cui ti distrai a guardar mappe, cambi oculare o aspetti che la nuvoletta passi :cool:

gianluca74
04-10-2020, 15:42
39589



Davvero complimenti per tutto il progetto!
E specialmente per la pulizia estetica finale :shock:
Davvero bravo!

Pastore1980
06-10-2020, 19:57
Pastore1980 Ho visto che per OnStep i Nema17 sembrano essere lo standard ed ho scelto quelli visto che come dimensioni (lunghezza inclusa) ci stanno giusti, quindi non rischierei di sottodimensionarli - poi se tutto è ben bilanciato direi che non ci saranno problemi anche con un motore più piccolo.
E' la conclusione a cui ero arrivato anche io alla fine... :weeabooface:


Arduino Mega è ben più potente del Nano, ma consuma e costa di più ed è molto più grande (dovrai quindi usare una scatoletta esterna). Secondo me per implementare un Goto è sufficiente il Nano, bisogna però ottimizzare il codice - quindi non penso che tu possa usare il progetto OnStep con Arduino Uno.
Sulla scatola esterna nessun problema,avevo pensato di implementarla alla fine...
Volevo fargli anche una tastierina con le frecce per spostarlo manualmente


Sto lavorando all'evoluzione (quasi-)goto, ho già il secondo motore e il codice pronto da testare, appena trovo un po' di tempo monto tutto, testo per bene e farò un post. Anche aggiungere una porta ST4 sembra fattibile, ho studiato come funziona, ma non facendo foto al momento non avrei modo di testarla.
Perchè quasi goto? :rolleyes:
Per il secondo motore sempre lo stesso modello di motore, di driver e le stesse puleggie?

gspeed
07-10-2020, 21:02
...
Perchè quasi goto? :rolleyes:


Penso mi basti che da un oggetto noto e ben visibile che ho puntato mi porti ad un oggetto poco noto e poco visibile nelle vicinanze, quindi almeno la prima "estensione" si aspetta le coordinate dei due oggetti (o il delta AR e Dec) abbastanza vicini (<30°?), ciò dovrebbe anche minimizzare errori dovuti ad allineamenti polari non perfetti. Poi fare un goto che si interfaccia con stellarium o skysafari dovrebbe venir da se in una terza fase (ho visto il protocollo Meade LX200 sembra abbastanza semplice, la complessità è più capire come i vari software lo implementano).


...
Per il secondo motore sempre lo stesso modello di motore, di driver e le stesse puleggie?

Si, stesso motore pulegge sembrano starci perfettamente. A rigore si potrebbero cambiare, comunque almeno per le eq5 i rapporti di trasmission in Dec sono gli stessi di AR

gspeed
20-10-2020, 22:54
... segnalo per chi in futuro leggesse questa discussione il proseguo del progetto: aGotino - un goto con Arduino (https://www.astronomia.com/forum/showthread.php?34605-aGotino-un-goto-con-Arduino&p=372521#post372521)

Pastore1980
14-11-2020, 18:17
Ciao, c'è una cosa che non mi torna (o che sicuramente sfugge a me).
Tu consigli un motore passo passo da 0.9A 5.4 volt, ma il driver ha un voltaggio di lavoro da 8.2 v a 45 v.
Io quindi sul Vmot do per esempio 12v, si regola da solo per il motore? Non è troppo? Se gli do 5v sul driver non dovrebbe funzionare...
Sto sbagliando qualcosa? Grazie mille!

gspeed
14-11-2020, 18:42
Corretto, il driver va alimentato tra gli 8.2v e 45v, quindi i 12v vanno benissimo, così che alimentano anche Arduino Nano (io uso una batteria da moto). Avevo anch'io il tuo dubbio ma poi ho visto la prima FAQ qui (https://www.pololu.com/product/2133/faqs): il voltaggio del motore è relativo, quel che importa è non superare l'amperaggio, difatti sono semplici bobine alla fine. Sui driver c'è infatti un resistore da ruotare per regolare la massima corrente erogata (c'è il link nel primo post, in Schema Elettrico).