SmaTrig 2.1

Delay circuit for (high speed) photography

drop setup screen shot Click here for an intro on how to usage of
the delay for drop photography (EN) (DE)



delay 2 circuit with legend

This article describes how to build a simple uC based delay circuit for photographic applications like drop or high speed photography. It can be used to control the trigger lag of cameras and flash units, generate a periodic trigger pulse or even control magnetic valves. The input and the three outputs of the circuit use standard 3.5 mm stereo jack connectors, so the delay element can be looped easily into your existing trigger circuitry like the SmaTrig for example. Cascading multiple delay devices into more complex circuits is easily done.
As simplicity was an important design goal, there is no text display or a sophisticated analog input stage. All resources to build a copy of the delay are provided below in the Download section.

Usage

delay 2 pcb in a panel

A short press of the on/off button switches the circuit on and off. By holding the on/off button down while switching on you can cycle through the three time ranges indicated by the LEDs. The chosen operating range is saved in the EEPROM so the uC will remember the last setting after switching off or even removing the battery.

Standard delay mode

Directly after programming the AVR your delay will work as described in this section. The delay time is set by two potentiometers. The left one is used for the coarse time setting (0-100% of the chosen range), the right one allows fine tuning (0-10% of the chosen range) of the delay time. Both knobs turned to the maximum will result in 110% delay time (1.1 s, ...). The functions of the wheels are:

Function Red LEDYellow LEDGreen LED
Left wheel Delay 0-100%1 s 0.1 s 0.01 s
Right wheelDelay 0-10% 0.1 s0.01 s0.001 s

The coarse/fine solution proved to be very convenient in practical use (dark room). For drop photography, the absence of a display turned out to be unproblematic, because you keep your eyes on the drop and not the delay while adjusting the time. The manual trigger button allows to simulate a trigger event and is useful for lighting adjustment or general testing. It just shortens out the input contacts.
The duration of the trigger pulse in this mode is always 0.35 s. The minimum lag of the circuit in the green mode for both potentiometers set to 0 is about 12 us (microseconds). Use this setting if you like to use the delay circuit just as a repeater to fire for example three different flashes from one source. The lag will be negligible in most cases.


Delay / pulsewith mode

There are applications where it would be useful to have control over the duration of the trigger pulse width. Examples are bulb mode shots or the generation of drops with magnetic valves. For such special cases the delay circuit can be switched to a different mode, where the right rotary knob changes it's function form fine tuning the delay time to controlling the trigger pulse duration. The resulting functions and times are:

Function Red LEDYellow LEDGreen LED
Left wheel Delay 0-100%1 s 0.1 s 0.01 s
Right wheelTrigger pulse width 0-100% 1 s0.1 s0.01 s

To toggle to this operating mode press the on/off button for more than 6 s while switching on the device. The LED will cycle through the ranges twice and start to cycle faster. If the delay / pulse-width mode is enabled, the LEDs will blink once after switching on. Follow the same procedure to toggle back to the standard coarse/fine mode.

Interval timer

Short-circuiting the input permanently (connect tip and shaft in stereo jack plug or block the trigger button) will result in periodic self-triggering. This way a simple interval timer can be realised. The interval period will be the sum of the delay time, the trigger pulse duration and the internal re-trigger blockage time of 150 ms. Accordingly the maximum achievable frequency will be about 6.6 Hz.

100x slow mode

For some slow processes the delay range of 1 s might be too short. By connecting pin 6 and 7 of the uC together (see marking in image above) the time ranges are increased by a factor of 100. Correspondingly they change to: 100 s, 10 s, 1 s. All other changes must be done in the AVR C code. Note that the pins are checked once when the circuit is switched on.


The Circuit

delay circuit schematics

The circuit is based on the ATtiny24 AVR by Atmel. With its 14 pins the controller is a good compromise between the very small Tinys and the bigger ATmega types. The controller is connected permanently to the battery, because it draws less than 0.5 uA in off-state (sleep mode). In active mode the current consumption is about 5-6 mA. The potentiometer voltages are converted into 8 bit digital numbers by the internal ADC of the AVR. The input pin voltage comes from the internal pull-up resistor. I think, the other components don't need an explanation. The second and third output can be omitted if not needed. The diodes at each focus line are necessary to avoid a permanent connection between the shutter and the focus wire. Otherwise pressing the shutter button half-way will trigger the camera. For Canon cameras or flashes, the focus wire isn't necessary for triggering. The chip should be mounted on a socket to allow re-programming. The battery is the common 2032 lithium cell. Do not forget to solder the wire bridge under the battery holder. It's the minus of the battery. The capacitor can be omitted.
The single sided PCB layout can be downloaded below in Eagle format or a PDF. The trace clearance is rather DIY friendly. The PCB has a size of 68 mm x 50 mm.
In the EU all parts can be bought at www.tme.eu or www.segor.de.

delay 2 circuit pcb layout delay 2 pcb in a panel

C code

The AVR is programmed in C (AVR Studio). You can download the source code below. The code may serve as an example of how to:

  • use ADC in continuous mode
  • switch ADC ports
  • use the pin change interrupt
  • poll a button
  • write and read EEPROM
  • use timers
  • use the sleep mode

on the ATtiny24. Changing fuses is not necessary.

Troubleshooting

  • No reaction after assembly
    • Jumper below battery forgotten? It is the minus pole.
    • Jumper below battery made of insulated wire? The battery needs contact with the wire.
    • Battery inserted correctly? The chip gets hot when the voltage is reversed.
    • uC inserted correctly? Compare your circuit to the images above.
    • uC programmed correctly? The supply current after power-on should be < 1 uA.
  • Focus triggered permanently
    • Correct polarity of diodes? The "standing" mounting of the diodes is prone to polarity errors.
  • Focus or shutter not triggering
    • Forgotten to solder a pin in the sockets?
    • Mechanical problem of socket? Plug in and out with some force.
    • Fried the transistor with an old high voltage flash? Replace the transistor.

Download

delay2.c - C source code version 2
delay2.hex - flash file for ATtiny24 version 2, works with version 1 too!
Makefile - Makefile for project
delay2.sch - Eagle schematics
delay2.brd - Eagle board file
delay2_pcb_A6.pdf - PDF of board version 2
partlist2.pdf - part list


Links

http://www.dslr-forum.de/showthread.php?t=837474 - A thread about the circuit in the dslr-forum (in German)

SmaTrig 2.1 - A 15-in-1 trigger with light barrier support for drop photography

Contact

You can contact me if you have suggestions, spare material requests or other questions. My address is

contact

Please use "Delay (your_camera_type)" as subject.

Good luck with building your delay. Pics are welcome!




Gallery


drop on drop impact drop on drop impact drop on drop impact
Images by Judith from Germany.

drop on drop impact drop on drop impact
Drop on drop impact images made with a magnet valve and a chain of the delay circuits. Own work.

delay circuit enclosure
DIY enclosure for the circuit by Norbert.

drop on drop
Shot by Markus, check www.m-momente.de for more.

delay circuit with legend







Old version of the dalay circuit

The old delay circuit can be updated with the new firmware version above!!!
delay circuit with legend

This article describes a uC based delay circuit for photographic applications like drop or high speed photography. It can be used to control the trigger lag of cameras or flash units. The input and output of the circuit use standard 3.5 mm jack connectors, so the delay element can be looped into your existing trigger circuitry like the SmaTrig for example.
As simplicity and budget components were important design goals, there is no text display or any sophisticated analog input stage. The circuit allows three delay ranges which are indicated by LEDs:

  • 1 s, red LED
  • 0.1 s, yellow LED
  • 0.01 s, green LED

A short press on the button switches the circuit on and off. The range is chosen by holding down the button when switching on the delay. The current range is saved in EEPROM so you don't have to set it each time. The actual delay is set by two potentiometers. The left one is used for the coarse time setting (0-100% of the chosen range), the right one allows finer tuning (0-10% of the chosen range) of the delay time. The coarse/fine solution proved to be very convenient in practical use (dark room). For drop photography, the absence of a display turned out to be unproblematic, because you keep your eyes on the drop and not the delay while adjusting the time.
The minimum lag of the circuit in the green mode for both potentiometers set to 0 is about 12 us (microseconds).

The Circuit

delay circuit schematics

The circuit is based on the ATtiny24 AVR by Atmel. With its 14 pins the controller is a good compromise between the very small Tinys and the bigger ATmega types. The controller is connected permanently to the battery, because it draws less than 0.5 uA in off-state (sleep mode). The potentiometer voltages are converted into digital numbers by the internal ADC of the AVR. I think, the other components don't need an explanation. The second output can be omitted if not needed. The parallel transistors at each output are necessary to avoid a permanent connection between the shutter and the focus wire. Otherwise pressing the shutter button half-way will trigger the camera. With Canon cameras or flashes, the focus transistor can be dropped completely. You can also use a diode instead (cathode to shutter, anode to focus). The chip should be mounted on a socket for easier programming. Three types of batteries can be used with the PCB: CR24xx print type, CR20xx print type or two AAA batteries when the battery holders are used, see title image above.
The PCB layout can be downloaded below in Eagle format or a PDF. The trace clearance is rather DIY friendly.

delay circuit pcb layout

C code

The AVR is programmed in C (AVR Studio). You can download the source code below. The code may serve as an example of how to:

  • use ADC in continuous mode
  • switch ADC ports
  • use the pin change interrupt
  • poll a button
  • write and read EEPROM
  • use timers
  • use the sleep mode

on the ATtiny24. Changing fuses is not necessary.

To do

If you like to further improve the circuit I recommend to

  • add button to simulate a trigger event (just pull input to ground)
  • add a programming port

Download

delay.c - C source code
delay.hex - flash file for ATtiny24
delay.sch - Eagle schematics
delay.brd - Eagle board file
delay.pdf - PDF of board
partlist.txt - part list

Comments (3)

jumper
Yes, a jumper makes of course sense. I had the idea of the 100x setting after I ordered the PCBs... The next version will have it.
#3 - luk - 02/24/2013 - 11:18
Jumper
implement a jumper between pin 6 and 7 ;-p
#2 - me - 02/14/2013 - 23:35
buy
I two would if possible buy one of this compleat or in kit form depending on cost. Hope to here from you soon.

Best regards

Don
#1 - Don Smedley - 06/19/2011 - 13:28
Name
E-mail (Will not appear online)
Homepage
Title
Comment
To prevent automated Bots form spamming, please enter the text you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
»
This comment form is powered by GentleSource Comment Script. It can be included in PHP or HTML files and allows visitors to leave comments on the website.

PHP Script   Temporary Email   Throwaway Email