585,712 active members*
3,863 visitors online*
Register for free
Login
Results 1 to 20 of 20
  1. #1
    Join Date
    Apr 2006
    Posts
    3

    A host of EMC newbie questions - sorry!

    (feel free to skip down to QUESTIONS if you're busy/impatient!)

    I've been lurking for about a month, wary of posting, as there are something like 132 forums in 15 sections, and I wanted to read as much as possible (here and via Google) before repeating questions asked a million times. Also, it took me a long time to even find the link for making a new post - "Forum Tools" indeed This is one enormous site, and a bit hard for a n00b like me to navigate, but I'm glad it's here, because I'm going to need it.

    I've been "inventing" things since I was a kid, always disappointed with hand tools, and budget bench equipment, and unable to get my hands on the big toys. I always wished specifically that someone would make a small, affordable mill for hobbyists like me, and then this year at the Maker Faire, I saw one (actually, it was at the Hobby Engineering booth, being operated by the owner/site manager), and fainted, and ran home to Google for a week straight without sleeping. Now my brain is melting from info overload - everything from woodworking to injection molding - making stuff rules, and the more I read up on, the more there is to read up on. If only I'd known years ago that I had all these options.

    I settled on, and now have a Sherline 5400 with their stepper motors, including a 4th on their rotary table. I'm quite happy with it - it's what I need right now. I've been cranking out little tests for weeks, learning about centering and aligning things, and wigglers and handwheels, and making my quota of newbie mistakes, but my latest attempt to make a fairly involved jig for some toy pieces I want to make is the last straw. I'll finish it up, so I have at least *some* material for holding over future generations of slackers who don't know how easy they have it, but I want to get the CNC stuff up and running finally. Furthermore, reading up on the subject extensively now, I've lost faith in my limited electronics and programming background. I've made stepper motors do some fun things, and I've programmed PICS and BASIC Stamps, but I'm able to say finally that all I've done, or probably would do is chicken scratch to what's available. It's time to shell out some money, but to save at least some of my remaining funds, EMC seems a viable option. I'll be going with Ubuntu, and probably getting a new PC, and using my current, small, Shuttle SS51G PC (no parallel ports), should I go this route. Now for the questions, finally!

    QUESTIONS:

    1) Can EMC handle a serial input? I found one question on the site, but it descended into talk over some ancient computer port formats, and didn't seem to just say that EMC can do serial. If so, what's required?

    2) If it can't do serial, has anyone managed a serial to parallel conversion? I would be hoping for something that went from the DB-25 parallel to the 9-pin RS232 connector made famous in part by PC COM ports, and 8-bit video game console controller ports. I bought one of these once, and it came in with a Centronix thing on the parallel end. I'd assume anything that went from parallel to a single serial line would involve a little breakout box with shift registers or somesuch. Honestly, I'm having a hard time even finding something like this - the RS232<->parallel stuff I've seen online has DB-25s on both ends, which is disheartening.

    2) Is there anything nice and simple like Sherline's controller that *isn't* $600 dollars (and serial would be nice)? This just doesn't look like the better part of a grand to me. I'm still considering it, as I have 4 Sherline motors, with their DIN connectors, and I know it would just work, but still...

    3) Honest opinions about EMC? I'd LOVE to get any kind of pros/cons. I can't seem to stumble upon this hidden info online. What do you wish it had that some/all other CNC apps have? What's holding it back, or making it clunky? What can it do that's unique and special to it, if anything? Is there a lower limit to the PC specs? I feel like all the info is running me in big, time-sinking, infoless circles.

    4) If I get the Sherline controller box, will other things be able to talk to it? If I give up on EMC, and go with something like DeskCNC, or this Bob I keep hearing about, do I need to Ebay the Sherline box?

    That's a lot for now. I greatly appreciate any info on any of that, eventually becoming more knowledgeable, and then helping future n3wbs with their transition periods.

  2. #2
    Join Date
    Jun 2003
    Posts
    866
    Quote Originally Posted by gfixler
    1) Can EMC handle a serial input?
    If you mean for motion, EMC can't handle serial port at this time. If all you were doing is sending out something like step/direction, it would be fairly easy to modify an existing driver. I have written an EMC driver.

    Quote Originally Posted by gfixler
    2) If it can't do serial, has anyone managed a serial to parallel conversion?
    Same problem as above. You have to fit within the EMC framework, which is basically a closed loop motion controller.

    Quote Originally Posted by gfixler
    2) Is there anything nice and simple like Sherline's controller that *isn't* $600 dollars (and serial would be nice)?
    I think that most of the step/direction stepper controllers available are cheaper than Sherline, including a full Gecko system. There are lists of controllers here on CNCZone.

    Quote Originally Posted by gfixler
    3) Honest opinions about EMC? I'd LOVE to get any kind of pros/cons.
    You are moving into areas that border on religious belief, so the following is my biased opinion:
    The main argument against EMC is that it doesn't run Windows. There are some neat features to Mach that EMC doesn't have. EMC is more robust. EMC can be much harder to set up. Bill Gates can't download an update to your computer that makes EMC stop running. With any software, the faster the computer the better. EMC will run on a 500MHz computer. In fact, I've run it on a 66 MHz computer, but Linux no longer runs on such computers, so it's not currently workable. I've seen people saying 200 MHz as the lower limit, but I can't imagine it.

    Quote Originally Posted by gfixler
    4) If I get the Sherline controller box, will other things be able to talk to it? If I give up on EMC, and go with something like DeskCNC, or this Bob I keep hearing about, do I need to Ebay the Sherline box?
    I think Mach will work with it, but you would have to verify that.

  3. #3
    Join Date
    Apr 2006
    Posts
    3
    Thanks for all the good info, Unterhaus! I'm glad for a definitive answer to the parallel/serial question. The user's manual didn't even contain the word "serial," but I didn't want to go only by that. The more I think about it, the more I'm realizing that when I swap this computer out for a new one, I can remove both of the PCI cards (only has 2 slots - currently Nvidia and an ATI All-In-Wonder), and use regular onboard video, and then I'll have room for something like this.

    And yes, I've been Windows since the beginning, Mac for a year back in the late 90s, but ever since I got pretty majorly hacked through a VNC hole a few weeks back, I've just decided I'm finally tired of all the rampant security holes, and Microsoft's increasingly controlling ways. I have 0, no wait, negative interest in Vista. I'm tired of handing over control and freedom. I'm going to dual-boot my new PC with XP and Ubuntu, and make this old one just Ubuntu over on my workbench, and network them together for sharing things. I'll likely do my modeling in Maya on XP (which I also use at work), generate the G-code, and send it over to the old PC at the mill.

    But now I'm just thinking out loud. Thanks again for the info.

  4. #4
    Join Date
    Apr 2005
    Posts
    263
    Quote Originally Posted by gfixler
    3) Honest opinions about EMC? I'd LOVE to get any kind of pros/cons. I can't seem to stumble upon this hidden info online. What do you wish it had that some/all other CNC apps have? What's holding it back, or making it clunky? What can it do that's unique and special to it, if anything? Is there a lower limit to the PC specs? I feel like all the info is running me in big, time-sinking, infoless circles.
    with some additional hardware EMC can control servos which have encoder feedback. Not many other pc-based controllers can do this.

    The lookahead/blending code is still not perfect but has improved quite a lot lately.

    The hardware interface (HAL) is very flexible which allows jog-pendants and all kinds of custom IO you might require.

    the backplot/preview in AXIS is nice, don't know if other programs have that.

    It's open-source so with enough knowledge you can allways improve it or add new features.

  5. #5
    Join Date
    Jun 2003
    Posts
    866
    If you really want to swear off windows and use linux full time, there is no reason why you wouldn't stick with EMC. The main group who don't like EMC are those who don't have any connection to linux, and end up not liking the shortcomings of Linux.

    I think people are happier with the support they get for Mach, but that's because there is one guy who always fixes every problem because everyone is his customer. With EMC, there are lots of volunteers, and it's not always obvious to people how to get help. If anyone is serious about using EMC, they should subscribe to the user's mail list. There is also an IRC channel.

  6. #6
    Join Date
    Dec 2005
    Posts
    3319
    Food for thought: Bridgeport ran a full CNC 4 axis machine with their own PLC board and a 133mhz or SLOWER DOS machine in the mid 90's.

    The exact same PLC card, albeit with different proms and glue chips, ran a CNC lathe, a CNC mill and a CNC surface grinder. Alas, it isn't supported anymore since BPT went under but Oh what could have been if you had a 1 ghz DOS machine in concert with companion bus/hardware support.

    And the nice part is that DOS is essentially FREE as are the computers. Sadly, Windows has been crammed down the throats of the machining community. It has it's problems, especially when it comes to "openness", especially since the inception of Win 2k or above. Ask anone who's had a blue screen in the middle of a program when the uP decides to do something and/or hobbles/bobbles what had once been a perfectly smooth finish cut.

    Sorry, but I can't help but feel that Windows is NOT a CNC focused O/S. Yes guys get it to work but you're too dependant on drivers and DLL's and the "plug and play" philosophy of PC's - there simply is no such thing as plug and play in CNC. It is an industrial world where multitasking is NOT necesary or desired for most machine control issues. This is why dedicated controllers are simply more reliable.... Ask Haas, Landis Gardner, Anilam and any other high end machine systems.

    Keep in mind that XP is not DOS friendly thus the once easy to use LPT and/or serial ports aren't always supported. USB is catching on but..... And the issue of stuff not working after a security patch is always a possiblity. I contend the WinTel crowd is interested in THEIR well being and have taken the PERSONAL out of PC.

    Do you think that Intiel, AMD, TI et al who make processor chips have CNC equipment is Windows based??? That would be intersting to know.

    Yes, one has to progress but things that work and reboot QUICKLY after a power out without scrambling files or losing data is something that doesn't always occur with Windows. My DOS machine is up and running while my Win box is still doing its log in crap and the 2 sit right next to each other.

    I'm not familair with EMC but ANYTHING that doesn't use Windows that is open source and reliable would be something I could support or get "into" if I were about 25 years younger and had way fewer bad/ingrained habits...

    Hmm. Notice how few Macs there are in CNC??? SOme machines simply do some things better than others (as do the O/S's). Ever wonder why???

  7. #7
    Join Date
    Jun 2003
    Posts
    866
    Quote Originally Posted by NC Cams
    Food for thought: Bridgeport ran a full CNC 4 axis machine with their own PLC board and a 133mhz or SLOWER DOS machine in the mid 90's.
    I have the same problem. The wasting of cycles and memory is painful. The other thing that is painful is that as we get faster and faster processors, the I/O speed that's available to things like CNC doesn't get any faster. Just doesn't seem right.

    Actually, I'm nearly positive that the big companies making almost anything have windows based controllers. Labview is very popular, and you can get a realtime version of Windows.

    The cool thing about Linux is that you can program like you program for DOS. Not that hard. And it gives you the modern memory and disk capacity as well as a very robust network. Windows works in a lab environment, but I wouldn't trust it for anything that is potentially dangerous. I cringe thinking about Mach controlling a large machine. My experience with doing things like that is very bad. Of course, step and direction is self limiting, so if Bill Gates decides to take over your computer and doesn't give the CNC any cycles, nothing happens but a small glich.

    But if I need to program a graphical interface, I program in Windows. Too much investment in learning how to do that.

  8. #8
    Join Date
    Mar 2004
    Posts
    47
    Quote Originally Posted by unterhaus View Post
    If you really want to swear off windows and use linux full time, there is no reason why you wouldn't stick with EMC. The main group who don't like EMC are those who don't have any connection to linux, and end up not liking the shortcomings of Linux.
    I'm a full Linux guy right now and have been for years.

    I've been using QCAD on KDE. What's the best way to get to g-code? CAM Expert?

  9. #9
    Join Date
    Aug 2004
    Posts
    170
    To make codes to EMC, from INKSCAPE, GIMP, QCAD, Whatever... Like ArtCAM (well, or almost like):

    http://opencam.sourceforge.net/

    Read about: is you have GAMBAS installed, you need just the sources.
    If not, just place a line code on terminal and good luck.

    See ya dudes!

  10. #10
    Join Date
    Mar 2004
    Posts
    47
    There are a couple of things I wish to comment on. I apologize in advance for being contradictory. I just think a couple of philosophical items could use another view to enhance the objectivity.


    Quote Originally Posted by NC Cams View Post
    It has it's problems, especially when it comes to "openness", especially since the inception of Win 2k or above. Ask anone who's had a blue screen in the middle of a program when the uP decides to do something and/or hobbles/bobbles what had once been a perfectly smooth finish cut.
    Windows can be rock solid if you exercise careful version control with your device drivers and make sure your hardware is solid. Many BSODs are caused by flakey RAM. I would suggest that a stripped down Windows installation can be as reliable as a stripped down Linux installation. The problem with Windows stems from the tons of devices supported and the quantities of device drivers of varying qualities running at ring 0 level.

    A CAM environment really calls for ECC memory but who wants to pop for an Opteron/Zeon to run their machine?




    Quote Originally Posted by NC Cams View Post
    Do you think that Intiel, AMD, TI et al who make processor chips have CNC equipment is Windows based???
    Yes. They do. I was blown away to discover most of AMD's fab floor populated with manufacturing machines run on Windows.

    TI dropped their CPU lines long, long ago to focus on DSPs.

    Most of AMD's automated precision manufacturing (APM) system is built mostly with Windows boxes. That is changing and they are moving to Linux but it has barely made a dent in their manufacturing technology footprint to date.

    I will add that AMD's APM is about as successful of a system as there is on the planet right now.


    Quote Originally Posted by NC Cams View Post
    Notice how few Macs there are in CNC??? SOme machines simply do some things better than others (as do the O/S's). Ever wonder why???
    There is no technical reason a Mac wouldn't make as good or better of a CAM machine than most Linux boxes. Mac is built on BSD Unix which is so closely related to Linux that it's tough to chose one over the other on merit. Pretty much all of the non-graphical apps on OS X were ported from Linux... and by ported, I mean recompiled without change.

    I just came from a Cisco security course and the Cisco same security client runs on both Linux and OS X. Once again... a *security client*. Of course, there is also a pretty graphical client for OS X that Linux doesn't have (Linux users scoff at such luxuries as graphical applications or indoor toilets )


    Quote Originally Posted by unterhaus View Post
    I have the same problem. The wasting of cycles and memory is painful. The other thing that is painful is that as we get faster and faster processors, the I/O speed that's available to things like CNC doesn't get any faster. Just doesn't seem right.
    I hessitate to offer so many conflicting points of view but I would suggest that the RS232 serial I knew as a kid is so long obsolete that it's rediculous they still include it on some motherboards. The thing was just barely able to handle 2400 bps modem communcations without dropping characters. It basically broke at higher modem speeds and was upgraded with fifo buffers to keep from dropping bytes. Is anyone old enough to remember the buffered UART evolution?

    Centronics parallel was a cadillac point to point connector in it's day but it too has been enhanced a few times and then left for superior architectures.

    Small device communication was re-thought in the 90s and a new serial technology was created and developed. The new technology allowed for massive expansion of serial ports, using hubs to allow for the addition of more ports and connection of more devices, and a sliding technology window that would allow for speed improvements with the retention of compatability with previous speed levels. This serial technology is called USB.

    RS232... even in it's most evolved specification is pretty much topped out at 115Kbps. USB 2.0 currently hums along at 480Mbps. That makes it roughly 4000 times faster.

    I believe USB is of dubious value these days as we enter the age of the IP connected appliance. Everything seems to be going toward ethernet connectivity and device autonomy. I applaud Gecko for creating the G-Rex.

    Ethernet currently scales to 10Gbps with a draft specification of 1000Gbps or 1Tbps due for ratification in the relatively near future.

    It seems to me inter device communications has improved more than five orders of magnitude while dropping in cost significantly. Does anyone remember the old Digi cards and PORT/S modules to drive more than 4 serial ports? I can assure you those did not come as cheaply as a modern USB hub.

    .... just a different perspective on a few items.

    It seems to me, one day in the not too distant future, the EMC community is going to have to embrace some of these new technologies and architectures. I would imagine it's already happening and will find it's way into the public distribution at some point.

  11. #11
    Join Date
    Dec 2006
    Posts
    222
    Quote Originally Posted by unterhaus
    I have the same problem. The wasting of cycles and memory is painful. The other thing that is painful is that as we get faster and faster processors, the I/O speed that's available to things like CNC doesn't get any faster. Just doesn't seem right.
    I was going to comment on this line as well but Tom Brown beat me to it It seems that the computer industry hasn't had the problem evolving, but our CNC machines. Parallel ports are the Model-T of the I/O systems these days. USB 2 is faster, more reliable, and dramatically more capable with the support for chaining devices. The downside? It isn't fall-off-a-log simply like parallel. You can't hack a USB cable to add a switch to your computer and I think this complexity is what has made adoption so slow for DIY CNC.

  12. #12
    Join Date
    Apr 2005
    Posts
    263
    realtime is not about throughput, it's about latency.

    usb, firewire, gige, etc. might have really good throughput, but latency is unpredictable or very bad.

  13. #13
    Join Date
    Dec 2006
    Posts
    222
    Quote Originally Posted by andy55
    realtime is not about throughput, it's about latency.
    True enough, the latency of those high throughput technologies is variable (though coming down dramatically with some tweaks to USB) BUT that is no reason for us to assume that signals need to be generated directly from the PC. Gecko's use of a signal generator tied to the PC makes perfect sense. Let the PC do what it does best and let low-level hardware handle generating signals. I'd love to see something like the Gecko controller as an I/O board I can just drop into my computer.

  14. #14
    Join Date
    Jun 2003
    Posts
    866
    The point Tom Brown and webgeek are missing is that with a 66 MHz pc and a parallel port I can successfully run a milling machine including a pretty decent GUI. Of course, I better firewall it pretty good because it will be rooted in about 10 minutes. Now they've increased the processing power 50 times, and I need to run a cable from the back of my 4GHz computer to another processor that has roughly the same power as a 66MHz Pc. So I'm replicating my PC only with a proprietary device. It will be so much easier for the entire software/hardware industry when those pesky device drivers are all gone. What's happening is that there are now tons of proprietary designs like the Intel Stargate and the gumstix that are popping up where a pc alone could have gone. I really don't know why the parallel port is still around, but the serial port is incredibly useful for a lot of things, so I expect to see the Tiawanese Mobo manufacturers keep that around for a while longer. A realtime system I built was synchronized with 115kbaud serial, and it works extremely well, but my method is pretty specialized to the one problem. The canbus that makes new cars work is just a fast serial port, and that is very useful. Too bad it wasn't invented by IBM for the orignial pc.

    As far as latency goes, the ISA bus still rules the world of serial and parallel ports. They just don't have the ISA bus connectors. But that latency is deterministic. Ethernet can be made deterministic, but USB can't. Firewire also is fairly deterministic, but IMHO, it's a goner. There is a $500 ethernet card for gamers which is low latency.

    I'm not a big fan of step/direction control, but it works ok for a stepper system. I wouldn't run my giant VNC with it though.

    Actually, connecting to the USB bus is trivial if you have $14. Or you can have remote intelligence and usb for $20-$30. It just doesn't do real-time unless you need tons of data at a 1Hz rate. I'm sure there are problems like that, but most people don't have the guts to sample that slow.

  15. #15
    Join Date
    Apr 2005
    Posts
    263
    moving all of the RT of motion-control into dedicated hardware is not as easy as it seems. If you look at the RT part of EMC you will see that it includes trajectory control (acceleration/jerk limited velocity profiles), blending in G64 mode etc.
    Those require a lot of processing and not just a simple step/dir generator...

  16. #16
    Join Date
    Jun 2003
    Posts
    866
    Quote Originally Posted by andy55 View Post
    moving all of the RT of motion-control into dedicated hardware is not as easy as it seems.
    And it's silly when the computer can do the work. The only reason the work is being forced off of the computer is because Microsoft doesn't want to do real-time processing. The generic Linux kernel is actually moving towards real-time capabilities, so it makes sense to keep it on the cheap high-performance hardware. I can buy a low-end computer for what a GRex costs. I don't know which is going to be obsolete first, a cheap computer I buy today or a GRex, but I'm guessing the computer is going to be around much longer.

  17. #17
    Join Date
    Dec 2006
    Posts
    222
    Ha ha, my comments started more discussion then I intended. I didn't mean to be argumentative I just don't like that parallel ports are the interface of choice for CNC yet becoming increasingly less common on PCs. My latest PC doesn't even have one and this is starting to be happen more and more on high-end motherboards. Sadly, none of my laptops do either. So now I have to purchase a parallel port expansion board (and burn a rare PCI slot) for my latest machine just to control an external device when I already have "newer" external ports (USB, Firewire, eSATA, ethernet, etc) coming out of my ears. Now I agree with you that parallel ports appears to be the ideal way to control CNC equipment, but a guy can hope can't he?

    The point Tom Brown and webgeek are missing is that with a 66 MHz pc and a parallel port I can successfully run a milling machine including a pretty decent GUI.
    Is that TurboCNC? I didn't know of anything that could run on a machine that slow. Heck, I can't get a 500MHz machine to properly run any controller software as it's border-line for EMC according to the docs.

    Thanks!

  18. #18
    Join Date
    Jun 2003
    Posts
    866
    I didn't really want to be argumentative either, but I know it came across that way. The whole idea of EMC and realtime linuxes is that you can develop a realtime system without going into embedded systems.

    My point about the 66MHz computer is that you can go back to old versions of linux and EMC and run those. It would take work at this time, but the hardware is capable of doing the job. It would be silly too, because you can have a modern linux on a much faster cheap computer for very little money.

    One thing people have done is run EMC over the network, with one computer just doing the realtime stuff, and the display working on another computer. You could even do the display on a windows computer. I'm basically doing the same thing right now, there is a big cluster of linux computers in the back room doing calculations and I'm running them from this windows computer.

  19. #19
    Join Date
    Dec 2006
    Posts
    222
    One thing people have done is run EMC over the network, with one computer just doing the realtime stuff, and the display working on another computer. You could even do the display on a windows computer. I'm basically doing the same thing right now, there is a big cluster of linux computers in the back room doing calculations and I'm running them from this windows computer.
    I'm very interested in this. My latest machine will be running Linux in a multi-boot scenario already so this might be a good option. How do you run EMC remotely? I probably missed it in the docs somewhere. Thanks!

  20. #20
    Join Date
    Jun 2003
    Posts
    866
    I've never run EMC remotely. It may be as simple as logging in using ssh with x enabled, and then exporting your display export DISPLAY=xxx.xxx.xxx.xxx:0 where xxx.xxx.xxx.xxx is the ip address where you want the display
    and then running EMC the normal way. I don't know why that wouldn't work.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •