Benvenuto su VideoMakers.net
Iscriviti per condividere la tua passione sul principale sito web italiano dedicato al VideoMaking!

Gli eventuali inserti pubblicitari all'interno delle discussioni sono visibili solo se non hai eseguito l'accesso al forum; ricordati di eseguire l'accesso o, se non sei ancora registrato, fallo QUI

Clicca qui per leggere le regole del forum
La Sezione dedicata a tutte le discussioni sul Fai Da Te.

Moderatore: Moderatori

Regole del forum: Clicca per leggere le regole del forum.

Gli eventuali inserti pubblicitari all'interno della discussione sono visibili solo se non hai eseguito l'accesso al forum; ricordati di eseguire l'accesso o, se non sei ancora registrato, fallo QUI
#1074644
Ciao a tutti, da circa 3 anni io e un amico abbiamo assemblato uno dei tanti slider composti da componenti IGUS, forse uno dei primi, perché quando ci recammo personalmente alla loro sede spiegando loro a cosa ci sarebbero serviti cascavano un pò dalle nuvole..
Premetto che nessuno dei 2 ha esperienza in meccanica o elettronica, quindi abbiamo cercato di realizzarlo facendo del nostro meglio, tuttavia non siamo (soprattutto io) mai stati soddisfatti al 100% del risultato, soprattutto perché piuttosto difficile riuscire a fare una "carrellata" uniforme (forse anche lì a causa della poca pratica).

Così abbiamo pensato che "prima o poi" avremmo dovuto motorizzarlo, visto che da ciò che si poteva vedere in rete, i risultati erano decisamente più soddisfacenti.

Abbiamo così acquistato un paio di motori passo-passo per pochi euro ad una fiera dell'elettronica, corredati di pulegge e cinghia dentata, poi però, un pò perché non sapevamo da dove cominciare, per mancanza di tempo e voglia, quel materiale è rimasto in un sacchetto per circa 2 anni, finché quest'anno mi sono deciso e mi sono imposto di riuscire a combinare qualcosa.. (cercando di contenere i costi il più possibile!)

Fin dall'inizio l'idea era di utilizzare Arduino (un Arduino Duemilanove che anche lui era lì a prender polvere) per il controllo, perché usare controller già fatti sarebbe stato troppo facile 8)

I componenti IGUS sono:
- binario da 1m DrylinW 10-80
- carrello 10x10

ai quali abbiamo aggiunto all'epoca una testa "rubata" da un treppiede decisamente economico, una piastra sgancio rapido per il treppiedi della Manfrotto, e 4 piedi per l'utilizzo da terra.

I motori a disposizione non sono molto potenti, sono dei passo passo standard NEMA17 da circa 3,3kg di coppia, sufficenti per un utilizzo orizzontale ma assolutamente insufficenti per un utilizzo verticale o anche diagonale, che quindi verranno sostituiti appena possibile.
Il "driver" utilizzato per pilotarli (parlo al plurale ma nel momento in cui scrivo solo uno viene utilizzato..) è un EasyDriver, che supporta fino a 750mA (il motore attuale ne consuma 560 se collegato come bipolare) ed anche lui dovrà essere sostituito assieme al motore.

Una volta escogitato un modo per fissare motore e pulegge allo slider, ho collegato il tutto su di una breadboard e utilizzavo il pc per impartire i comandi inerenti alla posizione.

Per rendere il tutto più completo, ho pensato di utilizzare la libreria "AccelStepper" per Arduino, la quale consente di spostare il carello anziché con movimenti bruschi, sfruttando un algoritmo di accelerazione e decelerazione, ovviamente configurabile.

Da pc quindi funzionava tutto ma.. decisamente poco pratico, sia impartire i comandi da tastiera, ma soprattutto perché lo scopo era renderlo indipendente dal pc.

Anziché utilizzare i pulsanti o potenziometri, come nella grande maggioranza dei casi, ho pensato di sfruttare un vecchio telecomando infrarossi di un autoradio Sony: piccolino e quindi comodo da trasportare, e con un numero sufficente di pulsanti per svolgere le funzioni necessarie.

Mi sono quindi dedicato alla parte software, nella quale sono più ferrato, ed ho implementato, tramite telecomando, la possibilità di modificare velocità e accelerazione nonché, disponendo di 6 tasti numerati da 1 a 6, di memorizzare 6 posizioni del carrello.

La "calibrazione" che inizialmente avrei voluto realizzare tramite switch fine corsa, viene invece realizzata "insegnando" ad Arduino qual'è la posizione massima che può raggiungere (che a livello software è interpretata in numero di (micro)step del motore.
Questo metodo funziona egregiamente, a patto che il carrello non venga spostato manualmente ma parta sempre (una volta acceso) dalla posizione "0".

Successivamente ho implementato la funzione timelapse. Non è una cosa che faccio spesso ma utilizzare un Arduino solo per mandare avanti e indietro un carrello mi sembrava uno spreco!

Sempre tramite telecomando attivo quindi la modalità timelapse, imposto il tempo di attesa tra uno scatto e l'altro, imposto il numero di scatti, e avvio la procedura.
Per poter sfruttare tutta la lunghezza del binario, ho pensato di far suddividere al software la lunghezza totale disponibile di cui sopra, per il numero di scatti impostato, anziché impostare il numero di step per ogni scatto.

Non essendo ancora deciso sul tipo di display da utilizzare per visualizzare le informazioni, al momento sfrutto 3 LED sul frontale del "case" del progetto, che altro non è che un decoder del digitale terrestre non funzionante, ma che si prestava benissimo per forma e dimensioni al mio scopo (anche perché aveva già un led bicolore e un ricevitore infrarossi integrati sulla parte davanti)! 8)

Ed ora, finalmente, la parte "ambiziosa": è possibile realizzare uno slider da poter utilizzare come "motion control" (low-cost), che permetta di memorizzare i movimenti e poterli così ripetere quante volte lo si desidera?
La risposta sembrerebbe essere SI! E per farlo sto utilizzando Processing, che è anche lui un software open source molto utilizzato in progetti con Arduino.

La molla è scattata quando per caso ho aperto uno sketch nel quale il software disegnava delle curve di bezier. Il mio "sogno" era proprio quello di poter sviluppare un sistema in grado di impartire comandi ad Arduino su velocità, posizione, ecc., magari tramite l'utilizzo di "keyframe".

Con mia grande sorpresa, nel giro di pochi giorni sono riuscito a sviluppare un'interfaccia in grado di pilotare lo slider, che mi consentisse di fare le stesse cose che facevo da telecomando ma col vantaggio di vedere finalmente le impostazioni e tutto quello che mi serviva in tempo reale, tramite la comunicazione seriale con Arduino.
La parte che mi ha portato via più tempo è stata quella inerente alla interpolazione dei movimenti, anche se tuttora i problemi da affrontare e risolvere sono parecchi ma devo ammettere che sono già ben oltre le aspettative iniziali!

Ora, "meccanicamente" mi resta da implementare la parte relativa a pan e tilt, che invece a livello software sono già implementati (anche se per ora posso solo utilizzarli virtualmente quindi non so se il comportamento reale sarà come sperato), ma per fare questo dovrò sostituire Arduino (che già è stato sostituito a sua volta da un Arduino Nano), il quale ha "solo" 32kb di memoria disponibile per lo sketch e quello attuale senza pan e tilt ne occupa 26, con una versione clone, il Microduino Core+, il quale dispone di 64k di memoria, senza contare che dovrò pensare ad una soluzione ideale per motorizzare appunto pan e tilt (e qui i suggerimenti si accettano ben volentieri!), mentre per quanto riguarda la parte di controllo da pc invece fortunatamente non ho limiti in quanto a memoria ecc., per fortuna!
Il tutto ovviamente deve essere gestibile sia autonomamente da telecomando oppure in maniera più "avanzata" da pc tramite appunto il software che sto sviluppando, al quale ho dato il nome di "REMOTION" che starebbe per Remote Motion (Control).

Per concludere il "papiro", faccio un riassunto delle funzioni attualmente disponibili:

- Modalità VIDEO:
Impostazione accelerazione e velocità.
Possibilità di salvare 6 preset inerenti alla posizione (10 da pc)
Possibilità di muovere il carrello ad inizio o fine corsa o ad uno dei preset alla massima velocità (che non è poi così veloce purtroppo, ma torna comunque utile)
Possibilità di impostare fino a 10 keyframe per variare la velocità durante lo spostamento (solo da pc)

Modalità VIDEO
Modalità VIDEO
video mode.png (215.07 KiB) Visto 6424 volte


- Modalità TIMELAPSE:
Impostazione pausa tra gli scatti.
Impostazione numero di scatti.
Lo spostamento del carrello viene determinato dalla lunghezza del binario divisa per il numero di scatti.
Visualizzazione informazioni inerenti a: numero progressivo scatti, tempo residuo allo scatto successivo, durata totale del timelapse (conto alla rovescia durante il timelapse), durata della clip finale in base al framerate scelto.
Sul retro del case ho messo una presa jack da 3,5mm e un led che servono per collegare la fotocamera e comandarne lo scatto (tramite fotoaccoppiatore!). Il led si accende ad ogni scatto per sapere che l'elettronica ha inviato il comando, utile più che altro per il debug. Durante il timelapse anche il led frontale lampeggia ad intervalli di 1 secondo, più che altro per capire che è in corso un timelapse.

Modalità TIMELAPSE
Modalità TIMELAPSE
timelapse mode.png (218.23 KiB) Visto 6424 volte


- Modalità PROGRAMMAZIONE:
Consente di impostare fino a 10 keyframe per VELOCITA', PAN e TILT indipendentemente. La sincronizzazione tra i 3 avviene tramite la posizione del carrello

Modalità PROGRAMMAZIONE
Modalità PROGRAMMAZIONE
program.png (223.71 KiB) Visto 6423 volte


-Funzioni generiche:
Attivazione/disattivazione "freno motore" (ossia spegne il driver del motore quando il motore è fermo, risparmiando energia e consentendo lo spostamento manuale del carrello in caso di necessità.
Attivazione/disattivazione spostamento veloce.
Attivazione/disattivazione tracciamento posizione del carrello in tempo reale.
Visualizzazione posizione del carrello, sia in centimetri che in percentuale.
Visualizzazione tempo trascorso per eseguire l'ultimo spostamento.

Mentre queste sono le implementazioni future:

- Motorizzazione PAN e TILT
- Aggiunta di un display ed eventualmente di un encoder rotativo RGB (per sfruttare i colori come indicatori di stato) per il controllo senza pc, in alternativa al telecomando infrarossi.
- Funzione BULB per eseguire scatti più lunghi di 30 secondi (limite della fotocamera)
- Indicatore di carica della batteria (utilizzo una 12v 7,2Ah che comunque ha una durata molto lunga)

Paradossalmente non ho foto decenti ma ho dei render e degli screenshot del software che sto sviluppando.

Accetto volentieri critiche e suggerimenti su come poter migliorarlo e su come realizzare la parte inerente alla motorizzazione di pan e tilt! :wink:
Allegati:
Slider
Slider
Slider IGUS.jpg (260.85 KiB) Visto 6424 volte
Case unità di controllo
Case unità di controllo
case.png (97.99 KiB) Visto 6424 volte
Ultima modifica di fabio978 il gio, 22 ago 2013 - 13:58, modificato 1 volta in totale.
#1074654
Ambizioso?? Beh... siete talmente bravi che... invidia (quella positiva però...)...
#1075586
Arduino è già in effetti un controller pronto all'uso anche lui...se si fa eccezione per la programmazione....che invece ed ovviamente deve essere dedicata !

Comunque non mi pare poi una cosa così terra terra da assoluti inesperti ! Anzi mi pare piuttosto completa !

Complimenti !
#1284205
Ciao a tutti, sono un nuovo utente e seguo da tempo il forum...
Mi occupo di realizzazioni CNC e 3D Print per tutto ciò che si muove o si può far muovere... ;)
Da tempo costruisco attrezzature per fotografi e per il cinema, tra cui steadycam, crane, droni ecc...
Mi ha colpito molto il post di @fabio978 e mi chiedevo se fosse possibile condividere il codice e/o comunque il software di controllo utilizzato.
Ad ogni modo continuerò a seguire il thread, mentre al momento approfitto per fare i miei complimenti a fabio978 per ciò di cui è stato capace....davvero molto bello.
Attendo con ansia...un abbraccio, Tesla
#1285380
Ciao a tutti, sono un nuovo utente e seguo da tempo il forum...
Mi occupo di realizzazioni CNC e 3D Print per tutto ciò che si muove o si può far muovere... ;)
Da tempo costruisco attrezzature per fotografi e per il cinema, tra cui steadycam, crane, droni ecc...
Mi ha colpito molto il post di @fabio978 e mi chiedevo se fosse possibile condividere il codice e/o comunque il software di controllo utilizzato.
Ad ogni modo continuerò a seguire il thread, mentre al momento approfitto per fare i miei complimenti a fabio978 per ciò di cui è stato capace....davvero molto bello.
Attendo con ansia...un abbraccio, Tesla

Ciao Tesla,
innanzitutto ti ringrazio per i complimenti!
Purtroppo ho dovuto abbandonare il progetto, per mancanza di tempo... Nel frattempo poi sono uscite un sacco di soluzioni "già pronte" e non ho trovato più sensato realizzare una soluzione artigianale (anche se darebbe molta soddisfazione!)

Se posso esserti utile lato programmazione, chiedi e farò il possibile!

Mi sono imbattuto in questo video alla ricerca di […]

Non c'è davvero niente di meglio sul web […]

Nota: non conosco i requisiti del mio pc. quind[…]

Sicuramente ci sarà un metodo più ve[…]