User, 18 Oct 2026, asked about the A6-EC400H2B1-M17-STO (400 W, STO, brake, USD 157.91). STO comes only from 400 W; its manual gives no SIL or PL and no certificate, so it cannot replace the contactor; the brake holds nothing on a horizontal axis. Recommendation recorded: keep the 100 W kit; if a rated STO is confirmed in writing, take the brake-less A6-EC400H2A1-M17-STO (USD 129.60) on both axes, 1:2 to 1:3 belt, no contactor.
556 lines
38 KiB
Markdown
556 lines
38 KiB
Markdown
# Inline optical QC: devices for the record inspection station
|
||
|
||
Research note, October 2026. This note works out which devices can do
|
||
layer 1 of [quality automation](../quality-automation.md#layer-1-100-optical-inspection-inline),
|
||
the optical check of every pressed record. Prices come from vendor shops,
|
||
vendor pages or third-party listings, and the source is named each time.
|
||
Anything without a source is marked as an estimate. Nothing here is a
|
||
quote.
|
||
|
||
**Short answer.** Nobody sells a vinyl inspection machine. The template
|
||
is the CD and DVD in-line scanner: spin the disc once under a line-scan
|
||
camera that looks along the radius, with angled lights, and measure the
|
||
height with lasers during the same turn. That can be built from standard
|
||
parts:
|
||
|
||
- a 4k line-scan camera per side, with dark-field and bright-field lights;
|
||
- a colour area camera per side for the label;
|
||
- two laser distance sensors for warp;
|
||
- a servo turntable with a centring chuck;
|
||
- an edge PC running open-source vision software on NixOS.
|
||
|
||
The hardware costs about USD 16k to 33k per station (bill of materials,
|
||
partly estimates). At launch one station serves both presses, the Duplex
|
||
system and the Classic, and it checks the records after they have cooled
|
||
(decided October 2026; see [where it sits](#where-it-sits)). A concept model of the station, an aluminium
|
||
profile frame with a rim-belt conveyor and all sensors mounted to it, is
|
||
in [the station setup](#the-station-setup-frame-conveyor-and-sensors).
|
||
|
||
## What the station has to catch
|
||
|
||
| Defect | How it shows optically | Device | Limit or source |
|
||
|---|---|---|---|
|
||
| Non-fill (PVC did not fill the stamper) | dull, matte patches in the groove band, most often at the outer edge of 180 g records ([AnalogPlanet](https://analogplanet.com/content/what-non-fill-looks)) | line-scan camera, low-angle (dark-field) light | any patch; correlates with audible defects |
|
||
| Stitching and flow lines | lines or streaks in the groove sheen | same | any visible line |
|
||
| Bubbles, inclusions, black specks | dark or bright points; in clear and translucent colours seen best in transmitted light | line-scan with a back light | size threshold set in trials |
|
||
| Debris, scratches, scuffs | bright points or lines in dark-field, dark in bright-field | both lights | size threshold set in trials |
|
||
| Edge trim (burr, wrong diameter) | the record edge in the line-scan image | line-scan | trim drawing |
|
||
| Label wrong, on the wrong side, off-centre, wrinkled, bubbled, misprinted | colour image of the label against the approved artwork from the order | colour area camera, ring or dome light | artwork in ERPNext |
|
||
| Off-centre hole (eccentricity) | the groove band edges trace a sine wave in the unwrapped image when the hole sits off the spiral centre | line-scan, fit of the lead-in and the finishing groove | 0.2 mm hole to groove spiral (IEC 98-1987, DIN 45547-1981, as [tabulated here](http://www7a.biglobe.ne.jp/~yosh/standards_table.htm)); Stamper Discs aims below 0.1 mm on the record and 0.05 mm on the stamper ([Stamper Discs, 2025](https://www.stamperdiscs.com/the-physical-attributes-of-a-stamper-eccentricity/)) |
|
||
| Centre hole size | hole diameter in a backlit image, or a go/no-go mandrel | area camera (optional) | 7.24 mm, -0/+0.09 mm (same table) |
|
||
| Warp: edge run-out and dish | height change over one turn | two laser distance sensors, or one laser line profiler | Mobineko rejects above 0.5 mm (black), 1.0 mm (colour) or 1.5 mm (special effects) edge run-out per turn, or above 2 mm (black) or 3 mm (colour) between edge and centre ([Mobineko](https://mobineko.com/vinyl-quality-standards)) |
|
||
| Colour off the approved test pressing | colour values against the first approved records of the job | calibrated colour camera | tolerance set per job |
|
||
| Record temperature at unload (process signal, optional) | temperature map | thermal camera | trend against warp |
|
||
|
||
No camera can see a wrong master cut into good-looking grooves, or clicks
|
||
from defects smaller than its resolution. Those stay with the sampled
|
||
audio comparison (layer 3). Optical and audio checks complement each other.
|
||
|
||
## Who does this already
|
||
|
||
- **No vinyl product.** A search in October 2026 found no inline
|
||
inspection machine for vinyl records on sale. The presses do not offer
|
||
one either. The Newbilt Classic's feature list stops at automatic
|
||
unloading, the spindle stack, cycle recording and OPC UA
|
||
([Newbilt Classic](https://vinyl-pressing-plants.com/blog/newbilt-classic-12-inch-vinyl-record-press)).
|
||
- **CD and DVD lines had it, and that is the template.** Dr. Schenk's ISM
|
||
in-line scanner ([brochure, 2007](https://www.drschenk.com/fileadmin/user_files/brochures/13-other_applications/optical_media_inspection/ism_inline_scanner.pdf)):
|
||
- a 2048-pixel, 12-bit line-scan camera with LED lights;
|
||
- one turn in 600 ms or less, 20 µm radial resolution;
|
||
- radial and tangential disc deformation measured at 1,000 points;
|
||
- a defect classifier, on embedded Linux.
|
||
|
||
Basler began in this market in 1990 for PolyGram in Hanover
|
||
([IMVE](https://imveurope.com/feature/caught-camera)) and sold the
|
||
optical-media business to Xiris in 2009
|
||
([Vision Systems Design](https://vision-systems.com/cameras-accessories/article/16747762/basler-sells-optical-media-business-continues-focus-on-camera-markets)).
|
||
A vinyl record is a bigger, black, grooved disc, but the method carries
|
||
over.
|
||
- **Precision Record Pressing (Ontario), 2023.** Their in-house AQA system
|
||
takes the first and second record of each order. Surface-scanning
|
||
cameras built into the lids of modified turntables scan both records,
|
||
then both are played in sync and compared with the master
|
||
([PRP](https://www.precisionpressing.com/blog/news-prp-announces-new-automated-quality-assurance-system)).
|
||
It works on samples and is not for sale, but it is the closest vinyl
|
||
precedent.
|
||
- **Czech Technical University, Prague.** A bachelor thesis built an
|
||
automated optical defect check for LPs in LabVIEW and ran lighting
|
||
experiments ([CTU thesis](https://dspace.cvut.cz/entities/publication/11505711-6ce1-4b87-904d-a1421d91cf9f)).
|
||
A 2018 paper from the same faculty identified defects with a wavelet
|
||
method and classified them with KNN, and got 57 % of records right
|
||
([CTU, 2018](https://starfos.tacr.cz/en/vysledky-vyzkumu/RIV%2F68407700%3A21230%2F18%3A00321872)).
|
||
- **Plants check by hand today.** Mobineko measures flatness with a
|
||
micrometer gauge and a laser level on a modified turntable
|
||
([Mobineko](https://mobineko.com/vinyl-quality-standards)). Third Man
|
||
checks flatness and label orientation by eye as records leave the press
|
||
([WIRED](https://www.wired.com/video/watch/how-vinyl-records-are-made-with-third-man-records)).
|
||
|
||
## The station
|
||
|
||
**How it works.** The record goes onto a centring chuck: a mandrel
|
||
expands in the 7.24 mm hole and a ring supports the label area. A servo
|
||
turntable with an encoder turns it once in about 1 s. Both sides are
|
||
imaged during that one turn, one camera set above and one below. The
|
||
lights are strobed on alternate lines, so the same turn gives a
|
||
dark-field, a bright-field and a transmitted-light image. Stacking line
|
||
images from one turn into one picture is standard multi-light line-scan
|
||
practice (estimate for this application; to prove in trials). The PC
|
||
unwraps each image into a strip of radius against angle, which makes
|
||
rings straight lines and an off-centre hole a sine wave.
|
||
|
||
| Function | Device, per side unless noted | Examples | Price signal |
|
||
|---|---|---|---|
|
||
| Surface | 4k monochrome line-scan camera along the radius, with a lens, plus a dark-field and a bright-field line light | Basler racer 2 r2L4096 (GigE, 14 to 29 kHz); Hikrobot MV-CL042-91GM (GigE, 4096 × 7 µm pixels, 28 kHz, 80 kHz in high-bandwidth mode, GenICam, Linux; [datasheet](https://www.innosmart.bg/en/catalog/product/by-id/MV-CL042-91GM)); Cognex In-Sight 3800 Line Scan (smart camera, 4K at 84 kHz, encoder inputs, AI tools on board; [specs](https://www.cognex.com/products/machine-vision/2d-machine-vision-systems/in-sight-3800-line-scan/specifications)) | Basler 4k GigE line-scan from USD 857 to 1,088 in Basler's web shop ([price listing](https://cards.keenable.ai/w/01a14ab8-9648-7191-8286-bc5956857428)); lens USD 300 to 800 and line lights USD 500 to 1,500 each (estimates) |
|
||
| Transmitted light | a diffuse line light under the record for the top camera | any line-light maker | USD 500 to 1,500 (estimate) |
|
||
| Label | 5 to 8 MP colour area camera with a ring or dome light | Basler ace 2 a2A2840-14gcPRO | USD 1,119 (Basler web shop, same listing) |
|
||
| Warp, simple | two laser distance sensors under the record, at the outer edge and at mid radius | Micro-Epsilon optoNCDT 1420 | from EUR 470 list ([Micro-Epsilon](https://www.micro-epsilon.com/insights/optoncdt-1220-1320-1420/)); ILD1420-25 about USD 1,600 at a reseller ([Radwell](https://www.radwell.ca/Buy/MICRO%20EPSILON/MICRO%20EPSILON/ILD1420-25)) |
|
||
| Warp and thickness, full map (alternative) | laser line profiler across the radius, giving a full height map | Keyence LJ-X8000 (warpage and flatness tools, compensates eccentricity; [Keyence](https://keyence.com/products/measure/laser-2d/lj-x8000)); LMI Gocator 2500 (up to 10 kHz, blue laser; [LMI](https://lmi3d.com/2500-high-speed-3d-laser-profile-sensors/)); Micro-Epsilon scanCONTROL | no list price found; USD 8k to 20k (estimate) |
|
||
| Thermal (optional) | infrared camera over the unload position | Optris Xi 400 (80 Hz, line-scan mode) | from EUR 1,950 ([Optris](https://optris.com/products/thermal-cameras/compact-line/xi-400/)); USD 2,995 at a US reseller ([moviTHERM](https://movitherm.com/product/optris-xi-400-infrared-camera/)) |
|
||
| Compute | edge PC with a GPU, NixOS | any industrial PC | USD 2k to 4k (estimate) |
|
||
| Mechanics | servo turntable, centring chuck, encoder, frame, light shield, reject gate, stack light | local machine builder | USD 4k to 10k (estimate) |
|
||
|
||
**Resolution.** These are worked figures for a 160 mm field and a 4,096-pixel line:
|
||
|
||
- **Radial:** about 39 µm per pixel.
|
||
- **Along the groove, at 14 kHz and one turn per second:** about 66 µm per line at the outer edge (146 mm radius) and 22 µm at the label edge. At 28 kHz these halve.
|
||
- **What that sees:** millimetre-sized non-fill, flow lines and specks of about 0.1 mm and up. It does not resolve single grooves.
|
||
- **How defects show:** the camera sees how the groove field scatters light, so a defect has to change that scatter. That is why lighting trials come first, as in the CTU thesis.
|
||
|
||
**Eccentricity.** At the 0.1 mm target, the sine wave in the unwrapped
|
||
image is about 2.6 pixels high. A sub-pixel fit along the lead-in edge
|
||
and the finishing groove (106.4 ± 0.8 mm diameter in IEC 98) over about
|
||
14,000 lines should repeat within 10 to 20 µm. That figure is an estimate
|
||
and has to be shown in trials. The chuck has to centre on the hole
|
||
exactly, because the station measures the groove spiral against the
|
||
chuck.
|
||
|
||
**Throughput.**
|
||
|
||
| | Duplex cell | Classic |
|
||
|---|---|---|
|
||
| Output | a record every 15 to 20 s from its two presses (at 30 to 40 s per press; Newbilt quotes about 30 s, and the [fleet calculator](../fleet-calculator.html) takes 3 records a minute as 40 s) | a 180 g record every 28 s (Newbilt) |
|
||
| Station time per record | about 1 s of scan plus 2 to 3 s to load and unload (estimate) | same |
|
||
|
||
That leaves slack at both stations. One central station takes the
|
||
launch plant's 5 to 6 records a minute with room to spare, and that is
|
||
the launch setup ([where it sits](#where-it-sits)). A station at each
|
||
cell would catch a non-fill streak within a cycle or two; that stays the
|
||
option for a larger fleet.
|
||
|
||
## The station setup: frame, conveyor and sensors
|
||
|
||
A concept model of one station, drawn in FreeCAD from the script
|
||
[`build_station.py`](inline-qc-station/build_station.py) (views from
|
||
[`render_station.py`](inline-qc-station/render_station.py); model file
|
||
[`inline-qc-station.FCStd`](inline-qc-station/inline-qc-station.FCStd)).
|
||
It is a layout to take to a machine builder, not a fabrication drawing.
|
||
The frame uses the real 8-slot 40 series section (slots, centre bore,
|
||
corner cavities) with cast angle brackets in the corners; bought parts
|
||
are drawn as their outline boxes. The script checks that every part
|
||
reaches the floor through parts it touches, so nothing floats.
|
||
|
||

|
||
|
||
*The labelled view for presentations, made with
|
||
[`render_annotated.py`](inline-qc-station/render_annotated.py) (FreeCAD
|
||
view and label positions) and
|
||
[`annotate_render.py`](inline-qc-station/annotate_render.py) (labels,
|
||
Pillow).*
|
||
|
||

|
||
|
||
*Records run from the infeed (back left, a translucent red special on
|
||
the belts) through the light-tight tunnel to the reject pusher and the
|
||
outfeed stop (front right). The cabinet sits under the outfeed, the
|
||
reject bin behind it.*
|
||
|
||
**Frame.** The frame is built from 40 × 40 mm 8-slot aluminium profile
|
||
(32 m in 45 pieces) on two 40 × 80 mm base beams, with 24 cast angle
|
||
brackets in the corners and eight levelling feet. It is 1.9 m long, 0.65 m wide and 1.5 m high, plus the stack
|
||
light. The reject bin adds 0.4 m behind it. Records travel at 900 mm,
|
||
a normal working height.
|
||
|
||
The middle 0.8 m is a tunnel closed with black panels on all sides
|
||
(4.3 m²), because the line-scans need their own light only. The front
|
||
panel is a door with a safety switch. The records enter and leave
|
||
through low slots in the end walls. The reject zone has a clear polycarbonate guard.
|
||
All camera and light brackets clamp into the slots, so heights and angles
|
||
can be moved during the lighting trials.
|
||
|
||
**Conveyor.** Two 6 mm PU round belts run under the record's rim, 148.5 mm
|
||
from the centre line. That is outside the recorded area: a 12" record is
|
||
301.6 mm across and its grooves end at 292.6 mm at most (IEC 98, as
|
||
[tabulated here](http://www7a.biglobe.ne.jp/~yosh/standards_table.htm)).
|
||
The belt therefore touches only the raised edge that records are made to
|
||
stand on, never a groove. The centre stays open, so cameras and the chuck
|
||
can reach the record from below.
|
||
|
||
The belts run on UHMW slide strips and are driven by one shaft at the
|
||
outfeed end. Side guides with a flared mouth centre the record at the
|
||
infeed. Supported on two rim lines, a warm 180 g record sags about 1 mm
|
||
in the middle (beam estimate). The launch setup feeds cooled records,
|
||
which are stiffer; the trials should confirm that the sag does no harm. For 10" and 7" records the belt spacing moves in on a slide;
|
||
the model shows the 12" setting.
|
||
|
||
| Station | Position from the infeed end | What happens |
|
||
|---|---|---|
|
||
| Infeed | 200 mm | the finishing operator puts each cooled record down (at a press-side station: the press operator or the Classic's unloader); a presence sensor starts the cycle |
|
||
| Label gate | 520 mm | both colour cameras flash the labels on the fly through the open centre (exposure about 20 µs, under 10 µm blur at 0.5 m/s); the top camera also reads the dead-wax code that ties the record to its stamper, and so to its press and cycle (readability to test, as in [digital factory](../digital-factory.md)) |
|
||
| Inspection | 880 mm | a through-beam on the leading edge stops the belts; the chuck lifts the record 75 mm off them (the pad waits below the belt plane), expands the mandrel in the 7.24 mm hole and turns it once in about 1 s |
|
||
| Reject | 1,320 mm | a pneumatic rodless cylinder on a bridge pushes a reject sideways by its edge onto a felt-lined chute at the back and into the bin |
|
||
| Outfeed | 1,715 mm | good records wait at a soft end stop; the station holds the next one while the outfeed is full |
|
||
|
||

|
||
|
||

|
||
|
||
**Inspection zone.** The record is shown lifted on the chuck. The two
|
||
line-scans look at opposite radii along the conveyor axis, because no
|
||
belt crosses that line:
|
||
|
||
- **Top camera:** reads the downstream radius, from 50 to 155 mm, from
|
||
330 mm above. A coaxial line light sits under it, two dark-field line
|
||
lights sit at 20° either side, and a diffuse backlight below the
|
||
record gives transmitted light for clear colours.
|
||
- **Bottom camera:** reads the upstream radius from below with the same
|
||
set of lights.
|
||
- **Bottom dark-field lights:** these sit outside the record's footprint,
|
||
above the rails, so the conveyed record passes them. They light the
|
||
underside at about 8°, true dark-field.
|
||
- **Warp lasers:** two lasers under the record trace circles at 90 and
|
||
130 mm radius during the turn.
|
||
- **Spindle drive:** an encoder on the spindle shaft clocks both
|
||
line-scans; the lasers are sampled with the servo position (see the
|
||
spindle servo below).
|
||
- **Lift drive:** the lift is a guided pneumatic cylinder, and the
|
||
spindle is belt-driven from a servo set to the side. That keeps the
|
||
bottom camera's view cone clear, which the elevation shows.
|
||
- **Thermal camera (option):** hangs at the tunnel entry. It only makes
|
||
sense at a press-side station; cooled records show no temperature
|
||
pattern, so the launch setup leaves it out.
|
||
|
||
**Spindle servo and camera clock.** The spindle runs on a 100 W EtherCAT
|
||
servo kit, StepperOnline A6-EC100L2A1-M17: a 40 mm motor (0.32 N·m rated,
|
||
1.12 N·m peak, 17-bit magnetic encoder, 0.03 kg·cm² rotor) with the
|
||
A6-200EC drive. It costs USD 123.29 from the China warehouse
|
||
([StepperOnline](https://www.omc-stepperonline.com/a6-series-100w-ethercat-ac-servo-motor-kit-3000rpm-0-32nm-17-bit-absolute-encoder-ip67-a6-ec100l2a1-m17),
|
||
October 2026). The conveyor uses the same kit, so one spare covers both.
|
||
|
||
- **Belt ratio 1:6** (for example 15 to 90 teeth). The record alone is
|
||
about 20.5 kg·cm² (180 g at 150.8 mm radius); with the spindle head the
|
||
load is about 25 to 35 kg·cm² (estimate). That is about 1,000 times the
|
||
rotor direct; through 1:6 the ratio comes down to about 28, inside the
|
||
drive's tuning range. The motor then runs at 360 rpm for one turn a
|
||
second.
|
||
- **Torque is no limit.** Reaching one turn a second in 0.15 s takes
|
||
about 0.13 N·m at the spindle and 0.02 N·m at the motor (our
|
||
arithmetic), well under the rating.
|
||
- **Camera clock from a spindle encoder.** The A6-EC drive has no
|
||
divided encoder output: its CN1 port carries five inputs, two of them
|
||
touch probes, and three outputs
|
||
([A6-EC manual](https://www.omc-stepperonline.com/download/A6-EC_series_servo_drive_manual.pdf)).
|
||
So an incremental encoder (RS-422 line driver, 2,500 to 5,000 pulses a
|
||
turn) sits on the spindle shaft. Its A/B signals clock both line-scans
|
||
directly (Basler racer 2 encoder control,
|
||
[Basler](https://docs.baslerweb.com/encoder-control)), so line timing
|
||
never passes through software, and it measures the spindle itself
|
||
rather than the motor behind the belt. Its index pulse goes to the
|
||
drive's touch-probe input, which latches the servo position at the same
|
||
mark every turn. The scan, the laser traces and the servo then share
|
||
one angle reference.
|
||
- **STO version, looked at in October 2026.** StepperOnline sells the
|
||
A6-EC drive with Safe Torque Off only from 400 W: A6-EC400H2B1-M17-STO
|
||
with a brake (USD 157.91,
|
||
[StepperOnline](https://www.omc-stepperonline.com/a6-series-400w-sto-safe-torque-off-ethercat-ac-servo-motor-kit-3000rpm-1-27nm-w-brake-17-bit-absolute-encoder-ip67-a6-ec400h2b1-m17-sto))
|
||
or the same without a brake, A6-EC400H2A1-M17-STO (USD 129.60). The STO
|
||
is two 24 V inputs, STO1 and STO2, on CN5, but its manual names no
|
||
safety rating: no SIL or PL figure and no certificate
|
||
([A6-EC-STO manual](https://files.omc-stepperonline.com/A6-EC-STO_manual.pdf)).
|
||
On that document alone it cannot replace the contactor in the safety
|
||
circuit. The brake holds nothing on a horizontal spindle or conveyor.
|
||
Recommendation: stay with the 100 W kit. If StepperOnline confirms a
|
||
rated STO in writing, switch both axes to the version without a brake
|
||
and drop the contactor; its 0.60 kg·cm² rotor then needs only a 1:2 to
|
||
1:3 belt.
|
||
|
||
**Sensor list.** Everything that measures the record, and everything the
|
||
station controller needs to run the station. Lights, drives and cylinders are in the
|
||
[bill of materials](inline-qc-station/inline-qc-station-bom.csv).
|
||
|
||
| Sensor | Qty | Example | Where | What it measures | USD each |
|
||
|---|---|---|---|---|---|
|
||
| 4k monochrome line-scan camera, GigE, 50 mm lens | 2: top and bottom | Basler racer 2 r2L4096, Hikrobot MV-CL042-91GM | inspection zone, on opposite radii (top 330 mm above the record) | surface: non-fill, stitching, flow lines, specks, bubbles, under dark-field, bright-field and transmitted light on alternate lines; eccentricity from the groove spiral | 857 to 1,088 (Basler web shop); lens 300 to 800 (estimate) |
|
||
| 8 MP colour area camera, GigE, 16 mm lens, ring light | 2: top and bottom | Basler ace 2 a2A2840-14gcPRO | label gate, 520 mm from the infeed | right label on the right side, print, label centring; the top camera also reads the stamper number in the run-out | 1,119 (Basler web shop); lens and ring light 300 to 800 (estimate) |
|
||
| Laser distance sensor | 2 | Micro-Epsilon optoNCDT 1420 | under the record, at 90 and 130 mm radius; analog output to the EtherCAT analog input | warp: height traced round two circles during the turn | from EUR 470 list; ILD1420-25 about 1,600 at a reseller |
|
||
| Servo encoder, 17-bit | 2: spindle and conveyor | StepperOnline A6-EC100L2A1-M17 kit | in each motor; position over EtherCAT | spindle angle for the sequence and the warp traces; conveyor travel | in the kit, 123.29 |
|
||
| Incremental encoder, RS-422 line driver, 2,500 to 5,000 pulses a turn | 1 | Omron E6B2-CWZ1X class | on the spindle shaft | A/B clock both line-scans; the index latches the servo position through the drive's touch probe | 60 to 300 (estimate) |
|
||
| Diffuse photoelectric sensor | 3 | any industrial make | looking up through the open centre: infeed, label trigger, outfeed | a record at the infeed starts the cycle; the trigger fires the label cameras; a full outfeed holds the next record | 50 to 150 (estimate) |
|
||
| Through-beam photoelectric sensor | 1 pair | any industrial make | across the conveyor at the inspection position | the record's leading edge; stops the belts over the chuck | 50 to 150 (estimate) |
|
||
| Cylinder position switch | 6 | SMC D-M9 class | lift (up, down), reject pusher (home, out), mandrel (open, clamped) | confirms each move before the next step | 25 to 60 (estimate) |
|
||
| Safety door switch | 1 | any safety-rated make | tunnel door | stops the station when the door opens, through the safety relay with the e-stop | in the door lot, 120 to 350 (estimate) |
|
||
| Thermal camera (option, not in the launch setup) | 0 or 1 | Optris Xi 400 | over the unload position, at a press-side station only | temperature map of a warm record, trended against warp | from EUR 1,950 |
|
||
| Laser line profiler (alternative to the two lasers) | 0 or 1 | Keyence LJ-X8000, LMI Gocator 2500, Micro-Epsilon scanCONTROL | across the radius | full height and thickness map | 8k to 20k (estimate) |
|
||
|
||
So the launch station carries four cameras, two lasers, two servo
|
||
encoders and the spindle encoder, four photoelectric sensors, six
|
||
cylinder switches and the door switch. The cameras go to the edge PC,
|
||
the spindle encoder straight to the line-scans, and everything else onto
|
||
EtherCAT.
|
||
|
||
**Cycle per record (estimate).**
|
||
|
||
| Step | Time |
|
||
|---|---|
|
||
| Convey to the inspection position | 1.5 to 2.5 s |
|
||
| Lift and clamp | 0.5 s |
|
||
| One turn, with run-up and stop | 1.3 s |
|
||
| Lower | 0.3 s |
|
||
| Convey out, with a push if rejected | 1 to 2 s |
|
||
| **Total** | **about 5 to 6 s** |
|
||
|
||
A Duplex cell delivers a record every 15 to 20 s and the Classic one
|
||
every 28 s; together that is 5 to 6 records a minute, against the 10 to
|
||
12 the station can take. The PC finishes the verdict while the record is lowered and
|
||
carried to the pusher.
|
||
|
||
**Control: EtherCAT** (decided October 2026; it replaces the small PLC
|
||
of the first draft).
|
||
|
||
- **Station controller:** a fanless mini PC, Intel N100 class with two
|
||
Intel i226 ports, from USD 162 on Alibaba to USD 279 to 469 at retail
|
||
([listing](https://cards.keenable.ai/w/01a15225-b50f-7e20-b3c2-e5fdaafae28c),
|
||
[plugpcs](https://plugpcs.com/mini)). It runs NixOS with the PREEMPT_RT
|
||
kernel, declared in the plant's clan like the edge PC. It is the
|
||
EtherCAT master and runs the station sequence, which we write
|
||
ourselves; there is no PLC.
|
||
- **Master software,** open source either way:
|
||
- **EtherCrab:** a pure Rust master (MIT or Apache-2.0) with
|
||
distributed clocks, CoE and basic CiA402 drive support
|
||
([GitHub](https://github.com/ethercrab-rs/ethercrab)). It fits the Rust
|
||
stack of the factory application, and is the first choice.
|
||
- **IgH EtherCAT Master:** the mature fallback (GPL-2.0, its library
|
||
LGPL-2.1), packaged in nixpkgs
|
||
([MyNixOS](https://mynixos.com/nixpkgs/package/linuxKernel.packages.linux_6_18.ethercat)).
|
||
Its native igc driver for the i226 is listed for the 6.12 kernel, so
|
||
with IgH, pin the 6.12 LTS kernel
|
||
([IgH device drivers](https://docs.etherlab.org/ethercat/1.6/doxygen/devicedrivers.html)).
|
||
- **On the bus, in one line:** the spindle drive, the conveyor drive, and
|
||
an EK1100 coupler with EL1809 (16 inputs: photoelectric sensors,
|
||
cylinder switches, door and e-stop status), EL2809 (16 outputs: valves,
|
||
stack light) and EL3102 (two analog inputs for the warp lasers;
|
||
[Beckhoff](https://www.beckhoff.com/en-us/products/i-o/ethercat-terminals/el-ed3xxx-analog-input/el3102.html)).
|
||
The cycle is 1 ms with distributed clocks. The spindle runs in cyclic
|
||
synchronous position mode, the conveyor in cyclic synchronous velocity.
|
||
- **Warp traces:** the lasers are sampled in the same cycle as the
|
||
spindle position, so each trace comes with its angles: about 1,000
|
||
points a turn at 1 ms (our arithmetic). The EL3102 takes ±10 V; if the
|
||
lasers are ordered with a current output, an EL3152 (4 to 20 mA) takes
|
||
its place.
|
||
- **Safety stays hardwired:** the e-stop and the door switch sit on a
|
||
safety relay that drops a contactor in the drive supply. The 100 W kit
|
||
has no STO input; in the A6-EC list, STO versions start at 400 W.
|
||
- **Edge PC:** the NixOS edge PC with the GPU, under the outfeed, takes
|
||
the four GigE cameras on PoE and the light controllers. It talks to the
|
||
station controller over plain Ethernet (record in place, turn done,
|
||
verdict with the reason) and sends the result string and images to the
|
||
factory system (see [digital factory](../digital-factory.md)). Keeping
|
||
the master off this PC keeps the GPU load away from the real-time loop.
|
||
- **HMI:** a browser page from the station controller on the 10 inch
|
||
touch panel.
|
||
|
||
Utilities are 230 V single phase at about 1 kW and 6 bar compressed air
|
||
(estimates).
|
||
|
||

|
||
|
||

|
||
|
||

|
||
|
||
**Bill of materials.** The line-by-line list with sources is in
|
||
[`inline-qc-station-bom.csv`](inline-qc-station/inline-qc-station-bom.csv).
|
||
By group, per station:
|
||
|
||
| Group | USD | Main parts |
|
||
|---|---|---|
|
||
| Frame | 0.8k to 1.6k | 32 m of 40 × 40, 3.8 m of 40 × 80, angle brackets, feet |
|
||
| Enclosure and guards | 0.3k to 0.7k | black panels, polycarbonate, door switch |
|
||
| Conveyor | 0.4k to 1.1k | round belts, pulleys, slide strips, 100 W EtherCAT servo drive |
|
||
| Handling | 1.9k to 4.5k | guided lift cylinder, 100 W EtherCAT spindle servo, spindle head with mandrel, rodless cylinder, pneumatics |
|
||
| Vision | 7.7k to 12.5k | 2 line-scans, 2 colour cameras, lenses, 2 coaxial, 4 dark-field and 2 backlights, 2 ring lights, controllers |
|
||
| Sensors | 1.5k to 4.6k | 2 laser distance sensors, presence and stop sensors, cylinder switches, spindle encoder |
|
||
| Control | 3.6k to 8.0k | EtherCAT controller and I/O, edge PC with GPU, HMI, safety, cabinet and wiring |
|
||
| **Total** | **16k to 33k (0.53M to 1.09M THB)** | thermal camera (USD 2.1k to 3.0k) not included |
|
||
|
||
**Open points for the machine builder.**
|
||
|
||
1. **Sag:** confirm that the rim-only support does not mark or bend the
|
||
records: cooled ones at launch, warm ones at a press-side station.
|
||
2. **Static:** fresh PVC attracts dust, so an ionising bar at the infeed
|
||
may be needed. Otherwise the station counts dust it attracted itself.
|
||
3. **Classic hand-off:** only for a press-side station later; at launch
|
||
the Classic stacks on its spindle as built.
|
||
4. **Belt width:** a quick-change spacing for 10" and 7" records.
|
||
5. **Space:** at launch the station and the cooling racks stand at the
|
||
start of the finishing block; a press-side station later has to fit the
|
||
5 × 3 m Duplex cell next to the trimmer.
|
||
|
||
## Where it sits
|
||
|
||
**Launch setup: one station for both presses, after cooling** (decided
|
||
October 2026).
|
||
|
||
- **To the cooling racks.** The records leave both presses on spindle
|
||
stacks as they do today: the Classic stacks by itself, with its cooling
|
||
plates ([pressing line](pressing-line.md)), and the Duplex operator
|
||
stacks the trimmed records. Each full stack gets a label, scanned at the
|
||
press, with the press, the stamper set and the first and last cycle. The
|
||
stacks go into the cooling racks first in, first out.
|
||
- **The queue.** 24 hours of cooling before sleeving is accepted practice,
|
||
and some plants cut it to 8 hours
|
||
([Stamper Discs](https://stamperdiscs.com/horns-and-quality-issues-in-vinyl-record-pressing)).
|
||
The station takes the stacks at the end of that time. A single record
|
||
would reach room temperature within minutes in still air (our estimate
|
||
for a 1.8 mm disc), but records keep settling for hours, so the queue is
|
||
measured in hours. The racks hold about one day of output: 2,800 to
|
||
3,100 records at the launch plant (the 850k target to the ~0.94M
|
||
capacity in the [calculator](../fleet-calculator.html), over 300 days).
|
||
- **At the station.** The finishing operator takes each record off the
|
||
cooled stack and puts it on the infeed. Good records leave the outfeed
|
||
into sleeving; a reject goes into the bin, and the HMI shows the reason.
|
||
Finishing handles every record anyway, so the station adds no handling
|
||
step.
|
||
- **What it gains.**
|
||
- Warp and centring are measured on settled records, so the reading is
|
||
the release value; no separate sampling of cooled records is needed.
|
||
- One station instead of two: USD 16k to 33k instead of 50k to 105k
|
||
(estimates).
|
||
- The Classic needs no change to its unloader.
|
||
- The questions about warm records drop out: sag on the rim belts and
|
||
the thermal camera.
|
||
- **What it costs.** A defect is found hours after pressing instead of
|
||
within a cycle or two. Three things cover that gap:
|
||
1. The Duplex operator still sees every record.
|
||
2. Press telemetry flags process drift every cycle
|
||
([layer 2](../quality-automation.md#layer-2-press-telemetry-every-cycle)).
|
||
3. An early lane: the first records of every run, and the first after
|
||
each stamper change, go to the station warm, straight from the press.
|
||
Their surface and label verdicts count; their warp is only an early
|
||
warning. The station runs at about half its capacity at launch, so
|
||
there is room for this lane.
|
||
- **Record key.** Away from the press, the station takes the key from the
|
||
stack label and the record's place in the stack (the top record is the
|
||
last one pressed). It checks that against the stamper number read in the
|
||
run-out; the readability of that code is still to test. Where the check
|
||
fails, the result stays tied to the stack: press, stamper set and time
|
||
window ([traceability](../traceability.md)).
|
||
- **Capacity.** The launch plant makes 5 to 6 records a minute and the
|
||
station takes 10 to 12. One station covers about two Duplex systems and
|
||
two Classics at the calculator's planning rates (3 + 3 + 2 + 2 = 10 a
|
||
minute). Past that, add a second station or move to stations at the
|
||
presses.
|
||
|
||
**Later option: a station at each press.** It finds a defect streak
|
||
within a cycle or two, at the price of one station per cell, and it reads
|
||
warm records, so release on warp still needs cooled samples.
|
||
|
||
- **Duplex cell.** After the edge trimmer, in front of the operator,
|
||
before the spindle. The operator puts each trimmed record on the infeed;
|
||
a stack light and the HMI show green or red; a good record waits at the
|
||
outfeed for the spindle.
|
||
- **Classic.** Ask Newbilt whether the unload handling can set the record
|
||
down on the station's infeed instead of the spindle. If not, a fixed
|
||
area camera over the unload position covers surface and label, and
|
||
leaves warp and eccentricity to samples.
|
||
|
||
**Plant view.** The [plant and business plan calculator](../fleet-calculator.html)
|
||
draws the station with the cooling racks in the room at the start of the
|
||
finishing block.
|
||
|
||
## Two software routes
|
||
|
||
| | Smart camera or vendor controller | Open, PC-based |
|
||
|---|---|---|
|
||
| Examples | Cognex In-Sight 3800 with edge learning (about USD 8,500 a unit in a [third-party listing](https://robotomated.com/explore/manufacturing/cognex-insight-3800)); Keyence CV-X or XG-X with LumiTrax, which separates shape from surface pattern on shiny parts ([Keyence](https://www.keyence.com/landing/vision/lumitrax-lighting.jsp)); CV-X controllers listed at about USD 5,400 to 5,500 on resale sites ([BigGo](https://biggo.com/s/cv-x%20keyence)); Keyence quotes only locally | GenICam cameras (Basler, Hikrobot, or Keyence's VJ series) with:<br>- Aravis for acquisition (LGPL-2.1, GigE Vision and USB3 Vision, packaged in nixpkgs as 0.8.35; [GitHub](https://github.com/AravisProject/aravis), [MyNixOS](https://mynixos.com/nixpkgs/package/aravis)), or Harvester (Apache-2.0, needs the camera maker's GenTL producer; [GitHub](https://github.com/genicam/harvesters));<br>- OpenCV;<br>- anomalib for learned defect detection (Apache-2.0, PatchCore and others; [PyPI](https://pypi.org/project/anomalib/)) |
|
||
| For | fast set-up, vendor support, tested tools | we own the code and the data, no licence per unit, fits the NixOS stack and the service offer to other plants ([digital factory](../digital-factory.md)) |
|
||
| Against | closed, Windows set-up tools; the polar unwrap, eccentricity fit and per-job learning still have to be built on top | we build and maintain it; the first station takes longer |
|
||
|
||
Keyence's VJ series sits between the two. It sells Keyence GigE cameras
|
||
and LumiTrax lights for PC-based software, with GenICam, OpenCV and
|
||
HALCON listed as supported
|
||
([Keyence VJ](https://keyence.com/ss/products/vision/vj)).
|
||
|
||
Recommendation: take the open route for the station itself. Before that,
|
||
ask Keyence Thailand for its free demo and test report on sample records
|
||
with LumiTrax. It costs nothing, teaches us the lighting, and gives a
|
||
benchmark for our own result.
|
||
|
||
## Colour and special records
|
||
|
||
Specials are planned at 60 % or more of output, and they are the hard
|
||
part:
|
||
|
||
- **Marbled and splatter:** the pattern is random, so a fixed golden image
|
||
cannot work. The model learns each job from its first approved records
|
||
and flags what differs. That is few-shot anomaly detection, for example
|
||
PatchCore in anomalib, with the operator confirming the first flags.
|
||
- **Clear and translucent colours:** transmitted light shows bubbles and
|
||
specks well.
|
||
- **Picture discs:** they need the label-style print comparison over the
|
||
whole face.
|
||
- **Black:** the easiest.
|
||
|
||
Expect more false rejects on specials in the first months (estimate). The
|
||
reject rates in the [factory console](../factory-console.html) demo are
|
||
simulated.
|
||
|
||
## Cost
|
||
|
||
| Item | Estimate |
|
||
|---|---|
|
||
| Hardware per station, from the [bill of materials](inline-qc-station/inline-qc-station-bom.csv) | USD 16k to 33k (0.53M to 1.09M THB) |
|
||
| First station: frame build and machined parts, lighting trials, software, training data | 2 to 4 person-months, USD 15k to 40k (our own team with a local machine builder) |
|
||
| Launch plant: one station for both presses, after cooling | the hardware above, USD 16k to 33k, plus the first-station work (about USD 31k to 73k in all, 1.0M to 2.4M THB) |
|
||
|
||
All three figures are estimates; the bill of materials names a source for each priced line. They fit inside the existing metrology
|
||
launch-tier line, USD 170k to 460k for XRF, inline vision and the audio
|
||
station ([total investment](../finance/total-investment.md)). The plan
|
||
prices therefore do not change. That line has no published split, so the
|
||
vision share is not yet confirmed.
|
||
|
||
## Where to buy in Thailand
|
||
|
||
| Brand | Channel | Status |
|
||
|---|---|---|
|
||
| Keyence | Keyence (Thailand), direct sales | free demos and test reports, as Keyence offers in other markets ([Keyence](https://www.keyence.eu/landing/lpc/surface-defect-detection.jsp)); confirm locally |
|
||
| Basler | LINX KK (Thailand), Basler's only official distributor in Thailand ([LINX](https://linx.co.th/en)) | |
|
||
| Cognex | local distributor | still to name |
|
||
| Hikrobot | local distributor or the Chinese route | still to name |
|
||
| Micro-Epsilon, LMI, Optris | local distributor | still to name |
|
||
|
||
## Next steps
|
||
|
||
1. **Lighting trials.** Get a dozen records with known defects from a
|
||
partner plant: non-fill, stitching, bubbles, an off-centre one, and a
|
||
splatter colour. Test them with a borrowed line-scan camera and two
|
||
lights.
|
||
2. **Keyence test.** Ask Keyence Thailand for a test report on the same
|
||
records.
|
||
3. **Newbilt.** Ask how the Classic hands over its spindle stacks and
|
||
cooling plates (records per stack). Also ask for the cycle counter over
|
||
OPC UA, so every stack label carries the record key (stamper, press,
|
||
cycle, side; see [digital factory](../digital-factory.md)).
|
||
4. **Warp sensors.** Choose between two point lasers and a line profiler
|
||
once the trials show whether a thickness map is worth the extra cost.
|
||
5. **EtherCAT bench.** Before the frame is built, run one A6-EC kit, an
|
||
EK1100 with the three terminals and the spindle encoder from the mini
|
||
PC with EtherCrab: distributed clocks at 1 ms, cyclic synchronous
|
||
position on the drive, the touch probe latching the encoder index, and
|
||
the cycle jitter measured under load. The drive's EtherCAT description
|
||
file is on the StepperOnline product page. If EtherCrab falls short on
|
||
the drive, repeat the test with the IgH master.
|
||
6. **Acceptance test.** Write it before ordering. It should cover the
|
||
detection rate per defect class on the trial set, the false-reject
|
||
rate on good records (black and specials apart), and every result
|
||
matched to its record key.
|