A part that keeps moving while the shutter is open smears its own image, and the smear lands exactly where the algorithm looks: on the edge you are gauging, the print you are reading, the defect you are counting. The fix is arithmetic, not trial and error. The maximum exposure time falls out of the part speed and the smallest feature that must stay sharp, and once you have that number you can size the lighting honestly instead of discovering the shortfall on the line. This page gives the formula, a worked example at conveyor speed, the pixel check that catches unit slips, and the light budget that follows, because a 10 µs exposure is a different lighting job than a 10 ms one. The numbers assume an area scan camera with a global shutter, mounted to view the part from above with motion running along the sensor's row direction.
The rule: divide allowed travel by speed
Take the motion you can tolerate on the part and divide it by the part speed. Everything else here — strobe, aperture, sensor choice — follows from that one number. Names first, since the two terms get argued about: machine-vision cameras speak of exposure time, photography of shutter speed, and they are one setting; exposure time versus shutter speed for moving-part inspection covers the wording. The arithmetic below is identical either way.
Three budgets cover most jobs. Defect work on small features: one tenth of the feature, so an edge stays an edge instead of turning into a ramp. General presence checks and code reading: one pixel. Gauging and character recognition: 0.5 px or less, because sub-pixel edge fitting reports position from a smeared profile. Pick the budget from the task, not from habit; when the feature spans only a few pixels, the tenth rule and the one-pixel rule give different answers, and the stricter one is the one to keep.
Set the pixel scale first
The pixel budget needs the object-side size of one pixel: the field of view along the travel direction, divided by the sensor's pixel count that way. A 40 mm field on a 4000-pixel-wide sensor gives s_obj = 40 mm / 4000 px = 10 µm per pixel, and a 100 µm feature then spans 10 pixels. If the camera is not chosen yet, size the pixels from the feature instead:
Worked example: a 100 µm feature at 1 m/s
Put real numbers in, and stay in one unit system. The feature f = 100 µm, so the budget b = 100 µm / 10 = 10 µm. The speed v = 1 m/s, which is 1,000,000 µm/s.
Ten microseconds. Cross-check in pixels: at 10 µm/px the budget is exactly 1 px, and 1 m/s × 10 µs = 10 µm = 1 px of smear, so both budgets agree. Then run the answer backwards, because that step catches the classic slip. An answer of 10 ms fails the check instantly: 1 m/s × 10 ms = 10 mm of travel, one hundred feature widths, nothing sharp anywhere in the frame. Millisecond-versus-microsecond and mm-versus-µm slips each produce a factor of 1000, and both survive casual review because every number on the page looks small.
Loosen the task and the answer relaxes quickly. A 0.2 mm registration mark allows b = 20 µm, so t_max = 20 µs at the same 1 m/s, twice the light budget. A stopped part allows anything; the constraint returns the moment indexing starts it moving again. Harsh cases go the other way, and the spinning disc below is the common one.
The sizing steps
- Name the smallest feature that must stay sharp, f.
- Pick the budget: f/10 for defect edges, 1 px for presence and codes, 0.5 px or less for gauging.
- Convert the budget to object space in µm, using s_obj when you chose it in pixels.
- Take the worst-case speed: maximum line speed plus belt slip and trigger jitter, never the average. On rotating parts, use the largest radius in the field of view.
- Divide b by v and round down to an exposure value your camera accepts.
- Check backwards: v × t_max must come out at or under b.
- Budget the light against that exposure, and set the strobe to cover the exposure window before the first production part runs.
Winning back the light
The same scene shot still, with no motion budget to serve, might expose for 1 ms at your working aperture. The 10 µs budget takes that to a hundredth: 100× less light, about 6.6 stops, since 2^6.64 ≈ 100. Gain cannot repair a gap of that size; it multiplies the few captured photons and their shot noise together. Make photons instead, in this order.
First, strobe overdrive. Drive the LEDs only during the exposure: a light that runs continuously can carry a higher peak current in short pulses, inside the peak strobe rating and duty cycle its documentation prints. Use ×5 in this example, and use the rating your light actually publishes.
Second, aperture. f/8 opened to f/2.8 is three stops: (8/2.8)² ≈ 8× more light. The price is depth of field, which scales roughly with the f-number, so about 2.8/8 = 35% of it remains. On curved or multi-height parts that price can decide the job, which is what the figure shows.
Third, more emitters: two bar lights over the belt instead of one double the photons on the part, and shortening the light's working distance helps further. Fourth, binning, where resolution allows: 2×2 binning doubles the photons per pixel and doubles s_obj, which doubles the pixel budget too, and the 100 µm feature still spans 5 pixels at 20 µm/px. Gain takes whatever remainder is left, and only that.
Over a conveyor, a wide low-profile bar keeps the light path short: the LS-BAR-1047 is a 290 × 30 mm 24 V LED bar light, and two of them in tandem give the doubled output the example assumes.
- Size
- 200-400 mm
- Type
- Standard
- Voltage
- 24 V
Strobe and trigger timing
The pulse has to span the exposure window, not merely be on somewhere near it. Trigger camera and light from the same event, or gate the light from the camera's own exposure output, and set the strobe on-time to cover exposure plus the LED's rise and fall. At a 10 µs exposure, microsecond-scale rise times stop being rounding errors: a pulse still climbing when the shutter closes delivers a dark frame of a perfectly sharp part. The timing detail is worked through in LED strobe rise time: why microseconds of light delay blur your image.
Gating buys a second thing for free: ambient rejection. Hall lighting reaches the sensor only during the exposure, and a bright short strobe swamps it; if the plant is bright, measure the rejection rather than assume it, as strobed lighting ambient rejection: measure and improve it lays out. Hardware gating belongs in the controller: the LS-CTL-0070 is a 4-channel digital controller with a strobe feature, 200 W total, switching 24 V constant-voltage outputs and set over RS-232.
- Output
- Constant voltage 24 V
- Channels
- 4 channels
- Control
- Digital
- Feature
- Strobe
Once the exposure is fixed, the strobe on-time is the companion setting that keeps the pulse covering it; the same pairing, worked for a controller line built around strobe on-time, is described in configuring strobe on time for exposure control.
Shutter type, exposure floors and auto modes
At speeds that force microsecond exposures, shutter type stops being a footnote. A rolling shutter starts each line slightly later than the one above it, so a fast part skews even when blur is zero; the trade is laid out in global vs rolling shutter sensors: choosing for moving targets. For conveyor work at this pace, global shutter is the default, and the question is which model rather than whether.
Sensors also have a minimum exposure, commonly in the tens of microseconds. When that floor sits above your t_max, do not fight it: hold a longer exposure and let the strobe define the bright window. Photons then arrive only while the part is inside its blur budget, and the dark remainder contributes nothing sharp to lose. The faint ambient ghost across that remainder is exactly what the strobe peak has to dominate.
The example's field needs 4000 pixels across the travel direction, which is 12 MP territory. The MV-CH120-11UC is a 12 MP global-shutter USB3 camera with a 1.1" sensor and C-mount, listed as the high-speed version in its series.
- Sensor format
- 1.1"
- Lens mount
- C-mount
- Interface
- USB3
- Resolution
- 12 MP
Finally, switch the automatics off. Auto exposure will happily settle in the milliseconds your budget forbids; disable it, or set a hard cap as cap the maximum auto exposure time to stop motion blur shows for lines where the mode must stay on. Run manual exposure and manual gain in production, always.
When the usual answer is wrong
Rotating parts. Speed rises with radius, so take the largest radius in the field of view: v = 2π · r · rpm / 60. A 50 mm radius at 1500 rpm gives v = 2π × 0.05 m × 25/s ≈ 7.85 m/s, and the 10 µm budget collapses to t_max = 10 µm / 7.85 m/s ≈ 1.3 µs. That sits below most sensors' exposure floors, so this is a strobe-gated shot by construction.
Webs and line scan. Within each line the rule is unchanged, but the line period joins the equation: at 2 m/s with 0.05 mm per line, the line rate is 40 kHz and the period 25 µs, so exposure sits inside it, with an encoder tying lines to travel. The frame-rate half of that problem is covered in camera fps and shutter speed for moving web inspection.
Stop-and-shoot. An indexer that halts the part removes the constraint entirely. Exposure then serves the light budget alone, and the cycle time absorbs the mechanical settle; confirm settle with a short burst of frames and a check that the measured feature position stops moving between them.
Sensor limits. When the camera cannot expose short enough and strobe gating does not fit the optics, the fix is a different sensor, not more gain; machine vision sensor selection for high-speed inspection walks through that choice.
Verify at full speed
Prove the number on the line, not on the bench.
- Run real parts at maximum speed, with the hall lights in their worst realistic state.
- Image one feature stopped, then at speed, under identical lighting. Threshold an edge and measure the gray-level span from 10% to 90% in pixels in both images; the difference is the motion blur. Accept it at or under the budget, which is 1 px in the worked case.
- Read the applied values back from the camera instead of trusting the set screen; per-frame exposure and gain: verifying camera metadata shows the check.
- Aim the histogram near half to two thirds of saturation with no clipped highlights, so thresholds sit where noise is lowest.
- Repeat after any change of belt speed, lens or light before trusting the station again.
The decisions
| Case | Budget b | Speed v | t_max | Decision |
|---|---|---|---|---|
| 100 µm defect on a conveyor | 10 µm (1 px at 10 µm/px) | 1 m/s | 10 µs | 12 MP global shutter, strobed bar pair, f/2.8, gain only to finish |
| 0.2 mm registration mark | 20 µm | 1 m/s | 20 µs | 2.5 MP global shutter is enough; strobe still beats continuous |
| 10 µm defect on a disc rim, r = 50 mm at 1500 rpm | 10 µm | ≈7.85 m/s | ≈1.3 µs | Strobe-gated exposure; check the trigger rate the camera can follow |
For either conveyor case the list is short. Start at the camera finder, filtered by global shutter and then resolution, and cross-check the model against the area scan cameras pages. Size the light from the light finder and hand the gating to a controller from the light controllers pages. For the smaller mark, the MV-CU020-90GC is a 2.5 MP global-shutter GigE camera with a 1/1.7" sensor. Size its field so one pixel stays under the 20 µm budget.
- Sensor format
- 1/1.7"
- Lens mount
- C-mount
- Interface
- GigE
- Resolution
- Up to 3 MP
If your line matches none of these cases, the same four inputs — feature, budget, speed, field of view — drop straight into the camera configurator, and the light side follows in the lighting configurator. If the case sits outside them, describe the part and the speed on the contact page and we will run the arithmetic with you.
Questions
Does a rolling shutter change the calculation?
The blur budget t_max = b/v still applies to each line, but a rolling sensor also starts each line slightly later than the one above it. On a fast conveyor that stagger skews vertical edges and shifts circle centers even when blur is zero. If t_max lands under about 100 µs, choose a global shutter. With a rolling sensor, trigger and strobe so motion happens between readouts, and expect residual skew to calibrate out only at constant line speed.
How low can exposure time go on a real camera?
Machine-vision cameras step exposure in microseconds, but every sensor has a floor, commonly tens of microseconds, listed as the minimum of the exposure feature in the camera's documentation. No lighting trick shortens the sensor's own exposure. If the floor sits above your t_max, shorten the light instead: hold a longer exposure and let the strobe pulse define the bright window, so photons only arrive while the part is inside its budget.
Can gain replace the missing light?
Gain multiplies whatever the sensor captured, including shot noise, so a 100× shortfall just amplifies a sparse photon count: edges stay noisy and thresholds wander between parts. Treat gain as the last 20-30% of a light budget, after strobe overdrive, aperture and extra emitters, and fix the working gain so images do not drift across shifts.
What if the part stops under the camera?
With the part stationary the blur constraint disappears: v = 0, so exposure serves the light budget alone. The cost moves into the cycle — settle, exposure, readout. A station indexing 300 mm at 0.5 m/s spends 600 ms moving per shot, which usually dwarfs the imaging time; that is why stop-and-shoot remains a sound answer whenever the product tolerates being stopped.
How does this change for line scan on a web?
Within a line it is the same rule: blur equals web speed times exposure. Between lines, travel per line is set by the line period. At 1.2 m/s with 0.1 mm per line the line rate is 12 kHz and the period about 83 µs, so the exposure must sit well inside that. Encoder-driven line scan ties each line to actual web travel, so lines stay square even when the speed wanders.



