What type of control are you using?
Here goes nothing:
I run a (very) small electronics company and we use several mills running TurboCNC. It works great but we need to run faster, better (closed loop servo) and not rely upon ancient operating systems and PC's. I love the TurboCNC interface simplicity. I've tried MACH but really had enough of printer interfaces. I like the look of the Gecko controller but still feel this isn't quite what I want.
Low Cost Controller:
So I've designed a small controller board and PC based program (written in Liberty Basic so works with Vista/XP (and Macs in future)). The controller has a DSP and FPGA on-board and communicates via a low-speed optocoupled serial port (RS232) - the prototypes actually have a USB port on them with a built in USB-RS232 converter IC.
The controller currently drives 3 sets of step/dir ports (although we will add at least one more) and has a bunch of I/O for control, analog output voltages for speed control, encoder pulse counters, jogwheel interfaces, estops, limit & datum switches, etc...
There is no (practical) limit on the max/min pulse rate we can generate and the controller handles nearly everything without PC intervention (the PC sends very simple commands to the controller - not far short of pure G-code).
The aim is to be able to run the mill very robustly (all safety, tool & machine paramaters settings, etc... are stored on the controller boards; so can use any PC in the office. Just dowload the code from the website, take a single USB lead from the PC to the controller board and mill away - our test record is under 5 mins from download to milling (on a pre-configured controller board).
If we can get enough initial interest (firstname.lastname@example.org) then we will 'productionize' our code and hardware and make it available (late Dec).
At present the thought is that we sell the controller board fully built-up/tested and give the PC software away free (or at minimal charge), this allows us to add more functions and sortout any software/firmware bugs. Estimate the controller board to be $150-$200 and available worldwide.
What type of control are you using?
we have written our own front-end (similar in look and feel to TurboCNC), this then talks to the 'controller' board where all the motion control is processed and this drives sets of step/dir lines.
the controller board has full control of the mill at all times - so things like hitting 'halt' or estop are handled in a very controlled fashion (no danger of losing position), all the PC ends up doing is parsing the G-code (for errors), packing it up and sending it down the serial bus (USB/RS232), at 115kbaud we get something like 500 lines of code a second into the control board, this can be buffered and we can increase the speed of the bus much further - so 3D mould making is a possibility - G02/G03 are processed on the control board so curves are accurately reproduced.
Sorry, my question was directed at what type of motion control approach you are using (i.e. PID, State Feedback etc.)
The trajectory generators (in the DSP) generate desired position per iteration (with acceleration parameters used). This then feeds separate code and the FPGA with a proprietary method of generating fine-grain pulse trains. My initial prototype used (PID) servo routines & servos amps (I built these into the prototype, which I prefer) - but the current mills use step/dir Gecko drives. It is actually easier to build in 4 PID controlled DC servo amplifiers into the control board than adding the FPGA.
Clearly the servo version (proto's) used a 2 ch. opto encoder (we didn't bother implementing the 3rd channel). The stepper version can run without an encoder or with our own absolute magnetic encoder or a stock 2ch. By using the abs.mag encoder we don't need to datum the machine, so long as each stepper hasn't moved more than 180degrees whilst switched off we know exactly where the machine is.
I have been looking at the various controlers I might well be interested in yours. Any more details?