Top » Catalog » BeagleCNC »




XSMIO Control Board.
Future Product. In testing phase (as of 04-MAY-2017)

Runs MachineKit CNC machine control program on a BeagleBone Black (BBB) processor board. MachineKit communicates with the XSMIO board's Xilinx Spartan 6 FPGA through the BBB's 16 bit wide GPMC address/data bus. The FPGA is memory mapped in to the processors bus and register access can be programmed at random (as opposed to serial or sequential). The FPGA firmware is programmed with Hostmot2 VHDL bit file.

The BBB in this setup uses a pre-programmed uSD card for MachineKit control program storage as the on board BBB emmc (flash memory) is disabled as the emmc I/O pins are used by the XSMIO to access the processor GPMC system bus.

BBB HDMI and USB-A connectors accessible to allow an HDMI monitor and USB Keyboard and Mouse to be used through a user supplied USB hub. USB thumb drives can also be plugged in to the hub for removable storage. BBB Ethernet port is available for use for web access (though not recommended for use when running a CNC program). The BBB USB-B port is also available.

* Four axes of Servo control:PWM/DIR out and single ended incremental encoder inputs. (See diagram below).
Each encoder input connector also has two discrete inputs (typical usage limit/home switches or fault inputs). All of the CNC signals are on 0.1 inch spaced Molex connectors, while the 24 bits of General Purpose I/O are on a 2 row x 25 pin header.

* Single ended incremental encoder input for Spindle to enable CNC threading and tapping.

* Spindle Control Connector with FWD, REV, and PWM Speed outputs and a Fault input.

* MPG hand wheel input with A/B single encoder inputs and RXD/TXD UART I/O for switch input (axes select, jog rate select, and discrete button inputs).

* Connector for Flood and Mist control outputs.

* 24 Pins of programmable I/O from Xilinx FPGA that can be programmed to mate with Mesa Electronics I/O daughter boards.

Requires a 5V power supply of around 4 Amps. A typical smaller wall-wart power supply for the BBB is around 2.0A and is not satisfactory for the system when powering all of the axis encoders and other I/O interfaces.

This BBB/XSMIO combination, with the addition of a USB Hub, USB keyboard and Mouse, and an HDMI monitor (with uHDMI connector) provides the user front end of a small servo based system. Add appropriate servo drives and servo motors with incremental encoder outputs for a minimal servo system. Add in MPGs for easier manual control along with limit/home switches and STOP switch for more safety. Finally, add in spindle speed control and encoder inputs for tapping/threading work.
The FPGA will be programmed with a bit-file stored in the appropriate 'config' directory by the control program before MachineKit starts. The current bit-file does not program the extra FPGA I/O for specific use (only general I/O), and programs the other I/O for use as shown in the drawing above. Other bit-files can be generated (i.e. for using specific Mesa cards on the FPGA port, or generating STEP/DIR signals instead of PWM for servos). Matching HAL setup files link the FPGA hardware profile with MachineKit control program. Currently HAL and INI files for the board are only for servos (steppers system require different bit-file and HAL/INI files).

- The discrete outputs (PWM/DIR/relay control, etc.) are buffered by LVC541 drivers operating at 3.3 volts. These signals should be isolated from high voltage systems by using isolators on the device end (i.e. Digital Signal isolators or opto-isolators on the servo amplifier or relay board.
- The discrete inputs (limit switches/encoders inputs, etc.) are buffered through LVC541 buffers and have RC filtering on them. These signal inputs are 5V tolerant, but are not isolated (none of the signals on the board are galvanically isolated to the BBB or FPGA).
- The FPGA I/O are buffered through a FET switch, but are otherwise directly connected to the FPGA itself with no other buffering, filtering or isolation.

As of this writing, the board has been used to control servo motors with encoder feedback on a 3 axis Taig machine (and a 4th servo for testing), provide spindle PWM speed output, Spindle encoder input, Flood/mist outputs, MPG (Jog Wheel) encoder inputs, MPG momentary switch inputs, MPG axis select and rate select switch inputs (through UART on XSMIO), ESTOP chain input and limit/home switch input. The 24 user I/O have also been tested through g-code control with "user-M-codes".
Any questions regarding the product, please e-mail.


Quick Find
Use keywords to find the product you are looking for.
Advanced Search
0 items