Introduction: Ooznest Arduino Motion Time Lapse Rail
Ok so this instructable follows on from my last instructable where i used a cheap rail from china as a proof of concept... I wasnt sure i could pull it off the first time... not sure enough to spend a lot on hardware. but given how successful my last time lapse rail was i decided to splash out on a better quality rail and the Ooznest V-slot rail kit had all the right qualities including being a reasonable price and based around a standard nema 17 stepper motor with options with regard to the size of the motor. I decided to go with the 44oz motor and fit bigger later if required. now i tend to just do time lapse with my slider but to help people out i did add a motion control option so this kit could also be used for adjustable smooth pan for videography also.
to keep the programming and wiring as simple as possible i chose again to use IR remote control to configure the slider and i have used all but 2 of the buttons now on the generic remote control i purchased from ebay.
so to start let's get a list of materials
- slider kit from Ooznest
- arduino pro mini or arduino uno, like this one (ensure 5v)
- Step down voltage regulator as motor requires 12v arduino and controller require 5v
- remote control and ir sensor, like this one (may need to play with code to match buttons layout)
- 1602 lcd display with i2c module, like this one
- LED to indicate camera trigger (optional)
- 4N35 or equivalent opto isolator this search will reveal how this works as well as suggesting alternatives
- lead for remote operation of camera.
- push to make button for stopping and n/o micro switches for limit (optional)
- 12volt battery (i used an old alarm sealed lead acid battery just because i had it lying around)
the switching regulator is over kill for this project and you may get away with a simple linear regulator such as this one but there isnt a world of difference in price.
ok so before we get started we will need to set the output voltage of the regulator using a multi meter unless you went for the cheaper linear regulator
Step 1: Mechanicals!
before we can assemble the V-Slot rail we need to do a little prep work first of all we need to take the saddle with 5 pre drilled holes these are tapped with a 5mm thread but for mounting a tripod they are too small. so we need to first drill the middle hole either 5mm and tap to 1/4" whitworth and then fit our screw into the saddle as per the image above (this is the best option as it allows you to easily remove the head and refit it without disassembling the rail) the second option is to drill out 6.5mm and fit a bolt loose in the saddle and tighten the tripod head to the saddle from below (this cannot be removed later without disassembling the rail).
next we need to be able to mount the rail to a tripod for secure and easy setup on location so here i chose to file a 1/4" whitworth nut down so it slides easily in the rail while allowing it to remain captive i then attach my quick release plate through this nut. legs can be added to the rail using the pre drilled holes in the ends of the rails if required.
once this is done you can now go ahead and assemble the rail as per the manufacturers instructions.
Step 2: Electronics
i assembled my prototype on a breadboard as it allows you to correct errors quickly and easily and will allow you to test all your components before fixing everything to your final pcb i chose to mount my arduino on headers to allow me to quickly develop and implement code changes and the stepper driver i figured could be a weak link and again to allow easy swapping out i chose to mount this on headers also. if it fails in service i can simply unplug it and plug a new one in.
the included wiring diagram has a little missing detail to enable micro stepping on the A4988 driver module you need to link the three msi terminals and connect them to 5v tbh its easier to link this guide as it can explain the intricacies way better than i can...
and as per the guide it is worth just checking and setting the max output of the driver board to suit the stepper motor you have chosen mine was 1.33 amps. also in my code step is pin 4 and direction is pin 3 on the arduino pro mini but is easily changed in the code if you would prefer to use alternative pins.
I also just realised that due to the added video slide feature the speed control pot is missing off the diagram above if this is a feature you need then you will need to create a voltage divider using a 10k potentiometer. one end of the 3 pins on the pot goes to 5v the other end goes to gnd and the middle pin connects to pin A0 on the arduino. if the pot turns to the left to speed up then simply reverse the 5v and gnd connections on the pot and it should operate the correct way.
once you are assembled on your pcb you can go ahead and test it to ensure it all works if it does go ahead and mount it all in a nice plastic box to protect it from the elements to mount the box to the rail i used two 5mm bolts and a couple of nuts (the bolts locked nicely in the rail and held the box securely. i hot melt glued the pcb into the box to stop it touching the exposed bolts and shorting things out as per my other guide try to keep the output of the opto isolator clear of any stray voltages your camera will thank you for it. to trigger my camera's remote shutter i use a 2.5mm jack plug to 2.5mm jack plug lead and added a socket to the back of my enclosure to allow easy removal and refitting of the lead for safer transport of the rail. i also mounted the limit switches using super glue and soldered the wires then glued the cable into the unused slot of the rail kit to take the wires neatly back to the control box.
Step 3: Code! & Conclusion
i have tried to annotate my code as much as possible so it should be easy to configure the code to suit your particular needs.
the time lapse mode is programmed for shoot move shoot move operation so should give nice sharp images as opposed to a continuous motion arrangement. in video mode the motor is quite noisy so you would need an alternative or remote audio source.
things to do: i may take a look at the code and have the lcd display the step speed in mm instead of the arbitrary number displayed at the moment this would allow you to calculate traverse times and number of shots per slide the default settings give me around 1mm per shot and the slide has around 870mm of travel when assembled at 25 fps it would give a video of around 35 seconds long. at its finest setting i calculate the slide will allow 2000 shots per slide giving a video of around 80 seconds
The V-slot rail kit that i have assembled here is quite happy running a 700g canon 100D at a 45deg incline with the 44oz motor, it would run a Gopro in its sleep without breaking a sweat however i was hoping to get near vertical slides out of this so i may upgrade to a beefier motor later but this should be an easy upgrade im also looking at rechargeable lipo batteries but it must be 12v and have over charge discharge protection ill update this guide if i find a suitable alternative to the 2100mah sealed lead acid battery i am currently using. while discussing power consumption i suspect 1000mah would be plenty of power for several full slides given testing so far but this may vary dependant on incline, weight of camera and motor size etc.
Step 4: Operating Instructions!
the remotes from china often have different button layouts but the code they transmit are the same so rather than list controls by just their symbol i will list the controls by position on the remote control starting in the top left and counting to the right and moving down a row.
- back light on
- back light off
- not used
- motion time lapse start (use stop button to stop or wait for limit to be hit)
- slew left
- slew right
- not used
- set delay interval down by 1 sec (min 1 sec)
- set delay interval up by 1 sec (max 30 sec)
- set step distance to 8 (less than 0.5mm)
- start video pan mode (direction will follow last slew left to right by default)
- not used
- set step distance to 16
- set step distance to 32 (1mm approx)
- set step distance to 64
- set step distance to 96
- set step distance to 128
- set step distance to 160
- set step distance to 192
- set step distance to 220
- set step distance to 256
press and hold stop button during motion time lapse mode to stop the current program
in video pan mode the speed of travel can be adjusted before and during the slide using the potentiometer right to increase and left to decrease and the direction of travel is left to right by default but will follow the direction of the last slew command so to go right to left place the saddle at the far right of the rail and hit the left slew button when this command is completed hit the video pan button to have the saddle travel from right to left