Timelapse Motion Control Axis

•January 3, 2010 • 9 Comments

I’ve been working on the OpenMoco project lately, and have been playing around with some pan/tilt/etc axis designs.  This is the latest of my prototypes, CNC routed out of cast acrylic with worm gearing.

The specs are:

  • 120:1 Worm Gearing
  • Anaheim stepper motor (1.8′)
  • Minimum rotational degrees at 8x microstepping: 0.0019′
  • Easydriver v4 stepper driver
  • Max camera weight: 10lbs.

Mounting is allowed is different configurations through the use of small plates and threaded inserts in three sides of the axis.  An additional plate allows a clamp to be mounted to the output shaft.  One small plate aso has a 3/8″-16 threaded insert for direct attachment to a tripod.  The motor axis is controlled by an Arduino running the OpenMoco Timelapse Engine, which is in turn controlled by a netbook using the Slim application.

Here’s a video of it in action, showing how the engine allows real-time changes in addition to scripted activities using keyframes and actions.

Continue reading ‘Timelapse Motion Control Axis’


A Detailed Guide on Implementing Arduino Intervalometers

•August 4, 2009 • 4 Comments

I’ve begun a series of tutorials on the basics of developing your own time-lapse electronics. To make sense of all of it, I’m working in a forward-manner: starting with the most basic elements, and providing tips and tricks that will be built upon in future tutorials.

While I understand that most of the DIY builders reading this post are long past the point of building just a simple intervalometer, for those just getting started, this should be highly informative. Unlike many other tutorials, I’m not just giving you some schematics and a block of code. Instead, my goal is to explain why things are done a certain way, and teaching foundations for better system design.

This tutorial covers building a simple test circuit that will allow you to validate your software and hardware without putting wear on your camera, the importance of protecting your equipment from mistakes, three different timing options: blocking, non-blocking, and non-blocking using simple interrupts, and finally controlling a Canon or Pentax camera. (Nikon, etc. I don’t have much info on – perhaps one of the Nikon-having contributors can expand in a later tutorial.)

The tutorial can be accessed here: http://openmoco.org/node/88

OpenMoco: The Open-Source Photographic Motion Control System

•April 17, 2009 • 2 Comments

I’m happy to announce that I have released the first parts of the OpenMoco System, and set up a website for it. I’ve been working with Jay Burlage (milapse) on bringing this to market as a viable product.

The first components are designed around a simple and inexpensive controller to build for time-lapse motion control (What I refer to as the ‘Engine’), including a fully-functional API for perl scripts running on a computer to configure and control the engine.

The OpenMoco system is designed around several key components:

  • OpenMoco Engine: A core body of code that runs on a stand-alone arduino providing direct control of motors and cameras.  The code and hardware combined make up an ‘engine’
  • OpenMoco Interface: A body of code and/or a physical hardware component that provides an abstracted user interface, fulfilling a given use-case (easy timelapse, advanced timelapse, stop-motion, scripting APIs, etc.)
  • OpenMoco Elements: The physical motor and bracket components that perform the motion and provide the final step in fulfilling the users’ goals.  These components are CC licensed, and may be built or bought

I’m working on prototyping the OpenMoco Elements hardware designs for fabrication using my wonderful K2 CNC machine, but in the mean-time I’ve already released a fully-functional Engine and Perl-Based API.

Here’s a very brief review of the engine features:

  • Camera Intervalometer (1-65,535 seconds)
  • Focus pre-tap function (trigger focus line before firing)
  • 3-axis stepper motor control (for pulse-driven [step/dir] stepper drivers)
  • Linear ramping of move execution speed (to prevent missed steps and jarring of camera during movement)
  • Linear ramping of motor movements in output video
  • Action Scripting (define actions to be taken at given keyframes)
  • Camera, Time, and Motor Movement Keyframing (trigger actions after # of shots, movements, or time)
  • An alt Input/Output for firing flash, triggering second camera, controlling program via external input, etc.
  • Two serial command interfaces for controlling via computer and/or another microcontroller (touch-screen UI, etc.)

For an example of the simplicity of the design of the engine, even given all of the above capabilities, check out the circuit design:

The goal is also to make the OpenMoco website a haven for all kinds of information related to DIY photographic motion control.

Come on by and check it out:  www.OpenMoco.org

The engine documentation (incomplete as of this writing): Engine Documentation

Download the Engine and the Perl API:  Software Downloads

LightRails – Dynamic External Exposure Control for Time-lapse

•March 25, 2009 • 13 Comments

I’ve been sitting on this a little while, and I feel a bit remiss in not sharing it sooner.  I had intended to make it “perfect” before sharing, but feel I’ve reached a point where I’m not ready to spend all of my effort on this project, and instead wish to work more on OpenMoco (but we’ll talk more about that soon!).  So, I’ll share this as a more “rough” project.

Some time ago, I started out with the TSL230R chip from Taos with the intent of producing a (a) my own digital light meter and (b) a dynamic external control system for time-lapse photography.  Certainly, the act of creating my own digital light meter was a smashing success, also having it control my dSLR via a remote cable in bulb mode was also a great success.  Enough so that it should prove an invaluable tool to the DIY pinhole photographer.  (Man, how do you time that 2:35:20 exposure manually? =)

The problem I wanted to solve was a difficult, but common one: how do you effectively manage exposure changes across sunrise and sunset time-lapses with a dSLR?  It sounds very easy, just go into Av or Tv mode!  Of course, life isn’t that easy.  The standard dSLRs generally only meter and adjust exposure in the very rough terms of 1/6, 1/4, 1/3, or even 1/2 EV steps!  This means it has a sledge hammer where the problem calls for a gentle tapping of a finger.  I set out to create a system that would control the camera externally, metering and adjusting exposure in 1/100 EV steps…

Continue reading ‘LightRails – Dynamic External Exposure Control for Time-lapse’

Add AC Power Outlets to Your Jeep Wrangler Console

•March 1, 2009 • 6 Comments

It’s always a pain in the butt to try and hook up those little A/C inverters to your 12V DC plugs when you’re on the road. The laptop needs to be charged, so do the external batteries for the camera equipment, the GPS is already using one plug, etc. Wouldn’t a 500W work light be a great thing to be able to use when you’re working on a broken down rig on the trail?

In this entry, I’ll show one technique for adding two A/C outlets to the back of the jeep’s console, proving 800 watts of power on tap, ready for your laptop or work lights. The focus will be on integrating everything so that it looks like it came that way from the factory, and providing control of the inverter through your switch panel.

I used a Vectra 800 Watt (1600 peak) 12V DC to A/C 120V inverter that I had previously cut up for some presently unknown reason. There are a number of models from other vendors that look, and seem to operate the same, so the general plan of action should apply for any similar inverter.

The finished product will look like this:

Continue reading ‘Add AC Power Outlets to Your Jeep Wrangler Console’

K2 CNC On the Way

•January 14, 2009 • 2 Comments

I’m very excited, the order has been placed – this beauty will be arriving at my office within a month or so:

Yup, that’s the K2 2514 benchtop CNC router.  25″x14″x5″ work area.  I’m going to be powering it with a Probotix 3-axis stepper kit, and will be using the porter cable 892 router. (And, possibly, my dremel 300 for PCB work.)  This will let me quickly prototype and build new designs I’ve been working on.  Now, to get started on an enclosure for it, so it won’t drive me mad in the studio.  The enclosure will be framed by 80/20 parts, and dampened to reduce the noise of the router.

In the next few months, I’ll have some exciting announcements regarding motion control applications for time-lapse photograpy.  Stay tuned. =)

Arduino and the TSL230R: Photographic Conversions

•November 28, 2008 • 20 Comments

In the previous post on using the Taos TSL230R with the Arduino, I covered the basic operations of the chip, and some essential conversions for going from radiometric to photometric representation of its data. In this post, we’ll expand on that knowledge to calculate exposure times and apertures using the Exposure Value system and produce much more accurate lux calculations using multiple wavelengths of light. After reading both of these tutorials, you should have enough information to create your own photographic light meter using a few simple components.

Continue reading ‘Arduino and the TSL230R: Photographic Conversions’