I am looking for a CNC controller that would take G-code in via RS232 / USB or LAN and generate the pulse for stepper drivers.
Is there anything like that on the marcket at a reasonable price?
I am trying to get away from Windows timing problems...
Smoothstepper is popular:
There's also CNCUSB:
LAN interfaces seem to generally be a lot more expensive, some examples here:
I'm sure you'll find more.
To 'get away from Windows timing problems' you could just use EMC2:
That doesn't entirely eliminate the 'problem', but do you need to? Clearly many people use the parallel port, so what are you making that requires a better interface or is it just for convenience?
I don't requiere a better connection, EMC2 would be fine... But I try to get it working many times, I can't get it control my spindle. How do I get a 0-10V output? (with Mach3 I just use a small board that is control by Pulse/Dir just like a stepper controller).
Also, windows is causing timing issues I am also runing out of space in my tiny workshop, and was thinking of using a mini PC to replace my current desktop. Unfortunatly these do no come with parallel port... :(
I looked at Smoothstepper solution, but it is USA based... Can we get them in UK ?
Both my milling machines run on USB. When I started writing the code to do it everything seemed straight forwards. I didn't find the big snag until I added a pause button. It's not too bad, you start with a bit of panic braking and after that you have all the time in the world to sort out how you are going to get back up to speed. If it takes a whole second to sort the mess out you would never notice because the machine is paused, but it ain't easy to make it bullet proof :naughty:
I have a basic system that works and it is totally convenient to take a Win 7 laptop to the machine, plug in a USB and start cuttting but I would never describe it as commercial. I don't know of any convenient standard protocol for sending the data and interrogating the mill. All the big machine makers have their own protocols and use Ethernet. Maybe we should start a MyCNC thread and hammer out a protocol that covers all the bases and define our own standard so anyone can make the harware. I am quite happy to offer mine as a start point, but I doubt many would agree with it or even join in
There is no problem buying the Smoothstepper from the States, I like many others here in the UK have purchased one with no problems other than the dreaded import and VAT charges.
There is supposed to be an LAN version released soon.
I like the smooth stepper for the simple reason I can use a laptop to run my machine and it does what is says on the tin, smooths out the motion.
The only software you get with the smooth stepper is the driver for MACH the idea of the smooth stepper is to take all the donkey work from your pc so no timing issues.
Firstly we don't know which serial port holds the USB to serial adaptor with a mill on the end of it so the software has to find it. We can draw the tool paths on the screen and have lots of neat buttons but how to find the mill?
USB devices can be either Hand Held or serial. The latter is a lot more friendly so best to go with that so as not to frighten people off writing controllers.
We can ask Windows for a list of available serial ports then send an ASCII ENQuiry character to each in turn and see what comes back. ENQ is kind of safe to send to any serial device. Now the mill is USB it can be anywhere on the list, we can't insist on COM1: it could be COM17: for all we know. The mill controller responds to ENQ with a filename, if that name exists on disk we have found a mill and we have a text file that defines it. Windows likes text files and they are dead easy to update with NotePad.
If we have more than one mill connected then we should have more than one mill definition file. The software can ask which one you want. If definition files include pet names for the mills the choice won't be gobble-de-gook. If you only have one mill definition file, it knows where to go. We could just insist you only plug one mill in at a time but how boring is that when you can run multiple mills simultaneously in different windows?
The software now hits a Windows snag. If a program doesn't release the processor umpteen times a second it will be declared as "Not responding", unfriendly and needs to be time sliced. Don't want that. My way to get around it is to start a second program that goes around in a loop, real easy to "spawn" off a new program you just write a subroutine that returns twice.
My version of this seperate program sends an 'S' on the USB which is my request for the mill status. The status will be several bytes long so while waiting for them to arrive I can releases the processor and keep Windows happy. Once I have the status I know what the mill is doing, where it is, the current feed rate, what space is available in the buffers, have we been paused etc. I can then update it accordingly, give my main program the opportunity to update the PC screen then loop back to the top for another status request.
Is anyone still with me? :naughty:
I still here... understood 90% of it... :) I did not think about the multiple mill I have to say... in my case I just have 1 :)
A Boxford 260 VMC. I just don't have the physical space for more. (I had to take the 260VMC out of its enclosure to make it fit, BTW, that is not an easy task, as it is glue/cemented to the enclosure on the base. If anybody interested in doing the same, let me know I'll give you the procedure)
Would love a CNC Bridgy!
Back on tracks:
For the multiple mill we could use multithreading process using .net. We have a piece of sofware at work design to talk to 8 electronic devices on the same time via 8 COM port. It works a bit like your idea of a seperate program runing a loop in the background, exept it is an other thread / process in the main program.
As long as your CPU suppots mutithreading (I guess all do these days) then it should work...
the ethernet option is out and so far is showing to be a bit of improvement over the USB in that you don't the grounding issue that some of the USB cables cause with the USB SS (smoothstepper). I don't have one yet and YET is the watch word there. Everything I have read on it in the different forums that have info on it says that it for al purposes brings Mach up to full speed (at 4Mhz you would expect that) and with 51 I/O options you would be hard put for us small shop users or a hobby CNC user to max out the inputs/outputs on a board.
Hope that helps a bit and good luck.
By Fivetide in forum Computer HardwareReplies: 12Last Post: 14-09-2012, 07:45 PM
By j.c.freeman in forum Boxford LathesReplies: 0Last Post: 27-08-2012, 01:18 PM
By gbar in forum Stepper & Servo MotorsReplies: 4Last Post: 11-05-2012, 11:12 AM
FOR SALE: Controller Box for saleBy lateAtNight in forum Items For SaleReplies: 12Last Post: 04-03-2012, 09:17 AM
By M250cnc in forum Motor Drivers & ControllersReplies: 1Last Post: 21-11-2010, 12:34 AM