From RepRap
Jump to: navigation, search

LinuxCNC (formerly known as Enhanced Machine Controller, EMC, EMC2, etc.) EMC, or the Enhanced Machine Control is a software system for computer control of machine tools such as milling machines and lathes.

Some people use EMC to drive their RepRap, creating an EMCRepRap.

From their website ( http://www.linuxcnc.org/ ):

  • EMC is free software with open source code. Current versions of EMC are entirely licensed under the GNU General Public License and Lesser GNU General Public License (GPL and LGPL)
  • EMC provides:
  • several graphical user interfaces including one for touch screens
  • an interpreter for "G-code" (the RS-274 machine tool programming language)
  • a realtime motion planning system with look-ahead
  • operation of low-level machine electronics such as sensors and motor drives
  • an easy to use "breadboard" layer for quickly creating a unique configuration for your machine
  • a software PLC programmable with ladder diagrams
  • easy installation with .deb packages or a Live-CD

It does not provide drawing (CAD - Computer Aided Design) or G-code generation from the drawing (CAM - Computer Automated Manufacturing) functions.

  • It can simultaneously move up to 9 axes and supports a variety of interfaces.
  • The control can operate true servos (analog or PWM) with the feedback loop closed by the EMC software at the computer, or open loop with "step-servos" or stepper motors.
  • Motion control features include: cutter radius and length compensation, path deviation limited to a specified tolerance, lathe threading, synchronized axis motion, adaptive feedrate, operator feed override, and constant velocity control.
  • Support for non-Cartesian motion systems is provided via custom kinematics modules. Available architectures include hexapods (Stewart platforms and similar concepts) and systems with rotary joints to provide motion such as PUMA or SCARA robots.
  • EMC runs on Linux using real time extensions. Support currently exists for version 2.4 and 2.6 Linux kernels with real time extensions applied by RT-Linux or RTAI patches.

Further reading