Home  |  Products  |  News  |  Order  |  Documents  |  Downloads  |  About us  |  Testimonials  | 

Frequency Generators
F170
F165
F125
F110 Board
F160
F175 AWG

ARCNC100 CNC
- Progress report

ARCNC Software


Atelier Robin
150 Berlioz #331
Verdun, Quebec,Canada
H3E1K3
(514)766-3346


All site content © 2005
AtelierRobin Inc.


Dec 1 2007

Hi there

It has been a long time since we posted an update on the ARCNC100 CNC controller.

The main reason is that we have been very busy designing and testing various alternatives to make the ARCNC100 system as modular as possible.

As seen in the image bellow and previous videos, we did have a solution working and ready to go into production based on a half height PCI card (PCIO100) that connects into a standard i386 mini-ITX motherboard.

 
PCI100 FPGA card with top edge card connector that connected to I/O cards at 90 deg.



Although this PCI card solution is working great, we never liked the mechanical restrictions it imposes on the ARCNC100. It forces very tight mechanical integration of the ARCNC100 FPGA and IO cards together with the mini-ITX board we use. This means the ARCNC100 FPGA PCI card must sit in a slot on the mini-ITX board and the various I/O daughter cards must either be directly connected to this PCI card or there must be large ribbon cables between the PCI card and I/O cards. This was not as clean and modular as we wanted it to be.

So about 4 months ago we started looking/testing alternate ways to connect the mini-ITX board to our ARCNC100 FPGA card. Our preferred way was fast ethernet for a few reasons:

1) Simple interconnection using only one twisted pair cable
2) Plenty of cheap/reliable hardware to choose from
3) Electrical isolation between the PC and ARCNC100

After 3 months of developing/testing, I am happy to say we have fast ethernet working perfectly as an interconnection between the mini-ITX (or any PC) and our ARCNC100 FPGA card.

Our current setup is composed of a mini-ITX i386 board (Via or Intel) together with a Intel Gigabit ethernet PCI card (used in fast-ethernet mode at the moment) directly connected to our ARCNC100. The mini-ITX board runs Linux and EMC2 with our custom real-time ethernet driver.

On a mini-ITX board with a 1.2GHZ Celeron CPU, we are able to complete all required communication with the ARCNC100 in under 30us. This involves 4 ethernet frame transmissions (2 round trip). We still have room for optimization so this number may go down as we continue to develop. We currently use a 1KHZ servo update rate but based on theses numbers, we could go higher.

We decided to adopt this ethernet solution for the first production version of the ARCNC100. We will support only one ethernet card for the moment. We picked the Intel PRO/1000 GT PCI ethernet card because it is reliable, cheap ($28) and the technical documentation is excellent, an important factor when writting your own real-time driver.

This will delay the release of the ARCNC100 by a few months. But we think it is worth the extra time since this will provide a very modular system for CNC system integrators who want to either purchase a turn-key CNC system from us or build their own based on any PC equiped with a PCI slot.

For those who cannot wait for our custom hardware solution and  want to start using the ARCNC100 features right away and are satisfied with 3.3V digital I/O for step/dir generation and encoder inputs, there is an interim cost-effective solution. The ARCNC100 firmware was initialy developed and runs on the Digilent SP3E board available from Digilent or Xilinx for $149. This board offers a FPGA together with ethernet and RS-232 serial I/O. When loaded with the ARCNC100 firmware, it can generate step/dir signals for 6 channels and have some  3.3V digital IO to spare. It can be controlled via a single fast ethernet cable from a PC running EMC 2 or any computer/uController with a RS-232 serial port using simple byte commands.  Email us with your exact I/O requirements if you are interested in this option.


Patrick Robin