improved README

This commit is contained in:
Ronald Schaten 2022-02-22 17:25:52 +01:00
parent 449338d7ca
commit 348bad19fe

View File

@ -2,37 +2,100 @@
A stepper motor controller for use in photography.
This is a device that can be used to control a stepper motor and a camera, to
make a defined number of photos with a defined movement in between. A stepper
motor can be attached to a rotating platform or to a linear drive, so either
the object or the camera can be moved between the pictures.
## Hardware
The device consists of the following components:
- Arduino Uno, the brains of the operation
- LCD & keypad shield, as the user interface
- an A4988 stepper motor driver
- a 100uF capacitor
- two PC817 opto-isolators
- two 1k resistors
The circuit is pretty simple:
![Circuit](circuit/photostepper_bb.jpg)
Atop of that, I used an M13 connector for the stepper motor and a 2.5mm stereo
phone connector for the camera. To interface my camera, I had a ready made
cable from a remot camera controller (Ayex AX-5). The whole thing is powered by
a 12V power supply, connected directly to the Arduino.
This is the ideal case for the build:
https://www.thingiverse.com/thing:142282/files
## Configurable values
## Software
### General configuration
This project makes heavy use of the following libraries:
- Settle time: pause between camera move and shutter trigger.
- Focus time: how long to focus before triggering.
- Shutter time: how long to press the trigger.
- Return after scene: return to starting point after shooting.
- LCD blackout: turn off LCD backlight while shutter is open.
- [ArduinoMenu 4](https://www.arduino.cc/reference/en/libraries/arduinomenu-library/) (v4.21.4) for the menu structure
- [StepperDriver](https://www.arduino.cc/reference/en/libraries/stepperdriver/) (v1.3.1) for motor control
- [AnalogKeypad by Makuna](https://www.arduino.cc/reference/en/libraries/analogkeypad/) (v1.1.1) for reading input keys
### Scene configuration
## Menu structure
- Steps: number of steps for this scene.
- Distance per step: how far to move between the steps.
The main menu offers the following features:
### Jog
Up and down buttons move the motor manually, pressing the buttons for more than
a second doubles the speed.
### Configuration
General settings for the device:
#### Settle time (tSettle, default 1000ms)
Pause between motor movement and camera triggers, to avoid shaking.
#### Focus time (tFocus, default 1000ms)
Half-press of the shutter button, time to let the camera focus.
#### Shutter time (tShutter, default 1000ms)
How long to press the trigger.
#### Return (default: On)
Reverse any movement to starting point after shooting the whole scene.
#### DarkenLCD (default: Off)
Turn off LCD backlight while shutter is open.
### Scene
#### Steps (nSteps, default 10)
Number of steps for this scene.
#### Distance per step (distance, default 0.5mm)
How far to move between the steps.
### Run
Run the whole setup.
## Example results
This is the first image that was made using this project:
![](example_images/220213_macro_cent.jpg)
![Extreme closeup of a coin](example_images/220213_macro_cent.jpg)
Depth of field for my setup is a little more than 1mm, so this image is
composed from 30 different shots, each 1mm apart. Here's an animation of the
non-fused images:
![](example_images/220213_macro_cent_-_animation.gif)
![Animated focus stack](example_images/220213_macro_cent_-_animation.gif)
The images were taken as JPG. For some reason the align-program did strange
things with my full size images, so I reduced them in size first -- it's only a