Gocce che passione

Fotografare soggetti che sfuggono alla nostra visione è un'esperienza unica e gratificante. Le gocce in caduta libera su un piano o che entrano in collisione tra loro sono un bel ed accattivante soggetto. Ho iniziato a fotografare gocce poco dopo avere acquistato una fotocamera digitale; potere verificare subito lo scatto e aggiustare il tiro alla ricerca di un  risultato migliore mi è stato di grande aiuto ma la meta era ancora lontana.I primi scatti sono stati effettuati in modo casuale ovvero scattando nel mentre dal rubinetto del lavabo, opportunamente regolato, venivano giù gocce d'acqua utilizzando il flash per congelare il soggetto;  poi ho usato una flebo  ove è più facile regolare lo stillicidio. Non riusendo però a cogliere l'attomo della collisione tra due gocce ho cambiato strategia e chiesto aiuto all'elettronica.

Un primo test fatto a mezzo di una scheda  che in presenza di un rumore fa scattare il flash (con macchina in posa B) non è stato di alcun aiuto. Nel frattempo intasavo google alla ricerca di una  soluzione e guardando un filmato in cui si vedeva al rallentatore una goccia che cadeva in un recipiente e rimbalzava ne ho tratto spunto per il mio progetto. Lo scatto sarebbe stato pilotato ad hoc da un microcontroller ovvero da un Arduino 2009. Immagino che molti di voi in questo momento staranno facendo strane congetture, ma osservate questa sequenza; non è una raffica ma quattro scatti distinti in cui il comando al flash, dal momento del rilascio della goccia, è stato postecipato ed incrementato di un millisecondo dal rilascio della prima goccia. Il mio fine è quello di fotografare questo tipo di collisione e ora so come farlo in un modo  relativamente semplice:  la prima goccia dopo tot millisecondi dal rilascio si  tuffa nella tazza e  provoca uno spostamento dell'acqua che a sua volta  genera un piccolo stelo; nel mentre rilascio ad hoc una seconda goccia e nella quarta foto potete osservare il risultato cercato. Non solo, ma con buone probabilità e leggi della fisica permettendo, questo scatto può essere ripetuto n volte con lo stesso risultato. Di qui la necessità di usare un Arduino.

Visto che siamo entrati in tema guardiamo questo filmato non prima però di una precisazione: a differenza di analoghi filmati realizzati con telecamere ad alta velocità (ricorderete la pubblicità di un'azienda di caffè che mostra il tuffo di una goccia di caffè in una tazzina) questo video è stato realizzato assemblando n fotogrammi. 

http://youtu.be/fOalgmtvthw

La serie di scatti è stata necessaria per il rilievo di alcuni dati indispensabili per il  settaggio di alcune variabili del progetto  per cui, ad ogni scatto in posa B, una goccia è stata rilasciata da un'altezza di 60 cm in un recipiente non completamente pieno d'acqua  e il flash è stato innescato con un ritardo crescente di un millisecondo. Tutto questo non sarebbe stato possibile senza avere un dispositivo in grado di eseguire con precisione tutte le fasi del processo. Arduino è facilmente interfacciabile  con un minimo di componenti e n grado di pilotarli a mezzo di uno sketch ovvero un programma. Seppure  navigo nel settore tecnico con relativa tranquillità  non avevo mai giocherellato con un Arduino per cui ho iniziato a studiare i vari demo che sono pubblicati nel sito ufficiale alla ricerca di una soluzione.

Nel progetto interagiscono i seguenti componenti:

elettrovalvola a spillo alimentata, a pressione costante, a mezzo di una bottiglia di Mariotte

barriera ad infrarosso per rilevare il rilascio della goccia

comando per l'apertura dell'otturatore ( macchina in posa B)

comando per l'apertura  della elettrovalvola

comando per l'accensione del flash.

tasto di start  della sequenza impostata

 

   

Per l' elettrovalvola ne ho riciclato una per uso automobilistico, ma qualsiasi valvola a spillo con bobina 12 volt c.c. va bene.

Per la barriera a raggi infrarosso ho utlizzato un led ricevitore ad infrarosso e recuperato un led trasmettitore da un telecomando TV; nella fase di test ho dovuto ridurre la sua potenza di emissione altrimenti il ricevitore non riusciva a rilevare il passaggio della goccia.

Per il comando dell'otturatore e del flash ho utilizzato due optoisolatori in modo da evitare qualsiasi interferenza tra i  dispositivi.

Per collegare il comando di scatto  alla macchina è necessario uno spinotto tipo audio stereo da 2,5 mm di cui si utilizzano i due contatti esterni (quello centrale comanda l'autofocus)

Per il comando del flash ho modificato un cavo di prolunga spiralato utilizzato per posizionare il flash nei pressi del recipiente ove cadrà la goccia. In pratica lato flash ho praticato un piccolo taglio alla guiana esterna e dopo avere  individuato i due cavi ( massa e scatto) li ho collegati a mezzo di saldatura a due cavetti a cui ho saldato all'altra estremità un connettore. In questo modo il cavo si può usare sia nel modo tradizionale sia collegato alla scheda.

Per il tasto di start è sufficiente  un microinterruttore e una resistenza .

Per il comando dell'elettrovalvola invece è necessario un circuito supplementare  perché è diversa la tensione di alimentazione. Per questo l'uscita dell'optoisolatore va a pilotare un transistor di potenza che a sua volta alimenta la bobina e un diodo in parallelo alla bobina limita le sovratensioni nella fase di disalimentazione.

Il tutto lo si può assemblare su una BreadBoard ovvero una piastra su cui si possono collegare i vari componenti evitando di effettuare saldature.

Con questi componenti collegati all'Arduino è possibile gestire quanto necessario allo scatto.

Volendo si possono anche usare più elettrovalvole per avere una maggiore creatività ma occorre aggiungere altro hardware e aggiornare il software. La soluzione scelta è quella più semplice da gestire ma esistono altre possibili soluzioni da adottare.

Ricordate il video? Si vede la goccia che inizia la sua discesa, si tuffa nell'acqua contenuta in un recipiente, crea una sorta di buca rompendo lo stato di quiete del liquido  provocando un'immediata reazione, infatti si vede il formarsi di una sorta di corona ( tipica di quanto una goccia cade su una superficie rigida) poi la progressiva formazione di uno stelo che si alza dal pelo dell'acqua di un paio di centimetri per poi ricaderci e infine  il riformarsi dello stelo con una dimensione minore. Smaltita l'energia cinetica ricevuta dall'impatto della goccia l'acqua contenuta nel recipiente ritorna poi lentamente al suo stato di quiete. Ogni goccia cadendo replica sempre la stessa dinamica  ma nonostante che l'ambiente di test sia lo stesso gli scatti mostrano che il risultato è simile ma non uguale.

Questa è una variabile non contrallabile e non consente di ottenere, fermo restando le le medesime condizione di scatto, due fotogrammi che mostrano lo stesso preciso evento. Quello che  è  interessante  accade dal quindicesimo secondo del filmato in poi (che chiaramente non corrisponde al tempo reale dell'evento) perchè  suggerisce  che se voglio fotografare una collisione devo scattare nel momento in cui lo stelo sta salendo per raggiungere la massima estensione e la seconda goccia rilasciata sta raggiungendo la quota prossima alla collisione. Pertanto se predispongo il  set fotografico e conosco, con un discreto margine di certezza, quando ci sarà  una collisione ho più possibilità di fotograrne una  tenendo ben presente che per le  variabili in  gioco, stavolte fisiche, non avrò a parità di settaggio sempre lo stesso risultato o addirittura un risultato.

Prima di iniziare devo effettuare un test per cercare sperimentalmente due dati essenziali:  dopo quanti X millisecondi si forma lo stelo e in quanti Y millisecondi una goccia raggiunge la quota alla quale andrà in collisione con la sommità dello stelo. Noti questi due tempi posso calcolare il tempo di ritardo con cui dovrà essere rilasciata la seconda goccia ovvero Z=X-Y. Preparo il set  posizionando  sia l'elettrovalvola (a circa 60 cm dal pelo libero del recipiente in modo che la goccia cadendo giunga al centro di esso)  che la macchina e il flash. Li collego elettricamente ad Arduino e carico il programma con cui sarà effettuata una serie di scatti in cui il tempo di ritardo tra rilascio della  goccia e l'accensione del flash sarà progressivamente aumentato con passo ad es. di 5 millisecondi. La serie di scatti consente di mappare temporalmente il percorso  della goccia e di individuare i due punti X e Y;  ad esempio se dopo 160ms lo stelo è nei pressi del suo primo apice e una goccia impiega 40 ms per raggiungere quella quota dovrò rilasciare la seconda goccia  dopo 120ms. Per impostare il tempo in cui si comanda l'accensione del flash occorre tenere conto che arduino esegue i comandi in modo seriale; sappiamo che dopo il rilascio della seconda goccia saranno necessari 40 ms per fare collidere la goccia e  per il rilascio della goccia sono trascorsi 15 ms per cui il flash dovrà essere comandato dopo circa 25 ms ( 40-15).

Il progetto è definito, l'hardware necessario è stato assemblato,  manca solo il programma da far gestire ad Arduino  affinché premendo un tasto si possa fotografare una collisione.  Nel programma saranno valorizzate le  variabili  e nel momento in cui il tasto di start sarà pigiato Arduino invierà i comandi per:

attivare la fotocellula

inviare i due comandi di apertura elettrovalvola

aprire l'otturatore

verificare che la prima goccia sia transitata

 attivare il flash

chiudere l'otturatore

interdire per  tot  secondi il successivo scatto per dare modo al flash di ricaricarsi e al liquido contenuto nella bacinella di tornare allo stato di quiete

incrementare una o più variabili

e ripetere il loop fino a che siano stati eseguiti gli scatti programmati

Arduino è una piattaforma open source per cui qualsiasi programma scritto per questa piattaforma può essere usato e modificato  liberamente; sul suo sito è disponibile sia la documentazione che programmi demo e con tanta pazienza sono riuscito  a scrivere quanto necessario per il funzionamento del progetto. Inizialmente ho utilizzato dei led per simulare i vari comandi in modo da non stressare flash e macchina fotografica poi  ho iniziato la fase di test reale. L'estrema semplificazione dello schema adottato ovvero la mancanza di un lcd e tasti per il settaggio delle variabili da un lato semplifica di molto l'assemblaggio dei componenti, dall'altro richiede il collegamento al pc per gestire la fase operativa. Il programma invia attraverso la porta seriale al pc i dati delle variabili usate per gli scatti per sucecssiva analisi degli scatti. Chi voglia cimentarsi ad aggiornare o migliorare il progetto è ben accètto ed  è gradita la divulgazione nel forum.

 

Per coloro che si cimenteranno con le collisioni alcuni suggerimenti.

Posizione dell'elettrovalvola.

La distanza di lavoro tra fotocellula e pelo dell'acqua consigliata è tra i 50 e 60 cm. Una distanza maggiore non produce uno stelo  proporzionalmente più alto ma aumenta di tanto la dispersione delle  goccioline secondarie generate nell'impatto.

Recipiente in cui impatta la goccia.

Bisogna distinguere due casi: goccia che forma la classica corona o collisione.

Nel primo caso qualsiasi superficie leggermente bagnata va bene mentre per le collisioni  il recipiente deve contenere acqua o altro liquido ma non deve essere completamente colmo. Con recipienti larghi dopo che la goccia ha impattato lo stelo non assume altezze significative ma restituisce quel bellissimo effetto di onde concentriche con la gocciolina che si rialza di pochi millimetri dal punto di impatto. Con una tazza da latte o una tazzina invece lo stelo sarà più alto rendendo più interessante la collisione.

Colorare l'acqua con tempera liquida oppure con i prodotti che si usano per i dolci. Buoni risultati si possono ottenere colorando diversamente l'acqua del recipiente e quella nella bottiglia, tenendo presente che il colore del liquido nel recipiente miscelandosi assumerà nel tempo un colore diverso.

Posizione del flash.

Il flash va collegato ad un cavo  lungo in modo da poterlo agevolmente posizionare. Il colore quasi metallico nella foto centrale all'inizio dell'articolo è derivato dalla luce del flash direzionata parallela al pelo dell'acqua. Proteggete il flash, sia il corpo che lo schermo a protezione della lampada,  perchè le goccioline d'acqua volano dappertutto. Nei limiti del possibile usate il flash a potenza  ridotta perché la durata del lampo sarà minore ed eviterete micromosso.

Macchina fotografica.

La macchina è comandata dalla scheda e deve essere settata in modo B. Se volete usare altro settaggio occorre modificare il programma. Alla canonica domanda  “che ottica usare?”  segue “ una tra quelle che avete a corredo”. Dal 50 in su tutte van bene, se avete un macro ancora meglio ( per la possibilità di mettere a fuoco a distanza relativamente ravvicinata) tenendo ben presente che, come per il flash,  sia l'ottica che la macchina saranno potenziali bersagli delle goccioline .

Per la messa a fuoco vi suggerisco un trucchetto: costruite una mira e posizionatela al centro del recipiente o dove farete cadere la goccia ( basta un po di fil di ferro o una matita o una cannuccia a cui avete incollato una base per farla tenere verticale). Regolate il fuoco poi ritoccatelo nel corso degli scatti.

 

Sfondo.

Sull'argomento siete certamente ben ferrati. Non trascurate di mettere un foglio colorato sul fondo del recipiente.

 

Bene ora siamo pronti ma prima di iniziare occorre scaricare ed installare il programma necessario alla gestione di Arduino e poi caricare il programma per gestire le collisioni.

Di seguito sono elencate le variabili da valorizzare prima di caricare il programma in Arduino

int scatti = 1;                           Numero di scatti da effettuare

int ritardoFlash_milli = 40;      Ritardo comando scatto flash in millisecondi

int ritardoflash_Micro = 0;      Ulteriore ritardo comando scatto flash in microsecondi

int aperturaValvola = 15;          Tempo I° apertura elettrovalvola per la I° goccia

int attesaRiAperturaValvola =0;      Ritardo tempo II apertura elettrovalvola per la II° goccia

int secondaAperturaValvola =0;         Tempo seconda apertura elettrovalvola per erogare la II goccia

int plus_milli = 0;                 Incremento del ritardo scatto flash

int plus_micro = 0;          Incremento del micro ritardo scatto flash

int plus_valvola = 0;            Incremento del  tempo apertura valvola

int plus_apert_valvola = 0;     Incremento del tempo di ritardo riapertura valvola

int plus_riapert_valvola = 0;   Incremento tempo riapertura apertura valvola

int interdizione = 1000; Ritardo tra due scatti successivi

 

La prima variabile da settare è il numero di scatti da effettuare.

La flessibilità di potere governare il processo attraverso istruzioni senza dovere intervenire sulla parte hardware ci consente di operare in modi diversi.

Ad esempio se si vuole fotografare la classica corona ovvero la goccia che  impatta su una superficie si imposta il numero degli scatti, il ritardo con cui scatterà il flash, il tempo di apertura valvola mentre tutte le altre variabili saranno impostate a zero.

La seconda variabile da settare è il ritardo dell'accensione flash dalla prima apertura dell'elettrovalvola ovvero  il tempo in cui lo stelo e la seconda goccia collideranno ovvero X

La terza variabile è tempo minimo di apertura dell'elettrovalvola che è una caratteristica  della valvola utilizzata  ed è quello che da sufficiente garanzia per il rilascio di una sola goccia mentre con tempi più lunghi si avrà il rilascio di più gocce.

La quarta variabile è il tempo di attesa riapertura valvola ovvero  Z.

La quinta variabile è il tempo della seconda apertura della valvola. Può essere uguale al primo ma anche maggiore per far cadere più gocce.

L'ultima tra le principali variabili è il tempo di interdizione tra due scatti necessario affinchè  il pelo dell'acqua nel contenitore torni in quiete e per la ricarica del flash.

Le altre variabili ovvero quelle con la voce micro sono utilizzabili per una più accurata calibrazione dei tempi e di  come l'utente vuole programamre una serie di scatti. Vi ricordo che un millisecondo è pari a 1000 microsecondi per cui se necessario si possono impostare tempi come 1,5 ms settando il ms = 1 e il micro =500

 

Ora non resta che caricare il programma su Arduino e pigiare il pulsante di avvio.

Poiché lo scatto avviene in modalità B necessita ridurre l'illuminazione di fondo del set.  L'otturatore si apre, poi si eccita l'elettrovalvola, la goccia passa attraverso la barriera dando il consenso allo scatto del flash, trascorsi i 40 ms  il flash viene acceso, subito dopo viene chiuso l'otturatore.

Il primo scatto è fatto. Controlliamo  la messa a fuoco e se necessario modifichiamola.

Variamo di nuovo il tempo in più o in meno a seconda della posizione ricarichiamo il programma e diamo il via. Queste due foto una volta trovato il tempo giusto relativo al flash posso essere replicate quante volte si vuole.

 

Questa test è essenziale perché dobbiamo individuare e annotare il tempo di caduta della goccia per poi usarlo nel settaggio della collisione.

Ripetiamo lo stesso percorso fatto prima ma prima poniamo un recipiente non colmo di acqua al posto dove era prima una superficie e settiamo le variabili.

int scatti = 20;      Numero di scatti da effettuare dopo lo start

int ritardoFlash_milli = 200;     Ritardo comando scatto flash in millisecondi

int ritardoflash_Micro = 0;     Ulteriore ritardo comando scatto flash in microsecondi

int aperturaValvola = 15;    Tempo I° apertura elettrovalvola per la I° goccia

int attesaRiAperturaValvola =0;   Ritardo tempo II apertura elettrovalvola per la II° goccia

int secondaAperturaValvola =0;   Tempo seconda apertura elettrovalvola per erogare la II goccia

int plus_milli = 10;     Incremento del micro ritardo scatto flash

int plus_micro = 0;

int plus_valvola = 0;

int plus_apert_valvola = 0;

int plus_riapert_valvola = 0;

int interdizione = 5000; Ritardo tra due scatti successivi

 

Dopo l'avvio il programma eseguirà 20 scatti partendo da un tempo comando flash pari a 200 ms, ogni 5 secondi e il tempo di comando flash sarà, dopo ogni scatto, incrementato di 10 ms. In questo modo avremo una serie  e potremo identificare il tempo in cui il primo stelo raggiunge la max altezza.

Ora siamo pronti a calcolare la Z . Ipotizziamo che X sia pari a 290, Y a 40 per cui Z=250 ed efefttuamo un controllo utilizzando questo valore.

 

int scatti = 5; Numero di scatti da effettuare dopo lo start

int ritardoFlash_milli = 290; Ritardo comando scatto flash in millisecondi

int ritardoflash_Micro = 0; Ulteriore ritardo comando scatto flash in microsecondi

int aperturaValvola = 15; Tempo I° apertura elettrovalvola per la I° goccia

int attesaRiAperturaValvola =250; Ritardo tempo II apertura elettrovalvola per la II° goccia

int secondaAperturaValvola =15; Tempo seconda apertura elettrovalvola per erogare la II goccia

int plus_milli = 1; Incremento del micro ritardo scatto flash

int plus_micro = 500;

int plus_valvola = 0;

int plus_apert_valvola = 0;

int plus_riapert_valvola = 0;

int interdizione = 5000;

 

Carichiamo il programma e premiamo il tasto di avvio. Saranno effettuati 5 scatti con rilascio della seconda goccia dopo 100 ms dalla prima e sarà incrementato dopo ogni scatto  di 1 millisecondo il ritardo del comando flash. Analizziamo gli scatti e se ne necessario variamo il settaggio.

Le tre variabili plus_valvola se valorizzate dopo ogni scatto incrementano i relativi tempi di apertura. In pratica sono disponibili diverse opzioni nel cercare la soluzione.

Ai primi tentativi non vi scoraggiate perchè nonostante l'aiuto di una macchina non vi è certezza di fare sempre centro.

Vi consiglio l'uso del  brillantante, quello che si usa nella lavastoviglie, che è un tensioattivo; ne bastano un paio di gocce per formare delle simpatiche bolle e dell'adragante che ha qualcosa di magico essendo un aggregante ( lo si usa in pasticceria come addensante). Una buona parte di figure che vedete nella galleria sono state possibili solo sciogliendo nell'acqua una quantità irrisoria di adragante.

Vi segnalo che nel forum è attivo un thread.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Discussioni sul forum: