123 Main Street, New York, NY 10001

IR Beam Perimeter Sensor (Photoelectric Beam) — Design Guide

← Back to: Security & Surveillance

Core idea: An IR beam perimeter sensor detects intrusion by interrupting a modulated infrared link between Tx and Rx, then uses synchronous detection + AGC + decision logic to reject sunlight, reflections, and weather noise. Real-world reliability comes from maintaining alignment margin, keeping the photonic AFE out of saturation, and exposing logs/counters so false alarms and misses can be proven and fixed quickly.

H2-1. Definition & Scope: What an IR Beam Perimeter Sensor Covers

An IR beam perimeter sensor is a paired transmitter (Tx) and receiver (Rx) photoelectric barrier that detects intrusion when a modulated optical link is interrupted. Modulation and synchronous detection are the core mechanisms that separate a real beam-loss event from ambient sunlight and slow background drift.

Scope boundary (must stay tight): this page covers through-beam and its practical variants (retroreflective, multi-beam) only. It does not cover PIR, microwave/radar intrusion, fiber fence systems, or camera/NVR platforms.

Variants (what changes in hardware & failure modes)
  • Through-beam (Tx/Rx separated): longest range, best rejection when aligned; requires two-head mounting and alignment margin.
  • Retroreflective (Tx/Rx in one head + reflector): simpler wiring; higher risk from glossy reflections and sun-angle injection.
  • Multi-beam (stacked beams): reduces small-animal “one-beam” triggers; adds beam-quality scoring and alignment complexity.
Key specs (define them as acceptance criteria, not marketing claims)
  • Detection range: stable operation at a stated false-alarm rate, under defined weather/soiling assumptions.
  • Response time: interrupt-to-alarm latency including debounce/hold policy (not just analog comparator delay).
  • Sunlight immunity: Rx front-end avoids saturation while maintaining beam margin headroom.
  • IP & maintenance: optics soiling/condensation drives “margin drift” and must be observable.
  • Tamper visibility: cover/mount/cable-tamper must create a distinct event, not a vague “alarm.”
  • Output robustness: relay/OC/bus outputs remain stable over long cables and outdoor common-mode noise.
Evidence chain (make the product measurable and serviceable)
  • events_per_day: false-alarm rate bucketed by day/night to expose sunlight-coupled failure modes.
  • rx_sat_count: Rx saturation counter (TIA/ADC/demod overflow), the fastest proof of “ambient injection.”
  • agc_code: AGC operating point; abnormal drift indicates fog/soiling/misalignment before alarms explode.
  • beam_margin_db: installation baseline vs runtime margin drift; the single most useful “health” metric.
paired Tx/Rx modulated link sunlight immunity beam margin service evidence fields
IR Beam Perimeter Sensor — System Boundary & Couplings Mount Mount Tx Head IR LED Driver Rx Head Photonic AFE Modulated Beam Sun Fog / Rain Attenuation Beam Interruption Signals Mod Ambient Interrupt Service Evidence Fields (must be observable) beam_margin_db rx_sat_count events_per_day
Figure F1. System boundary for an IR beam perimeter sensor, highlighting environment couplings (sunlight, fog/rain, obstruction) and the minimum evidence fields that make false-alarm diagnosis measurable.
Cite this figure: Use Figure F1 — IR Beam Sensor Boundary & Couplings (link: #fig-f1).

H2-2. Operating Principle: Modulated Beam + Synchronous Detection

Sunlight immunity is not achieved by “a higher threshold.” It is achieved by converting the optical link into a known-frequency, known-phase signal and then extracting only that component at the receiver. In practice, this is a modulation + synchronous detection (lock-in) chain that turns ambient light into mostly rejectable background.

Modulation choices (what matters in the field)
  • OOK/PWM: simplest; tune duty/peak current for range vs EMI vs thermal drift.
  • Burst / integrate: improves SNR under fog/soiling by accumulating energy in a fixed window.
  • Reference stability: Tx and Rx must share the same timing reference (local MCU clock is usually enough).
Frequency selection (engineering constraints, not a magic number)
  • Avoid low-frequency lighting artifacts: keep clear of 100/120 Hz and near harmonics that cause slow amplitude wobble.
  • Consider AFE bandwidth vs range: higher modulation improves rejection of slow ambient changes, but demands more receiver bandwidth and noise margin.
  • Verify on-site interferers: nearby IR sources (illumination, other sensors) can create in-band energy; lock-in rejects off-phase, not saturation.
Lock-in / synchronous detection (how “sun rejection” actually works)
  • Multiply & average: Rx multiplies the band-limited signal by a reference and integrates over a window → produces demod amplitude.
  • DC ambient is mostly rejected: constant sunlight shifts the raw level, but does not correlate with the reference.
  • Front-end saturation still breaks everything: if the TIA/ADC saturates, the demod amplitude becomes untrustworthy—optics and AFE headroom remain mandatory.
Decision logic (make alarms deterministic)
  • Beam present / broken: compare demod amplitude to threshold.
  • Hysteresis: separate “set” and “reset” thresholds to prevent chatter near the edge.
  • Debounce & hold time: ignore micro-interrupts (insects/rain spikes) while bounding response time.
What to measure (TP points that isolate causes fast)
  • TP1 Tx drive: frequency/duty/peak current (proves the reference is stable).
  • TP2 Rx raw (TIA out): saturation vs headroom (fastest proof of ambient injection).
  • TP4 Demod output: true correlated signal amplitude (tracks alignment/fog/soiling).
  • TP5 Alarm out: debounce/hold behavior (proves logic vs analog confusion).
Pass/Fail discriminators (three branches that prevent guesswork)
  • TP2 saturates + TP4 unstable → likely sunlight leakage / insufficient optical rejection (fix: shielding/filtering, restore headroom).
  • TP2 not saturated + TP4 low → likely misalignment / fog attenuation / Tx power drift (fix: alignment margin, emitter drive, clean optics).
  • TP4 stable + TP5 chatters → likely threshold/hysteresis/debounce or output stage noise coupling (fix: logic parameters, output filtering, rail separation).
Modulation & Synchronous Detection — Field Waveform Evidence time → TP1 Tx drive TP2 Rx raw (TIA out) TP4 Demod amplitude Threshold / hysteresis TP5 Alarm out sat (flat-top) interrupt window TH+ TH− (hysteresis) debounce + hold Fast isolate: TP2 sat? → optics/AFE headroom TP4 low (no sat)? → alignment/fog/Tx drift
Figure F2. Time-domain evidence lanes for modulation and synchronous detection. TP2 saturation (flat-top) proves ambient injection; TP4 tracks true correlated signal; TP5 reveals debounce/hold policy.
Cite this figure: Use Figure F2 — Modulation & Lock-in Waveform Evidence (link: #fig-f2).

H2-3. Hardware Architecture: Tx/Rx Heads, Controller, Power, Outputs

A stable IR beam sensor is not “one optical link.” It is a set of separable fault domains: Tx emission, Rx photonic front-end, synchronous detection/decision logic, power domains, and outputs/interfaces. When false alarms or missed detections happen, the fastest path is to identify which domain lost margin first—using fixed TP points and minimal service counters.

Tx domain (emission chain)
  • Emitter: IR LED / VCSEL / laser diode (range and optical power stability depend on junction temperature).
  • Driver: constant-current or pulsed current with duty control; includes temperature derating input (NTC or temperature code).
  • Failure signatures: demod amplitude slowly drifts down with temperature; peak current clamps; emission EMI couples into Rx ground.
  • Evidence: TP1 Tx drive waveform; optional current-sense; derating flag; Tx temperature code.
Rx domain (photonic AFE → lock-in → decision)
  • Detector: PIN photodiode or APD (APD adds gain but increases bias/temperature sensitivity).
  • AFE: TIA + bandpass shaping to keep lock-in stable and prevent out-of-band energy from dominating.
  • Demod/AGC: synchronous detection outputs a correlated amplitude; AGC maintains operating headroom.
  • Failure signatures: TIA/ADC saturation under sunlight injection; wrong bandwidth causes “valid signal disappears”; AGC pins at limits.
  • Evidence: TP2 TIA out (flat-top = saturation), TP3 bandpass out, TP4 demod amplitude, rx_sat_count, agc_code.
Controller & serviceability (MCU state machine)
  • State machine: INIT → ALIGN → RUN → DEGRADED → ALARM/FAULT; separate “degraded margin” from “intrusion.”
  • Self-test: Tx test bursts + Rx correlation check + output path verification (relay/OC/bus).
  • Minimal service counters: make root cause measurable, not opinion-based.
  • Evidence: events_per_day, beam_margin_db (baseline vs drift), selftest_code, reset_reason.
Power domains (what must be separated)
  • Tx pulses create rail droop and ground bounce that can mimic beam loss if Rx/logic share impedance.
  • Outputs (relay coil kick, long cables) inject common-mode disturbances that can corrupt AFE if return paths are uncontrolled.
  • Evidence: TP6 domain monitor (VTX or VRX_AFE) during Tx pulses / relay actuation; correlate with events.
Outputs & interfaces (relay / OC / RS-485 + tamper)
  • Relay: robust isolation but can chatter if decision logic or rails are noisy; needs coil flyback control.
  • Open-collector: simple panel input; requires correct pull-up and cable noise tolerance.
  • RS-485: adds diagnostics/control; device-side needs transceiver, termination strategy, and common-mode protection.
  • Tamper: cover/mount/cable events must generate distinct logs, not a generic alarm.
  • Evidence: relay_act_count, relay_chatter_count, bus_err_count, tamper_count.
Domain isolation (symptom → first proof)
  • Daytime false alarms → Rx saturation/ambient injection → TP2 flat-top + rising rx_sat_count.
  • Range below spec → alignment/fog/Tx drift → TP4 low + falling beam_margin_db (no TP2 saturation).
  • Output chatters → logic/output coupling → TP4 stable but TP5/relay toggles + rising relay_chatter_count.
  • RS-485 drops during alarms → common-mode noise → bus_err_count spikes correlated with relay actuation.
  • Power-up alarm → init threshold/state issue → selftest_code + agc_code out of expected init window.
IR Beam Sensor — Main Hardware Architecture (Domains + TP Points) Power & Domains V_IN Protect TVS/CMC DC/DC LDOs V_TX pulse V_RX_AFE clean V_LOGIC V_IO droop risk TP6 rail monitor Tx Chain MCU PWM TP1 LED Driver NTC Emitter modulated IR Rx Chain PD / APD TIA TP2 Bandpass TP3 Sync Demod AGC TP4 Comp / ADC MCU state / self-test counters TP5 decision Outputs & Interfaces Relay Driver Relay OC Out RS-485 Xcvr Tamper Loop coil kick Tx pulse EMI beam_margin_db rx_sat_count events_per_day bus_err_count
Figure F3. Main architecture map with explicit domains, fixed TP points (TP1–TP6), and typical coupling paths that cause false alarms (Tx pulses, relay kick) when domain separation is weak.
Cite this figure: Figure F3 — IR Beam Sensor Main Architecture (Domains + TP) (link: #fig-f3).

H2-4. Optical & Mechanical Design: Alignment, Aperture, Filters

Most real-world instability in IR beam perimeter sensors is driven by geometry rather than “algorithm bugs”: the Tx divergence, Rx field-of-view (FOV), and shielding geometry determine how easily sunlight or reflections enter the receiver. The goal is to preserve a measurable alignment margin so that fog/soiling and mechanical drift do not push the system into saturation or threshold ambiguity.

Geometry: Tx divergence vs Rx FOV (installability vs immunity)
  • Wider FOV is easier to align but increases risk of ambient injection, especially at low sun angles.
  • Narrower FOV improves sunlight rejection but requires tighter mounting stability and alignment procedures.
  • Engineering target: maximize correlated demod amplitude (TP4) while keeping TP2 far from saturation in worst-case sun angle.
Aperture & shielding: baffles, hoods, and stray-light control
  • Hoods/baffles enforce a cutoff angle so the sun cannot “see” the sensitive detector path.
  • Blackened surfaces reduce internal reflections that create an apparent beam even when alignment is marginal.
  • Evidence: rising rx_sat_count without true beam interruption is a signature of stray-light injection.
Optical filtering: bandpass vs broadband (trade-off made explicit)
  • IR bandpass: improves SNR and rejects visible/near-IR background, but becomes sensitive to emitter wavelength drift and angle-dependent filter shift.
  • Broadband: more tolerant to wavelength drift, but relies heavier on lock-in and AFE headroom.
  • Rule: filter choice must be paired with emitter stability + AFE saturation headroom, not chosen in isolation.
Mechanical drift: thermal expansion, wind load, vibration, and long-term contamination
  • Thermal: pole/bracket expansion changes pointing angle; even small angular error can reduce demod amplitude.
  • Wind/vibration: causes intermittent marginal alignment → intermittent false alarms that mimic real intrusions.
  • Soiling/condensation: reduces received energy and increases scatter; shows up as slow beam_margin_db decay and AGC drift.
Multi-beam (if used): why it reduces nuisance triggers
  • Stacked beams allow “intrusion requires multiple beams” policies that reject small animals or ground-level clutter.
  • Service evidence: per-beam margin and per-beam saturation flags prevent guessing during field servicing.
Alignment evidence (how to separate sun injection from misalignment)
  • Alignment margin: beam_margin_db = demod amplitude (TP4) relative to decision threshold; record a baseline at installation.
  • AGC headroom: agc_code should remain within a safe operating band; “pinned AGC” signals loss of optical energy or severe background.
  • Branching proof: TP2 saturation + rising rx_sat_count → sunlight/reflection injection; no saturation + falling beam_margin_db → drift/soiling/fog.
Optics & Mechanics — FOV, Shielding, Sun Angle, Alignment Margin Tx Head divergence Rx Head FOV + AFE hood / baffle modulated beam Tx divergence Rx FOV intrusion blocks beam Sun unsafe angle blocked by hood ground / glossy surface reflection risk Alignment Margin (installation baseline vs runtime) beam_margin_db agc_code rx_sat_count events_per_day
Figure F4. Optical/mechanical geometry that controls false alarms: Tx divergence, Rx FOV, shielding cutoff, sun-angle injection paths, and an explicit alignment margin indicator tied to measurable fields.
Cite this figure: Figure F4 — Optics & Alignment Margin (FOV + Sun Angle) (link: #fig-f4).

H2-5. Photonic Front-End: Sensor Choice + TIA/Filter/Noise Budget

Detection distance and sunlight immunity are ultimately limited by the photonic front-end (AFE). The AFE must keep enough dynamic range to avoid saturation under high ambient injection, while preserving SNR under weak received beam conditions (long distance, fog, soiling, alignment drift). The fastest way to diagnose AFE-limited behavior is to anchor the discussion on fixed test points: TP2 (TIA output), TP3 (post-filter), and TP4 (demod amplitude / correlated magnitude).

1) Sensor choice: PIN photodiode vs APD (what changes in practice)
  • PIN PD: simpler biasing, typically lower operational risk; weak-beam performance depends more on TIA noise and optical collection.
  • APD: internal gain increases sensitivity for weak signals, but requires higher bias and tighter temperature control; drift and protection become first-order concerns.
  • Field reality: APD systems can fail “softly” (gain drift → margin drift → nuisance alarms) even when optics and alignment are unchanged.

Evidence to log when available: temp_code, apd_bias_code; otherwise use TP2 baseline and AGC behavior as proxies.

2) TIA fundamentals: feedback R/C, stability, and what saturates first
  • Transimpedance (Rf) sets gain: too high improves weak-beam SNR but reduces headroom under sunlight injection.
  • Compensation (Cf) sets stability and bandwidth shaping: under-compensation oscillates; over-compensation eats modulation amplitude.
  • Saturation modes: TP2 flat-topping can come from ambient shot current, internal reflections, or too-large Rf relative to output swing.

Minimum measurable set: TP2 noise RMS (Tx off / beam blocked), TP2 saturation signature (flat-top), and -3 dB bandwidth proxy at the modulation frequency.

3) Pre-demod filtering: bandpass as a “gate” for synchronous detection
  • Bandpass (TP3) keeps energy around the modulation frequency and rejects slow ambient variation and wideband disturbances.
  • Too narrow → valid beam energy is attenuated (range collapses). Too wide → more ambient energy enters the AFE (saturation risk rises).
  • Filter design is only “correct” when TP3 preserves correlated amplitude without driving TP2 into saturation in worst-case sun angles.
4) Dynamic range: strong background vs weak beam (two extremes to engineer for)
  • Bright background extreme: sunlight/reflection injection pushes TP2 toward saturation → demod output becomes distorted → nuisance alarms.
  • Weak beam extreme: long distance / fog / soiling reduces TP4 toward threshold → jittery decisions → missed detections or chatter.
  • Engineering target: keep TP2 away from clipping while maintaining a stable beam_margin_db at TP4 across weather and temperature.
5) Noise budget: what sets the demod floor (without turning into a textbook)
  • Key contributors: TIA input noise, detector dark current (shot noise), background shot noise, post-amp/ADC noise.
  • The demod chain converts this into a TP4 jitter floor. If TP4 noise approaches the threshold band, false triggers rise.
  • Practical rule: reduce TP4 jitter by balancing bandwidth, ensuring AGC headroom, and applying threshold hysteresis consistent with response-time limits.
Quick branching with evidence (avoid guessing)
  • TP2 clips + rising rx_sat_count → ambient injection / headroom issue (optics + AFE saturation first).
  • TP2 clean but TP4 low → weak received beam (alignment/fog/Tx power) or filter mismatch attenuating correlation.
  • TP4 present but agc_code pinned → sustained weak optical energy or bias drift (APD risk) pushing the chain to its limits.
  • TP4 near threshold with high jitter → noise budget / bandwidth / hysteresis tuning issue.
Figure F5 — Photonic AFE (Noise + Saturation + TP Points) Ambient Sun / reflections PD / APD sensor + bias TIA Rf / Cf, stability noise Sat TP2 Bandpass around fmod TP3 Sync Demod lock-in / correlation AGC Threshold + hyst TP4 ALARM Evidence Fields tia_noise_rms (TP2) tia_bw_3db (TP3) rx_sat_count (TP2) beam_margin_db (TP4) agc_code events_per_day
Figure F5. AFE chain with explicit noise and saturation points (TIA), fixed TP2–TP4 measurement locations, and the minimal evidence fields that make weak-beam vs ambient-injection issues distinguishable.
Cite this figure: Figure F5 — Photonic AFE Chain (Noise + Saturation + TP2–TP4) (link: #fig-f5).

H2-6. Tx Driver & Modulation: Current Control, Thermal Drift, Eye Safety

When range or stability degrades, it is common to blame the receiver first. In practice, the Tx side often sets the baseline: modulation purity, peak/average current behavior, temperature derating, and EMI-induced rail droop can all reduce correlated amplitude at TP4 or inject disturbances that look like beam loss. This chapter makes the Tx chain measurable via TP1 (drive waveform) and correlation against TP4 and TP6 (domain droop monitor).

1) Driver modes: constant-current vs pulsed current (why pulsing works and what it breaks)
  • Constant current: simpler EMI profile and thermal stress; may limit peak optical power at long distances.
  • Pulsed current: increases peak optical power while controlling average power via duty cycle; raises risk of EMI and rail droop.
  • Failure signatures: peak clamp or supply droop causes TP4 to drop even with perfect alignment.

Evidence: TP1 frequency + duty + edge quality; optional i_tx_peak/i_tx_avg; correlate with TP4 amplitude.

2) Modulation purity: frequency stability and edge control
  • Synchronous detection assumes the transmitter is a stable reference. If modulation frequency or duty drifts, the demod correlation gain drops.
  • Edges that are too fast raise EMI; edges that are too slow distort the effective modulation depth.
  • Engineering objective: keep TP1 stable across temperature and supply variation so TP4 reflects real beam changes, not timing artifacts.
3) Thermal drift and aging: turning “range loss” into a measurable curve
  • Emitter optical power typically decreases with junction temperature; long-term aging reduces output at the same drive current.
  • Compensation: NTC-based derating/boost tables (simple) or optical feedback (complex); both should avoid over-stressing the emitter.
  • Proof method: hold alignment constant and record temp_code vs TP4 amplitude drift. A monotonic drift points to Tx thermal behavior.
4) EMI and rail droop: when Tx corrupts Rx (not a “receiver bug”)
  • High di/dt pulses can inject noise into shared impedance and raise the apparent noise floor at TP2/TP4.
  • Rail droop on the Tx domain can also shift driver current, reducing modulation depth and correlated amplitude.
  • Evidence: correlate TP1 pulses with TP6 droop and any bursts in rx_sat_count or instability at TP4.
5) Eye safety / radiation safety (principles only)
  • Avoid “solving range” by uncontrolled peak current increases; prioritize optics, alignment margin, and AFE headroom first.
  • Prefer mechanical shielding and installation geometry that reduces direct line-of-sight exposure.
  • For laser-class emitters, apply stricter engineering limits and conservative derating; keep safety treatment as a design constraint, not a tuning knob.
Tx drift correlation method (quick field proof)
  • Keep alignment fixed. Log temp_code, TP1 (frequency/duty), TP4 (demod amplitude), and TP6 (V_TX droop).
  • TP4 drops with temperature while TP1 stable → Tx optical power drift / derating behavior.
  • TP4 follows TP1 duty/frequency drift → modulation stability issue.
  • TP4 jitter correlates with TP6 droop → EMI/rail coupling that reduces effective modulation depth or raises Rx noise floor.
Figure F6 — Tx Driver & Modulation (Current + Thermal Compensation) MCU Timer PWM / fmod TP1 drive Current Driver constant / pulsed EMI droop Emitter IR LED / laser modulated IR NTC temp sense Compensation lookup / derating drive adjust V_TX Monitor rail droop check TP6 pulse → droop Evidence Fields TP1: f_mod / duty TP4: demod amplitude TP6: V_TX droop
Figure F6. Tx drive chain with explicit compensation loop and measurable points (TP1 for modulation purity, TP6 for rail droop) to separate Tx-caused drift from Rx/optics issues.
Cite this figure: Figure F6 — Tx Driver + Thermal Compensation (TP1 + TP6) (link: #fig-f6).

H2-7. Sunlight Immunity & False-Alarm Rejection: AGC + Logic

Sunlight immunity is not a single trick. It is a layered defense that turns “ambient injection” into a measurable, rejectable condition. The chain is: Optics (reduce injected background) → Sync Demod (reject non-correlated energy) → AGC + Decision Logic (prevent abnormal waveforms from becoming alarms). This chapter focuses on the last layer: using AGC behavior, saturation evidence, and a beam-quality score to suppress nuisance alarms while keeping real beam breaks responsive.

Three defenses (keep them explicit, not scattered)
  • Optics: hood / aperture / bandpass filter reduce background injection before it becomes current.
  • Sync demod: correlation rejects off-frequency/off-phase disturbances.
  • AGC + logic: contain the remaining edge cases (saturation, spikes, slow drift) using gates and scoring.

Evidence fields to make false alarms diagnosable: agc_code, saturation_flag (or rx_sat_count), beam_quality_score, false_alarm_histogram_hour.

Typical nuisance sources (mechanism → discriminator → first fix)
  • Direct sun / backlight saturation → TP2 clip / saturation_flag=1 / rising rx_sat_count, alarms cluster at specific hours → apply saturation gate (lock output + log) and enforce minimum “valid-beam” quality.
  • Mirror-like reflection spikes → short TP4 excursions with poor multi-sample consistency → use N-of-M confirm + minimum break duration (hold) so spikes do not trigger.
  • Cloud shadow / slow ambient drift → gradual agc_code drift + TP4 baseline drift but correlation never truly collapses → slow-path AGC + hysteresis band sized to response-time limits.
  • Vehicle headlights / IR flood / illuminators → in-band energy rises (TP3), TP4 confidence fluctuates without a stable “beam break” signature → tighten bandpass/quality gate and avoid decision based on single-sample threshold crossings.
Logic building blocks (each must map to a loggable metric)
  • Hold time / debounce: require continuous “beam break” for ≥ hold_ms; log break_ms_accum.
  • N-of-M confirm: in an M-sample window, require ≥N “break” votes; log confirm_n, window_m.
  • Saturation gate: if saturation_flag=1, force decision into degraded/lock state; log sat_lock_ms.
  • Beam-quality score: fuse amplitude, stability, AGC headroom, saturation into 0–100; log beam_quality_score, quality_bad_ms.
  • Time-of-day histogram: bucket nuisance alarms by hour/angle proxy; log false_alarm_histogram_hour.

A stable design distinguishes beam absent (correlation collapses) from beam unreliable (saturation/spikes/drift), and refuses to alarm on “unreliable” without persistent evidence.

Figure F7 — Sunlight Immunity: Layered Defense Funnel Optics hood / filter Sync Demod correlation AGC headroom Decision hold / N-of-M Output alarm Sun glare IR flood / headlights Cloud shadow Reflection spikes Evidence to Prove “Nuisance” vs “Intrusion” agc_code saturation_flag / rx_sat_count beam_quality_score false_alarm_histogram_hour quality_bad_ms + sat_lock_ms + confirm_n/window_m Rule: saturating ≠ intrusion Rule: spikes need persistence Rule: quality gates output
Figure F7. A defense funnel that keeps “sun/reflect/IR flood” from turning into alarms by using AGC behavior, saturation gating, multi-sample confirmation, and a beam-quality score with time-of-day evidence.
Cite this figure: Figure F7 — Sunlight Immunity Defense Funnel (link: #fig-f7).

H2-8. Outputs & Interfaces: Relay/OC/Bus, Tamper Loop, Wiring Robustness

Outputs are where an IR beam sensor becomes a security building block. This chapter stays on the device side: output types, minimal protection elements, and the evidence needed to diagnose chatter, bus dropouts, and tamper false triggers. The goal is integration that is robust and diagnosable without turning into a system-level wiring course.

1) Relay vs Open-Collector (OC): when each is the safer choice
  • Relay: strong isolation and good noise tolerance for external equipment; watch coil drive transients and mechanical wear.
  • OC: simple, low-cost, fast; depends on external pull-up domain and wiring—long lines and weak pull-ups can be noise-sensitive.
  • For both types, stability depends on the decision layer: if logic is jittery, relay chatter or OC toggling bursts appear.

Evidence: relay_actuation_count, relay_chatter_count, oc_toggle_count, alarm_state_transitions.

2) Relay drive essentials (device-side only)
  • Use a dedicated driver (low-side or high-side) with controlled flyback path to avoid injecting noise into logic ground.
  • Chatter root causes split into: decision instability (TP4 near threshold) vs power integrity (rail droop resets/UVLO events).
  • Log every actuation with timestamps so “chatter” becomes countable evidence, not anecdote.
3) OC output robustness (device-side responsibilities)
  • Document the allowed pull-up voltage range and recommended pull-up resistance for typical cable lengths.
  • Add device-side deglitch/hold constraints so short TP4 spikes do not produce OC bursts.
  • If output sense is available, detect and log abnormal conditions (stuck-low, short, leakage).

Evidence to expose when possible: v_out_sense (or status proxy), oc_short_flag, oc_toggle_count.

4) Bus interface (RS-485): keep scope on the device end
  • Use an RS-485 transceiver with adequate ESD and common-mode handling; enable fail-safe bias behavior on the device side.
  • Device-side minimum protection set: TVS + CMC and an optional termination element if the device may sit at a line end.
  • Make link health diagnosable with counters: CRC/frame errors and timeouts; do not rely on “it seems fine” in the field.

Evidence: bus_crc_err, bus_framing_err, bus_timeout, optional bus_rx_level_stats.

5) Tamper loop: cover open/short detect without platform discussion
  • Implement cover/remove/tamper as a device-side loop with debounce and minimum persistence.
  • Distinguish open vs short conditions and log their durations so intermittent wiring issues do not look like attacks.
  • Treat tamper as its own event stream; do not merge it into “alarm” without context.

Evidence: tamper_event_log, tamper_open_ms, tamper_short_ms.

Wiring robustness (device-side checklist)
  • Protection placement: TVS return path must be short and predictable; otherwise protection can become an EMI injector.
  • Common-mode control: add CMC where long outdoor runs exist; log bus errors to validate that CMC helps.
  • Output-induced PI: correlate output activity with any brownout/reset evidence to separate “logic jitter” from “power droop.”
  • Diagnosability: require every “odd behavior” to map to a counter or timestamped event.

Useful global evidence fields: brownout_count, output_domain_fault, alarm_state_transitions.

Figure F8 — Outputs & Interfaces (Relay / OC / RS-485 + Tamper) MCU + Decision alarm + tamper events Relay Driver flyback clamp RELAY Terminal OC Output requires pull-up Terminal external pull-up RS-485 XCVR fail-safe bias TVS CMC Terminal Tamper Loop open / short detect relay_chatter_count bus_crc_err / bus_timeout tamper_event_log brownout_count
Figure F8. Device-side interface minimum set for robust integration: relay driver, OC output, and RS-485 with TVS/CMC, plus a tamper loop. Each branch maps to counters and logs so chatter and bus issues are diagnosable.
Cite this figure: Figure F8 — Outputs & Interfaces (Relay/OC/RS-485 + Tamper) (link: #fig-f8).

H2-9. Power Tree & Outdoor Robustness: Brownout, Local ESD/Surge at I/O

Outdoor false alarms and missed detections often trace back to power integrity, not optics. The Tx chain draws pulsed current that can induce rail droop, and outdoor I/O can inject transients that momentarily corrupt logic decisions or bus links. This chapter stays device-side: define power domains, make brownout behavior deterministic, and implement a minimal “local” protection set at terminals with short, controlled return paths.

1) Power domains: separate noisy injection from sensitive detection
  • Tx domain: pulsed LED/laser drive; the primary noise injector (tx_pulse_current).
  • Rx/AFE domain: TIA/demod/AGC; requires clean supply and stable reference ground.
  • Logic/output domain: MCU + output drivers + bus transceiver; must survive droop without undefined outputs.

Evidence to log/observe: V_TX_min, V_RX_min, V_LOGIC_min, and an injection reference such as tx_pulse_current or Tx PWM duty/width.

2) Tx pulsed current → rail droop: make it measurable and correlated
  • Rail droop must be tied to a known source: Tx pulse edges. Measure droop at defined points and correlate with Tx drive timing.
  • If nuisance alarms cluster at specific hours and droop signatures appear at those times, treat it as a power-integrity fault first.
  • Mitigation priorities: shorten current loops, increase local decoupling, slow edge rates if needed, and keep Rx/logic rails isolated from Tx pulses.

Minimum test points: TP-PWR1 (VIN), TP-PWR2 (DC/DC to Tx), TP-PWR3 (clean rail to Rx), TP-PWR4 (MCU VDD).

3) Brownout / reset taxonomy: UVLO vs BOR vs WDT
  • UVLO: supply drops below a regulator threshold; rails collapse in a predictable pattern.
  • BOR: MCU brown-out reset; reset reason register indicates a voltage dip event.
  • WDT: timing/clock instability during droop can stall firmware; watchdog reveals “soft” failures.

Evidence fields: reset_reason_reg (POR/BOR/WDT/EXT), brownout_counter, optional uptime_before_reset_ms.

4) Output behavior during droop: do not allow undefined alarm pulses
  • Define the output policy on brownout: fail-safe alarm, fail-silent, or latched fault (device-side policy code).
  • During saturation_flag or brownout gating, prefer “degraded/fault” signaling over toggling alarm output states.
  • Chatter must be countable: relay/OC transitions should be logged and correlated with droop evidence.

Evidence: output_state_on_brownout, power_fault_event_log, relay_chatter_count, alarm_state_transitions.

5) Device-side “local” protection at terminals: minimal set, short return path
  • TVS: place at the terminal entry with a short, low-inductance return path; avoid routing the clamp current through sensitive grounds.
  • CMC: reduce common-mode injection on long outdoor runs (especially RS-485 and long OC lines).
  • Diagnose: bus errors and brownouts must be timestamped to separate “line injection” from “Tx pulse droop.”

Evidence: bus_crc_err/bus_timeout, optional esd_glitch_count, plus rail minima around events.

Field evidence checklist (fast isolation)
  • If alarms/misses coincide with dips: capture VIN droop + reset_reason_reg + brownout_counter.
  • If no reset but behavior changes: check V_RX_min and beam_quality_score stability around the event.
  • If bus link drops: align bus_crc_err/timeout timestamps with droop and output toggles.
Figure F9 — Power Domains & Droop Evidence Points INPUT VIN / cable drop DC/DC bulk rail LDO / Filter clean rail Tx Domain driver + emitter Rx/AFE Domain TIA + demod + AGC Logic Domain MCU + outputs Tx pulse current TP-PWR1 TP-PWR2 TP-PWR3 TP-PWR4 Timing Correlation (Tx PWM vs Rail Droop) Tx PWM VDD droop log: brownout_counter
Figure F9. Power tree with three domains (Tx / Rx / Logic). Tx pulsed current can induce droop; correlate Tx PWM edges with rail minima at TP-PWR1…TP-PWR4 and log reset/brownout evidence.
Cite this figure: Figure F9 — Power Domains & Droop Evidence Points (link: #fig-f9).

H2-10. Self-Test, Calibration & Maintenance: Beam Quality, Auto-Align Aids

A perimeter sensor becomes a maintainable product when it can prove its own health. Self-test must exercise Tx, Rx correlation, and output paths; calibration must store a baseline “margin” that makes drift measurable; maintenance must be guided by evidence (quality score, drift rate, and pass/fail codes), not guesswork.

1) Self-test scope: three loops that must be diagnosable
  • Tx loop: emit a known test sequence and confirm current/drive timing behavior indirectly via Rx correlation response.
  • Rx loop: verify amplitude + phase confidence and AGC controllability under a controlled pattern.
  • Output loop: validate relay/OC actuation and bus interface health (device-side counters).

Evidence fields: self_test_pass_fail, self_test_code (bitmask), test_pattern_id, self_test_timestamp.

2) Test patterns: design for discrimination, not just “blink once”
  • Pattern A: nominal modulation (baseline correlation response).
  • Pattern B: slight frequency/phase variation (confirms sync demod selectivity and filter health).
  • Pattern C: duty/width step (probes Tx drive strength and power-tree tolerance without leaving run mode).

Measurable outputs during test: tp4_amp, tp4_phase, agc_code_during_test, optional saturation_flag.

3) Installation calibration: store baseline margin as evidence
  • During alignment, record a baseline margin: demod amplitude headroom and AGC operating point.
  • Store a compact baseline record: baseline_margin, baseline_agc_headroom, baseline_phase.
  • Use baseline comparisons to distinguish “dirty optics” vs “mechanical shift” vs “Tx aging.”
4) Drift rate: quantify aging and environment instead of guessing
  • Track current_margin and compute a drift metric over time (e.g., margin loss per day).
  • Slow linear drift suggests contamination/aging; step-like changes suggest shock/misalignment.
  • Use drift thresholds to enter DEGRADED state before alarms become unreliable.

Evidence: current_margin, drift_rate, last_service_time, beam_quality_score.

5) Maintenance actions must close the loop in logs
  • After cleaning: expect quality score up, AGC back toward midrange, and margin recovery.
  • After re-alignment: margin improves immediately; nuisance alarm histogram flattens.
  • Record each service as a timestamped maintenance event.

Evidence: service_event_log, false_alarm_histogram_hour, baseline_margin vs current_margin.

6) Exportable minimal trace: make field failures reproducible
  • Events: alarm / tamper / power-fault / self-test.
  • Counters: brownout / bus errors / saturation.
  • Snapshot: latest margin + AGC + quality score.
Figure F10 — Self-Test & Maintenance State Machine INIT state_code ALIGN state_code RUN state_code DEGRADED state_code ALARM FAULT state_code self-test margin ok quality low break hold recover Logs & Evidence (Minimal Set) self_test_code / pass_fail baseline_margin drift_rate beam_quality_score service_event_log + timestamp false_alarm_histogram_hour snapshot: current_margin + agc_code + sat_flag
Figure F10. A product-oriented state machine (INIT→ALIGN→RUN→DEGRADED→ALARM/FAULT) with short triggers and explicit state codes. Minimal logs enable maintenance, drift detection, and reproducible field diagnostics.
Cite this figure: Figure F10 — Self-Test & Maintenance State Machine (link: #fig-f10).

H2-11. Validation Plan & Field Debug Playbook (SOP)

This SOP is designed for the shortest fault-isolation path. Every diagnosis must be backed by measurable evidence: waveforms (TP points), counters, and state codes. Each symptom follows the same template: First 2 measurementsDiscriminatorIsolateFirst fix.

Common evidence fields (use these across all symptoms)
  • Optical/quality: beam_quality_score, current_margin_db (or demod_amp_headroom), agc_code, saturation_flag
  • Power/reset: VIN_min, V_TX_min, V_RX_min, V_LOGIC_min, reset_reason_reg, brownout_counter
  • Output/bus: relay_chatter_count, alarm_state_transitions, bus_crc_err, bus_timeout
  • State/test: state_code (INIT/ALIGN/RUN/DEGRADED/ALARM/FAULT), self_test_code, self_test_pass_fail

Suggested test points: TP-OPT1 (Rx raw/TIA out), TP-OPT2 (demod out), TP-PWR1..4 (VIN/Tx/Rx/MCU VDD), TP-IO1 (relay/OC drive), TP-BUS1 (RS-485 A/B).

Symptom 1 — False alarm in daytime, stable at night

First 2 measurements
  1. Read saturation_flag + agc_code + beam_quality_score during the alarm window.
  2. Scope TP-OPT2 (demod output): confirm if demod_amp collapses or clips near the alarm moment.
Discriminator
  • SAT-driven: saturation_flag=1 or AGC pinned high → sunlight/reflection entering Rx FOV.
  • Power-driven: alarm aligns with V_RX_min/V_LOGIC_min dips or brownout_counter increments.
  • Logic-driven: no saturation/droop, but quality score oscillates with cloud shadow/car IR sources.
Isolate (minimum)
  • Shade Rx side-FOV (do not block the main beam) and re-check saturation_flag.
  • Short-distance test (bring Tx/Rx closer) to create large margin and see if alarms persist.
First fix (with example MPNs)
  • Optical path: add a deeper baffle / adjust mounting angle; use a narrow IR bandpass window (mechanical/optical change).
  • Rx saturation robustness: select a fast, low-cap photodiode (e.g., BPW34) and keep TIA headroom; consider a higher dynamic-range TIA (e.g., OPA380).
  • Power gating: add an eFuse / inrush limiter on input (e.g., TPS25940) and a robust supervisor/reset IC (e.g., TPS3839).

Symptom 2 — Frequent alarms in rain/fog

First 2 measurements
  1. Log current_margin_db (or demod_amp_headroom) in clear weather vs fog/rain.
  2. Trend beam_quality_score over minutes (slow drift vs rapid jitter).
Discriminator
  • Attenuation: margin drops steadily without saturation → scattering/absorption reduces SNR.
  • Condensation: quality jitters + occasional spikes → droplets/condensation causing unstable optics.
  • Electrical: bus/power errors increase simultaneously → water ingress / wiring injection.
Isolate (minimum)
  • Clean optical window; check if margin recovers immediately (service-as-isolation).
  • Run a controlled self-test pattern; compare phase/amplitude confidence before/after cleaning.
First fix (with example MPNs)
  • Tx stability: use a constant-current LED driver with PWM dimming support (e.g., TLC5940 or LT3474 depending on design).
  • Rx noise headroom: prefer a dedicated low-noise TIA (e.g., OPA380) and band-limit to modulation.
  • Sealing/maintenance trigger: add humidity/temperature sensing for proactive maintenance (e.g., SHT31).

Symptom 3 — Range cannot reach the rated distance

First 2 measurements
  1. Record current_margin_db vs distance; check if agc_code is pinned.
  2. Scope TP-OPT2 (demod) and verify amplitude drop curve (2–3 distance points).
Discriminator
  • Alignment/optics: strong margin close-range but drops too fast → FOV/beam divergence/alignment.
  • Tx weak or Rx noisy: margin low even at short distance → emitter aging/driver limit or TIA noise/incorrect bandwidth.
  • Threshold issue: demod amplitude OK but still “broken” → hysteresis/logic config.
Isolate (minimum)
  • Short-distance baseline: prove link gain is healthy at 2–5 m.
  • Swap heads (Tx↔Tx, Rx↔Rx) if spare units exist to localize domain.
First fix (with example MPNs)
  • Emitter/driver: IR LED like TSAL6200 with a controlled driver (e.g., MIC3172 as a controller or a dedicated LED driver).
  • Photodiode: standard PIN diode BPW34; if APD is used, ensure bias/safety design (APD examples vary by vendor).
  • Comparator/threshold: robust, low-power comparator for clean switching (e.g., TLV3201).

Symptom 4 — Occasional miss (person passes but no alarm)

First 2 measurements
  1. Correlate event timestamps: did beam_quality_score dip without alarm state transition?
  2. Scope TP-OPT2: verify beam interruption truly crosses threshold for long enough (debounce/hold window).
Discriminator
  • Filtering too strict: demod crosses threshold but alarm not asserted → debounce/confirm window too long.
  • Partial blockage: demod barely changes → beam path bypass / multi-beam geometry / reflections.
  • Mechanical drift: misses only at certain angles → alignment margin insufficient.
Isolate (minimum)
  • Use an opaque test target at a fixed location to validate repeatable trigger.
  • Temporarily reduce hold/confirm time and observe if misses disappear (logic isolation).
First fix (with example MPNs)
  • Logic path: implement hysteresis + minimum assertion time in firmware/state machine (device-side).
  • Clean switching: comparator like TLV3201 feeding MCU capture pin for deterministic edge timing.
  • Clock stability: if timing windows drift, use a stable oscillator (e.g., SiT1602 MEMS XO).

Symptom 5 — Relay output chatters / sticks

First 2 measurements
  1. Compare relay_chatter_count and alarm_state_transitions vs brownout_counter and beam_quality_score.
  2. Scope TP-IO1 (relay drive) and TP-PWR4 (MCU VDD) during chatter.
Discriminator
  • Logic jitter: chatter tracks quality score oscillation → decision threshold/hold policy.
  • Power/reset: chatter aligns with droop/BOR → output undefined during brownout.
  • Load/relay wear: drive looks stable but contact behavior unstable → external load surge or relay aging.
Isolate (minimum)
  • Disconnect field load; test with a known resistive load (replace-load isolation).
  • Force output via self-test; verify clean actuation independent of beam logic.
First fix (with example MPNs)
  • Relay driver: low-side driver array such as ULN2003A (with proper flyback) for clean actuation.
  • Solid-state alternative: opto-triac SSR like MOC3063 (AC loads) or MOSFET-based output stage (DC loads) as design option.
  • Brownout control: supervisor TPS3839 + defined output_state_on_brownout policy.

Symptom 6 — RS-485 intermittently drops

First 2 measurements
  1. Log bus_crc_err + bus_timeout with timestamps.
  2. Scope TP-BUS1 (A/B) and TP-PWR4 during error spikes (look for common-mode bursts and droop coupling).
Discriminator
  • Line injection: bursts unrelated to Tx PWM → outdoor EMI/ESD/surge coupling.
  • Internal coupling: errors correlate with Tx pulse timing → ground bounce or shared rail noise.
  • Termination bias: only long lines fail → endpoint/termination bias mismatch (keep discussion device-side).
Isolate (minimum)
  • Short cable direct-connect (few meters) to see if errors vanish.
  • Disconnect relay/high-current loads to eliminate internal injection coupling.
First fix (with example MPNs)
  • Transceiver: robust RS-485 device such as SN65HVD1781 (or similar rugged families) at the device port.
  • TVS: RS-485 line TVS like SM712 at the connector/terminal.
  • CMC: common-mode choke such as WE 744232090 (example) to reduce common-mode injection.

Symptom 7 — Alarms immediately on power-up / cannot enter RUN

First 2 measurements
  1. Check state_code (INIT/ALIGN/FAULT) + self_test_pass_fail.
  2. Read reset_reason_reg and brownout_counter; scope TP-PWR4 during boot.
Discriminator
  • Stuck in ALIGN: margin too low at startup → alignment/beam not established.
  • FAULT on boot: self-test fails → Tx/Rx/output chain hardware fault.
  • Reset loop: BOR/WDT repeats → startup droop / inrush / cable drop.
Isolate (minimum)
  • Short-distance test to force high margin; see if state progresses to RUN.
  • Disconnect outputs and bus; power from a stable bench source to remove cable drop.
First fix (with example MPNs)
  • Input control: eFuse/inrush limiter TPS25940 to prevent boot droop.
  • Supervisor: reset IC TPS3839 for deterministic reset behavior.
  • Regulators: low-noise LDO for Rx rail (e.g., TPS7A02) to protect AFE stability at boot.

Symptom 8 — Becomes unstable after mounting angle change

First 2 measurements
  1. Compare current_margin_db + agc_code across angles (make a small table).
  2. Check false_alarm_histogram_hour for time-of-day clustering (sun angle / reflections).
Discriminator
  • Sun/reflection: angle correlates with saturation_flag spikes.
  • Mechanical drift: margin gradually decays and drift rate increases after remount.
  • External IR: only certain hours/vehicles trigger → interference entering Rx FOV or modulation window.
Isolate (minimum)
  • A/B compare: revert to previous angle and re-check margin + histogram.
  • Add temporary baffle; verify immediate stability improvement.
First fix (with example MPNs)
  • Re-baseline: re-run installation calibration and store baseline_margin + baseline_phase.
  • Mechanical aids: add alignment indicators (LED/buzzer) controlled by MCU; driver example ULN2003A.
  • Logging: add a small RTC + backup to preserve event timestamps (e.g., DS3231 + coin-cell or supercap depending on design).
Figure F11 — Field Debug Decision Tree (Symptom → Evidence → Isolate → Fix) Symptom observed Check SAT / AGC sat_flag, agc_code Check DROOP Vmin, reset_reason Check MARGIN margin, quality Isolate: Shade Rx FOV baffle Isolate: Short test 2–5 m baseline Isolate: Swap heads Tx vs Rx domain Isolate: Disconnect load / bus Fix: Baffle / angle reduce sunlight Fix: Hold / hyst debounce logic Fix: Split rails decouple Tx Fix: CMC + TVS device port Fix: Re-baseline margin/phase Must Log (to avoid guesswork) state_code • self_test_code • brownout_counter • bus_crc_err/timeout • current_margin_db • agc_code • saturation_flag
Figure F11. A repeatable field debug path: start from symptom, then check saturation/AGC, power droop/reset evidence, and margin/quality. Use minimum isolation actions (shade, short-distance test, swap heads, disconnect load/bus), then apply first fixes (baffle/logic gating/split rails/CMC+TVS/re-baseline).
Cite this figure: Figure F11 — Field Debug Decision Tree (IR Beam Perimeter Sensor) (link: #fig-f11).
Example MPNs referenced in this SOP (device-side building blocks)
Function Example MPN(s) Why here
PIN photodiode BPW34 Common, fast PIN PD for modulated IR receive paths
TIA / photodiode amp OPA380 Low-noise TIA option for demod/SNR headroom
Comparator TLV3201 Clean thresholding/hysteresis-friendly front end
Input eFuse / inrush TPS25940 Boot stability, droop prevention, defined fault behavior
Reset supervisor TPS3839 Deterministic reset/brownout handling
Low-noise LDO TPS7A02 Clean Rx rail for AFE robustness
Relay driver array ULN2003A Stable relay drive + simple interface from MCU
RS-485 transceiver SN65HVD1781 Rugged device-side interface option
RS-485 TVS SM712 Device port transient clamp for A/B lines
Common-mode choke WE 744232090 (example) Reduce common-mode injection on long outdoor cables
Humidity sensor SHT31 Maintenance trigger for condensation risk
RTC (timestamp integrity) DS3231 Stable timestamps for event correlation
IR LED (emitter example) TSAL6200 Common IR emitter family used in many IR systems
Optotriac SSR driver (AC option) MOC3063 One possible AC-load isolation approach
XO (timing stability option) SiT1602 Stable timing reference for deterministic windows

Note: MPNs are examples to anchor design/debug decisions. Final selection depends on voltage, temperature range, safety, and compliance constraints.

Request a Quote

Accepted Formats

pdf, csv, xls, xlsx, zip

Attachment

Drag & drop files here or use the button below.

H2-12. FAQs ×12 (Evidence-based, no scope creep)

Each answer names what to measure (TP points / counters / state codes) and points back to the chapter evidence chain.

Works at night but false-alarms in sunlight—what 2 signals prove saturation vs misalignment?
Short answer: measure saturation vs alignment. Check saturation_flag and agc_code, and scope TP-OPT1 for clipping; that points to sunlight/reflection. If there’s no clipping but current_margin_db drops and beam_quality_score drifts, it’s misalignment. Isolate by shading the Rx side-FOV. First fix: add a deeper baffle or change mounting angle, then re-baseline margin. Maps to: H2-7 / H2-4
Range is much shorter than spec—should I blame Tx power or Rx noise first?
Short answer: split Tx-power vs Rx-noise with two quick checks. Measure Tx pulse current (shunt or TP-PWR2 droop signature) and confirm the modulation amplitude is stable. Then block the beam and measure Rx noise at TP-OPT1/TP-OPT2; if noise floor is high or bandwidth is wrong, blame Rx. First fix: restore Tx current/thermal derating, or tighten Rx bandpass and TIA gain. Maps to: H2-6 / H2-5
AGC looks maxed out—does that mean fog, dirty lens, or sun leakage?
Short answer: AGC maxed can mean very different things. If saturation_flag asserts or TP-OPT1 sits near a rail, it’s sunlight leakage or a strong reflection. If there’s no saturation but demod_amp_headroom slowly shrinks, suspect fog/dirty optics or window condensation. Confirm with drift rate in logs (baseline_margin vs time) and a quick clean/shade A/B test. First fix: improve baffle/window, or schedule maintenance and re-baseline. Maps to: H2-7 / H2-4 / H2-10
Relay output chatters—logic debounce issue or supply droop?
Short answer: relay chatter is usually either decision jitter or supply droop. Correlate relay_chatter_count/alarm_state_transitions with brownout_counter and reset_reason_reg. Scope TP-IO1 (relay drive) and V_LOGIC during chatter. If V_LOGIC dips or resets occur, fix power first; if power is stable, fix debounce/hold logic. First fix: set minimum on/off time, and define a safe output_state_on_brownout. Maps to: H2-8 / H2-9
Why does a passing bird trigger alarms but a person sometimes doesn’t?
Short answer: a bird often causes fast, partial occlusion; a person miss is usually timing/geometry. Measure the demod pulse width at TP-OPT2 during real pass events and compare it to confirm/hold windows. Also log beam_quality_score to see whether edges are hovering near threshold. Isolate with a standard opaque target at fixed positions. First fix: adjust hold/confirm, increase hysteresis, and re-align to raise baseline margin. Maps to: H2-7 / H2-11
How to choose modulation frequency to avoid 50/60Hz and other IR sources?
Short answer: pick a modulation frequency that avoids ambient flicker and common IR interferers. Stay far from 100/120 Hz lighting ripple and its harmonics, and avoid typical IR remote bands (~36–40 kHz). Validate by sweeping a few candidate frequencies and measuring demod SNR at TP-OPT2 with the beam present and blocked. First fix: lock a frequency, then tune bandpass and synchronous detection windows around it. Maps to: H2-2 / H2-6
Can I run longer cables without making it unstable?
Short answer: longer cables mainly hurt by voltage drop and coupled transients. Measure VIN_min at the device during Tx pulses and alarm switching, and scope TP-BUS1 for common-mode bursts while tracking bus_crc_err/timeouts. If droop dominates, add local bulk/hold-up and input protection; if bursts dominate, add TVS/CMC at the connector and minimize ground loop area. First fix: stabilize input rail, then harden the port. Maps to: H2-8 / H2-9
What’s the safest way to set threshold/hysteresis during installation?
Short answer: the safest threshold/hysteresis setup starts from a recorded baseline. During installation, capture baseline_margin and agc_code under clean, aligned conditions, then set the threshold with a margin reserve and add hysteresis sized to cover expected jitter (wind/cloud shadow). Verify with a worst-case sunlight angle and a slight misalignment test while watching TP-OPT2 headroom. First fix: re-baseline after tightening mounts, then lock parameters. Maps to: H2-2 / H2-10
After a cold night, the alignment seems off—thermal drift or mechanical sag?
Short answer: cold-night instability can be thermal drift or mechanical sag. Thermal drift shows a gradual change in demod amplitude and margin with temperature; mechanical sag shows step-like margin shifts with wind, vibration, or mount relaxation. Compare baseline_margin vs temperature logs and spot-check alignment using an install aid. Scope TP-OPT2 before/after a gentle tap test. First fix: stiffen the bracket, add temp compensation, and re-baseline at operating temperature. Maps to: H2-4 / H2-10
RS-485 drops only during alarms—ground bounce or EMI from relay?
Short answer: if RS-485 drops only during alarms, suspect relay EMI or ground bounce. Align bus_crc_err/timeouts with alarm events, then scope TP-BUS1 (A/B + common-mode) together with V_LOGIC and TP-IO1 edges. Spikes that coincide with relay switching indicate coupling. First fix: add proper flyback/snubber on the relay drive, separate high-current return paths, and add SM712 + a common-mode choke at the terminal. Maps to: H2-8 / H2-9
How do I detect “degraded” beam before it becomes a false alarm?
Short answer: detect degraded beam by trending slow indicators, not waiting for alarms. Track current_margin_db, agc_code, and beam_quality_score against baseline; trigger a DEGRADED state when margin drops by a set dB for a sustained time without a true break. Log drift rate and saturation events to distinguish dirt vs sun leakage. First fix: clean/realign early, and gate alarms when saturation_flag is asserted. Maps to: H2-10 / H2-7
What logs/counters should every design expose for field servicing?
Short answer: at minimum, expose logs that let field techs classify optical vs power vs interface faults fast: state_code/self_test_code, saturation_flag, agc_code, current_margin_db (or demod headroom), brownout_counter + reset_reason_reg, relay transition counts, and bus_crc_err/timeouts with timestamps. Also store baseline_margin and last-good alignment time. First fix: map these to a local log dump or RS-485 readable registers. Maps to: H2-3 / H2-11