Sommario:
- Fase 1: Principio di funzionamento:
- Passaggio 2: la scheda del controller di movimento
- Passaggio 3: codice Arduino
- Passaggio 4: Codice Arduino 1 - Posizione di partenza del binario
- Passaggio 5: Codice Arduino 2 - Pulsante a doppia funzione
- Passaggio 6: Codice Arduino 3 – Modalità Slave
- Passaggio 7: Codice Arduino 4 – Quad Ramping
- Passaggio 8: Codice Arduino 5 – Integrazione con LRTimelapse Pro-Timer
- Passaggio 9: Codice Arduino 6 - Variabili e valori di impostazione
- Passaggio 10: alcune parole sulla ferrovia
Video: Cursore di controllo del movimento per la guida Time Lapse: 10 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
Questo istruibile spiega come motorizzare un binario time lapse usando un motore passo-passo guidato da un Arduino. Ci concentreremo principalmente sul controller di movimento che aziona il motore passo-passo supponendo che tu abbia già un binario che desideri motorizzare.
Ad esempio, durante lo smontaggio di una macchina ho trovato due binari che potevo convertire in binari per time lapse. Una guida utilizza una cinghia per azionare il cursore e l'altra una vite. Le immagini in questa guida mostrano una guida a vite, ma gli stessi principi si applicano a una guida azionata da una cinghia. Ci sono solo alcuni parametri che devono essere modificati durante la messa in servizio.
Fase 1: Principio di funzionamento:
Per la fotografia time lapse uso un intervallometro chiamato LRTimelapse Pro-Timer progettato da Gunther Wegner. Questo è un intervallometro Open Source di alta qualità per fotografi time lapse, macro e astro che puoi costruire da solo. Gunther, grazie per questo fantastico strumento che hai messo a disposizione della community del time lapse. (Per maggiori informazioni vedere lrtimelapse-pro-timer-free)
Ho appena aggiunto del codice per controllare il motore passo-passo.
Principio di funzionamento: Il Time Lapse Rail funziona in modalità Slave. Questo metodo è abbastanza affidabile. Significa che sto usando l'intervallometro LRTimelapse Pro-Timer per impostare il numero di scatti e l'intervallo tra gli scatti. L'intervallometro invia un segnale alla fotocamera per far scattare l'otturatore. Dopo che è stata scattata una foto, la fotocamera invia un segnale al controller di movimento per spostare il cursore del binario su una sequenza Sposta/Scatta/Sposta. Il segnale per avviare la sequenza proviene dalla slitta flash della fotocamera. Il flash della fotocamera è impostato su Sincro sulla seconda tendina, quindi il segnale viene rinviato al controller di movimento quando la tendina della fotocamera si chiude. Ciò significa che il cursore si sposterà solo quando l'otturatore è chiuso, quindi funzionerà indipendentemente dalla lunghezza dell'esposizione.
Materiale: sono necessari due cavi dal controller di movimento alla fotocamera (specifico del modello di fotocamera) 1) un cavo di rilascio dell'otturatore della fotocamera con un jack da 2,5 mm e 2) un adattatore hot shoe con una spina al cavo di sincronizzazione del PC flash maschio con un cavo da 3,5 mm jack mm.
Passaggio 2: la scheda del controller di movimento
Hardware: Il movimento dello slider avviene tramite una vite collegata a un motore passo-passo NEMA 17. Il motore passo-passo è azionato da un EasyDriver controllato da Arduino UNO. Per utilizzare il controller con un power bank diverso (da 9v a 30v) ho aggiunto un modulo di alimentazione compatibile Arduino DC-DC LM2596 per regolare la tensione. Vedere "Arduino Wiring. PDF" allegato.
Il cavo di rilascio dell'otturatore della fotocamera è collegato al controller tramite un jack da 2,5 mm. Il jack è cablato secondo lo schema riportato nell'allegato “Sblocco dell'otturatore. PDF”. Il cavo dell'adattatore hot shoe è collegato al controller tramite un jack da 3,5 mm. Avere due diverse dimensioni evita di collegare un cavo alla porta sbagliata.
Passaggio 3: codice Arduino
Prima di codificare è importante distinguere tra le varie azioni che si desidera ottenere. Arduino consente l'uso di ciò che viene chiamato void. Un void è una sezione di programma (riga di codice) che può essere richiamata in qualsiasi momento, come e quando necessario. Quindi avere ogni azione su un vuoto separato mantiene il codice organizzato e semplifica la codifica.
Sketch Logics.pdf allegato mostra le azioni che voglio realizzare e la logica dietro di esse.
Passaggio 4: Codice Arduino 1 - Posizione di partenza del binario
Il primo vuoto viene utilizzato per inviare il binario alla posizione Home all'avvio del controller.
Il controller ha un interruttore di direzione. All'avvio il cursore si sposta nella direzione scelta dal toggle fino a toccare il finecorsa a fine rotaia; poi arretra di una distanza definita dall'utente (questo è 0 o il valore che corrisponde all'estremità opposta del binario). Questa è ora la posizione iniziale del cursore.
Questo vuoto è stato testato utilizzando il codice trovato nel file allegato chiamato BB_Stepper_Rail_ini.txt
Passaggio 5: Codice Arduino 2 - Pulsante a doppia funzione
Il secondo vuoto viene utilizzato per spostare manualmente il cursore. Ciò è utile quando si imposta lo spanning della fotocamera prima di avviare la sequenza time-lapse.
Il controller ha un pulsante con due funzioni: 1) una breve pressione (meno di un secondo) sposta il cursore di una quantità definita dall'utente. 2) una pressione lunga (più di un secondo) sposta il cursore al centro o alla fine del binario. Entrambe le funzioni inviano il cursore nella direzione selezionata dall'interruttore a levetta.
Questo vuoto è stato testato utilizzando il codice trovato nel file allegato chiamato BB_Dual-function-push-button.txt
Passaggio 6: Codice Arduino 3 – Modalità Slave
Il terzo vuoto viene utilizzato per spostare il cursore di una certa quantità dopo ogni colpo. Il flash della fotocamera deve essere impostato su "tenda posteriore". Alla fine dello scatto viene inviato un segnale flash dalla slitta flash al controller. Questo avvia la sequenza e sposta il cursore di una certa quantità. La distanza per ogni mossa viene calcolata dividendo la lunghezza del binario per il numero di scatti selezionati in LRTimelapse Pro-Timer. Tuttavia è possibile definire una distanza massima per evitare un movimento veloce quando il numero di colpi è basso.
Questo vuoto è stato testato utilizzando il codice trovato nel file allegato chiamato Slave mode.txt
Passaggio 7: Codice Arduino 4 – Quad Ramping
Il quarto vuoto è un'opzione di rampa per un allentamento più fluido in entrata e in uscita. Significa che la distanza di ogni spostamento aumenterà gradualmente fino al valore impostato e alla fine del binario diminuirà allo stesso modo. Di conseguenza, guardando la sequenza time-lapse finale, il movimento della telecamera accelera all'inizio del binario e rallenta all'estremità del binario. Una tipica curva di accelerazione Quad è mostrata nell'immagine allegata (allentamento dentro e fuori). La distanza della rampa può essere definita.
Ho testato l'algoritmo in Excel e ho impostato le curve di accelerazione e decelerazione come da foto allegata. Questo vuoto è stato testato utilizzando il codice trovato nel file allegato chiamato BB_Stepper_Quad-Ramping-calculation.txt
Nota: questa rampa quadrupla non deve essere confusa con la rampa Bulb dove cambia la lunghezza dell'esposizione o la rampa Interval dove cambia l'intervallo tra gli scatti.
Passaggio 8: Codice Arduino 5 – Integrazione con LRTimelapse Pro-Timer
LRTimelapse Pro-Timer è un intervallometro fai-da-te open source gratuito per fotografi time-lapse, macro e astro messi a disposizione della comunità di fotografi time-lapse da Gunther Wegner. Dopo aver costruito un'unità per la mia fotocamera, l'ho trovata così buona che ho iniziato a pensare a come utilizzarla per il mio binario. L'allegato LRTimelapse Pro-Timer 091_Logics.pdf è un breve manuale che mostra come navigare nel programma.
L'allegato BB_Timelapse_Arduino-code.pdf mostra la struttura di LRTimelapse Pro-Timer Free 0.91 e in verde le righe di codice che ho aggiunto per azionare lo slider.
BB_LRTimelapse_091_VIS.zip contiene il codice Arduino se vuoi provare.
Il documento allegato BB_LRTimer_Modif-Only.txt elenca le aggiunte che ho fatto a Pro-Timer. Semplifica l'integrazione nelle nuove versioni di Pro-Timer quando Gunther le rende disponibili.
Passaggio 9: Codice Arduino 6 - Variabili e valori di impostazione
Il passo della vite può variare o se si utilizza una cinghia possono variare anche il passo della cinghia e il numero di denti sulle pulegge. Inoltre, il numero di passi per rotazione del motore passo-passo e la lunghezza del binario possono differire. Di conseguenza la quantità di gradini per attraversare la lunghezza del binario cambia da un binario all'altro.
Per adattare il controller a diverse rotaie è possibile regolare alcune variabili nel programma:
- Calcolare la quantità di gradini che corrispondono alla lunghezza del binario tra i finecorsa. Immettere il valore nella variabile: long endPos (ovvero questo valore è 126000 per la guida guidata con una vite mostrata in questa istruzione)
- Per osservare la composizione della cornice all'inizio, al centro e alla fine del binario quando si utilizza l'effetto di estensione, ho usato l'opzione di spinta lunga con il pulsante. Immettere il numero di passaggi che corrispondono al centro del binario nella variabile: long midPos (ovvero questo valore è 63000 per il binario guidato con una vite mostrata in questo istruibile)
- In LRTimelapse Pro-Timer devi inserire quante foto vuoi scattare. Il programma divide la lunghezza della rotaia per questo numero. Se scatti 400 foto e il tuo binario è di 1 metro, ogni movimento del cursore sarà 1000:400= 2,5 mm. Per 100 immagini il valore sarebbe 10 mm. Questo è troppo per una mossa. Quindi potresti decidere di non utilizzare l'intera lunghezza del tuo binario. Immettere il movimento massimo consentito nella variabile: const int maxLength (ovvero questo valore è 500 per la guida guidata con una vite mostrata in questo istruibile)
- Quando si preme il pulsante per meno di un secondo, si sposta il cursore di una certa distanza che può essere impostata nella variabile: int inchMoveval (ovvero questo valore è 400 per la guida guidata con una vite mostrata in questa istruzione)
- Quad Ramping consente un allentamento fluido in entrata e in uscita. Puoi decidere quale distanza durerà la rampa all'inizio e alla fine del binario. Questo valore viene inserito come percentuale della lunghezza del binario nella variabile: float ratio (cioè 0,2 = 20% della lunghezza del binario)
Passaggio 10: alcune parole sulla ferrovia
Il binario è lungo un metro. È costituito da un cursore a cuscinetto lineare per carichi pesanti imbullonato a una barra di estrusione di alluminio scanalata. Ho acquistato la barra di estrusione e gli accessori da RS.com (vedi l'immagine rs items-j.webp
Spanning: la testa a sfera di un treppiede (come da foto allegata) è montata sul cursore. Un piccolo braccio collega la testa alla vite. Se si allontana la vite dal binario su un lato, si ottiene un angolo tra la vite e il binario. Quando il cursore si sposta lungo il binario, crea una rotazione della testa a sfera. Se non si desidera estendere, mantenere la vite parallela al binario.
Il controller è montato sul cursore. Ho scelto quell'opzione - invece del controller a un'estremità del binario - per evitare che più cavi corrano lungo il binario. Ho solo un cavo tra il power bank e il controller. Tutti gli altri cavi, al motore passo-passo, al finecorsa, il cavo dell'otturatore alla telecamera e il cavo Synchro dalla telecamera sono tutti in movimento con il controller.
Vite contro cintura: per la fotografia time-lapse entrambi i design funzionano bene. La cinghia permette movimenti più veloci rispetto alla vite, questo potrebbe essere un vantaggio nel caso si voglia trasformare il binario in un video slider. Un vantaggio del design della vite è che quando si posiziona la guida in verticale o inclinata, in caso di interruzione di corrente il cursore rimane fermo e non cade. Suggerirei caldamente di fare attenzione quando si esegue la stessa operazione con un binario con trasmissione a cinghia, in caso di interruzione di corrente o se si esaurisce l'alimentazione, la fotocamera scivolerà fino alla parte inferiore del binario a proprio rischio!
Consigliato:
Controllo gestuale semplice - Controlla i tuoi giocattoli RC con il movimento del tuo braccio: 4 passaggi (con immagini)
Semplice controllo dei gesti - Controlla i tuoi giocattoli RC con il movimento del tuo braccio: benvenuto nel mio 'ible' #45. Qualche tempo fa ho realizzato una versione RC completamente funzionante di BB8 usando parti di Lego Star Wars… https://www.instructables.com/id/Whats-Inside-My-R…Quando ho visto quanto fosse bello la Force Band realizzata da Sphero, ho pensato: "Ok, io c
Tensegrity o doppio robot parallelo 5R, 5 assi (DOF) economico, resistente, controllo del movimento: 3 passaggi (con immagini)
Tensegrity o doppio robot parallelo 5R, 5 assi (DOF) economico, resistente, controllo del movimento: spero che penserete che questa sia la GRANDE idea per la vostra giornata! Questa è una voce del concorso Instructables Robotics che si chiuderà il 2 dicembre 2019. Il progetto è arrivato alla fase finale di valutazione e non ho avuto il tempo di fare gli aggiornamenti che volevo! Io ho
Cursore motorizzato per fotocamera: 6 passaggi (con immagini)
Slider per fotocamera motorizzato: quando si tratta di attrezzatura video, i cursori per fotocamera non sono considerati una necessità, ma ciò non mi impedisce di crearne uno. Sapevo fin dall'inizio che l'utilizzo di parti per stampanti 3D lo avrebbe reso economico, accessibile e regolabile. Il fatto che sia motorizzato
Pike - Guida in modo più sicuro, guida in modo più intelligente, guida una picca!: 5 passaggi
Pike - Guida in modo più sicuro, guida in modo più intelligente, guida un luccio!: Benvenuto nel mio progetto chiamato Pike! Questo è un progetto che fa parte della mia formazione. Sono uno studente NMCT a Howest in Belgio. L'obiettivo era creare qualcosa di intelligente utilizzando un Raspberry Pi. Avevamo una completa libertà in cui volevamo rendere intelligenti. Per me è stato
Interessante guida alla programmazione per il progettista - Controllo del processo del programma - Dichiarazione del ciclo: 8 passaggi
Interessante guida alla programmazione per il progettista - Controllo del processo del programma - Dichiarazione del ciclo: Controllo del processo del programma - Dichiarazione del ciclo Da questo capitolo, entrerai in contatto con un importante e potente punto di conoscenza - Dichiarazione del ciclo. Prima di leggere questo capitolo, se vuoi disegnare 10.000 cerchi nel programma, puoi farlo solo con un ter