Hypertriton, Inc.
( English )
ACCUEIL | TÉLÉCHARGER | WIKI | AIDE | CHAT | CONTRIBUER | BUGZILLA
Qu'est-ce que FabBSD?
FabBSD driving 3 steppers at 28.666kHz using 486-class 133MHz CPU

FabBSD is an open-source, 4.4BSD-based UNIX-like operating system designed specifically for machine controllers. Using low-cost computer hardware, FabBSD can be used in a variety of applications, such as:

  • Machine tools: CNC milling machines, lathes, routers, lasers
  • Automation: Manipulators, power supplies, relays, valves, heaters
  • Instrumentation: Optical encoders, thickness gauges, sensors

A typical FabBSD control system will:

  • Ideally, use a low-power, fanless, headless System-on-Chip board. FabBSD runs on a number of hardware platforms.
  • Be fitted with application-specific controls (handwheels, buttons, LEDs).
  • Use the general-purpose I/O ports provided by the CPU to control external hardware.
  • Provide both an Ethernet port (or use wireless LAN), and a RS-232 console port. Fancier systems can integrate text-based LCDs and keyboards for the convenience of the operator.

FabBSD's kernel regulates system interrupts and handles process scheduling, context switching and FPU management differently from a general-purpose kernel, such that real-time tasks can be performed without sacrificing the convenience of a fully functional Unix system. Canonical machine control functions are built into FabBSD's native executable format. This provides user-mode applications (e.g., ngc, move, boltpattern, gerbdrill) with an efficient interface to the hardware. The ngc interpreter can execute standard machining programs in RS-274/NGC v3 format.

A common task of FabBSD systems is the coordinated motion of machine axes, whether driven by steppers, servo-motors or cylinders (with or without software-based closed-loop control). FabBSD uses a kernel-mode trajectory planner to generate stable motion control signals at high frequencies with minimal hardware requirements. A simple 133MHz 486-class processor is sufficient for FabBSD to control multiple microstepping motor drives (such as the popular Geckodrives), at their maximum working frequency.

FabBSD is a derivative of OpenBSD. While it is distributed as a stand-alone OS, its machine-control components are implemented as standard BSD kernel devices and can be ported back to OpenBSD, NetBSD or FreeBSD with minimal patching to other parts of the kernel. The base distribution includes OpenSSH, Sudo, Binutils, GCC and GDB. Currently supported architectures include Alpha, AMD64, ARM, i386, Apple PowerPC, Sun SPARC and UltraSPARC. The installation process is straightforward (via CD-ROM, FTP, floppies or tapes).

FabBSD is under active development and is currently aimed at developers and beta testers. Source code is available via Subversion. Binary snapshots are also available from FTP. Testers, please join #FabBSD.

News
04/08/2009 New FTP site: ftp://ftp.FabBSD.org/pub/FabBSD/ (Montreal, QC)
03/26/2009 This project is now known as "FabBSD". A new Subversion repository has been created. While the former "machctl" code was in the form of patches and kernel extensions specific to CAM (and limited to interpreted programs), FabBSD becomes a stand-alone operating system dedicated to CAM and general automation applications.
12/10/2008 Ajout du wiki de documentation.
03/02/2008 Nouveau forum (et liste de diffusion): machctl@. La liste machctl-commits reçoit aussi des notifications automatiques pour les changements sur le code source de machctl.
06/10/2007 Nouveau snapshot: machctl-06102007.tar.gz | machctl-06102007.zip
Projets associés: Edacious, cadtools

Support machctl