Dolly macro micro

Dopo avere giocherellato con le collisoni di gocce la mia attenzione si è polarizzata sulla macrofotografia e in particolare alla tecnica del focus stacking. Dopo avere  utilizzato una slitta X-Y cinesina ho cercato una soluzione per rendere più comoda e precisa l'acquisizione degli n scatti necessari a realizzare uno stack.

Come sempre la rete è una miniera di informazioni e la mia attenzione si è polarizzata su alcuni dolly amatoriali per il time laps pilotati da un Arduino; con tanta pazienza sono riuscito a realizzarne uno per la macrofotografia ove impostando  il numero di scatti da eseguire e il passo  si realizzano, senza alcun intervento, n scatti equidistanti;  il passo impostatato è di poco inferiore alla PDC dell'ottica adoperata per cui con sufficiente sicurezza con un programma tipo Combine ZP è possibile ottenenere una foto senza artefatti.

Come macchina di test ho utilizzato componenti di un vecchio scanner ( gruppo motore e riduttore giri) e una scheda bigeasydriver a sua volta pilotata da un Arduino Uno; con una barra filettata di passo 1,5 mm collegata ad un motore passo passo da 1,8 gradi (un giro completo con 200 passi elementari è già possibile ottenere un passo elementare del carrello pari a 1,5/200 ovvero 0,0075mm ). Nelle fotosono mostrati i componenti elementari per costruire una slitta e l'ambiente di test.

       

Per chi non conosce il motore passo-passo basta evidenziare tre caratteristiche: il motore si muove a scatto ( passo) che ha sempre lo stesso valore, quando non è in movimento è praticamente bloccato,  ha una eccezionale coppia motrice nonostante la sua ridotta dimensione. E' necessario alimentarlo a mezzo di un apposito driver che ne consente la completa manovrabilità. I primi test hanno confermato che Il progetto era  fattibile, la soluzione finale ancora lontana.

Leggendo nel forum un post di Roberto ( bert0983 nel forum) ho subito capito di aver trovato un alleato prezioso; è stata sufficiente una email per sincronizzarci. Roberto da tempo si dedica al focus stacking usando slitte motorizzate di elevata precisione meccanica comandate a mezzo di un programma (che gira sempre su Arduino) di cui ha contribuito allo sviluppo con un'altro appassionato, stavolta di oltreoceano ovvero Reallysmall ( http://www.flickr.com/photos/reallysmall/9177874726/ ).

Il progetto è diviso in tre blocchi: slitta motorizzata, modulo di comando, software di gestione.

La slitta è il componente fondamentale del progetto per cui occorre costruirne una con caratteristiche meccaniche tali da non vanificare il risultato. Questo non significa dover ricorrere necessariamente ad una officina di meccanica di precisione o di acquistarla già assemblata, ma solo che il suo assemblaggio deve essere quanto più accurato possibile. Lo schema di massima è questo:

Per il materiale si può utilizzare quello che vi è di più facile reperimento o che sapete meglio lavorare: legno , alluminio, plexiglas o altro. L'importante è che la slitta abbia la necessaria rigidità e stabilità. In rete ho trovato a un buon prezzo una vite, una cuscinetto a ricircolo di sfere e due guide per il carrello con i relativi cuscinetti lineari.

 

Per la struttura  ho usato del plexiglas. La vite ha il passo di 2 mm e il motore e si  accoppia  all'asse del motore passo-passo senza alcuna riduzione meccanica, che è un passo-passo da 0,9 gradi ovvero per ogni impulso di comando ricevuto dal driver il suo asse ruota di 0,9 gradi, quindi saranno necessari  400 impulsi ( 0,9 : 1 = 360: x ; x = 400 passi) per effettuare una rotazione. Il  passo del carrello è pari a 2/400 ovvero 0,005 mm  (400 : 2 = 1 : y ; y= 0,005mm). Per l'alimentazione del motore  è necessaria una apposita scheda driver.  Quello che ho utilizzata  è in grado di parzializzare l'impulso base fino ad un 1/16, per cui il passo elementare teorico risulta pari a 0,005/16= 0,0003125mm ovvero è possibile effettuare 3200 passi per ogni millimetro di corsa scattando 3200 foto.

Come potete vedere dalla foto la slitta è composta da una vite su cui scorre un cuscinetto a sua volta  solidale con un carrello su cui sarà fissata la fotocamera; l'asse della vite è sostenuto da due cuscinetti posti alle sue estremità di cui uno passante e a mezzo di un giunto elastico si collega al motore, in questo modo piccoli disallineamenti tra i due assi (motore-vite) saranno automaticamente compensati. Sono inoltre necessarie due guide laterali per il carrello ad esso collegate a mezzo di cuscinetti tipo lineare. Le estremità delle due guide bloccheranno, a mezzo di viti, i supporti anteriore e posteriore della slitta. Se tutto è ben allineato il carrello si muoverà col minimo attrito possibile. E' essenziale forare i supporti anteriore, posteriore e il supporto del carrello in modo preciso e per questo consiglio l'uso di un trapano a colonna con morsa a crociera.

Il motore è fissato all'estrerno del supporto ed ho inserito anche due piccole molle (tagliate ad hoc da un bastoncino appendi tenda) a mo' di contrasto alle viti di fissaggio e allineamento. Per la slitta non ci sono criticità  per cui ognuno può costruirla  secondo le proprie esigenze. Nel mio caso la lunghezza della vite  è stata vincolante e  la corsa utile è risultata pari a 45mm più che sufficiente per la macro e microfotografia. Una curiosità sul cuscinetto a ricircolo di sfere: il suo utilizzo riduce non solo a quasi un terzo l'attrito tra i filetti della madrevite e quelli della guida perché anziché lavorare in presenza di attrito radente lavora in attrito volvente, ma aumenta la rigidità assiale, il che migliora drasticamente la prestazione della slitta. Una funzione inserita nel programma consente di minimizzare ancora di più i laschi facendo prima arretrare  e poi avanzare di pochi decimi di mm il carrello in modo che la spinta sia già in fase attiva  col minimo gioco possibile.

Il carrello deve ospitare la macchina fotografica. In linea di massima si può predisporre e fissare un supporto sul piano del carrello e a mezzo di un idoneo perno fissarci la fotocamera oppure usare una piastra ad attacco rapido in cui la parte fissa è  fissata al carrello.

Restano da fissare i due finecorsa a protezione meccanica del sistema e il connettore per il collegamento al modulo di comando. Vi ricordo che sono necessari 4 cavi per il motore, 2 per il comando di scatto per la macchina, 2 per l'eventuale alimentazione esterna per la macchina fotografica, 2 per i finecorsa  di sicurezza. Attenzione ai cavi del motore: usate un cavetto schermato a quattro fili  o avvolgete tra di loro i relativi quattro cavi. Il motore viene pilotato con corrente ad alta frequenza che causa  interferenza elettromagnetica con i cavi limitrofi ed in particolare con il circuito che controlla i fine corsa della slitta. Non ha alcuna importanza se collegherete il tutto in modo diretto o a mezzo di connettore ma attenzione: anche se il driver del motore è protetto  è preferibile alimentare la centralina di comando con il motore connesso.

Il dolly è utilizzabile con qualsiasi macchina fotografica purché sia possibile pilotarla a mezzo di cavo per lo scatto. 

Il modulo di comando è composto da  un visore lcd , un encoder, un pulsante di start/stop, due interruttori per il movimento della slitta e interruttore di alimentazione.

 

 

L'encoder  è il dispositivo con cui si potrà non solo navigare tra le voci del menù ma selezionarle a mezzo di in pulsante incorporato. La  sua manopola ruota, senza alcun blocco di fine corsa,  in entrambe le direzioni generando una serie di impulsi. Un apposito driver è in grado di decodificare il verso e di contare gli impulsi. Premendo invece sulla manopola si attiva un interruttore che utilizziamo per scegliere la voce del menù che in quel momento è visualizzata. Ora è possibile cambiare il parametro eppoi premendo di nuovo si potrà ritornare a navigare nel menù.

I due interruttori servono per movimentare il carrello e possono essere sostiuti da un interruttore a due contatti a bilanciere con ritorno a zero.

L'interruttore generale  serve a fornire alimentazione ai vari circuiti. Il modulo di comando può essere alimentato da una batteria o da un alimentatore con tensione dai 9 ai 12 V, anche switching, in grado di erogare almeno 2 Ampere. Il modulo di comando è composto da una piastra madre del tipo millefori, un ArduinoUno, un driver per il motore, un paio di optoisolatori 4N35, l'alimentatore per la fotocamera con tensione regolata in uscita pari a 8,3V (opzionale e necessita il connettore specifico per il collegamento alla fotocamera) e pochi altri componenti come da schema allegato.

Il comando ai dispositivi è a mezzo di optoisolatore 4N35 ovvero non c'è alcun collegamento elettrico tra la scheda madre il circuito pilotato. Le luci del set sono comandate a mezzo di un un TP122 pilotato da un 4N35. Nel caso che la loro tensione di lavoro sia inferiore ai 12 V è necessario inserire in serie ai led una resistenza di caduta tensione. Il suo calcolo è semplice e ipotizziamo che la tensione di lavoro dei led sia 8 V. Se la tensione di alimentazione è 12V dobbiamo introdurre una caduta di tensione pari 12-8 = 4V. Conoscendo la corrente di funzionamento dei led , ad esempio 0,75 ampere, la resistenza di zavorra sarà pari a 4/0.75 = 5,3 ohm e dovrà essere in grado di smaltire almeno 3W  (4V*0,75A).  Assemblare il circuito richiede un minimo di familiarità con la componentistica e il saldare ma non essendoci particolari criticità non è difficile da realizzare. Unico elemento critico è l'encoder in quanto quelli di fascia bassa non consentono di navigare in modo fluido nel menù.

Dal sito di Arduino dovete scaricare il suo programma di gestione e installarlo, installare poi il driver usb/seriale  per potere collegare il pc ad arduino a mezzo di un cavo tipo usb per stampante. Una volta avviato il programma caricate il programma Dolly macro micro, poi inviatelo all'Arduino Uno . Non sarà più necessario ripetere l'operazione se non per caricare eventuali aggiornamenti o  modifiche da voi apportate al programma.

Già il programma. Si perché nel frattempo che l'hardware prendeva forma, a mezzo di uno continuo flusso di email, si discuteva, modificava e si testava il programma. Nel rivedere il funzionamento del driver del motore passo-passo si è materializzata la possibilità di misurare il movimento della slitta. Ad ogni impulso inviato dal driver al motore il carrello si muove di un passo quindi se conto questi impulsi  posso calcolare di quanto si è spostato il carrello. Noto questo valore e nota, seppure approssimativamente, la pdc del sistema ottico che sto utilizzando,  posso semi-automatizzare lo stack ovvero:

preparo il set, collego la macchina al monitor del PC a mezzo della HDMI, attivo il LV;  muovo il carrello fino a trovare  il primo piano di fuoco che mi interessa fotografare. Effettuo qualche scatto per trovare il corretto tempo di esposizione. Azzero il contatore della misura del movimento carrello e avanzo fino all'ultimo piano di fuoco che mi interessa,  disattivo il LV. Ora setto il passo che rappresenta la  PDC del sitama ottico usato, i la velocità con cui si sposterà il carrello, alta se il passo è lungo bassa se è corto, lascio al programma il calcolo del numero degli scatti necessari per lo stack. Dopo il calcolo sul monitor della centralina di comando sono visualizzati  i dati elaborati tra cui il numero degli scatti e il tempo necessario ad eseguirli; il programma attende dieci secondi per la conferma dell'esecuzione dell'operazione, trascorsi i quali il carrello arretra fino al punto  zero e resta in attesa di ricevere ulteriori input.

Nel caso di conferma  il carrello arretra fino al punto zero ed inizia la serie di scatti alla cui fine  riporta  il carrello alla posizione zero per consentire, senza dovere riposizionarlo, una ulteriore serie di scatti nel caso che la elaborazione, effettuata a mezzo di  programma tipo Combine zp, non abbia dato il risultato atteso. E' possibile avviare manualmente il programma modificando tutte variabili.  In ogni momento tenendo pigiato il tasto start/stop si può interrompere la sequenza in corso.

Sono stati necessari mesi di lavoro e la sostituzione del monitor lcd, visto che  quello 16*2 limitava il numero delle info visualizzate, per rendere operativo il progetto.

Alimentata la centralina sul visore lcd, dopo il messaggio iniziale, è visualizzata la prima voce del menù mentre ruotando la manopola dell'encoder saranno visualizzate le altre; pigiando sulla manopola si accede  ai vari sotto menù e si possono settare le variabili. Ripigiando sulla manopola si ritorna al menù principale.

Prima di descrivere singolarmente le varie voci leggiamo rapidamente il menù

1) Velocità della slitta

2) Reset posizione carrello

3) Unità di misura del passo

4) Scelta del passo

5) Numero degli scatti da effettuare

6) Ritorno del carrello

7) Pausa tra gli scatti

8) Tempo di esposizione

9) Test di esposizione

10) Modo video

11) Accessione luci set

12) Elabora dati

 

Velocità della slitta

   

E' possibile movimentare la slitta con sei diverse velocità da 1 a 6 (3 il defaul). Ciò permette di spostarsi nel modo più opportuno nelle varie fasi dello stack; ad es. la 1 ovvero la micro è molto utile nella fase fine di messa a fuoco e  nella scelta del punto zero di inizio stack,  mentre la 6 per spostarsi velocemente.

 

Reset posizione carrello

  

Dopo avere scelto il primo piano di fuoco dello stack con questa funzione si definisce il suo punto di inizio. Pigiando sulla manopola la misura, in quel momento visualizzata, è azzerata. Successivamente si sposta il carrello per trovare l'ultimo piano a fuoco dello stack; in questa fase non ha alcuna influenza sull'algoritmo  l'avanzare o arretrare del carrello.

 

Unità di misura dello spostamento del carrello.

 

Sono disponibili quattro unità  di misura: micron, centesimi, decimi di millimetro e millimetro per agevolare le varie operazioni in caso di lavori con ottiche da microscopio oppure  ottica con minore rapporto di ingrandimento.

 

Scelta del passo.

Il passo è in pratica il valore della PDC dell'ottica in uso. Non è facile avere con certezza questo dato soprattutto quando si usano tubi e ottiche da microscopio. Con un po di pazienza e scatti la si può trovare empiricamente effettuando dei test e verificando la presenza di artefatti. L'unità di misura del passo è la stessa dello spostamento del carrello.

 

Set numero di scatti

E' possibile definire  il numero di scatti che si vogliono eseguire quando non si utilizza  l'algoritmo di calcolo automatico; l'incremento si effettua ruotando la manopola . Non facendo arretrare il carrello a fine sequenza si possono effettuare altri scatti dal punto in quel momento raggiunto. Per avviare la sequenza è sufficiente, dopo avere settato il tempo di esposizione, premere il tasto di start. Nel caso sia necessario fermare la sequenza è sufficiente tenere pigiato il pulsante di start/stop fino a quando la sequenza si interrompe.

 

Ritorno carrello dolly

   

Questa funzione predispone il ritorno del carrello al punto definito a mezzo del “reset posizione carrello”. Se abilitata il carrello, a fine esecuzione del programma, è riportato alla posizione 0,  anche se la sessione è stata interrotta a mezzo del pulsante “start/stop”. Disabilitando la funzione  il carrello si ferma nella posizione raggiunta nell'ultimo scatto permettendo, nel caso sia necessario, di effettuare ancora qualche scatto per completare lo stack.

 

Tempo di pausa tra scatti

La soluzione scelta per minimizzare il micromosso prodotto sia dall'alzarsi dello specchio che dallo spostamento del carrello e consentire la ricarica del flash, se usato al posto delle luce continua, è stata quella di predisporre la macchina fotografica in modo B ed utilizzare il M.UP. Allo start del programma un impulso inviato alla macchina alza lo specchio, poi  il carrello avanza, segue una pausa eppoi con un secondo impulso si apre l'otturatore  per il tempo settato nel menù “tempo di esposizione”. Terminata l'esposizione si ripete il ciclo. Cambiando alcune linee di codice è possibile modificare la sequenza di scatto nel modo che si ritiene più opportuno operare.

 

Tempo di esposizione.

Il valore di default è di 0,1 secondi sufficiente a inviare alla macchina, a mezzo del collegamento esterno, il comando di scatto. Ovviamente il suo effetto varia a seconda di come è impostata la macchina. Nella soluzione scelta e descritta alla voce precedente del menù questo valore determina il tempo di esposizione ed è possibile variarlo con passo di un centesimo.

 

Test di esposizione

 

 

Per verificare che il fotogramma sia correttamente esposto, dopo avere settato il tempo di esposizione effettuiamo questo test che, senza movimentare il carrello, esegue lo scatto utilizzando i parametri impostati. Selezionato il menù basta ruotare la manopola per effettuare il test.

 

Video.

La  flessibilità di un sistema programmabile è incredibile e permette di  cambiare il modo di operare scrivendo poche righe di codice. Nel giocherellare con una goccia presa nel liquido di ristagno in un sottovaso di una pianta e curiosando ad osservarle con le ottiche da microscopio montate sulla k5II mi sono imbattuto con questo simpatico vermetto.  https://www.youtube.com/watch?v=AQitfQdeIu8&feature=youtu.be

Non potevo non registrarlo per cui prima ho effettuato la ripresa a mezzo comando della fotocamera poi, con pochissime righe di codice, ho reso l'operazione gestibile da programma. In pratica dopo avere impostato la fotocamera su video è possibile con questa voce avviare e fermare la ripresa entrando nel menù e pigiando sulla manopola.

 

Accensione luci set

 

 

 

Nel corso dei test non è stato escluso l'uso del flash o di mini lampade a led per illuminare il soggetto sia nella fase preliminare dello stack sia per la fase di scatto. Una delle ipotesi era di utilizzare per l'esposizione l'accensione di led o di un flash impostando la macchina in modo B, per cui una precedente versione del programma aveva nel menù questa opzione. Nella attuale ci sta sola la possibilità di pilotare l'accensione di un flash a mezzo di un 4n35 come riportato sullo schema elettrico, ma con un minimo di componenti si può replicare lo schema usato per l'elettrovalvola utilizzata in “gocce che passione” sostituendo l'elettrovalvola con una lampada led.

 

Elabora i dati

 

Il plus del progetto è in questo semplice menù. Basta premere il pulsante e girare la manopola. Se la variabile distanza dal punto zero è maggiore di zero il programma calcola, in base ai dati immessi, gli scatti necessari ad eseguire lo stack, riporta il carrello al punto zero, visualizza i parametri principali quali il numero di scatti che saranno effettuati, il tempo necessario ad eseguirli e attende dieci secondi l'ok ad eseguire lo stack, facendo lampeggiare l'avviso “premere start”, trascorsi i quali annulla l'operazione e attende  un nuovo comando ma non resetta   completamente i dati per cui se si vuole efefttuare lo stck basta pigiare il tasto di start/stop. Se invece la distanza è pari a zero o negativa sarà segnalato “distanza errata” e il programma attenderà il successivo comando. Nel corso degli scatti sul monitor è visualizzato il numero dei fotogrammi ancora da scattare e il tempo necessario, di quanto è avanzato il carrello, il tempo di pausa scatto e il tempo di esposizione.

 

 

 

 

 

 

 

 

 

 

 

 

Discussioni sul forum: