Cameras & sensorsGuide

Photograph a fast moving object with a camera: timing math

Photograph a fast moving object with a camera: size the exposure to one pixel of travel, trigger a strobe from a gate, and buffer frames so timing never fails.

LumaSpec Vision13 min read Share on LinkedIn

On this page 11 sections
  1. 01The decision, up front
  2. 02The blur budget: one pixel of travel
  3. 03Global shutter is not optional
  4. 04The strobe does the freezing
  5. 05Delay you can buy back, jitter you cannot
  6. 06A rolling buffer makes timing stop mattering
  7. 07Worked example: 30 mm object at 300 m/s in a 300 mm FOV
  8. 08Checks before you commit
  9. 09When the usual answer is wrong
  10. 10Build it from here
  11. 11Questions

An object sweeps past a fixed camera at a moment you cannot predict and a speed you only partly know, and the job is to land one sharp frame with the whole object in it. The instinctive design — detect motion, wait n microseconds, take the picture — fails because n is a guess that velocity spread and sensor delay keep moving. The design that works splits the job in two: a microsecond flash of light freezes the motion, and a rolling buffer of frames absorbs the unknown timing, so the trigger only decides which frames to keep. What follows is the exposure arithmetic, the trigger wiring and the field-of-view margins that make the shot repeatable, with a worked 300 m/s example and the decision for conveyors, fast parts and projectile speeds.

The decision, up front

Make three commitments and the unknown timing stops being a problem:

  1. Freeze with light, not with the shutter. Set the camera exposure long and let a short strobe pulse define the effective exposure. Blur comes from how long the object is lit, nothing else.
  2. Trigger in hardware. The gate breaks, the strobe controller fires the flash, and the camera exposes on its hardware trigger line. Nothing with millisecond habits — a PC, a PLC scan — sits between the gate and the flash.
  3. Keep a rolling buffer, not a schedule. Frames stream into a ring buffer in RAM the whole time; the trigger only marks which frames to keep, and it is allowed to arrive late, because the frames already exist.

The camera is a global-shutter area scan camera, the gate is one photoelectric sensor, and the flash comes from a strobe channel on a light controller. Which regime you are in comes down to one ratio — object speed against frame period — and the numbers below draw that line.

The blur budget: one pixel of travel

Motion blur is displacement during exposure, judged against the size of one pixel in object space:

blur = v × t_exposure (mm) p = FOV / N_pixels (mm per pixel) t_max = p / v (one-pixel exposure budget)

Exposure time is the reciprocal of shutter speed — a 1/4,000 s shutter is a 0.25 ms exposure — and machine-vision cameras quote it directly in microseconds or milliseconds, so no conversion is needed at the camera. The maximum exposure time calculation carries the same arithmetic at conveyor speeds; here the speeds run up to three orders of magnitude higher.

Use the worked example's pixel footprint — 300 mm of field of view across about 4,000 pixels, the 12 MP class — so p = 0.075 mm per pixel:

Object speed Travel in 1 ms Travel in 1 µs One-pixel budget (p = 0.075 mm)
0.1 m/s 0.1 mm 0.0001 mm 750 µs
1 m/s 1 mm 0.001 mm 75 µs
10 m/s 10 mm 0.01 mm 7.5 µs
100 m/s 100 mm 0.1 mm 0.75 µs
300 m/s 300 mm 0.3 mm 0.25 µs

At conveyor speeds the budget fits inside a normal exposure with ordinary light. From about 10 m/s upward the budget drops under 10 µs, and the light source, not the camera, becomes the limiting element — which is why the rest of this guide is about strobes and triggers.

Global shutter is not optional

A rolling shutter starts and ends each row's exposure at a different instant, so a fast object stands at a different position on every row and the image tears no matter how short the exposure. A global shutter exposes the whole array over one common interval, so the flash freezes every row at the same moment. Filter for it first: the shutter filter in the camera finder splits the range into 904 global and 325 rolling models, and only the global side qualifies. If a rolling sensor is already on the shelf, the one rescue is a global-reset release mode fired with the flash, which rolling shutter global reset with flash covers in detail.

Three ways that choice lands in the catalog:

Specification MV-CH120-11UC MV-CU020-90GC MV-CS200-10UM
Sensor type CMOS, global shutter CMOS, global shutter CMOS, rolling shutter
Sensor model Sony® IMX304 GMAX4002 Sony® IMX183
Pixel size 3.45 μm × 3.45 μm 4 μm × 4 μm 2.4 μm × 2.4 μm
Sensor size 1.1" 1/1.7" 1"
Resolution 4096 × 3000 2048 × 1200 5472 × 3648
Max. frame rate 30.3 fps @ 4096 × 3000 Bayer RG 8 49 fps @ 2048 × 1200 Bayer GB 8 19.2 fps @ 5472 × 3648 Mono 8
Dynamic range 72.2 dB 66.9 dB 65.5 dB
SNR 40.2 dB 40.8 dB 41.5 dB
Gain 0 dB to 24 dB 0 dB to 11.1 dB 0 dB to 24 dB
Exposure time UltraShort exposure mode: 1 μs to 14 μs; Standard exposure mode: 15 μs to 10 sec 4 μs to 10 sec 44 μs to 0.83 sec
Exposure mode Off/Once/Continuous exposure mode Off/Once/Continuous exposure mode Off/Once/Continuous exposure mode, supports Global Reset and Rolling
Mono/color Color Color Mono
Price $2,339.00 · quoted $309.00 $759.00

All 3 share: Binning Supports 1 × 1, 2 × 2, 4 × 4; Decimation Supports 1 × 1, 2 × 2, 4 × 4; Lens mount C-mount; Certification CE, RoHS, KC. Values as printed in each product's data sheet; open a part for its drawing and full specifications.

The 20 MP rolling sensor offers the most pixels and the least usable motion freezing here; the two global sensors trade resolution for a single common exposure instant. For the fast path, the camera end of that choice:

The MV-CH120-11UC is a 12 MP USB3 camera on a 1.1-inch sensor, global shutter, C-mount, in its high-speed version.

Area scan camerasHikrobot MV-CH120-11UC 12 MP Area Scan Camera, USB3, IMX304, High-speed version, ColorMV-CH120-11UC
Sensor format
1.1"
Lens mount
C-mount
Interface
USB3
Resolution
12 MP
$2,339.00 · quotedView and quoteBuild a system with it

The strobe does the freezing

A 0.25 µs exposure budget cannot be filled with continuous light; almost no photons arrive. An LED head pulsed as a strobe for the same width delivers far more light than it could survive continuously, which is exactly the trade this job needs. Set the camera exposure longer than the flash and let the light pulse define the effective exposure — or go one step further and let the trigger pulse width set your exposure directly.

Two timing facts about the flash itself:

  • LED turn-on is not instant. A few microseconds of rise time stretch the effective pulse and add jitter, which LED strobe rise time measures and tames.
  • The flash must land inside the exposure window, so the light leads or coincides with it — never trails.

A strobe-rated controller belongs in the chain: the LS-CTL-0070 is a digital control box with 4 channels, 200 W, strobe feature and RS-232 control, on 24 V constant-voltage output.

Light controllersDigital control box, 4 ch, 200 W, RS232 (LS-CTL-0070)LS-CTL-0070
Output
Constant voltage 24 V
Channels
4 channels
Control
Digital
Feature
Strobe
$549.00View partBuild a system with it

Delay you can buy back, jitter you cannot

Split the gate-to-flash path into two numbers and treat them differently.

Delay is the fixed part: gate response, cable, controller logic, LED rise. Compensate it geometrically by mounting the gate upstream by d = v × t_path. A 200 µs path at 300 m/s puts the gate 60 mm before the field of view; the same path at 1 m/s needs 0.2 mm, so placement is forgiving on a conveyor.

Jitter is the frame-to-frame variation of that path, and distance cannot absorb it. The requirement is hard: v × t_jitter must stay under the in-frame window, (FOV − L) / v, or the flash lands outside a fully framed object on some shots.

Measure both once with an oscilloscope, gate on one channel and strobe output on the other. A direct-wired gate and controller keep the whole path under a millisecond; a PLC input stage pushes it out by an order of magnitude and can swallow a short sensor pulse outright unless you configure its fast inputs for pulse catch. If the PLC must sequence the station, have it arm the system and keep the gate-to-flash wire direct — buffering between camera and strobe shows where a relay still earns its place.

Check output polarity early: the gate's PNP or NPN output must match the controller and camera trigger inputs, and photoelectric sensor to camera trigger wiring spells out both circuits. For conveyor-class speeds a diffuse-reflective gate with a settable distance like the MV-PE5502 (10-350 mm, red LED, NPN) closes the loop:

Photoelectric sensorsHikrobot MV-PE5502 Diffuse-reflective sensor(10-350mm, Red LED, settable distance, NPN)MV-PE5502
Output
NPN
Light source
Red LED
Sensing range
100 mm - 1 m
Type
Diffuse-reflective
$49.00 · quotedView and quoteBuild a system with it

For the fast end, through-beam and laser-source gates give the shortest optical response, both available in the sensor finder, mounted upstream by whatever delay you measured.

A rolling buffer makes timing stop mattering

The fallback design — guess a delay, fire, hope — replaces one unknown with another. A buffer replaces it with memory. Frames stream continuously into a ring buffer of raw images; when the gate fires, software keeps the frames spanning the event and lets the rest be overwritten. The trigger can be late by anything under the buffer's time span, which is why even a slow selecting logic works.

The buffer alone, with no trigger timing at all, suffices when the frame period fits inside the in-frame window:

T_frame ≤ (FOV − L) / v

With 300 mm of field of view and a 30 mm object, a 30 fps camera satisfies that up to 270 mm / 33.3 ms = 8.1 m/s, and 60 fps doubles the ceiling to 16.2 m/s. Below that line: free-run, flash every frame, let the gate timestamp. Above it: the gated single shot of the previous section.

Size the buffer as frame rate × bytes per frame × span. A 12 MP mono frame at 8 bits is about 12 MB, so 30 fps with a 2 s span holds 30 × 12 MB × 2 = 720 MB of RAM — real, but bounded, and reusing image buffers instead of allocating per frame is what keeps that stream running. One habit from the hardware-trigger side applies too: the achievable capture rate is exposure plus readout, not the headline frame rate, so budget the free-run ceiling from the measured period.

Worked example: 30 mm object at 300 m/s in a 300 mm FOV

Inputs, with the source of each:

  • Speed v = 300 m/s, the design point for the projectile class; service rounds run roughly this fast and faster.
  • Object length L = 30 mm, the example part.
  • Field of view 300 mm, ten object lengths, so the whole object fits with wide margin.
  • Camera class: 12 MP global shutter. A typical 1.1-inch 12 MP sensor has 3.45 µm pixels, giving about 4,096 × 3,000 pixels and 4,096 × 3.45 µm = 14.1 mm of sensor width.
  • Bench-measured gate-to-flash delay: 500 µs.

Blur budget. p = 300 mm / 4,000 px = 0.075 mm per pixel. The one-pixel budget is t_max = 0.075 / 300,000 = 0.25 µs. A 1 µs flash leaves blur = 300,000 × 0.000001 = 0.3 mm, which is 0.3 / 0.075 = 4 pixels. Decision: if the smallest feature you must resolve is at least 0.6 mm — twice the blur — the 1 µs flash is the one to build with; smaller features need the flash width brought down toward 0.25 µs.

In-frame window. (300 − 30) / 300,000 = 0.9 ms. Gate-to-flash jitter must stay under 0.9 ms; a direct-wired path measured in microseconds clears it with two orders of magnitude in hand.

Gate position. d ≥ v × t_path = 300,000 mm/s × 500 µs = 150 mm upstream of the field-of-view edge, plus margin — drill the bracket at 200 mm.

Optics. Magnification m = 14.1 / 300 = 0.047. At a 500 mm working distance, f = WD × m / (1 + m) = 500 × 0.047 / 1.047 = 22.4 mm, so the nearest standard C mount lens is 25 mm. That lens puts the working distance at WD = f × (1 + m) / m = 25 × 1.047 / 0.047 = 557 mm, and 14.1 mm of sensor at m = 0.047 covers the 300 mm field exactly.

How sensor width, working distance and field of view set the focal length Rays from the edges of the sensor pass through the lens and spread to the edges of the field of view. The ratio of sensor width to field of view is the magnification m.CameraField of view (FOV)Working distance (WD)≈ fsensor width slensm = s / FOVf = WD × m / (1 + m)
How sensor width, working distance and field of view set the focal length. Rays from the edges of the sensor pass through the lens and spread to the edges of the field of view. The ratio of sensor width to field of view is the magnification m.
Lens focal length, field of view and working distance
Units
Solve for
Focal length
– mm
Field of view
– mm
Working distance
– mm
Magnification
– x
Angle of view
– °
Pixel on the part
– mm

Thin-lens model: m = sensor width / field of view, f = WD × m / (1 + m). Accurate to a few percent above about 150 mm; check the lens's minimum object distance.

Find lenses with this focal length Open the full calculator

Aperture. With the allowable blur set to two pixels, c = 6.9 µm, depth of field at f/4 is roughly DoF ≈ 2 × f# × c / m² = 2 × 4 × 0.0069 / 0.047² = 25 mm — an estimate, and generous for an object flying a fixed line. Decision: run the lens at f/2.8 to f/4. The strobe needs the photons, and focus is not the risk here.

Frame rate sanity. Free-running this would need a frame every 0.9 ms, about 1,100 fps at 12 MP — high-speed-camera territory, not mainstream area scan. The gated single shot is the build, with the buffer as the safety net around it.

Checks before you commit

  • Scope the gate-to-flash path once and write delay and jitter on the electrical drawing. Jitter under (FOV − L) / v is the pass line.
  • Filter the camera finder by Shutter: Global before anything else; rolling sensors tear by construction.
  • Set exposure longer than flash width plus rise time, or drive exposure from the pulse width.
  • Cap auto exposure — cap the maximum auto exposure time — so a dimming light never stretches exposure past the blur budget.
  • Match PNP/NPN between gate, controller and camera trigger input, and wire it before tuning anything else.
  • Size the ring buffer (frame rate × MB per frame × span) and reuse the buffers so the keep-decision never stalls acquisition.
  • Walk the full sequence — gate, flash, exposure, readout — against machine vision trigger timing, including what happens on a missed gate.

When the usual answer is wrong

  • Software in the trigger path. A PC-side detect-then-capture loop adds tens of milliseconds of jitter against a 0.9 ms window — off by a factor of 20 or more. Software may choose which buffered frames to keep; it may not time the exposure.
  • A fixed delay n. Position error is Δv × n: with ±5% speed spread at 300 m/s (±15 m/s) and n = 1 ms, the shot lands ±15 mm from guessing alone.
  • A rolling-shutter camera chosen for its megapixels. The tearing is not fixable downstream, and global reset with flash is the only rescue.
  • A second low-resolution camera deciding which high-resolution frame to keep. Below the free-run crossover it duplicates what one gate wire plus the buffer already do; above it, its own latency disqualifies it.
  • Fighting blur with resolution. More pixels on the same field make each pixel smaller and the budget tighter. With flash width fixed by light, zoom out instead: doubling the field of view doubles the blur you can absorb in pixels, at the cost of detail.
  • Genuine sequence capture. If you need thousands of frames with the object in each, filter the finder by Type: High-speed (21 models) — the strobe-and-gate design here buys one good frame, not a movie.

Build it from here

Run the configurator from the trigger step to pair a gate, a strobe channel and a global-shutter camera in one pass, or bring the measured gate-to-flash numbers to the contact page and we will size the flash width and lens with you.

Questions

How short an exposure does a moving object need?

Divide the pixel footprint by the speed. With 0.075 mm per pixel (300 mm across a 4,000-pixel sensor), a 1 m/s part allows 75 µs and a 10 m/s part 7.5 µs. Below roughly 10 µs, plan on a strobed light instead of a plain exposure, because continuous light cannot deliver enough photons in that window.

Can a rolling-shutter camera capture a fast object with a flash?

Only with a global-reset release mode. A normal rolling shutter exposes rows at different instants, so the object sits at a different position on every row and the image tears regardless of flash length. Global reset makes all rows share one exposure start, then the flash freezes them together; both sensor and camera must support the mode.

How many frames should the pre-trigger buffer hold?

Cover your worst detection latency plus about a second of margin. Bytes equal frame rate times bytes per frame times span: at 30 fps and roughly 12 MB per 12 MP mono frame, a 2 s span is 720 MB of RAM. Pre-trigger storage is what lets the selecting logic arrive after the event instead of before it.

Where should the trigger sensor sit relative to the camera?

Upstream by the distance the object travels during the gate-to-flash delay: d = v × t. A 500 µs path at 300 m/s means 150 mm of standoff; the same path at 1 m/s needs 0.5 mm, so conveyor placement is forgiving. Placement cannot fix jitter — that must independently stay under (FOV minus object length) divided by v.

What if the object speed is unknown?

Design at the fastest credible speed and let slower objects land sharper. Blur grows with speed, so the fast design point is the worst case, and gate distance and jitter budget follow the same v. Speed spread only hurts when you insist on a fixed delay, where the position error is Δv × n — exactly the design the buffer removes.

Do I need a high-speed camera for this?

Not for one sharp frame: a global-shutter area scan camera plus a microsecond strobe freezes motion better than a fast frame rate does. High-speed capture earns its place only when many frames of the event must exist — a sequence, not a shot. The crossover test is the in-frame window: a free-run stream must beat (FOV minus object length) divided by v.