Skip to content

cnc_mill — machine_state (vibration-on)

A CNC mill’s spindle produces a distinct broadband vibration signature whenever it is rotating (cutting or air-spinning) that is absent when the spindle is stopped: bearing and rotor imbalance energy appear across a wide frequency band even without a cutting load, so a simple RMS vibration amplitude already separates “spindle running” from “spindle stopped” without needing to resolve individual gear-mesh or tooth-passing frequencies. A single-axis accelerometer mounted on the spindle housing senses this amplitude directly in g’s (acceleration units, not current), and the state detector classifies run vs idle/off from whether the RMS amplitude sits above or below a learned threshold band, rather than from the main spindle current used elsewhere for load-based methods. Spindle run/stop transitions happen on the order of seconds between operations (tool change, part load/unload), so an accelerometer sampled at 1600 Hz (well above the Nyquist requirement for resolving the broadband bearing/rotor vibration energy up to roughly 500-800 Hz) comfortably captures the amplitude envelope, while the RMS amplitude used for the state classification itself is computed over a 1 s window since state changes are a slow (seconds-scale), not per-rotation, event.

  • Spec: single-axis piezoelectric accelerometer, stud or adhesive mount, +/-50 g
  • Signal: scalar ([g]), range n/a
  • ifm electronic VSA004 vibration sensor with integrated RMS velocity/acceleration output
  • Banner Engineering QM30VT1 vibration sensor (acceleration + temperature, IO-Link)
  • SICK MPB10 vibration monitoring sensor (3-axis MEMS, IO-Link, switching output)

Stud-mount or adhesive-mount the accelerometer directly on the spindle housing, as close to the bearing cartridge as access allows, with the sensing axis radial to the spindle for strongest coupling to bearing/rotor vibration; avoid mounting on the spindle head’s sheet-metal covers, which resonate independently and distort the amplitude reading.

2-wire IEPE/4-20 mA or digital IO-Link cable (per the chosen part) to an analog or IO-Link input on the edge box’s DAQ module; route the cable along the machine’s existing cable carrier, away from the spindle drive VFD’s power cabling to avoid induced noise on the low-level accelerometer signal.

walk the operator through a scripted spindle off -> spindle on (air-spin, no cut) -> cutting -> spindle off sequence while an observer logs timestamps, and compare the detector’s state transitions to the logged sequence over the same window

Expected: detector’s state transitions match the logged sequence within +/-5 s once the off_below/run_above amplitude bands are tuned to the specific spindle’s idle vibration floor (note - thresholds are in acceleration/amplitude units, not current, and will not transfer directly from a current-based state recipe on a different machine class)

  • de-energize and lock out the spindle drive (LOTO) before reaching into the spindle head area to stud-mount or adhesive-mount the accelerometer
  • verify the spindle has fully stopped rotating (zero-speed check, not just drive disabled) before placing hands near the housing to install the sensor
  • route the sensor cable clear of the spindle’s rotating parts and tool-change mechanism at every point of its travel

60–250 USD, difficulty 3/5, ~30 min install downtime.