Optical QC: EtherCAT control
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.
This commit is contained in:
1 parent
cf900cf3a4
commit
ba1f5fc3a9
4 files changed
+104
-54
No files matched your search
@@ -27,8 +27,8 @@ ANCHORS = [
|
||||
("lscan_bot", V(778, -31, 547), "Line-scan camera, bottom", "the underside, in the same turn"),
|
||||
("lasers", V(880, -130, 925), "Laser warp sensors", "edge run-out and dish, to 0.1 mm"),
|
||||
("pusher", V(1320, -300, 1020), "Reject pusher", "pushes a failed record down a chute into the bin behind"),
|
||||
("outfeed", V(1715, -140, 902), "Outfeed", "good records wait for the spindle"),
|
||||
("cabinet", V(1420, -200, 450), "Control cabinet", "PLC, drives and the NixOS edge PC"),
|
||||
("outfeed", V(1715, -140, 902), "Outfeed", "good records wait for sleeving"),
|
||||
("cabinet", V(1420, -200, 450), "Control cabinet", "EtherCAT controller, drives and the NixOS edge PC"),
|
||||
("hmi", V(1770, -404, 1235), "Touch screen", "every verdict with its reason"),
|
||||
("estop", V(1140, -386, 970), "Emergency stop", "and a safety switch on the tunnel door"),
|
||||
("stack", V(1120, 274, 1720), "Stack light", "green: pass, red: reject"),
|
||||
|
||||
Reference in new issue
Block a user