Thursday, April 24, 2014

CNC research - initial thoughts and info

I've been itching to build something interesting and useful for some time.  I was looking for something that requires learning some new things outside normal software development skills.  I had decided a while back that a CNC router fits the criteria.

My first steps involved lots of internet searches which returned me to a few common sources of information which led to many others.
  • http://www.cnccookbook.com/CCResourcesInd.htm
  • http://www.cnczone.com/
  • http://www.mmsonline.com/columns/a-few-interesting-cnc-related-websites
I purchased a book, 'The CNC Cookbook' by E Hess, and think it was a pretty good introduction to lots of related items.  All the above resources pointed me to a number of other areas to learn about.
  1. Physical motion control
    1. Driving
      1. Linear rails
      2. Lead screw
      3. Ball screw
    2. Driven
      1. Gantry
      2. Moving bed X/Y
      1. hybrid gantry/moving bed (i.e. bed is X axis, gantry is Y & Z)
        1. have to determine if there are any benefits to this
  2. Motors
    1. Stepper
    2. Servo
  3. Electronics
    1. Motor control
      1. H-bridge
      2. driver IC's
        1. Allegro A4988
        2. TI DRV8825
        3. Freescale MC34932
        4. ST L6480
        5. ST L6203, etc
        6. Toshiba TB62209FG?
    2. Power supply
      1. Regulated
      2. Unregulated 
      3. switched
      4. linear
  4. Software
    1. CAD
    2. CAM
    3. G-code creation, editing, verification, post-processing
    4. controller program
  5. Overall system control
    1. Microcontrollers
    2. PC

Some early decisions I made are
  • I don't want to be dependent upon a desktop computer while operating the CNC router.  So any gcode should be feed from either a small system like a Raspberry Pi or maybe include extra memory if needed to contain data for even large jobs.  Have to think further on it.
  • I am going to use a Arduino Leonardo for the basic coordination.  This may be somewhat limiting; the GRBL software is not officially supported on it but there is a git hub branch which sounds like folks had reasonable success in using.  I may use the Leonardo in a different capacity.  I could probably borrow my sons Uno which would be supported.  
  •  
Trying to evaluate the various driver IC's.  There seems to be very little 3rd party documented comparison/contrasts between driver options.  I'm having to look pretty hard to find discussions about experiences with individual drivers.  Fortunately, that still provides lots of useful info.
  1. So far the TI DRV8825 or close relative seems like the best choice.  Received my DRV8825 chip in the mail.  I have not worked with SMD chips before and I think I am better off getting a pre-built break-out board.
  2. The ST L6480 is nice but the problem is that it has features which are not appropriate for at least some CNC setups.  The features of issue involve acceleration/deceleration ramping which is somewhat handled internally.  Based on a forum post elsewhere, it sounds like the functionality can be disabled. 
  3. The Allegro A4988 is lacking some of the useful features of the DRV8825.
  4. Toshiba TB62209FG - I am still researching this one but it may have some of the same "excessive functionality" as the L6480.
  5. Freescale MC34932 - still researching.  looks like higher current capacity and maybe more functionality than A4988 so it could be useful in some cases.  I don't think my current needs will go this high though so the DRV8825 is still likely a better choice.
  6. ST L6203, etc  - still researching.  looks like less features but more current.  Probably not what I am looking for.
Will continue updating this as ideas/decisions occur.  Need to document features of the driver IC's, etc.

No comments:

Post a Comment