Firmware / Embedded Microcontroller based Computer Numerical Control

Dedicated Motion Controllers translate a path description (typically G-CODE) into signals (typically Step and Direction) in real time to drivers that then cause stepper or other motors to move the axis of a machine. This can be done on a PC via CNC Applications, but because standard operating systems are NOT design for real time control, it can be best to use a seperate embedded motion controller and simply relay G-CODE or other commands from the main system.

Common examples are the ubiquitous Marlin^ / RAMPS combination for 3D printers, and grbl^ / shield or TinyG^ / sheild for CNC. An ultra low cost opiton is our BOB Motion Control g-code to multi-axis step/direction motor driver. These accept G-CODE but have no other user interface. A program like Universal G-CODE Sender can provide a minimal interface. They put out step and direction commands via the Pololu compatible headers. This can be adapted to the PMinMO standard by our Adapter Cable

In some cases, a PC based CNC application can work closely with the embedded unit to provide a seamless user interface with GUI controls. For example, https://www.poscope.com/product/pokeys57cnc/ is a MACH 3 recommended USB Motion Controller with PMinMO compatible connectors for direct connection to open source stepper drivers like the THB6064AH or Linistepper or servo drivers like the BOB PID.

Stepping Motion Profile Motion panning overview. Stepper motor specific, but with good general information.

3D Line to Stepper Axis Pulses in a PIC16F Naive motion control

A common language for specifying the desired location and speed of movement is G-CODE

Also:

See also: