Welcome to Our Community

Some features disabled for guests. Register Today.

What controller?

Discussion in 'Controller Boards' started by Metalguru, Dec 31, 2015.

  1. Metalguru

    Metalguru Master
    Builder

    Joined:
    Dec 29, 2015
    Messages:
    418
    Likes Received:
    237
    Hi Guys:

    This question has probably been asked a hundred times before, but what is the recommended control system for something like the C-Beam Machine or the OX?

    I plan on using 2,8A NEMA 23 motors, and the fact that the y axis has 2 motors on it has me leaning toward a 4 axis setup, or 3 axis with 2 motor drivers wired in parallel. But, what software? GRBL, or Mach 3?

    What do I need for the system? I assume some sort of BOB, a processor running g-code interpreter, and an interface to a PC. Here I really balk at using a parallel port interface, it is ancient and hard to find these days.

    Has anyone used the PiBot setup? It looks reasonably priced, up to 5 axis, and is GRBL compatible.
    A Set of PiBot Electronics Kits 2.0C for CNC (Free Shipping by DHL)

    This is all kind of overwhelming...
     
  2. Steve Fox

    Steve Fox Veteran
    Builder

    Joined:
    Feb 22, 2015
    Messages:
    129
    Likes Received:
    19
    I have an Arduino Uno with GRBL, a screw proto shield to attach the wires and four Chinese controllers.
    They worked the first time and every time since. Nothing gets hot.
    I have it hooked to an old laptop running Universal G-Code Sender.

    The only issue I've had is the Y-Axis gets off by 1/16" every so often and I can't figure out why. It only matters when I am doing precision stuff and it doesn't happen all the time. I think it has something to do with the number of steps I have the controllers set to. The more you have, the less torque there is. The machine is in another State and I won't get back to it until Spring.

    If I had it to do all over again, I would do the same thing. In fact, I'm building a Rotary Ox shortly and have already purchased the same electronics.
     
  3. Metalguru

    Metalguru Master
    Builder

    Joined:
    Dec 29, 2015
    Messages:
    418
    Likes Received:
    237
    From researching this stuff, it seems that there are two main types of systems:

    "Mach 3" systems which use a parallel port output from a PC running MACH3 software. A small board "Break Out Board" multiplexes(?) the step/dir signals from the parallel port to the axis controller inputs through optocouplers to protect the PC. Each output is tied to a stepper motor driver module which does the actual translation to motor coil drive. You need a driver for each motor. Some systems combine several drivers and the BOB onto a single board. All use parallel interface and the software takes care of converting G-code to step/dir inside the PC.

    GRBL type systems use a small microcontroller (arduino, Raspberry Pi, etc) with the G Code interpreter loaded onto it. The PC communicates to this controller via USB and downloads g-code directly to the controller, the controller handles conversion from G Code to actual axis movement. Again, separate stepper motor controllers for each axis run the motors. These systems can be made up of plug in stepper drivers on an arduino shield, or separate driver modules, or the whole system can be implemented on a single custom board.

    Am I getting this so far? If so, which system is "better" and why?
     
  4. Steve Fox

    Steve Fox Veteran
    Builder

    Joined:
    Feb 22, 2015
    Messages:
    129
    Likes Received:
    19
    You're definitely getting it.

    One difference, I think, if I'm reading you correctly, the Arduino interprets the G-Code and sends the outputs for pulse and direction to the controllers. In neither case that you describe does the G-Code make it past the processor. The BOB just interprets the parallel signals and sends them to the correct output. Mach 3 does the conversion.

    I don't think either is better, just different. The Arduino system is cheaper because the software is free and the hardware is cheap.
    The computer to run it does need to be a little more powerful than that required for Mach 3. It has to handle the USB overhead as well as communications. There is no overhead with a parallel port.

    You can spend from $5 to well over $100 for a single stepper controller. I guess you get what you pay for as I've never heard of anyone having problems with a really expensive one. I tend to shy away from the multiple driver boards because if one goes bad, you're screwed. There's a lot of discussions concerning the Chinese controller reliability, but mine seem to be working as designed.

    If you have several hundred dollars, in addition to the Mach 3 software and don't mind spending it, go for it. Buy the name brand boards. You won't be disappointed. You can buy cheap hardware for a Mach 3 system, too.

    If you're a skinflint like me and count your pennies, save your money and build an Arduino system. If you find it doesn't perform to your liking, go the Mach 3 route. I have around $60 in my hardware. As I said, I'm building a Rotary Ox and will probably end up converting it to Mach 3 sooner or later because Mach 3 handles the rotary axis better.

    With my Ox, I think I will always be happy with the Arduino control. As a disclaimer, I've been working with Arduinos for years and really like building projects with them. They are easy to program and interface and I've never had one fail.
     
  5. Metalguru

    Metalguru Master
    Builder

    Joined:
    Dec 29, 2015
    Messages:
    418
    Likes Received:
    237
    I appreciate your insight Steve. Thanks for clarifying things for me. The mud is starting to settle... Now on to the software.

    Is Mach3 free software? Where can I get it?

    What about arduino software? I have ordered an arduino kit off ebay from China for a ridiculously low price, I think the whole thing with 5 stepper drivers cost me under $30US. This will do for a first kick at the cat. Besides, I am frugal as well and trying to get this done on a relative budget, I just didn't see spending $500 to build a C-Beam Machine and then an additional $500 on control electronics... One step at a time. I can always upgrade the hardware as needs be later.

    Now I think I need to get GRBL software to load onto the arduino and some type of loader software to get it there from the PC, nez pas?

    Then what do I need for operational software, to do stuff like download g code and jog axis motors, etc?

    Also, is there a place to download Sketchup files for all of the openbuilds parts, like plates and extrusions, etc. so I can start playing with assembling things in sketchup ?

    Hope I'm not bugging you too much here, but you took the bait...

    Happy New Year!
     
  6. Steve Fox

    Steve Fox Veteran
    Builder

    Joined:
    Feb 22, 2015
    Messages:
    129
    Likes Received:
    19
    I believe that Mach 3 costs $300.
    You can download a free version that only handles up to 500 lines, I believe.
    That isn't enough to do anything practical. My programs usually end up with 50,000 line or more.
    Curves take up a lot of commands.
    They are working on Mach 4 now, but from what I hear, it has a ways to go.
    Mach 3 was written by Art Fenerty, who has moved on and written the Gearotic software since he left ArtSoft.

    Here's the GRBL software:
    grbl/grbl · GitHub

    Here's the Arduino IDE:
    Arduino - Software

    You use the IDE to program the board, either independently or to load the GRBL software.
    There are compiled versions that you can load to the board directly, but I don't recommend them.
    If they don't work, you have no idea what to do to fix it. There are default settings in there that vary, depending on your motors and controllers, etc. Using the IDE means you have to learn a little more, but it's all stuff you need. Hook up your board and run it through some sample programs. It will amaze you. There's tons of stuff about Arduino and GRBL on the net, spend a little time looking. It's not complicated at all, but there are some tricks you will need to know.

    That gets you an operational GRBL programmed board. Then you need an interface to get the G-Code from the PC to the Arduino.
    There are several choices, I have had the best luck with this one:
    winder/Universal-G-Code-Sender · GitHub
    Currently, there seems to be a problem between JAVA and the current version. Hopefully it will get straightened out soon. Until then, use the nightly build. There is a start-windows.bat that allows you to run it with minimal difficulty.
    You may have better luck with a different one. You should uncover several more when researching GRBL and reading the forum.

    GRBL is changing, use the latest version. I hear that they are shortly going to port it over to the Mega. It is amazing to me that they have gotten so much from the Uno. It is slow and doesn't have a lot of memory.
    Look under the Control Software section of this forum. Sonny Jeon is the lead developer for the GRBL project and he has a section there, if you have questions.

    Look under the CNC Mills/Routers >OpenBuilds OX CNC Machine>Files. The Sketchup file is in there. It's buried in a couple of other projects, too. Also, you can find them in the Parts store. There is also a version with the C-Beam Z-Axis. I don't remember exactly where I got mine.

    I hope this at least points you in the right direction.

    I may have fallen for the bait, but you're the one that has to do all the research and learning.
     
    Mark Carew likes this.
  7. Metalguru

    Metalguru Master
    Builder

    Joined:
    Dec 29, 2015
    Messages:
    418
    Likes Received:
    237
    Thanks for your time Steve. I know it's valuable, but getting me pointed in the right direction saves a whole lot of my time, for hopefully a small investment of yours.

    I'll pay it forward someday, I'm sure.

    I'm off to scour the internet for information. BTW, The little tidbit about the Uno vs the Mega was a shocker. I thought they were the same thing. I ordered the SainSmart Uno from Amazon, but it says it's based on the ATMega328. Is this the wrong one?
     
  8. Steve Fox

    Steve Fox Veteran
    Builder

    Joined:
    Feb 22, 2015
    Messages:
    129
    Likes Received:
    19
    The ATMega328 is the processor chip on the board.
    The Uno and the Mega are basically the same board except the Mega has more input/output lines and more memory.
    They both run at the same 16Mhz speed. Look for Arduino Mega. They only cost a couple of dollars more than the Uno.
    There are sites, including the GRBL site that tell what you need to change to run GRBL on the Mega. I believe it only involves a couple of variables and maybe a couple of wires. Don't remember exactly. There is no benefit right now, not until GRBL gets ported over to make use of the additional memory.

    If you look up Arduino, you will find out they make a lot of different boards, all open source, so a lot of people make them.
    There are also some "clones" that can run faster. The faster boards and some of the smaller slow ones, have 3.3 volt in/out while the Uno and Mega have 5 volt in/out. It's not much of a difference, but you do have to be careful what you connect to them. Almost, if not all the 5 volt boards will respond to 3.3 volt signals, but 5 volts may blow a 3.3 volt board. They sell converters to go back and forth. Got a little off track there, just something to be aware of.

    If you are interested in that sort of thing, you can get the schematic online and build your own.
    It's satisfying and a great way to learn electronics, but not worth it to me since the boards are so cheap.
     
  9. Christian Knüll

    Christian Knüll Journeyman
    Builder

    Joined:
    Mar 1, 2014
    Messages:
    25
    Likes Received:
    29
    Hi,

    ATmega328 is the processor used on the Arduino UNO and Atmega2560 is the one used on the Arduino MEGA.
    Both the same processor family but code written for one will not automatically run on the other.
    In case of Arduino sketches it does not matter much because the Arduino IDE automatically applies the necessary changes - but GRBL ist not an Arduino sketch and so you need to compile it for the intended device.

    If you use an Arduino UNO you can also use Estlcam as CNC controller.
    Especially the jog controls are much more convenient compared to GRBL:

     
  10. Joe Santarsiero

    Joe Santarsiero OB addict
    Staff Member Moderator Builder

    Joined:
    Oct 30, 2014
    Messages:
    799
    Likes Received:
    167
    Mach3 is around $160.
    Free for 500 lines which is plenty for 2d work.
    LinuxCNC is free and just as(if not more) capable. It's a little more involved than Mach imo.
    There are usb to lpt and rj45 to lpt options available. UC100 and UC300 have plenty of happy owners. The UC100 is reasonably priced. I own a warp9 ess and couldn't be more satisfied. It was a bit pricey though.
    PlanetCNC makes ethernet boards as well.

    Joe
     

Share This Page

  • About Us

    The OpenBuilds Team is dedicated helping you to Dream it - Build it - Share it! Collaborate on our forums and be sure to visit the Part Store for all your Building needs!
  • Like us on Facebook

  • Support Open Source FairShare Program!

    OpenBuilds FairShare Give Back Program provides resources to Open Source projects, developers and schools around the world. Invest in your future by helping others develop theirs!

    Donate to FairShare!