Welcome to OpenBuilds Community

Signup today and join in on the fun!

Sign Up

New build : 5 controller + CAM options - Your opinions please!

Discussion in 'Controller Boards' started by Agamemnon, Apr 25, 2014.

  1. Agamemnon

    Agamemnon Well-Known Builder

    Hi folks,

    I, like you, have become hooked with the obsession that is DIY CNC! I've started planning my first build, and have come to understand that I should properly figure out my electronics (and software) first.

    I have come up with some options and would appreciate your advice. (Links at bottom of post if you're interested).

    GRBL vs. tgFX vs. Linux CNC
    As a first time user/builder, I have no experience with using or setting up the controller/CAM software for CNC.
    So, I'm not sure if I should start "small" (/simple?) with an Arduino + GRBL, or if I should start with a more capable processing system. As a result, I am also considering tgFX (on a TinyG setup), or Linux CNC (via a PC, and possibly later on a Beaglebone Black). Difficult decision!

    Either way, I plan to make an initial build that has a relatively small footprint and doesn't need fast movements. I plan to make this rigid enough (possibly fixed gantry) to machine aluminium blocks and plates, in order to build a larger, stronger and faster unit later. This means that I would like to select electronics and software that can be used when upgrading to a more powerful system.

    My basic electronics cost breakdown is as follows. (Without shipping costs, or power supplies - requirements still to be worked out)


    Option 1 : GRBL; $92 total
    Arduino Uno ($30) + gShield ($20) + 3x DRV8825 drivers (3x $14) = US$92 system with replaceable 2.2A/45V drivers, PC required.
    :: Pros : USB connection to PC; cheap, simple setup; drivers cheap and replaceable if blown.
    :: Cons: 3 axis only; weak processor (this matters, right?)
    [​IMG] [​IMG] [​IMG] UnoR3 + gShield + DRV8825

    Option 1b: [$105 Upgrade of Option 1: Driver upgrade] $197
    Option 1 ($92) + replace the Pololu-style drivers with offboard Massmind.org THB6064AH drivers (3x $35) = $197
    :: Pros : Good drivers for the price; Can be done later to minimise up-front costs.
    :: Cons : Requires some electronics knowledge to work it out; not sure if the arduino can handle the voltage.


    Option 2: tgFX $130
    TinyG board ($130), with integrated DRV8825 drivers = US$130 system with embedded 2.2A/45V drivers, PC required.
    :: Pros : USB connection to PC; more powerful processor than Arduino (I think); can have more than 3 axes; smoother movements than GRBL.
    :: Cons : More expensive; embedded drivers could be a problem if blown.
    [​IMG] TinyG

    Option 2b: [$105 Upgrade of Option 2: Driver upgrade] $235
    Option 2 ($130) + replace the Pololu-style drivers with offboard Massmind.org THB6064AH drivers (3x $35) = $235
    :: Pros : Good drivers for the price; Can be done later to minimise up-front costs.
    :: Cons : Requires some electronics knowledge to work it out; not sure if the TinyG can handle the voltage; the
    embedded drivers become unnecessary extra cost.
    [​IMG] THB6064AH


    Option 3: Linux CNC $133
    CNC4PC "C10S" breakout board ($28) + 3x Massmind.org THB6064AH drivers (3x $35) = US$133 system with 4.5A/50V drivers, PC required.
    :: Pros : Good drivers for the price
    :: Cons : C10S requires a PC with a serial port; complex software; drivers are kits that need to be assembled.
    [​IMG]C10S

    Option 3b: [$75 Upgrade of Option 3 : embedded mini-PC] $208
    Option 3 ($133) + Beaglebone Black mini-pc ($45) + Xylotex BBB_25 shield ($30) = US$208 system with 4.5A/50V drivers, no PC required.
    :: Pros : Can be done later to minimise up-front costs; removes need for extra PC; and resolves the parallel port problem; minimises footprint.
    :: Cons : BBB for CNC still in early development so might be difficult to set up.
    [​IMG] [​IMG] Beaglebone Black + BBB_25 shield


    Option 4: [Linux CNC on embedded mini-PC] $220
    Beaglebone Black mini-pc ($45) + Probotix "PBX-BB" breakout board ($70) + 3x Massmind.org THB6064AH drivers (3x $35) = US$220 system with 4.5A/50V drivers, no PC required.
    :: Pros : Removes need for extra PC; and resolves the parallel port problem; minimises footprint; PBX-BB looks like a well featured breakout board.
    :: Cons : BBB for CNC still in early development so might be difficult to set up;highest upfront costs.
    [​IMG] Beaglebone Black + PBX-BB


    Option 5: [GRBL at first, Linux CNC later] $92 + $133 or $208 or $220
    Start off using GRBL with Option 1, then upgrade to Option 1b, then switch to LinuxCNC with Option 3/3b/4.
    :: Pros : Low initial costs; learn the basics on a simple system; progressive upgrades so costs are spread over time.
    :: Cons: By the end of the upgrade cycle I will have an unused "Option 1" set left over... though that might be a good excuse for another project! :)


    Options considered but decided against for various reasons :
    Mach3 CAM software: No thanks, I'm through with Microsoft. This means that Smoothieboard Smoothstepper, and all the USB breakout boards are also out. [EDIT]
    Otherplan CAM software : OS-X only. I'm prepared to consider it, but given that I want to eventually upgrade to an embedded PC solution like the Beaglebone, I think that Otherplan is unlikely to fit well.
    Gecko G540 breakout/driver package: Very nice, but too pricey. Maybe later...
    Other drivers like Probotix 7.8/4.2/2.5, Keling 5042/5056/6050, Xylotex 3-in-1 / 4-in-1, STMicro L298N/ST6472, Linistepper. All considered, but I think that the when considering the "Amp*Voltage/Cost" ratio, the DRV8825 and THB6064AH drivers come out on top.

    So that's it!
    Please add your comments/thoughts to this overall plan, as well as my electronics and software options. As a guide, my preference is to spread costs out over time when it comes to upgrades. I would also prefer to work with a single CAM software rather than learning one and then switching to another, though you think there's only minor differences then let me know. Finally, my old spare pc doesn't have a serial port, nor does it have place to add a card to the motherboard, so my preference is a non-serial port solution, although I could buy an old pc without much cost/trouble.

    Some final questions I am yet to figure out:
    :: How much more complicated is the learning curve for LinuxCNC compared to GRBL or tgFX?
    :: Are controllers / breakout boards restricted by what driver Amperage/Voltage they can handle? (ie, are Options 1b/2b even possibilities?)
    :: Assuming I match my stepper motor choices with the max rated Amps for my drivers, what Voltage/Amperage power supply is correct for (3x)DRV8825 2.2A/45V drivers, and (3x)THB6064AH 4.5A/50V drivers?


    Some links:
    DRV8825 driver : http://www.pololu.com/product/2133
    THB6064AH driver : http://www.piclist.com/techref/io/stepper/THB6064/index.htm
    CNC4PC "C10S" breakout board : http://www.cnc4pc.com/Store/osc/product_info.php?cPath=33&products_id=696
    Probotix "PBX-BB" breakout board : http://probotix.com/index.php?view=product&path=16&product_id=204

    What about my physical design?
    I haven't got too far on this. I do know that I will be using v-Slot extrusion and solid delrin wheels, and hopefully some cheap-ish c7 ballscrews (I have one 500mm already). I am split between a movable x-axis gantry (preferred) or a fixed gantry and a movable x-axis bed, but will ultimately make my decision according to the size of ballscrews I am able to obtain, and whether a fixed gantry setup will still leave me enough usable area to create side plates for a larger machine.

    Thank you all for your help!
    Last edited: Apr 26, 2014
    kram242 likes this.
  2. bhalkett

    bhalkett Well-Known Builder

    I just want to point out that Smoothieboard does not require a pc. It has Linux drivers (http://smoothieware.org/linux-drivers). It can also run completely host (pc) free using a sd card (http://smoothieware.org/sd-card).

    I've been "playing" with beaglecnc (Beaglebone Black running LinuxCNC) lately on my current cnc router. It seems to work well though it's a bit harder to configure that the full flown LinuxCNC running on a "full" computer.

    Cheers,
    Brian
  3. Agamemnon

    Agamemnon Well-Known Builder

    Hi Brian,
    Thank you for that correction! I was actually trying to refer to the Smoothstepper (which I believe is Windows only), but got my wires crossed (ha) over the name similarities. I actually think i've had them crossed for a while, having read about smoothstepper first, and then always dismissed the smoothieboard thereafter.

    Thanks - I will now look into this as another mini-pc option :)

    PS: If you are ever inclined, I would be very interested to read about your experiences with the Beaglebone Black and CNC. What hardware setup did you use, what challenges did you encounter, and do you see it as a way forward? I have read a very small amount about the BBB's PRUs, and how useful they aparrently are, so am also wondering if you had to do any tweaks (some python scripts?) to get them running / optimised. Food for thought in my brain anyway :)
  4. andrew

    andrew Well-Known Builder

    I considered a few of these options and went with the TinyG. It took a few hours to find the right combination of firmware and tgfx build and set the configuration. Now I'm working on interfacing it to my spindle controller. I'm happy with the choice so far.
  5. steelspinner

    steelspinner Well-Known Builder

    The Massmind drivers are pretty good. I have been testing one for while. The only downside I have found is some mid range motor resonance/noise. I have used the Smoothstepper in the past, it is a great unit and works very well.

    Another option for you might be a Kflop and Kstep. They are a little bit more expensive ($250 for the Kflop, $199 for the Kstep) but they are VERY configurable and have a lot of features that other motion controllers in the same price range don't have. The selling point for me is being able to put encoders on the axis and have a true closed loop system (no lost steps).

    Link: http://www.dynomotion.com/KFLOP.html
  6. Agamemnon

    Agamemnon Well-Known Builder

    Th
    Thanks for the feedback and suggestions. I have heard of Kflop though hadn't considered it initially because of uninformed expectations about price. After my research I've come to understand it could easily end up in that ballpark so I'll go back and have another look.

    For anyone who may be going down the same pathway as me, here's something I've learnt recently:
    High driver amperage is important for high performance, but don't forget to match up stepper ratings too. Steppers perform best when driver amps are equal to or exceed the stepper amp rating - and are limited by this too. Limitations: a driver rated and running at 2A running a stepper rated at 4A will only be able to get 50% of the steppers rated torque. The other way around is fine :)
    What's the implication? If starting off with weaker electronics, but thinking about buying big steppers to cater for future upgrades, be warned...
  7. steelspinner

    steelspinner Well-Known Builder

    Something else to keep in mind with the stepper motors is that bigger isn't always better. You have to look at the phase inductance. Higher induction results in a faster torque curve drop off (lower usable rpms). Generally the smallest motor that will work for the needed torque with the lowest phase inductance will perform better that larger overkill motors. The inductance that you should be looking for will be below 2.5mh ideally below 1.8mh. With inductance higher than this the usable rpm range drops drastically.

    Don't forget voltage. The higher voltage you run the higher the usable rpms. Ideally you should run your motors at: V=32 x sqrt(motor inductance). This usually ends up being higher than most drivers can handle, unless you get high voltage drivers. This allows the best motor performance without over heating. Stepper very rarely run at full amperage and only for very short period of time. Driver current is important but correct voltage will give much more noteworthy real world performance.

    Watch out for high torque for size (ie. nema 23 motors with >400 in/oz), they generally have a very low torque drop off, rpm wise, due to high inductance. They are fine for slow speed operation but anything above about 150-200 rpm have almost no torque unless you run them at very high voltage. High voltage drivers can get pretty expensive. Also, larger motors have a larger rotor inertia. This means slower response to speed and direction changes: meaning higher voltage for the same performance.

    IMHO, you should look at wattage needs of your machine. (Watts = IPM * Lbs / 531) Lbs is the weight of the heaviest thing you have to move, including cutting force. If your system needs 100 or less watts use a stepper motor. This usually falls in the nema 17 to mid sized nema 23's. Watts between 100 and 200 can be a stepper motor or a servo. The usable motors would be mid to large nema 23's. Higher than 200 watts USE SERVOS. Large steppers generally have very poor performance (for the reasons I said above).

    A good source for info about stepper drivers is: http://www.geckodrive.com/faq.html

    They make EXCELLENT products. Not always the best for every machine but very, very good.
    andrew and Agamemnon like this.
  8. Agamemnon

    Agamemnon Well-Known Builder

    Many thanks - looks like a stack of good advice! Certainly will be something I factor in to my final decisions.
  9. steelspinner

    steelspinner Well-Known Builder

    I'm sure you will find what is right for you. :thumbsup:
  10. andrew

    andrew Well-Known Builder

    steelspinner - Great post!
    The rating on these things can be confusing even for someone with a background in motor operation and theory. To make things worse, a lot of sellers don't give you these numbers. Oriental Motor Company (stepperonline) is one place that will give you those numbers. I'd recommend them if you really want to find the right motor with these calculations. -I have no affiliation with that company.-
  11. puntoMX

    puntoMX New Builder

    @Agamemnon: Useful first post, thank you for that, it gave me a start.

    @All: I've been looking around for a more powerful solution than an Arduino and use an Intel Galileo instead; This board has more options for I/O like a RJ45 connected network controller AND even space for a mini-PCI card that could be used I think (not sure) for a Solid State Drive (mSATA). It also has a 400MHz 32bit CPU that is capable to run Windows or Linux directly plus it has a natively much more calculation power (floating point), read could be smoother to control our CNC projects, compared with the Arduino. It is pincompatible with the daughterboards of the Arduino (3.3 and 5.0 Volt) so that's not a problem, but I´m looking for software... I'm more a computer guy and love to work with Windows in compare with Agamemnon :D, I'm here if you need help on computers by the way!

    Ive found this so far:
    http://forum.conceptforge.org/viewtopic.php?f=6&t=95
    And will keep looking and updating when I've found more options!:brb:

    I know there is the BeagleBone Black, based on an ARM CPU.
    Last edited: May 9, 2014
  12. Agamemnon

    Agamemnon Well-Known Builder


    Np :)


    RE : Software
    Well, the first thing that comes to mind is definitely Mach3. That certainly appears to be the go-to software for the Windows platform, and there is a ton of information out there to assist with setting it up / troubleshooting. It looks pretty good, though the downside is that there is a cost for the software.

    RE: Hardware / Intel Galileo
    The primary difference between the Arduino setup vs Mach3 (or LinuxCNC) is that the PC hardware itself is used to send signals to the breakout board and drivers. So, I'm not sure that the Arduino daughterboards would even be required for use with the Galileo, so long as the Galileo was running Windows and you had a basic breakout board. Ie. "Option 3" from my original post would probably work fine, though not 3B.* You would need to use the mini-PCI card slot to install a parallel port interface for the C10S breakout board, as I doubt the Galileo has one. The upside about using Windows though, is that a number of other breakout boards out there support USB interfaces to Windows, so that opens up your options a lot and could mean you can avoid the PCI card requirement for the C10S.

    * I say not 3B, because the Beaglebone is essentially a replacement to your laptop/desktop/Galileo, and as far as I know there's no Windows / WinME / virtualising hacks that will work with it. But Linux will, <nudge! nudge!>, and even with a pretty GUI in case youre concerned about command line voodoo. :)
  13. kram242

    kram242 OpenBuilds Team Staff Member Builder

  14. puntoMX

    puntoMX New Builder

    After 4 weeks the lost son is back :blackeye:.

    I was breaking my head on building a Spanish version (for Mexico) of OpenBuilds... :spam:

    Any way, the Galileo isn't supported by most "do-it-yourself" projects and almost no one talks about it on several forums, so, forget that one for now.

    The Beaglebone is a good option indeed, lots of free information and software, fast as well and a lot of daughter-boards.

    But, I've been looking at the ones Mark is pointing out, the ones that you can find in the OpenBuilds part store. Those boards have all you might wish for; I like personally the MKIII but a MKII has all that I need especially when I'm going to build a router. But, it uses Windows (no Linux/Android plans are made by them) so that's a no-go for you... or?

    Now, I do like a good Linux GUI but I'm okay with voodoo too ;). (and no bling needed as long as it's stable and can be upgraded (no problem, I know)).

    I'm waiting for the steppers to come in so I can place my first order, for an OX, on OpenBuilds WITH an MKII!:thumbsup:
  15. Robb

    Robb New Builder

    Has anybody looked at running linuxcnc on a udoo quad board? Will it even work? My 750 x 100 Ox is using a tinyg controller, and use my Mac for tgfx and am getting ready to try vcarving via VMware on a windows 7 guest VM.
  16. Agamemnon

    Agamemnon Well-Known Builder

    Good to see the OpenBuilds magic is spreading!

    As for controllers, I'll check out the OB MKII and MKIII, though I would still prefer a linux option instead of windows. At the end though, any OS will be fine so long as the system performs!

    To that end, I've been working backwards from my electronics decision tree, to determine exactly what current drivers I require, and thus have been spending a large amount of time working on a force/inertia/torque/power spreadsheet, in order to determine exactly what stepper I need. I know there's lots of rough estimate ways of working out the stepper size, but I like to know the "why", and this had led me down a whole new rabbit hole! Interesting outcomes though. I'll post the spreadsheet once I've finished it. Out of interest, what steppers did you order?

Share This Page