User, 19 Oct 2026: plan the current EtherCAT setup, keep the 100 W servo,
check prices on geizhals.de.
- New docs/equipment/inline-qc-control-plan.md: decisions, bus layout
(drives at the end of the line because the A6-200EC takes control
power from the main supply), I/O list for EL1809/EL2809/EL3152/EL5101
and the drive touch probe, PDO and DC notes from the A6-EC manual,
geizhals.de price table (EUR 1,891.60 to 2,104.39 + USD 246.58 for the
servo kits, THB 80k to 88k), NixOS/EtherCrab software, safety circuit
(PNOZ s3, two contactors, dump valve), bench test with pass marks
(parts about THB 64k, all reused), build order, spares, open points.
- EL3102 replaced by EL3152: the optoNCDT 1420 output is 4 to 20 mA.
- Spindle encoder index goes to an EL5101 instead of the drive touch
probe; encoder 2,000 to 2,500 pulses.
- BOM: control lines split per part with geizhals.de prices (+30% high
end for shipping and Thai duty/VAT, estimate); total USD 16,912 to
33,061 (THB 0.56M to 1.09M). Doc, render caption and fleet calculator
text now say USD 17k to 33k.
- README links the plan.
User, 18 Oct 2026: use an EtherCAT based system.
- Spindle and conveyor on the StepperOnline A6-EC100L2A1-M17 kit
(100 W, A6-200EC drive, USD 123.29), spindle through a 1:6 belt in
cyclic synchronous position, conveyor in cyclic synchronous velocity.
- The A6-EC drive has no divided encoder output, so an RS-422
incremental encoder on the spindle shaft clocks both line-scans; its
index goes to the drive touch probe for one angle reference.
- Station controller: fanless N100 mini PC with 2x Intel i226, NixOS
PREEMPT_RT, EtherCAT master EtherCrab (Rust, MIT/Apache) first, IgH
(nixpkgs, igc native driver on 6.12 LTS) as fallback; no PLC.
- EtherCAT I/O: EK1100, EL1809, EL2809, EL3102 (warp lasers sampled with
the spindle position, ~1,000 points a turn at 1 ms).
- Safety stays hardwired (safety relay, contactor; no STO at 100 W).
- Edge PC with the GPU stays off the real-time loop.
- BOM: drives, encoder, controller and I/O lines with sources; total
USD 16,112 to 32,938 (THB 0.53M to 1.09M). Next step: EtherCAT bench.
- Investor render: cabinet and outfeed labels.
User, 18 Oct 2026: for now one QC station for both machines; let the
records cool in a queue before testing them.
- inline-optical-qc.md "Where it sits": launch setup. Spindle stacks
from the Duplex system and the Classic, labelled at the press (press,
stamper set, first and last cycle), cool in FIFO racks (24 h accepted
practice, 8 h at the shortest, Stamper Discs; about one day of output,
2,800 to 3,100 records); the finishing operator feeds the station from
the cooled stacks. Gains: warp and centring measured on settled records
(the release value), one station instead of two, no Classic unloader
change, no warm-record sag or thermal camera. Cost: defects found hours
later, covered by the Duplex operator, per-cycle telemetry and an early
lane for the first records of each run and after stamper changes.
Record key from the stack label and stack position, checked against the
run-out stamper number. Capacity 10 to 12 a minute against 5 to 6:
one station to about two Duplex systems and two Classics. A station at
each press stays the later option. Cost table, open points, infeed row,
thermal camera note and the Newbilt question follow.
- Fleet calculator: the per-press stations and the release station are
gone; the finishing block shows the cooling racks with record stacks
and the one optical station by the corridor glass; tooltips, corridor
and conveyor texts; machine park back to its legend, finishing box
"cooling, QC, packing".
- quality-automation.md layer 1, digital-factory.md QC row,
process-flow.md stage 6, site-candidates.md block ground floor,
crane-workshop-tours.md tour stop 6.
- Investor render: infeed label "the operator sets each cooled record
down".
Checks: node --check; pw_bp_calc.py 0 fails; pw_iso_view_check.py OK;
info for every data-id at all presets, levels and rotations; GF nodes
2,414 at the full preset; zoomed shots in two rotations.
User, 18 Oct 2026: use real 40x40 profiles, make a render with text
pointing out the parts to show the investor; the ring lights looked
like they were floating.
- build_station.py: frame drawn from the real 8-slot 40 series section
(profile_shape: slots, centre bore, corner cavities; 40x80 with centre
cavity) and 24 cast angle brackets; top beams now butt between the
uprights; label-camera posts moved beside the cameras so both ring
lights clamp straight to them; top line-scan on a side post with
visible camera plate and light hangers; slide strips on carrier angles,
pulley axles, end-stop posts, presence-sensor brackets, backlight post,
cabinet on base crosses, chute on two supports and clear of the rail,
pneumatics rail, stack light on the back upright, touch screen on the
front end upright. A connectivity check at the end lists any part that
does not reach the floor through touching parts: none.
- render_annotated.py (FreeCAD): front three-quarter view, camera backed
off so nothing is clipped, no navigation cube or preselection, label
positions projected from the camera and checked with marker renders.
- annotate_render.py (Pillow): title, 16 labels in two columns, leaders
assigned so none cross -> inline-qc-station-annotated.png.
- render_station.py: same camera and preselection fixes; all six views
re-rendered.
- BOM: 32 m of 40x40 in 45 pieces; total still USD 16k to 33k.
- inline-optical-qc.md and README updated; .gitignore for the render
intermediates.