Skip to main content

Documentation

Project Chronos


Project Chronos, a DIY motion control platform for timelapse.

Project Chronos 1.0 is no longer supported and replaced by Project Chronos 2.0

Please check my project page on sourceforge.net for more information on this DIY full featured timelapse system
https://sourceforge.net/p/projectchronos/home/Project%20Chronos%20Home/
Facebook
https://www.facebook.com/ProjectChronos2/photos_stream
Website
http://thechronosproject.com/



   

MicroEngine


What is the MicroEngine

The MicroEngine is a small light weight time lapse engine based on an Arduino and the DFRobot LCD Keypad Shield. The project was started in order to learn more about programming Arduino's. The aim was to have a small device that can be used to create time lapse sequences in a studio. A few features of the MicroEngine are:

  • Basic time lapse function with a delay between 1 second and 24 hours.
  • Advanced time lapse function. This function can trigger relays before the actual image is shot. I use it to power off plant growth lights and to power on studio strobes. That way every image is taken under the same conditions.
  • Studio setup mode where all relays are powered on.
  • Camera remote control. A bulb shutter speed of 24 hours can be set.
  • Lightning based camera trigger (under development).

Example Button Code for the DollyShield

/*

  Example code for  DollyShield pushbutton reading
  For use with the Arduino IDE or libraries.
  (c) 2010 C.A. Church
  Licensed under GPLv3

*/

 // digital pin # for button
#define BT_PIN_D  14
 // range threshold
#define BT_THRESH 70
 // num buttons
#define BT_NUM    5

int buttons[5] = {70, 250, 450, 655, 830};

int bt_range[5][2];

void setup() {

 pinMode(BT_PIN_D, INPUT);
 digitalWrite(BT_PIN_D, HIGH);
 
 Serial.begin(19200);

   // setup pushbutton lookup table

 for (byte i = 0; i < BT_NUM; i++) {  
   bt_range[i][0] = buttons[i] - BT_THRESH;
   bt_range[i][1] = buttons[i] + BT_THRESH;
 }

}

void loop() {

 byte button = get_button();

 if( button ) {
    Serial.print("Pressed Button: ");
    Serial.println(button, DEC);
 }

 delay(200);

}

byte get_button() {

  // returns button pressed
  //  1-5 for pushbuttons
  //  0 for no button pressed

  // need analog pin # for analogRead

MX2 Copyright

Posted in

Copyright and License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program.  If not, see http://www.gnu.org/licenses/

MX2 Settings

Posted in

Settings

The global settings for the engine can be accessed by selecting the 'Settings' option from the Main menu.  The following options are available:

 

Motor Disp.

Determine whether the motor speeds are displayed in percentages of maximum speed (0.00-100.00%), or in Inches Per Minute.  This setting is global and applies to the main screen display and the manual control display.

This value is automatically saved to permanent memory and will persist between power cycles.

 

Motor Sl.Mod

Selects the Slow Motion Mode.  This setting is global for all motors.  For more information on the Slow Motion Mode, see the Motion Modes section under Motion Control.

This value is automatically saved to permanent memory and will persist between power cycles.

 

MX2 Motion Control

Posted in

Motion Control

 

Camera and Intervalometer

All camera settings can be viewed and modified by selecting the 'Camera' option in the main menu.  The following options are available: 

 

Interval

Sets the interval between shots, in seconds.  The camera will fire on the interval, or as soon as possible afterwards if another event was blocking the camera from firing.  For example: if you set a post exposure delay of 1.5 seconds, and an interval of 1 second, then your camera would not fire more often than once every 1.5 seconds because the post exposure delay blocks the camera from firing.   This setting may be modified directly on the main screen.

This value is automatically saved to permanent memory and will persist between power cycles.
 

MX2 Manual Motor Control

Posted in

Manual Motor Control

 

To enter the Manual Motor Control menu, select the 'Manual' option from the Main Menu.  Once you have selected the Manual Motor Control menu, you will be asked to choose the axis you want to control, and then you will be presented with the control screen for that motor.  On this screen, it will display the name of the axis and the currently configured speed.  To increase or decrease the speed of the motor, use the Up and Down pushbuttons.  The motor will move in the left or right direction for as long as you hold down the Left or Right pushbuttons. 

Notes:

  • The motor will retain the speed and direction you last set in manual control once you return to the main screen
  • Presently, only PWM mode is available in manual control
    • You can use this to determine the low-speed threshold for a given motor

 

MX2 Main Screen

Posted in

The Main Screen

 

The Main Screen provides an overview of the current status and also allows for quick modification of key operating parameters.  This screen has the following layout:

-----------------
On 3s       [15]

R30.50%   L0.00%
-----------------

On the first line we have the current status (On or Off), the intervalometer timing (3s), and a count of shots fired since turned on ([15]).  The second line displays the direction and speed for each motor, with motor 1 on the left, and motor 2 on the right.

 

MX2 Input Controls

Posted in

Input Controls

 

There are five pushbuttons, four arranged in a cross-pattern, and one to the lower left.  The four buttons together are Left, Right, Up and Down while the button to the lower left is the Enter button. 

 

Enter:

  • Brings up the main menu, or selects a menu item. 
    • If item is another menu, that menu will be opened, otherwise the value selected will be shown for editing, or executed depending on the currently selected item. 
  • Saves the current value being edited
  • Exits manual motor control

 

Up:

  • Selects the menu item directly above
  • Increases the value of the currently selected item
  • Increases motor speed (manual motor control)

 

Using the MX2 Firmware for the DollyShield

Posted in

 

 

The DollyShield provides an easy hardware setup for two axis motion control photography using simple DC motors.  With an isolated camera connection, LCD, pushbuttons, and auxilliary inputs, it provides everything needed for controlling a simple 2-axis moco rig. 

Once connected to an Arduino microcontroller, the MX2 Firmware provides a basic and easy-to-use interface for creating time-lapse videos with motion control on a budget.  This document describes how to interact with and use the MX2 Engine.

 

Current Version

MX2 Dolly Engine v. 0.1 beta

(c) 2010 Dynamic Perception LLC

  

Feature Overview 

 

Syndicate content