A belt-tracking camera is paced by the conveyor encoder, and the day you want tighter image spacing, the trigger module refuses the new value and the camera goes quiet. That happens because the capture spacing no longer belongs to the module: a tracking controller has taken it over. This guide shows what an encoder trigger distance is, how to compute it in ticks for your belt speed and camera, and where to change it when a tracking application owns the conveyor. The math is three lines: spacing times ticks per millimeter, checked against the camera's frame rate at full resolution and against motion blur. Run it once and you can re-space the capture stream, pass the jog test and release the line.
What is an encoder trigger distance in belt tracking?
An encoder trigger distance is the amount of belt travel that produces one camera trigger: at 10 ticks per millimeter, a setting of 100 ticks means one image every 100 ÷ 10 millimeters of belt movement, which paces tracking images by position, not by time.
The chain is short. The encoder feeds quadrature counts to a divider or tracking controller, the divider emits one pulse every N counts, and that pulse fires the camera's trigger input. Set the spacing in ticks and images stay a constant number of belt millimeters apart at any speed — a timer cannot do that, because the spacing in millimeters would shrink as the belt accelerates. Tracking software needs that position-locked stream to match parts across consecutive frames and report their position in conveyor coordinates.
The scale that converts millimeters to ticks is ticks per meter, held in the conveyor calibration; divide by 1,000 for ticks per millimeter. An encoder delivering 2,000 ticks per revolution on a 200 mm circumference measuring wheel (about 64 mm diameter) turns one revolution into 200 mm of belt travel: 2,000 ÷ 200 mm = 10 ticks/mm, or 10,000 ticks/m. For a continuous web the same idea compresses to one scan line per tick — the encoder ticks per pixel for line scan: set the scale right guide works that version through.
How many encoder ticks should one trigger cover?
Set the spacing to the belt travel you want between two images: N = D × t, so a capture spacing D on a 10 ticks/mm encoder costs 10 × D ticks per trigger, provided the belt speed keeps the resulting rate inside your camera's frame rate.
Here N is the ticks-per-trigger setting, D the capture spacing in mm, t the encoder scale in ticks/mm, v the belt speed, fps_max the camera's sustained frame rate at full resolution, and L the tracked feature length along the travel direction.
The spacing must clear two limits. Below D_min the camera cannot keep pace: with an example camera that sustains 60 fps at full resolution on a 300 mm/s belt, D_min = 300 ÷ 60 = 5 mm. Above D_max the tracker loses overlap: keeping at least two thirds of a 120 mm part visible from one frame to the next caps D at 120 ÷ 3 = 40 mm. Pick D inside that window; the running example below fixes one value.
| Quantity | Running-example value |
|---|---|
| Encoder scale t | 10 ticks/mm (10,000 ticks/m) |
| Belt speed v | 300 mm/s |
| Frame-rate ceiling | 60 fps at full resolution |
| Minimum spacing D_min = v ÷ fps_max | 300 ÷ 60 = 5 mm |
| Maximum spacing D_max = L ÷ 3 (L = 120 mm) | 40 mm |
| Chosen spacing D | 10 mm |
| Trigger distance N = D × t | 100 ticks |
| Trigger rate f = v ÷ D | 30 Hz |
How fast will the camera be triggered at my belt speed?
Divide belt speed by capture spacing: at 300 mm/s and the chosen spacing, the camera triggers 30 times per second, so the camera must sustain 30 fps at full resolution for as long as parts stay on the belt.
Because spacing is distance-based, the rate scales with speed while the millimeter spacing stays fixed. At the chosen setting the same line runs:
| Belt speed | Trigger rate at the chosen spacing | Margin to a 60 fps ceiling |
|---|---|---|
| 150 mm/s | 15 Hz | 4× |
| 300 mm/s | 30 Hz | 2× |
| 600 mm/s | 60 Hz | none — widen D to 15 mm for 40 Hz |
Two checks before committing a rate. First, sustained frame rate at full resolution with your exposure: the camera hardware trigger frame rate with external pulses guide shows how external pulses map to delivered frames, and why encoder-triggered image capture drops images at high RPM covers what happens when the pulse train outruns the sensor. Second, interface bandwidth: a 5 MP mono 8-bit frame is about 5 MB, so 30 Hz streams roughly 150 MB/s — more than GigE moves in practice (about 115 MB/s), well inside USB3 (about 400 MB/s). Shrink the ROI if GigE is the only path.
Which shutter and exposure suit a distance-triggered camera?
Use a global shutter and keep motion blur inside a quarter pixel: at 300 mm/s a 50 µs exposure smears the image by 15 µm, about 0.23 pixels with a 65 µm pixel pitch, while a rolling shutter bends vertical edges on a moving belt.
A global shutter snapshots every row at the same instant; a rolling shutter reads rows in sequence and skews fast-moving parts, which corrupts the features a tracker matches. A global-shutter GigE camera with a hardware trigger input is the standard part for this job; the MV-CU020-90GC is exactly that class. Browse the area scan cameras category to compare frame rates at full resolution.
- Sensor format
- 1/1.7"
- Lens mount
- C-mount
- Interface
- GigE
- Resolution
- Up to 3 MP
Exposure follows from blur. Work it from the pixel pitch on the belt, p = FOV ÷ pixels across:
Fire the light only during the exposure with the camera's strobe output; camera strobe output timing: exposure pulse and image timestamp explains how that pulse and the timestamp line up. In some trigger modes the incoming pulse width sets the exposure directly — why trigger pulse width sets your camera exposure time covers when that applies. If one pass needs both a sharp tracking frame and a longer exposure for defect contrast, two exposure times one camera: alternate per trigger without serial shows the trick.
Sometimes 65 µm on the belt is too coarse for the defect. A 12 MP global shutter USB3 camera such as the MV-CH120-11UC raises the pixel count while keeping the same hardware-trigger workflow.
- Sensor format
- 1.1"
- Lens mount
- C-mount
- Interface
- USB3
- Resolution
- 12 MP
Why does the camera fault when I change the trigger distance at the module?
Because a tracking controller has taken ownership of trigger generation: it plans captures from its own position source, the trigger module's local distance setting now conflicts with that plan, and writing it locally faults the module and starves the camera of triggers.
A tracking controller reads encoder counts, follows each part, and issues capture commands on its own schedule. The trigger interface's distance field belongs to the older stand-alone way of working. Once a tracking application claims the conveyor, many interfaces mark that field read-only or let the controller's plan overwrite the value; a local write either faults the module outright or starts a fight between two plans. Either way the camera stops seeing valid trigger edges and reports missing frames or a trigger timeout.
The same ownership rule holds when tracking runs in a PLC: the spacing lives in the program that shifts encoder counts downstream, and PLC FIFO encoder tracking for variable can spacing shows that pattern. Sharing one encoder between tracking and a second camera multiplies the conflict; conveyor encoder sharing for multi-robot vision picking covers how to split one encoder cleanly.
Where do I change the capture spacing when a tracking controller owns the belt?
In the tracking controller's conveyor or position-source settings, beside the ticks-per-meter field: that capture spacing is the value the controller pushes to the trigger chain, so change it there and leave the trigger module in pass-through or factory-set mode.
The ticks-per-meter field is the number of ticks the encoder generates per meter of belt travel — 10,000 in the running example, so t = 10 ticks/mm. The sequence:
- Open the tracking system's conveyor-tracking configuration and read ticks per meter.
- Confirm the scale with a marked-belt jog after any change of wheel, gearbox or belt tension.
- Enter the capture spacing in millimeters, or N = D × t in ticks where the tool wants the raw divider — 100 ticks in the running example (D × t).
- Leave the trigger interface's own distance field at its default so the controller's plan passes through unedited.
- Redeploy and run the jog test in the checklist below.
If positions drift or reset after you touch that calibration, conveyor encoder calibration troubleshooting: position resets walks the known reset cases.
When is a fixed trigger distance the wrong tool?
When you need exactly one image per part rather than a paced stream, trigger from a photoelectric sensor instead: a distance-paced camera keeps capturing even between parts, while a through-beam or diffuse sensor fires once per part and wastes no frames.
Three cases. First, one image per part: wire the sensor's PNP or NPN output to the camera trigger input as photoelectric sensor to camera trigger wiring: PNP or NPN lays out, and check first that parts actually arrive at the rate the cycle needs — conveyor target availability: diagnose cycle-time losses diagnoses that. A diffuse-reflective sensor with a settable distance and an NPN output, like the MV-PE5502, covers the gating role; compare the rest of the photoelectric sensors category for longer sensing ranges.
- Output
- NPN
- Light source
- Red LED
- Sensing range
- 100 mm - 1 m
- Type
- Diffuse-reflective
Second, several images per part from a single event: multi image capture per trigger: get an image set from one shot pulls a whole set from one trigger. Third, continuous surfaces with no discrete parts — web, foil, printed roll — belong to line scan, where the encoder fires one scan line per tick rather than one frame every N ticks. Distance-paced area scan exists to track discrete parts along a belt.
What do you check before and after changing the spacing?
Confirm the ownership, the scale and the count: read the current ticks-per-meter, compute the new tick setting, jog the belt a known 1,000 mm and expect exactly 100 triggers in the running example before you release the line.
Before the change
- Confirm who owns trigger generation — the tracking controller or the interface divider. Two plans on one conveyor is what produced the fault.
- Read ticks per meter from the conveyor calibration; measure it with a marked 1,000 mm jog if the drive has changed.
- Compute the window, D_min = v ÷ fps_max to D_max = L ÷ 3, and pick D between the two.
- Set exposure against the quarter-pixel blur budget at production speed.
After the change
- Jog 1,000 mm and count triggers: 1,000 ÷ D pulses at the chosen spacing (100 in the running example), read from the image counter or a scope on the trigger line.
- Compare consecutive frame timestamps through an accelerate–cruise–stop cycle; the spacing should hold at D millimeters per image at every speed.
- Photograph a moving target at full speed and confirm the blur stays near 15 µm.
Run jog tests at reduced speed with hands and loose items clear of the belt, under the guarding the cell already has.
The decision, one line per case. Stand-alone cell: set N = D × t in the trigger interface and check v ÷ D against the frame-rate ceiling. Tracking-controlled cell: change D in the tracking system's position-source settings, keep the interface at its default, and prove it with the 1,000 mm jog. To pick hardware, start at the camera finder, the trigger sensor finder or the configurator at the camera step; for a second opinion on the window, send the belt speed, part length and camera model through the contact page, and browse the systems topic page for the surrounding guides.
Questions
How do I measure ticks per meter if the conveyor calibration is unknown?
Jog the belt a measured 1,000 mm with a rule or dial gauge and read the drive's tick counter before and after. Ticks counted ÷ 1,000 mm is ticks per mm; multiply by 1,000 for ticks per meter. Run it under normal belt tension, because slack or slip between bench and production shifts the ratio by a few percent.
Can two cameras share one encoder with different trigger distances?
Yes, if each camera has its own divider fed in parallel from the same encoder quadrature. Two cameras wanting different spacings cannot share one divided pulse train; daisy-chaining the second divider off the first adds phase shift and double-trigger risk. The alternative is one common spacing with a different crop or sub-sampling per camera, which keeps both streams on the same position grid.
What happens to captures when the belt stops mid-part?
Capture pauses: with no belt travel there are no trigger edges, so the tracker keeps acting on the last image. On restart, watch direction — a reversing belt can tick the counter backwards and fire a burst of triggers around the zero crossing. Configure how the counter handles reverse rotation, and treat the dwell as a known gap in the image stream rather than a fault.
Does a trigger distance replace a part-present sensor?
No. Spacing paces the stream in belt millimeters; a part-present sensor decides which images matter and can arm or gate tracking. Most pick cells run both: the encoder divider keeps images on a position grid, while a photoelectric sensor marks where a part entered the field, which shortens the tracker's search and rejects empty captures.
Why did the spacing hold on the bench but drift in production?
Usually measuring-wheel slip or wear. The computed ticks-per-meter assumes the wheel rolls without slipping; acceleration, dirt and a worn surface change the true ratio, and every spacing inherits the error — 2% wear turns a 10 mm spacing into 10.2 mm. Re-measure ticks over a marked 1,000 mm jog under production load, not on a clean bench.


