Inhoudsopgave:

Motion Control Slider voor Time Lapse Rail - Ajarnpa
Motion Control Slider voor Time Lapse Rail - Ajarnpa

Video: Motion Control Slider voor Time Lapse Rail - Ajarnpa

Video: Motion Control Slider voor Time Lapse Rail - Ajarnpa
Video: DigiSlider Motion Control Time Lapse Slider Kit Demo 2024, November
Anonim
Motion Control Slider voor Time Lapse Rail
Motion Control Slider voor Time Lapse Rail
Motion Control Slider voor Time Lapse Rail
Motion Control Slider voor Time Lapse Rail

Deze instructable legt uit hoe je een time-lapse-rail kunt motoriseren met behulp van een stappenmotor die wordt aangedreven door een Arduino. We zullen ons vooral concentreren op de Motion Controller die de stappenmotor aandrijft, ervan uitgaande dat je al een rail hebt die je wilt motoriseren.

Zo vond ik bij het demonteren van een machine twee rails die ik kon ombouwen tot time lapse rails. De ene rail gebruikt een riem om de schuif aan te drijven en de andere een schroef. Afbeeldingen in deze instructable tonen een door een schroef aangedreven rail, maar dezelfde principes zijn van toepassing op een rail aangedreven door een riem. Er zijn slechts enkele parameters die tijdens de inbedrijfstelling moeten worden gewijzigd.

Stap 1: Werkingsprincipe:

Operatie principe
Operatie principe
Operatie principe
Operatie principe
Operatie principe
Operatie principe
Operatie principe
Operatie principe

Voor time-lapse-fotografie gebruik ik een intervalmeter genaamd LRTimelapse Pro-Timer, ontworpen door Gunther Wegner. Dit is een hoogwaardige Open Source Intervalometer voor time-lapse-, macro- en astrofotografen die u zelf kunt bouwen. Gunther, bedankt voor deze fantastische tool die je beschikbaar hebt gesteld aan de time-lapse-gemeenschap. (Zie voor meer informatie lrtimelapse-pro-timer-free)

Ik heb zojuist wat code toegevoegd om de stappenmotor te besturen.

Werkingsprincipe: De Time Lapse Rail werkt op Slave-modus. Deze methode is redelijk betrouwbaar. Het betekent dat ik de LRTimelapse Pro-Timer Intervalometer gebruik om het aantal opnamen en het interval tussen de opnamen in te stellen. De intervalmeter stuurt een signaal naar de camera om de sluiter te activeren. Nadat een foto is gemaakt, stuurt de camera een signaal terug naar de bewegingscontroller om de schuifregelaar van de rail in een beweging/opname/beweging-reeks te verplaatsen. Het signaal om de reeks te starten komt van de flitsschoen van de camera. De flitser van de camera is ingesteld op Synchro op het tweede gordijn, dus het signaal wordt teruggestuurd naar de bewegingscontroller wanneer het gordijn van de camera sluit. Dit betekent dat de schuifregelaar alleen beweegt als de sluiter gesloten is en dus werkt ongeacht de belichtingslengte.

Materiaal: Er zijn twee kabels nodig van de bewegingscontroller naar de camera (specifiek cameramodel) 1) een camera-ontspankabel met een 2,5 mm-aansluiting en 2) een flitsschoenadapter met een stekker naar mannelijke flitser PC-synchronisatiekabel met een 3,5 mm mm-aansluiting.

Stap 2: Het bord van de bewegingscontroller

Het bord van de bewegingscontroller
Het bord van de bewegingscontroller
Het bord van de bewegingscontroller
Het bord van de bewegingscontroller
Het bord van de bewegingscontroller
Het bord van de bewegingscontroller

Hardware: Beweging van de slider is door middel van een schroef verbonden met een NEMA 17 stappenmotor. De stappenmotor wordt aangedreven door een EasyDriver die wordt aangestuurd door een Arduino UNO. Om de controller te gebruiken met een andere powerbank (van 9v tot 30v) heb ik een LM2596 DC-DC Arduino-compatibele voedingsmodule toegevoegd om de spanning aan te passen. Zie de bijgevoegde "Arduino Wiring. PDF".

De camera-ontspankabel wordt met een 2,5 mm jack op de controller aangesloten. De aansluiting is bedraad volgens het schema in de bijgevoegde " Shutter release. PDF ". De kabel van de flitsschoenadapter wordt met een 3,5 mm jack op de controller aangesloten. Door twee verschillende formaten te hebben, wordt voorkomen dat kabels op de verkeerde poort worden aangesloten.

Stap 3: Arduino-code

Voordat u gaat coderen, is het belangrijk om onderscheid te maken tussen de verschillende acties die u wilt bereiken. Arduino maakt gebruik van wat leegte wordt genoemd. Een void is een gedeelte van een programma (regel code) dat op elk moment kan worden opgeroepen, wanneer en wanneer dat nodig is. Dus als elke actie op een aparte leegte staat, blijft de code georganiseerd en wordt het coderen vereenvoudigd.

Sketch Logics.pdf bijgevoegd toont de acties die ik wil bereiken en de logica erachter.

Stap 4: Arduino-code 1 - Rail-startpositie

De eerste leegte wordt gebruikt om de rail naar de startpositie te sturen bij het starten van de controller.

De controller heeft een richtingstuimelschakelaar. Bij het opstarten beweegt de schuiver in de door de tuimelschakelaar geselecteerde richting totdat deze de eindschakelaar aan het einde van de rail raakt; het beweegt dan terug over een afstand gedefinieerd door de gebruiker (dit is 0 of de waarde die overeenkomt met het andere uiteinde van de rail). Dit is nu de startpositie voor de schuifregelaar.

Deze leegte is getest met behulp van de code in het bijgevoegde bestand met de naam BB_Stepper_Rail_ini.txt

Stap 5: Arduino Code 2 - Drukknop met dubbele functie

De tweede leegte wordt gebruikt om de schuifregelaar handmatig te verplaatsen. Dit is handig wanneer u uw camera instelt voordat u de time-lapse-reeks start.

De controller heeft een drukknop met twee functies: 1) een korte druk (minder dan een seconde) verplaatst de schuifregelaar met een door de gebruiker gedefinieerde hoeveelheid. 2) een lange druk (meer dan een seconde) verplaatst de schuifregelaar naar het midden of het einde van de rail. Beide functies sturen de schuifregelaar in de door de tuimelschakelaar geselecteerde richting.

Deze leegte is getest met behulp van de code in het bijgevoegde bestand met de naam BB_Dual-function-push-button.txt

Stap 6: Arduino Code 3 – Slave-modus

De derde leegte wordt gebruikt om de schuifregelaar na elke opname met een bepaalde hoeveelheid te verplaatsen. De flitser van de camera moet worden ingesteld op "achtergordijn". Aan het einde van de opname wordt een flitssignaal van de flitsschoen naar de controller gestuurd. Dit start de reeks en verplaatst de schuifregelaar met een bepaalde hoeveelheid. De afstand voor elke beweging wordt berekend door de lengte van de rail te delen door het aantal schoten dat is geselecteerd in LRTimelapse Pro-Timer. Er kan echter een maximale afstand worden gedefinieerd om een snelle beweging te voorkomen wanneer het aantal schoten laag is.

Deze leegte is getest met behulp van de code in het bijgevoegde bestand genaamd Slave mode.txt

Stap 7: Arduino Code 4 – Quad Ramping

Arduino Code 4 – Quad Ramping
Arduino Code 4 – Quad Ramping
Arduino Code 4 – Quad Ramping
Arduino Code 4 – Quad Ramping

De vierde leegte is een ramping-optie voor soepeler in- en uitstappen. Dit betekent dat de afstand van elke beweging geleidelijk zal toenemen tot de ingestelde waarde en aan het einde van de rail op dezelfde manier zal afnemen. Als je naar de uiteindelijke time-lapse-reeks kijkt, versnelt de beweging van de camera aan het begin van de rail en vertraagt ze aan het uiteinde van de rail. Een typische Quad-versnellingscurve wordt getoond in de bijgevoegde afbeelding (in- en uitstappen). De afstand van de helling kan worden gedefinieerd.

Ik heb het algoritme getest in Excel en heb de versnellings- en vertragingscurven ingesteld volgens de bijgevoegde afbeelding. Deze leegte is getest met behulp van de code in het bijgevoegde bestand met de naam BB_Stepper_Quad-Ramping-calculation.txt

Opmerking: Deze quad ramping moet niet worden verward met Bulb ramping waarbij de belichtingslengte verandert of Interval ramping waarbij het interval tussen opnamen wordt gewijzigd.

Stap 8: Arduino Code 5 – Integratie met LRTimelapse Pro-Timer

LRTimelapse Pro-Timer is een gratis Open Source DIY Intervalometer voor time-lapse-, macro- en astrofotografen die door Gunther Wegner beschikbaar is gesteld aan de community van time-lapse-fotografen. Na het bouwen van een unit voor mijn camera vond ik het zo goed dat ik begon na te denken over hoe ik mijn rail ermee kon besturen. De bijgevoegde LRTimelapse Pro-Timer 091_Logics.pdf is een korte handleiding die laat zien hoe u door het programma navigeert.

De bijgevoegde BB_Timelapse_Arduino-code.pdf toont de structuur van LRTimelapse Pro-Timer Free 0.91 en in het groen de regels code die ik heb toegevoegd om de schuifregelaar te bedienen.

BB_LRTimelapse_091_VIS.zip bevat de Arduino-code als je het wilt proberen.

Het bijgevoegde document BB_LRTimer_Modif-Only.txt geeft een overzicht van de toevoegingen die ik aan Pro-Timer heb gedaan. Het maakt het gemakkelijker om ze te integreren in nieuwe versies van Pro-Timer wanneer Gunther ze beschikbaar stelt.

Stap 9: Arduino Code 6 – Variabelen en instellingswaarden

Arduino Code 6 – Variabelen en waarden van instellingen
Arduino Code 6 – Variabelen en waarden van instellingen
Arduino Code 6 – Variabelen en waarden van instellingen
Arduino Code 6 – Variabelen en waarden van instellingen
Arduino Code 6 – Variabelen en waarden van instellingen
Arduino Code 6 – Variabelen en waarden van instellingen

De spoed van de schroef kan variëren of bij gebruik van een riem kan de spoed van de riem en het aantal tanden op de poelies ook variëren. Daarnaast kan het aantal stappen per omwenteling van de stappenmotor en de lengte van de rail verschillen. Als gevolg hiervan verandert het aantal treden om de lengte van de rail te overbruggen van de ene rail naar de andere.

Om de controller aan verschillende rails aan te passen, kunnen enkele variabelen in het programma worden aangepast:

  • Bereken het aantal treden dat overeenkomt met de lengte van de rail tussen de eindschakelaars. Voer de waarde in de variabele in: long endPos (d.w.z. deze waarde is 126000 voor de rail aangedreven met een schroef die in deze instructable wordt getoond)
  • Om te kijken naar de framesamenstelling aan het begin, midden en einde van de rail bij het gebruik van het spaneffect, heb ik de optie lang indrukken met de drukknop gebruikt. Voer het aantal stappen in dat overeenkomt met het midden van de rail in de variabele: lange midPos (d.w.z. deze waarde is 63000 voor de rail die wordt aangedreven met een schroef die in deze instructie wordt getoond)
  • In LRTimelapse Pro-Timer moet je invullen hoeveel foto's je wilt maken. Het programma deelt de lengte van de rail door dit getal. Als je 400 foto's maakt en je rail is 1 meter lang, dan is elke beweging van de schuif 1000:400 = 2,5 mm. Voor 100 foto's zou de waarde 10 mm zijn. Dit is teveel voor één zet. U kunt er dus voor kiezen om niet de volledige lengte van uw rail te gebruiken. Voer de maximaal toegestane beweging in de variabele in: const int maxLength (d.w.z. deze waarde is 500 voor de rail die wordt aangedreven met een schroef die in deze instructie wordt getoond)
  • Wanneer de drukknop minder dan een seconde wordt ingedrukt, wordt de schuifregelaar met een bepaalde afstand verplaatst die kan worden ingesteld in de variabele: int inchMoveval (d.w.z. deze waarde is 400 voor de rail die wordt aangedreven met een schroef die in deze instructie wordt getoond)
  • Quad Ramping zorgt voor een soepel in- en uitstappen. Aan het begin en aan het einde van de rail kunt u zelf bepalen hoe ver de ramping duurt. Deze waarde wordt ingevoerd als een percentage van de lengte van de rail in de variabele: float ratio (d.w.z. 0,2 = 20% van de lengte van de rail)

Stap 10: Een paar woorden over de rail

Een paar woorden over het spoor
Een paar woorden over het spoor
Een paar woorden over het spoor
Een paar woorden over het spoor
Een paar woorden over het spoor
Een paar woorden over het spoor
Een paar woorden over het spoor
Een paar woorden over het spoor

De rail is een meter lang. Het is gemaakt van een zwaar belaste lineaire lagerschuif die is vastgeschroefd aan een aluminium extrusiestaaf met sleuven. Ik kocht de extrusiebalk en accessoires van RS.com (zie de afbeelding rs items-j.webp

Spanning: De kogelkop van een statief (volgens de bijgevoegde afbeelding) is op de schuifregelaar gemonteerd. Een armpje verbindt de kop met de schroef. Als je de schroef aan één kant van de rail af beweegt krijg je een hoek tussen de schroef en de rail. Wanneer de schuif langs de rail beweegt, ontstaat er een rotatie van de kogelkop. Als u niet wilt overspannen, houdt u de schroef parallel aan de rail.

De controller wordt op de slider gemonteerd. Ik heb voor die optie gekozen - in plaats van de controller aan het ene uiteinde van de rail - om te voorkomen dat er meerdere kabels langs de rail lopen. Ik heb maar één kabel tussen de powerbank en de controller. Alle andere kabels, naar de stappenmotor, naar de eindschakelaar, de sluiterkabel naar de camera en de synchroonkabel van de camera bewegen allemaal mee met de controller.

Schroef versus riem: voor time-lapse-fotografie werken beide ontwerpen goed. De riem maakt snellere bewegingen mogelijk in vergelijking met de schroef, dit kan een voordeel zijn als u de rail in een video-slider wilt veranderen. Een voordeel van het schroefontwerp is dat wanneer u de rail verticaal of schuin zet, bij stroomuitval de slider stil blijft staan en niet zal vallen. Ik raad u sterk aan voorzichtig te zijn wanneer u hetzelfde doet met een riemaangedreven rail, in het geval van een stroomstoring of als de stroom uitvalt, zal de camera op eigen risico naar de onderkant van de rail glijden!

Aanbevolen: