Thursday, February 27, 2014

Project CNC - more on build materials

A brief look ahead (what my build looks like right now):
Starting calibration

After adding X-axis brace
Stepper Drivers
Initially I thought I'd be able to use L293 chips (dual H-Bridge drivers), since I already have plenty of them. But...I ended up finding out that I didn't understand what “Stepper Drivers” were and how CNC G-Code worked (how information is sent out).

Basically, programs interpreting G-Code send out pulses to control 1.) direction and 2.)distance (in this case - “steps”). Dedicated stepper motor drivers are designed to interpret these 2 pulsed signal to the motors for each axis. With the type mill I'm trying to make that means 3 axis with 2 signal lines to the motor controller for each axis.

Dual H-Bridge drivers are fine for powering and running stepper motors but they do not have the additional circuits to interpret and translate digital signals into power to the stepper motor coils. So, either I would need to program controllers to interpret the signals or better yet - find chips that are already designed to do this.

Surprise, surprise – once you really know what you are looking for/need it becomes much easier to find it.  Long story short – there are a number of different chips and breakout boards that are made specifically to control stepper motors for robotics and computer assisted machining (just what I needed). Some boards have multiple drivers (up to 5 for true 3D milling), different voltage and amperage levels (depending on the size and type of stepper motors you are using).

The most popular seem to be the Easy Driver Board by Sparkfun and the Pololu Stepper Driver boards (I later found out that these boards are used in RepRap 3D Printers and the ShapeOko CNC machines).  These boards control one stepper and each board takes two inputs (direction and distance - in steps) and outputs the signals to bipolar stepper motors on 4 wires. I eventually settled on the Pololu boards, since I was able to find package deals on 3 boards (just the number I would need). These drivers can handle up to 35V and up to 2amps for the motor power supply. These boards work great for the NEMA 17 stepper motors that I have. The design of these boards is open source so you could make them yourself – if you are comfortable with surface mount chips (not me...yet).
3 Pololu Stepper Boards with added Capacitors for spike protection

Received my longer 8mm rods, additional linear slide bearings (originally only had 10 and found that I really needed 12 – 4 for each axis) and a replacement for burnt out stepper driver board (I ordered 2 just in case I burned out another one). Also, I ordered a 24 volt 5 amp power supply (about $16) which also arrived, so I don't need to continue to rely on batteries for the stepper power supply.

Finished my new mount for rotary tool, complete with linear slide bearings.

Finished Mount
I've seen a number of similar configurations but the one I adapted this design from came from searching through the SketchUp 3D Warehouse. Details on the original design can be found at 

Stages of making my mount:
MDF board for mount - routed out areas for HDPE sections
Mounting board lined up to bearings and taped in place

Temp nails hammered in board to mark spots and ensure glide with no binding

Picture after nails removed

Having to deal with setbacks is a consistent part of life and building/making is far from an exception. Just the other day I thought I was so close to being done when...Oops! I tried to move the frame onto its side, with everything attached, while only holding one section of frame – End Result – the screws joining the 2 sides ripped though the MDF on both ends. End result – I had to cut a new section out of the MDF, sand it down, check dimensions, drill new guide holes to attach piece, drill new holes to attach x-axis support (small mistake = bigger repair). When I was running a cut test I attempted to stabilize the x-axis I ended up breaking the same side again - this time I did not have the extra MDF to remake the section so I had to glue it with epoxy.
Glued repair

I'm still trying to catch up to where I'm actually at now in this build.  Currently my machine is functional but there have been a number of issues that have slowed me down, due to having to solve them.

 I am working to catch up on posting this build process - it is difficult to work to solve developing issues while also writing them up.  I know that my posts are delayed but I am endeavoring to write up my entire journey - especially including the obstacles I encounter and the solutions that I am able to eventually find to them.  

Building and making is fraught with challenges, what seems simple and straight forward at first frequently turns out to be more difficult.  But, that is no reason to give up.  While we all want a successful end result I personally feel it is the journey that is most important (it's searching for the prize that is the adventure - not the prize itself).

Monday, February 10, 2014

Project CNC - Start of Build, Materials

An overview of the materials I've used in my build as well as some the rationale I used for my choices.

General Structure
  • 1/2” MDF – 2'x4' piece was about $6.

  • Initially I hoped to use ones from old printers and scanners
    • First problem that I ran into was that most of the steppers I've salvaged were unipolar and I needed bipolar motors
    • Next – motors were could not produce enough torque
    • Last – the steppers that I salvaged were all fairly low resolution (about 50 steps per revolution and I wanted more in the range of 200 steps per revolution).
  • Decided on 3 x NEMA 17 (picked up on ebay – they came with vibration dampeners which was a nice extra).
  • Spindle Motor
    • Old cordless Dremel (10-12 years old). When the battery pack died I removed the motor and eventually remounted it in PVC piping along with power cord and a toggle switch to control direction. The shaft on the motor has a rotary bearing and collet holder already attached. This is the motor I used in my initial prototyping.

    • Expanded to using a knockoff brand rotary tool (Toolshop – picked up on sale at Menards for about $15).

Guide rails (rods):
  • From the start I thought of using the steel rods out of printers and scanners
  • I've kept old ones with the idea that I could use them for something someday (they are precision machined).
  • Only issue was that I found that I had 3 different diameters 6, 8, 10mm.
Decided on the 8mm rods since they seemed to be a common size for linear slide bearings when I did online searches.
Initial Y-axis frame with 8mm guide rods

Searching through my salvaged parts I determined that I needed at least 2 more 8mm hardened steel rods. So...I made a trip to Goodwill (with a small section of rod in my pocket to compare) and purchased a a few old scanners that I found ($2-3 dollars each – plus they contain Cold Cathode Fluorescent Tubes, with the boards to power them, additional stepper motors, glass plates, tactile buttons, as well as other goodies).

Currently I am waiting on some additional 8mm rods that I ordered off of ebay (since I decided to use a full size rotary tool for my spindle I wanted to enlarge the size of the work area). When they arrive I should have a work area of about 8” x 13”.

Linear Slide Bearings:
Due to my using 8mm rods for guides I decided on using SC8UU Linear Slide Ball Bearing Block Bearings (this was based on them being the most common slide bearings for purchase – on ebay on other sites). I did do searches for 6 and 10mm slide bearings but they were less common and more expensive. In addition; I wanted “Block Bearings” since I could secure them easily with screws.
Bottom view of Y-axis - square blocks are the linear bearings

Screw Drive vs/Belt Drive:
Initially I intended to use screw drives for the x, y and z axis – later I switched to thinking about using belt drives with gears and belts from old scanners for x and y axis (after reading an article on ebay). After looking at all the different belts I have (and gaining a better understanding of sizes, pitch, spacing, etc. - which came about from my research on what other people have used, why they used it and what is available) I realized that I don't know what belt came with what gear system – I salvaged them from old printers and scanners but did not keep each set together.

Further research lead me to switch back to using a screw drive, since I could use use regular all-thread rod with some additional elements to reduce backlash. In addition I did the math – 24 turns per inch comes out to about 1mm per revolution and with my stepper motors that is 200 steps per revolution or, about, 200 steps per millimeter which should be plenty good resolution. 

I continue this overview in my next post and then get into the nitty gritty of the build process.

Friday, February 7, 2014

Project CNC - Adventures with CNC milling

My First Functional Prototype
I have been looking at home 3D printers and CNC milling machines since I first heard about them a few years ago (I actually heard about 3D Printers first and in the past year learned about home CNC milling machines). 

I knew I really wanted one, but had to focus on what I wanted it to do.  The list of things that computer controlled mills are able to make is very long as the materials they can make them with is also long.  To approach building one I had to be realistic so I needed to answer some basic questions:
  1. What materials do I want to use the mill to work with?
  2. Types of objects I want to make?
  3. Size of objects?
Price is not really a question - I want to minimize it as much as I can but I'm willing to pay more in the long run (during building process) as long as I'm learning how it all works and each purchase I end up making isn't to high.  Basically, I want to keep price low but I'm willing to start simple and cheap and build on what I've made as long as the basic framework is good and solid.  (I've always taken the same approach to other things - like bikes: as long as I have a good frame I can keep improving it with better pedals, tires, bearings, gears, shifters etc.).
A quick note - if you are looking for a quick start into computer controlled milling machines - as in getting one set up and running with minimal hassle I suggest looking at ShapeOko or Phlatprinter (more expensive).  Kits like these will save you a lot of headache - they are tried and true designs.  If you are a bit more adventurous and willing to purchase individual pieces on your own: Mantis 9.1 CNC Mill (mainly for PCB manufacture) is likely the least expensive entry into CNC milling (as long as you substitute stepper drivers with StepStick and use  GRBL  loaded onto an Arduino board - both of which I ended up doing).

I've already spent the past month building, changing things, and building again (repeated many times with different parts of the machine - and I'm still not done all the way).  I will try and bring my build process up to date on here as quick as I can over this coming week.  So, keep tuned in.