Follow Focus

Cos'è?..

Si trovano in commercio diversi modelli (di solito molto costosi) di follow focus e servono per gestire la messa a fuoco sulle macchine per fare riprese video (reflex o altri apparati dedicati).

Ne esistono diversi tipi, dal semplice anello con un'asta da inserire intorno alla ghiera del fuoco a quelli che si agganciano ad un sistema binario detto RIG.

Questo sistema viene usato quando non possibile gestire la messa a fuoco senza toccare l'obiettivo, perché magari la camera è montata su un gimbal o su uno spallaccio oppure semplicemente per non muovere troppo l'ottica durante il focheggiamento.

Alcuni obiettivi o modelli di reflex non supportato la messa a fuoco automatica durante la ripresa video e comunque in certe occasioni la gestione manuale è indispensabile.

Quindi?..

Ho cominciato a vedere in giro diverse soluzioni, il classico follow focus manuale, modelli usb e le soluzioni DIY. Infine il modello manuale è sempre ottimo sia per il costo che per la funzionalità, ma se si vuole qualcosa di automatico c'è poca scelta e le soluzioni sono spesso costose. Alcuni realizzano questo sistema senza fili o con diverse funzioni che però ne costringono l'uso ad un secondo operatore.

Ho pensato a questo cercando di semplificarlo il più possibile, pochi tasti e niente switch per la modalità rec e play, deve essere di facile utilizzo e controllabile con solo 2 tasti in modo da essere concentrati sulla ripresa senza andare a cercare cosa premere e cosa muovere.

 

Una breve descrizione:

Il circuito è molto semplice, tutto pilotato da Arduino, il processore tuttofare economico. Nella fase di debug ho utilizzato Arduino uno, comodo per i continui aggiustamenti e pratico per la riprogrammazione con la porta usb a bordo. La versione finale è montata su Arduino mini (05) per risparmiare spazio e peso.
  • Prototipo del follow focus con servo 0-180° e ruota 0.8 per le ottiche cine o corona dentata.

follof focus


Arduino pilota il servocomando sul pin 9, mentre legge la posizione dell'encoder rotativo sui pin 2 e 3, lo stato del sistema è segnalato tramite un led bicolore (rosso-verde) sui pin 6 e 7. I pulsanti per la memorizzazione ed il richiamo della posizione sono collegati ai pin 4 e 5 in configurazione con pull-up, il potenziometro connesso al pin A0 è utilizzato per regolare la velocità del movimento automatico dal punto A al B. Il pin 8 è collegato ad un dip per selezionare il verso di rotazione.

  • Schema di collegamento.

schema

 

Cosa occorre:

Arduino uno / mini / pro mini o altro con processore ATmega328

R1-R2: resistenza 470Ohm 1/4w

C1-C2: condensatori ceramici 10nF

U1: Potenziometro 10KOhm

LED1: led bicolore (rg)

S1-S2: pulsanti da cs

SW1: dip switch o semplice ponticello

J1: servocomando

RE1: encoder rotativo (almeno128 passi) tipo ENA1J-B28-L00128L (con encoder diversi potrebbe essere necessario rivedere la libreria per la lettura dell'encoder)

  • Nello schema la connessione con l'encoder non ha il pin positivo, mentre quello utilizzato nel progetto è un encoder ottico alimentato a 5v, quindi va collegato l'ulteriore pin al 5v. Nello schema non è presente lo stadio di alimentazione che verrà stabilizzato con un semplice 7805, visto che per l'utilizzo di questo circuito di norma si prende alimentazione da una batteria.
  • Per il corretto funzionamento il pin di reset di Arduino (se si utilizza il mini) deve essere connesso al positivo anche con una semplice resistenza da 10k, il servo va alimentato a 5v come tutto il circuito (salvo versioni hv)
  • Arduino mini può essere alimentato fino a 9V tramite il pin raw/9v, io consiglio comunque di usare uno stabilizzatore 7805 perché una tensione maggiore brucerebbe il micro.
 
Come funziona:
 
Il funzionamento è molto semplice, si alimenta il circuito ed il micro controlla se usare la rotazione normale o inversa, porta il servo in posizione 0, il led diventa verde, ora si è pronti a usare il follow focus in modo 1.

In questa modalità si utilizza un fattore di velocità di rotazione, quindi se si muove lentamente l'encoder si faranno dei passi piccoli sul servo, mentre girando velocemente si faranno passi più grandi. Questo modo è utile per regolare con precisione il fuoco ed è possibile salvare la posizione del servo sul pulsante A o B tenendo premuto il pulsante relativo per almeno 300ms. Quando la posizione è stata salvata il led si illumina di giallo, ora rilasciando il pulsante il led ritorna del precedente colore. Una volta memorizzate le posizioni del fuoco è possibile richiamare la posizione A o B premendo il pulsante relativo per meno di 300ms, a questo punto il servo raggiungerà la posizione con la velocità impostata dal potenziometro (U1). E' possibile cambiare velocità anche mentre si passa da un punto all'altro. Quando si preme un pulsante per richiamare la posizione A o B il led diventa rosso e lampeggia per indicare il movimento automatico, alla fine del movimento il led rimane rosso per segnalare che si è in modo automatico e ruotando l'encoder si riprende il controllo del servo ed il led diventa verde. In realtà questo cambiamento di colore lo avevo utilizzato con la versione senza encoder dove utilizzavo un potenziometro per la regolazione del servo e mi serviva per vedere se avevo io la posizione o no. Con il potenziometro se il servo era in una posizione diversa dal valore letto, quando si prendeva il controllo, il servo sarebbe saltato velocemente alla posizione del potenziometro e mentre si lavora può dare risultati non voluti. Invece con questa versione usando l'encoder il problema non esiste perché l'encoder non ha un suo valore ma segnala solo se si ruota in un senso o nell'altro, quindi qualsiasi posizione abbia il servo si continua da quella.

Tenendo premuti entrambi i tasti (A e B) per 1/2 secondo si cambia modalità.

La modalità 2 è indicata dal led acceso di colore giallo e con questa modalità non vengono usati i pulsanti ma solo l'encoder senza accelerazione e la completa rotazione del servo è mappata in un unico giro dell'encoder. Questa modalità è un pò meno precisa della 1 perché con un solo giro si fa ruotare il servo da 0 a 180°,  è comoda per gestire la messa a fuoco con un dito quando non è possibile far fare più di un giro all'encoder.

legenda
 

Test funzionamento e prova pratica:

Video del debug con Arduino uno fino alla prova finale su pro-mini: https://vimeo.com/150908805

  •  Versione finale montata sullo shoulder.

 Follow focus completo


Considerazioni finali:
 
Tutti i componenti si trovano facilmente in commercio, la cosa un po' più complicata è adattare un servo al rig e trovare una ruota dentata con il passo da 0.8mm. L'opzione per non costruirsi tutto è quella di prendere qualcosa di già pronto e modificarlo, come ho fatto io, il follow focus è dalla proaim ed originariamente controlla due servi, uno per il fuoco ed uno per lo zoom, è completamente manuale e usa 2 semplici potenziometri (occorre muoverli veramente piano per non fare troppi passi sul servo).
Nella costruzione finale se il servo si muove a caso, può essere utile inserire una resistenza da 4,7KOhm in serie al controllo del servo (tra il pin 9 ed il pin pulse del servo).
Il codice sorgente lo trovate qui sotto nella sezione download. Il programma è semplice ed è diviso in 3 schemi, il codice principale con il setup ecc., uno sketch per la lettura dei pulsanti ed uno per la lettura dell'encoder. L'encoder è letto sui pin 2 e 3 tramite interrupt e viene usato il timer2 per il calcolo della velocità di rotazione per moltiplicare i passi da effettuare sul servo. Se vi occorre mettere il codice su Arduino micro (ATmega32U4) occorre togliere la precedente funzione perché su questo processore non c'è il timer2.
Buon lavoro!! :)
 
 
download Download
 

Date

11 April 2017

Tags

elettronica, video