The purpose of this page is to describe the electronics that interfaces your PC to your CNC machine. For information on selecting a PC to run EMC2, please see Hardware Requirements
Not a definitive list, by far.
- Emc2HardwareDesign - general notes on the hardware interface designs that work well with emc2
Commercial PCI/ISA cards
- Servo-To-Go ISA: http://www.servotogo.com/
- $888 for 8 axis model II card (8 encoder inputs, 8 DAC outputs, 32 bit I/O, 8 analog inputs)
- Vital Systems Motenc-Lite Servo PCI 4-Axis Card and I/O Boards: http://www.vitalsystem.com/
- 7541: $595 includes 8 DAC outputs, 8 analog Inputs, 4 encoder inputs, 32 digital inputs, 16 digital outputs
- 7544: $495 includes 8 DAC outputs, 4 encoder inputs, 32 digital inputs, 16 digital outputs
- Mesa Electronics Anything I/O boards (plus all the Servo & Stepper Daughter Boards, etc) http://www.mesanet.com/
- The Anything I/O boards are all based on FPGAs, so can be loaded with different firmwares at the start of EMC.
- Firmware defines the number of encoder, PWM, stepgens and General Purpose IO.
- 5i20, PCI, 200K gates, 72 I/O pins, $200
- 5i22, PCI, 1.0M or 1.5M gates, 96 I/O pins, $370-$430
- 5i23, PCI, 400K gates, 72 I/O pins, $230
- 5i25, PCI (low-profile) 2x25 IO pins on a DB25, expanding to 96 or more with daughter cards.
- 4i65, PC-104/Plus?, 200K gates, 72 I/O pins, $200
- 4i68, PC-104/Plus?, 200K or 400K gates, 72 I/O pins, $230 (for the 400K gate version)
- 3x20, PCI-Express, 1.0M or 1.5M or 2.0M gates, 144 I/O pins
- look here for more info: mesa cards
- Axiom Measurement & Control AX5214H 48 Channel Digital I/O Board (ISA): http://www.axiomtek.com/
- $ price ?
- Siemens EVOREG Motion Control Board?
- $ price ?
- Vigilant Products PCI-ENCDAC 4 Axis Controller and EXPDIG I/O boards: http://www.vigproducts.com
- $1000 for 4 Axis Controller
- Opto22 PCI AC5 adapter card- 48 points of I/O usually used with their relay racks.
- $475 new, Ebay -a lot less! Details here:OptoPciAc5
- Advantech ISA card
- PCL-720  You would be unlikely to choose this for a new build but this driver can make some retrofits easier.
Commercial Systems using the Parallel port as a data bus.
- Pico Systems Universal Stepper Controller: http://pico-systems.com/univstep.html
- $250 includes 4 step/dir outputs, 4 encoder inputs/counters, 16 digital inputs, 8 SSR sockets
- Pico Systems PWM Controller: http://pico-systems.com/univpwm.html
- $250 includes 4 pwm outputs, 4 encoder inputs, 16 digital inputs, 8 SSR sockets
- Pico Systems PPMC Board Set: http://pico-systems.com/PPMC.html
- $780 includes 4 16-bit dac outputs for +/- 10 V analog servo amplifiers, 4 differential or single-ended encoder inputs, 17 digital inputs, 8 SSR sockets
- Using a NetMos parport card
- Mesa Electronics 7i43: http://www.mesanet.com
- $80. The 7i43 is an FPGA-based "Anything I/O" board. It has a Spartan3 FPGA (200K or 400K gates) and 48 I/O pins. EMC supports this board with the HostMot2 firmware, which is available in many different configurations providing encoders, PWM generators, step/dir generators, and general purpose digital I/O pins.
- look here for more info: mesa cards
- Ethernet based Bus Systems
- Beckhoff EtherCAT(TM) and compartible systems can be made to work with emc using the open source etherlab software. see etherlab for details
- CAN based bus systems
- currently there is no known driver for emc to connect to CAN based bus systems
Step & Direction Drives
any Stepper-motor or servo-motor drive that accepts step/direction signals could be used with EMC2. These are just some examples of inexpensive stepper/servo drives.
- [IntelLiDrives Stepper drives]
- Stepper motor drives with pulse/dir interface, DC and AC powered
- [IntelLiDrives Servo motor drives]
- Servo motor drives with pulse/dir interface, DC and AC powered
- $155 (3-axis board only) to $525 (4-axis board, motors, and power supply).
- Buffered step & direction signals, selectable microstepping, 2.5A/phase.
- Gene Heskett says:
I'm using a 3 axis board myself, and have been
since emc1 days, using a radio shack breakout board to remap the signals.
Now particularly since hal now has mapable i/o pins, the pinout diffs
between the Xylotex boards and other driver boards is a total non-issue &
the rs232 breakout box isn't needed anymore. Emc2 even comes with a
halfile made for the xylotex boards.
- 1 axis, 3A, bipolar, 1x/2x/4x/8x microstepping, idle current reduction, etc. Requires separate breakout board. $73/axis
- [Gecko Drive]
- Stepper drives and Servo drives.
- $147 G203V Stepper Drive 7A 80V Short-circuit, Reversed-polarity, Over-temperature, Over-voltage protection.
- 2.5V, 3.3V and 5V logic compatible inputs, 350 kHz maximum Step pulse frequency.
- [Motion Control Products MSD542].
- 1 axis, RMS 3A, microstepping drive. Looks identical to the Keling KL- 5042 (I think they are both Leadshine drives).
- [Granite Devices]
- Up to 160V 40A servo-drive cards for DC, AC, BLDC and linear servo motors.
- For brush-DC servo motors, one drive can control two motors yielding cost around 100 euros/axis.
- [stepperworld.com sp3]
- 3 axis stepper drive - sp3 from stepperworld.com. [pin setup]
- Servo drives, both brush and brushless.
- [Semis Co.]
- Manufactures up to 12kW peak power analogue and STEP/DIR servo-drives.
- stepper drives, breakout boards with relays, motors and more.
- e.g. micro-steping 1 axis 2A 39 Euro, 4A 76euro, 3axis 2A 98 Euro nice quality (some items are kits, others are ready to use). Bigger drivers up to 10A/90V.
- might be a good option if you live in Europe
PCI and PCIe Parallel Port Cards
Parallel port cards allow the addition of parallel ports beyond the built-in port on PC motherboards. These may be used for realtime functions such as software PWM and step/dir, or for user functions such as controlling coolant, tool changers, relays, etcetera. Nearly any card will work with pin changing functions (hal_parport), but very few cards are compatible with EPP, which is used with parallel port connected FPGA signal generators and controllers.
PCI EPP Cards
- Startech (Sunix/SUN1888)
PCIe EPP Cards
PCI SPP Cards
- NetMos - Most parallel port cards use one of the NetMos chips
Breakout Boards, Power Supplies etc.
- $41.60 C1G - Parallel Port Interface Card (For Geckos)
- Toroid Transfomers and Power Supplies
- $140 63VDC 600W with regulated 5VDC and 12 VDC input 120VAC or 240VAC
- Breakout Boards and other accessories for step and direction controls
- Variable Frequency Drives are generally used to drive three phase spindle motors. Variable-frequency drives are also known as adjustable-frequency drives (AFD), variable-speed drives (VSD), AC drives, microdrives or inverter drives. Since the voltage is varied along with frequency, these are sometimes also called VVVF (variable voltage variable frequency) drives. Since the spindle motor is often the only truly three phase component of a CNC machine, a VFD may be used to convert a machine to single phase by either using an overrated three phase input drive or a drive designed as a single phase input drive. Voltage conversion is also a common feature that can allow one to use, for instance, a 460 Volt motor from 240 Volt mains. See: http://en.wikipedia.org/wiki/Variable-frequency_drive
- Common I/O are; the front panel,or digital inputs such as start, stop, forward, reverse, etcetera, along with analog speed as +/- 5 or 10 Volts, or Modbus RTU and Modbus Ethernet. For use with EMC2, the digital, analog, and Modbus I/O are the most interesting.
- VFD Digital/Analog Interface
- VFD Modbus
DIY hardware known to work with emc
- The open-source [LiniStepper motor driver] is known to work with EMC2: [video of a Linisteppers driving a Sherline 2000], [configuration settings] It is Microchip PIC based and supports full, half (at full power), as well as 6th and 18th microstepping with linear smoothing, for small to medium sized Unipolar motors. The [source], [circuit], and several [user contributed board layouts] are available as well as [full kits] with pre-programmed PIC chips. It uses [PMinMO connector] so you can mix and match with the drivers and BOB's from [PMinMO] including those listed below.
- L297/L298 stepper driver
- A single-sided board based on the L297/L298 chipset. up to 46V supply, 2A/motor, constant-current chopper. For bipolar motors. Half- or full-stepping with step and direction inputs. PDF format for DIY pcb. Thru-hole components. [PMinMO.com L297-8]
- A three axis driver based on the L297/L298 chipset. Available as a kit (THT) or PCB only (double-sided board, industrial quality). Up to 43V supply, 2A/motor, constant-current chopper. For bipolar motors. Half- or full-stepping with step and direction inputs.[mechapro 3D-Step]
- [Pluto-P Servo]
- An FPGA board with open-source firmware and emc2 driver. 4x20kHz PWM, 4x8MHz quadrature, 10+ digital outputs, 8+ digital inputs. Uses EPP parallel port. Needs compatible servo amplifiers (up/down or pwm+direction input), such as L298 servo driver (below)
- L298 servo driver
- A single sided board based on the L298 H-bridge. Up to 46V supply, 2A/motor. For DC servo motors with TTL-level encoder outputs. Driven by PWM input. PNG images of schematic. So far this has only run cradek's lathe experimentally, but the results are good and with the new parallel port "x mode" (8 outputs, 9 inputs, supported on some but not all parallel ports) it may be possible to run a 3 or 4 axis machine with this scheme. http://emergent.unpythonic.net/projects/01142347802
- A diagram of the hal connections in the etch-servo hal example distributed with EMC is available upload:EtchHalDiagram.pdf .
- Medium Current Quadrature Drive Servo System
- This is a full servo board up to 7amp +-24v. Its on board DSPic processor reads quadrature position signals from EMC2 stepgen type 2 and uses an onboard PID loop driving a current amplifier to keep the actual position close to the commanded position. Drive setup is through a serial port. It is best suited for 12 to 25 volt dc/servo motors with TTL encoders. Pic source code is GPL. PCB eagle project provided as well as milling and drilling G code files for machining the board with EMC2. http://members.shaw.ca/swstuff/dspic-servo.html
- AVR (in very early development)
- Parallel port to AVR fast hardware signal generator and counter
- Might be used for a parallel port interface similar to the AVR above, but faster. May also be fast enough to run Linux, RTAI and/or EMC2 by itself, such as on a Beagle Board.
- FPGA (and CPLD)
- May be the ultimate in EMC2 peripheral speed. Popular for PCI and parallel port I/O interface cards. This page explores this technology to see if it might be useful to the beginning developer, integrator or DIY'er.
- Bridges - Half, Full, Three Phase
- Power drivers for switched and PWM control of motors or other high voltage or high current loads
- Low-current stepper driver
- A single-sided board based on the ULN2803 darlington chip. Simple, but very low current, <500mA/motor. Not recommended for anything but a toy. Half- or full-stepping with 4 winding activation signals per axis. PNG images of schematic and board. This design could be adapted to drive 3-axes, because there are 12 available outputs. http://axis.unpythonic.net/etchcnc
- RC Servo Test
- I can't think of any CNC application, but EMC2's PWM and pyVCP can be used to test RC servo's
other hardware we've heard about, but we don't know if it will work or not
Hardware that doesn't work
- USB devices cannot be used to control motors or perform other "real time" tasks. Some USB devices which appear as keyboards, joysticks, and mice can be used for user interface tasks through the hal_input driver.
- See Emc2HardwareDesign for details of USB, RS232, and Ethernet interfaces.
What about the machines?
If you want to see pictures of big iron, check out the Case Studies