Hypertriton, Inc. Hypertriton, Inc.
( Francais )
HOME | DOWNLOAD | REQUIREMENTS | SUPPORT | LINKS | AUTHOR | BUGZILLA
What is machctl?

machctl is a real-time control system for high-resolution servo and stepping motors. It is used to drive robots, industrial automation equipment and machinery such as milling machines and lathes. It is particularly well suited to machine control over a network.

The machctl distribution includes a server daemon, machctld, a number of utilities as well as our BSD kernel patches. Our graphical CAD/CAM package, cadtools, can interact with a machctld server over a network connection. cadtools can compile part programs to machctl's internal format (additionally, a G-Code interpreter is also being developed).

The most complex task handled by machctl is the generation of motion control signals (ie. step and direction signals), which is actually handled in the kernel with all system interrupts disabled. We have zero context switch overhead, so compared to motion control systems running on real-time operating systems (such as the Linux-based EMC2), we can generate extremely stable signals at higher frequencies, with much reduced hardware requiements. Our approach is described here.

Part of the machctl system is implemented in the kernel. The kernel drivers are currently available for OpenBSD. Adding support for FreeBSD and NetBSD is going to be trivial. The machctl daemon communicates with the kernel part through a character-special device.

Here is a video of machctl on a 486 CPU running a 640 oz-in stepper up to 860rpm using a 10-microstep Gecko controller.

News
03/02/2008 New mailing list / forum created: machctl@. Also created machctl-commits@ mailing list for automated commit notifications of the machctl source code exlusively.
06/10/2007 New beta: machctl-06102007 (MD5) (PGP)

Support machctl