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
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
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,
is a MACH 3 recommended USB Motion
Controller with PMinMO compatible connectors for direct connection to
open source stepper drivers like the
Linistepper or servo drivers like
the BOB PID.
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
a USB Motion Controller with PMinMO compatible connectors for direct connection
to open source stepper drivers like the
Linistepper or servo drivers like
the BOB PID. Compatible with MACH
The very popular Planet CNC USB controllers also use the PMinMO compatible
https://code.google.com/p/gocupi/ Code for Arduino and
Raspberry Pi with nice acceleration curves and turn prediction. The Arduino
is only there to provide precise timing for the step and direction pulse
data produced by the Pi. Motion is smooth and fluid because the entrance
and exit speed of each movement segment is taken into account. E.g. A 90'
turn needs a full stop, but a 1' turn doesn't need to slow down at
RepRap firmware is a mashup between Sprinter, grbl and many original
LeibRamp was developed in 1994 by Aryeh Eiderman and is said to be the "World's
fastest ramping (motion profile building) algorithm." On this page,
Eiderman provides an overview of the math involved in calculating pulses
per timer tick, for slew, and ramp acceleration / deceleration.
http://www.hwml.com/ is an NXP LPC2136/01
based USB to 4 axis embedded motion controller in a DB25 backshell.
Demo program for stepper motor control with linear ramps. Hardware: PIC18F252,
L6219. The discussion of the method and the math behind it may be found here:
Open source, Java G code to intermediate format, PIC firmware 2axis coordiantion
with seperate Z axis movement. No acceleration.
G code to propriatary format in PC software $100 then by USB to 4 axis motion
control hardware $15 for the PIC chip, $15 for the PCB and about $15 shipping.
The PIC firmware does NOT actually process G code.
http://forums.reprap.org/read.php?12,9459 Arduino G code
to stepper. See user.cpp file.
https://github.com/simen/grbl Grbl is a free, open source,
high performance CNC milling controller written in optimized C that will
run on a straight
a shield is available
Another mill with firmware based on the reprap.
MicroBasic pic18f4620, SD-MMC card, KS0108 graphic LCD. Direct G code to
movement. Bugs in circles but can be avoided. Clunky source.
Very simple design that works for drilling.
Some notes about smoothing motion.
| ||©2017 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?|
<A HREF="http://www.massmind.org/techref/io/embeddedcncs.htm"> Firmware / Embedded Microcontroller based Computer Numerical Control</A>
Welcome to www.massmind.org!