A longer minimum pulse is worse: the gap is what decides striking

min_ticks 6 broke 5 percent striking - seven current segments where 3 gave
eight, on a 36.5 s fire window against 41.4 s for eight rungs. Below the
minimum the model emits min ticks every min/on periods, so the interval
between pulses is min_ticks x tick / density and the base period cancels,
which is also why periods 10, 20 and 40 gave identical results earlier.
At 5 percent that is 2.26 ms at min 3, which struck, against 4.51 ms at 6,
which did not: doubling the minimum doubles the gap as well as the pulse,
and the discharge is re-struck each pulse.

min 3 sits at the factory's own operating point - its 6.5 percent engrave
jobs place 100 us pulses 1.54 ms apart against 1.64 ms for min 3 at that
density - and 6 is outside anything the factory does. The bench is back
at 3.

Measured band for this tube: strikes from ~5 percent density, marks from
~10 percent at F300. That closes the pulse-structure route to a usable
1 percent, since the interval grows as 1/density and 1 percent implies an
11 ms gap. The low end is a scaling problem, and $35 is the control.
This commit is contained in:
ScottW514
2026-08-17 21:52:15 -04:00
parent ff454ed537
commit d7c23cce19
2 changed files with 53 additions and 9 deletions
+20
View File
@@ -724,6 +724,19 @@ not a release.
corner instead of the ~7.7× it would rise with no compensation. On the UI
scale, PP 1→100 is linear in density (~0.006 per unit, intercept ~0.189) and
Full Power sits off that line, where PP ~134 would land.
- **Density dose limits** (measured on five ladders, `dladder`): under the
FIRE-density model the interval between pulses at a level below the
minimum is `min_ticks x tick / density` - **the base period cancels**,
which is why periods 10, 20 and 40 gave identical results. The tube
**strikes down to ~5 % density at a 2.26 ms interval** (`min_ticks` 3,
106 us pulses) and **fails to strike at 4.51 ms** (`min_ticks` 6, 213 us):
lengthening the pulse at fixed density lengthens the gap in proportion,
and the gap is what kills re-striking. It **marks from ~10 %** at F300 on
scrap. `min_ticks` 3 is essentially the factory's own structure - its
6.5 % engrave jobs put 100 us pulses 1.54 ms apart, against 1.64 ms for
`min_ticks` 3 at that density - and 6 is outside anything the factory
does. Below ~5 % no pulse shape reaches the tube: the interval grows as
1/density, so 1 % implies an 11 ms gap, five times what already failed.
- **Cooling operating point**: 40 % heater duty, 50 s window, flow-rise
threshold 14.4 °C, re-checks every 150 s. Below ~40 % duty the stagnant loop
sheds the heater's output by convection well enough to mimic flow (at 30 %,
@@ -1113,6 +1126,13 @@ Open items only. Anything closed is in `CAMPAIGN-LOG.md`.
With a minimum in place the low end is decoupled from the base period,
so the period is free to be chosen on other grounds. It stays at 20.
**The low end is a scaling problem, not a modulation one.** The band
this tube gives is ~5 % density to strike and ~10 % to mark (facts
bank); below that the pulse interval outruns the discharge whatever the
pulse shape. So a commanded 1 % can only be made useful by mapping it
onto that band, which is what the factory does and what `$35` is under
this model.
Owed: the user-facing scale. The factory maps its whole 1-100 power
scale onto density 18.9-79.5 % (fit from the three captures; Full Power
is off that line at ~99.7 %), so its "1 %" is the bottom of the band
+33 -9
View File
@@ -2981,15 +2981,39 @@ against the result rather than for it — this ladder started at MPos 0,0 after
the controller restart, so it may be on different material than the stacked
Y=0/24/48/72 runs.
Owed next: whether a longer minimum reaches further down (`min_ticks = 6`,
213 µs, is set on the bench for the next ladder), and then the user-facing
scale. Under this model `$35` and `$36` are a density floor and ceiling, so
mapping S onto the usable band is a settings choice rather than new code, but
the floor's value wants a finer ladder than the 10 %→20 % step. The trick has
a ceiling of its own: a longer minimum at fixed dose means longer gaps, and
once gap × feed approaches the beam spot a line dots. At 5 mm/s a 4.5 ms gap
is 22 µm against a ~200 µm spot; at 2000 mm/min it is 150 µm, where dotting
would start to show.
### The sixth ladder: a longer minimum is worse, and why
`min_ticks = 6` (213 µs), same ladder otherwise. **It broke 5 % striking** —
seven current segments again, boundaries at 14.5, ~19.85, 25.2, 30.4, 35.9
and 41.1 s, segments 4.4–4.9 s with none double-length, fire spanning
9.5 → 46.0 s = 36.5 s against 41.4 s for eight rungs, and the flat saturated
tail anchoring rung 8. Seven rungs marked, matching.
The arithmetic explains it. Below the minimum the model emits `min` ticks
every `min/on` periods, so the interval between pulse starts is
interval = min_ticks × tick / density
and **the base period cancels** — which retroactively explains why periods
10, 20 and 40 gave identical results in the first three ladders. At 5 %
density that is 2.26 ms at `min_ticks` 3, which struck, against 4.51 ms at 6,
which did not. Doubling the minimum doubles the gap as well as the pulse, and
the gap is what decides: the discharge is re-struck each pulse and past
roughly 2–4 ms it has decayed too far to catch.
That also puts `min_ticks` 3 at the factory's own operating point — its 6.5 %
engrave jobs place 100 µs pulses 1.54 ms apart, against 1.64 ms for
`min_ticks` 3 at that density — and puts 6 outside anything the factory does,
in the direction that fails. The bench is back at 3.
**Measured band for this tube: strikes from ~5 %, marks from ~10 % at F300.**
Which closes the pulse-structure route to a usable 1 %. The interval grows as
1/density, so 1 % implies an 11 ms gap, five times what already failed —
no pulse shape reaches down there. The low end is a scaling problem: map the
user's 1–100 onto the band that works, via `$35` as the density floor, which
is what the factory does and why its cut scale starts at 18.9 % while its
engraves reach 6.5 %. Both sit inside the band measured here independently.
## Superseded status notes