Monday, September 29, 2014

Project DIY 3D Printer Finally Working

I've been working since the Mokena Maker Faire to get this printer functioning and I've finally done it and here is a picture of it:
I thought it would be working by the time of the Faire and when it wasn't I thought it would just be a few days.  Instead it's been a few weeks and I've had to tackle one issue/problem after another.

Here are some close ups of the extruder and hot end:

Yes, that actually is tape holding the fan on for the hot end.

Below you can see that I desperately need some wire management - I've left that until I got it working since I've needed to constantly change and adjust parts.

Now for my very first, semi-successful print (a 10x10x10mm cube):
 And a progression of adjustments:
The last pic was a test print of a toy for my daughter.

Monday, September 15, 2014

Mokena Mini Maker Faire Pictures

I don't have many pictures and I actually didn't think about taking any until everyone was beginning to break down.  Actually, some exhibitors had already packed up and left, along with the crowd we had earlier in the day.

The day turned out to be great, though it started out cold and windy in the morning.  Steadily, more and more people came out to the point of being pretty busy and the day pretty much flew by.  I learned a lot talking to other exhibitors as well as from people who came to my booth.

I can't wait till next year.

Pictures below: (first pic is my little booth, with Callie hidden behind my desktop CNC)

Links for some other articles and websites about the 1st Annual Mokena Mini Maker Faire:
I wish I had gotten more pictures earlier in the day so I could have caught everyone there as well as all the other exhibitors that I missed (you can check out a list here)

Saturday, September 13, 2014

Updates up tomorrow - 3D Printer, Desktop CNC, Maker Faire

I've been so busy, between working and, trying to get my 3D Printer up and running I haven't had any time to post  (other than on Twitter).  I'll be updating on my build progress along with pictures from today's Mokena Mini Maker Faire (where I exhibited my DIY Desktop CNC and 3D Printer builds)

Monday, September 8, 2014

Project 3D Printer - Oh No!!! I released the magic smoke from Arduino Mega and Pololu

Made a lot of progress Saturday on my 3D Printer build. Sunday I focused on configuring the Marlin firmware on the Arduino Mega and getting all the electronic components working correctly:
  • verifying that each axis getting power
  • dialing in current settings on the stepper drivers
  • making sure that stepper directions are set correctly
  • hot end and temp sensor working correctly
I tested using Pronterface (this was my first time using it, checked tutorials later but learned nothing new – the interface is very understandable).
  • able to move x and z axis
    • x-axis moves in opposite direction
      • Inverted the movement direction for x axis in Marlin firmware and now it moves in correct direction
    • z-axis moves but not well
      • increased current to steppers using trim-pot on Pololu board to max current (I did try decreasing also but no movement at all at lower current) and it moves more reliably
  • no movement on y-axis
    • doesn't seem to be getting any voltage – can turn motor with no resistance, even when sending moves in opposite direction.
  • Extruder moves when stepper driver is set at max current but with very little force (light pressure from 1 finger stops rotation)
My main goal Sunday to figure out why the Y-axis is not moving/ getting power. I tried connecting the Y axis motor to the X axis controller (using the original Y axis wiring) and the motor works. Testing the Y axis controller with other stepper motors resulted in no movement. Switching out driver boards – still no movement on Y axis.

To get a cleaner test I removed all wires/plugs/boards from the RAMPS board (including the Arduino Mega) and carefully re-connected everything (or so I thought).  Once I was done re-assembling everything I switched on power to the board and... POOF the x-axis stepper board let out smoke and my computer shut  down.  I instantly cut the power off but I was to late.  On close inspection of the stepper driver board I saw that I had plugged it in incorrectly (2 pins were hanging off the end).  It turns out that not only did I kill the stepper board I also rendered the Mega useless because the USB-to-serial converter on the board got fried, so I can power the board but serial communication is essentially gone.

I guess I've earned another one of these badges

I ordered a new Mega board and another RAMPS board (just to be safe since I can't test the one I have).  I think I need a higher voltage PSU to power the stepper motors that I have (minimum voltage for them is 12V) but the  good news is that since I am not using a heated bed my total power requirements are lower that I thought.

Saturday, September 6, 2014

Project 3D Printer - Hope to be up and running calibration prints in the morning

I've been hard at work, with what time I've had, getting this printer build up and running.  Over the 2nd half of this week I've completed the following:
  • Finished X-axis shuttle, (I re-cut it in HDPE but it took awhile since a number of cutting attempts failed)
  • Attached upper brackets for z-axis guide rods and lead screws to upright frame
  • Soldered female headers to end stop wires (had hoped that I had molex connectors that would work but the ones I have are not slim enough to fit on the headers).
  • Designed and cut end stop holders, and secured end stops to holders with #2 machine screws
  • Glued together acrylic for extruder mount to x-axis shuttle and attached to shuttle
  • Designed, cut and mounted drive belt anchor for x-axis shuttle and secured belt to anchor with zip ties
  • Attached bearing mounts for y-axis guide rods to print bed
  • Mounted guide rod supports for y-axis to base of printer
  • Mounted y-axis skate bearing mount for belt drive to machine base
  • Designed, cut and mounted new y – axis stepper motor mount to machine base
  • Finished initial configuration of Marlin firmware
  • Flashed initial configuration of Marlin to Arduino Mega 2560 using Arduino IDE version 0023
I'll be back in the morning with more updates and some actual pictures.

Sunday, August 31, 2014

Project CNC making parts for Project 3D Printer

Successfully installed new lead screws, new bed and new spindle mount on my CNC. Did a rough calibration of the x and y axis, manually leveled the bed and then fine tuned the calibration for all 3 axis.

My top speeds for x and y axis are fairly high but z axis is still the limiting axis. Any faster than about 14in/min and the z-axis stepper squeals and stutters – resulting in a lot of missed steps. After a bit of research I found a few issues that may be causing this:
  1. stepper motor resonance
  2. lead screw (likely to be less of a problem when I change to acme screw on z-axis)
  3. GRBL
Some good links on this issue:

It looks like I won't be able to get faster moves until I finish my rebuild of the frame and spindle mount/carriage (including swapping the z-axis lead screw with an Acme screw). I have tried tweaking the acceleration and max speeds but when I push it a bit for better performance the Z-axis seems to loose steps when retracting resulting in a number of pocket cuts being to deep.

Finally done with both sides of the Z-axis on the 3D Printer and will be cutting out the X-axis shuttle

Cutting X-axis shuttle tonight, tried this afternoon and GRBL stalled (first time ever).  Already re-cut acrylic for mount for extruder out of acrylic.  Lining up printer bed on Y-axis and designing cuts for securing drive belts on X and Y axii.

Monday, August 25, 2014

Project 3D Printer - Challenges with 3D Printer Continue

Challenges continue with cutting out z-axis pieces for 3D Printer Build.

Autodesk's CNC Utility issues:
  • Step Over is opposite in rough cut and finishing
    • 25% Step Over in rough cut = 25% of width of present cut overlaps last cut
    • 25% Step Over in finish cut = 75% of width present cut overlaps last cut
  • Feed rates
    • in inch/sec but actually inch/minute
  • Initial positioning includes cutting diagonal swath through material
    • manually edit out
Current cuts – contoured portions are not cut down to depth or the width that they need to be (about 1mm short for each dimension), even after x-axis finishing cuts (the finishing cut did increase dimensions somewhat but still not to design dimensions).

14.11 after x-finish 13.54mm before (design goal was 15mm, so still a bit small)
7.25 after x-axis finish cut, 6.19 prior to cut (still short of design of 7.5mm)

Profile cuts (all the way through) and “Cut Out” instead of “Carve” cuts (for straight right angle z-axis cuts) seem to be right on.  I really do not know what the problem is but time is short.

Well...its back to MakerCAM for now and I'll have to stick to square pockets instead of contoured ones (I could do nested pockets but I expect that I'd run into others issues if I tried that).

My main issue with Inkscape to MakerCAM is that shape dimensions in Inkscape end up slightly smaller when imported to MakerCAM (and I don't mean the settings for SVG import resolution – I already encountered and found the simple solution to that issue – change to 90px/inch). When I go the alternate route of OpenSCAD to Autodesk's CNC utility – a cut out 9mm square is actually 9mm. The result is that I have to run test cut dimensions to find correct dimensions for what I design in Inkscape. Does anyone else have this problem??? For me, at least, this seems to be an issue with the SVG file since the cut depths that I enter into MakerCAM do measure out as what I entered in.

On the bright side, at least I already have the Inkscape files for the parts I'm cutting out (since I made and used them to cut the same parts from wood). I still need to re-do all the tool paths in MakerCAM.

It's taken me awhile to get the tool paths correct - first issue was that I had forgotten to include pockets for the  X-axis guide rods, then I did not comprehensively preview an operation in OpenSCAM and missed the drill holes being set to 0.75" instead of 0.5" (extra stress on the Z-axis stepper and burned off half the collar on my endmill).

Test Cuts Autodesk CNC Utility

Test Concave Cut Autodesk CNC Utility

Test Cut Size Check With Inkscape/MakerCAM

This is what I'm aiming for

First Test from Autodesk CNC Utility
A few of my trials from Inkscape/MakerCAM
 After all this work it seems the bed of my CNC is not level, like it used to be - depth of cuts is not consistent across pieces.  Since I need to put a new sacrificial bed on the CNC and add some additional anchor points to hold it down better - I figured that I'd also finally change out my Lead Screw's.  I've had new Acme Thread (single start) 1/4" lead screws for well over a month but put off installing them. 
Old Lead Screws with Anti-Backlash

New Lead Screw- gluing Anti-Backlash
 I decided to change out my lead screws so that I can speed up my cutting procedures - currently the top speed that my CNC travels is 14"/min.  This is because the threaded rods I was using for lead screws had 24 turns per inch - my new acme screws are 14 turns per inch.  My GBRL settings for the threaded rods were about 200 steps per mm - potentially very high precision (current configuration not stiff enough though) but this meant that I could max out stepper speed fairly quickly.  In the future - if I can come across some reasonably priced multi - start acme screws I will have to pick them up.

After I get these screws in tonight, along with a new bed - I'll get the machine re-calibrated for the X and Y axis then route the bed to make it level.

Wednesday, August 20, 2014

Project CNC and Project 3D Printer - challenge using CNC to make parts for 3D Printwer

I am trying to produce some 3D (or at least 2.5D) cuts on my home-built desktop CNC router with the goal of producing better (tighter tolerances) machined parts for my 3D printer.

So far I have primarily used Inkscape (for drawing out parts), Makercam (for generating tool-paths), OpenSCAM  (for previewing cuts) and MS Notepad (to edit the Gcode).

Currently my main issue is that I cannot produce contoured cuts into material using Makercam. I am comfortable designing this type of object in Sketchup but have not been successful in generating gcode and toolpaths from my resulting diagrams.

I've worked through a good number of tutorials for Autodesk's 123D-Design and TinkerCAD, as well as FreeCAD and FreeMill but have not quite found what I want.

My main issues:
  • difficulty or inability to position parts/shapes with precision
  • learning curve too steep and/or online instruction to sparse
  • unclear how to generate gcode for router tool-paths from files generated (can do this with Autodesks 123D CNC Utility but not for other CAD programs)

My current approach:
  1. design parts in OpenSCAD export rendered files as “.stl” and save on computer (be sure to save the openSCAD file for future editing).
  2. In browser open Autodesk 123D CNCUtility
  3. Click on “Start New Project”
  4. Sign in (free to create account)
  5. Select Browse Computer
  6. Open STL file
  7. (opening an STL from your own computer seems to be more reliable and faster than opening file in 123D-Design, saving to “My Projects” in Autodesk's native format and then opening in the CNC Utility or importing directly to the CNC Utility from 123D-Design).
  8. set units to mm (bottom right corner of screen)
  9. In Bottom Menu set:
    1. Under the crossed wrench/screwdriver symbol
      1. Machine to “Shopbot Desktop”
      2. Stock (change this to what you are actually using – may need to use the “add” portion of pull down menu) – change Operation to “Cutout” (instead of “Carve”), add Margin (I change units to mm and make a 5mm margin) -  correction use "Carve" since "Cutout" will not do pockets (only outlines them).
      3. Add “Tabs” to secure part
    2. Under the Drill symbol
      1. choose tool size/type you are using and then choose “add” under “Feeds”
      2. in feeds you need to adjust feed and plunge rates – the utility states the rates in in/sec but is actually in in/min
  10. position part – snap to bottom of stock material (“underlined down arrow” in icons in upper left of screen)
  11. In the last tab on the bottom you can preview cuts
  12. Once you are satisfied with how it all looks click the far upper left file tool and select export tool paths and select folder to save them in (file will be saved with a “.g” extension). - using the "Carve" operation use the rough.g file that is generated.
  13. Preview in OpenSCAM, you will have to open folder and set to view all files (not just gcode files) and select the “.g” file. Examine result carefully – all of my files seem to begin with a 3D diagonal to the deepest point and then back up. To eliminate this open the “.g” file in a text editor and delete the “Z” portion of the first X Y Z move.
 Below is a the start of a ".g" file created from Autodesk 123D CNC Utility Online.  The highlighted area is what you need to delete to correct the file.

;Toolpaths generated with Autodesk 123D CNC Utility Online(Version 1.3.0)
;Rough Pass Settings:
; Tool parameters :
; Type : End Mill
; Name : 1/8 in Straight (13728)
; Diameter : 0.125 in
; Pass Parameters :
; StepOVer : 70
; Pass Depth : 0.05 in
; Jog Height : 0.25 in
; Feed Rate : 14 in/sec
; Plunge Rate : 14 in/sec
; Jog Rate : 14 in/sec
; Spindle Speed : 20000 rpm
G04 P1
G00X30.34Y31.6929Z-6.35 (DELETE THIS PORTION)

Un-Corrected G-Code

Corrected G-Code
Over the weekend I was able to calibrate my Desktop CNC Mill and tighten up parts of the frame and gantry to make everything stiffer and more accurate/consistent.

Saturday, August 16, 2014

The Countdown to Mokena Mini Maker Faire Begins!!!

3D-Printer Build at Present
After finding out that the Mokena MiniMaker Faire is on for September 13, 2014 I decided that I really needed to attend as an exhibitor.  So... I thought it would be great idea to exhibit the 2 things that I have been working on for most of this year: my desktop CNC machine and my 3D-printer. Both of these machines are home built home fabrication machines which is why I thought my exhibit should be called “Making Machines that Make”.

I figure that signing up for this will provide the extra motivation for me to finish up the 3D Printer and add improvements/fixes to my CNC machine – since there is a definite deadline and people will be expecting to see what I've done. In addition, it should help push me to document my progress, pitfalls, solutions etc. to help others who want to attempt these type of projects.

Wish me luck!

Friday, July 11, 2014

Vacation Time!!!

My daughter and I are out east on vacation for a couple of weeks.  Luckily for me, and my daughter, 2 books I ordered a little while ago actually arrived early (they weren't scheduled to arrive till after I was gone):

Both seem to be great books full of fun ideas for learning new things and encouraging exploration and experimentation.  I'm sure that we'll find a few things to do during our vacation.

Saturday, June 28, 2014

Project CNC - CNC Controller Board Pictures

Top of Controller Board

Bottom of Controller Board

Assembled Controller Board
Finally posting pictures of new controller board for CNC machine.  It is fully tested and functions great.  Arduino Nano on left of board and stepper drivers in the right.  At least this is one less thing to worry about (motor cables falling off breadboard).

I ordered 1/4" 16tpi Acme screws from McMaster Carr to replace the #10-24 threaded rods that I'm currently using.  I ordered 2 nuts for each axis so that I can make new anti-backlash nuts like the ones I am currently using.  Finally settled on lead screws instead of belt drives because I felt that they would be more likely to be able to handle all the debris produced by the machine (from cutting materials).  Once I replace the lead screws I will need to switch the stepper controller boards to micro-stepping mode to maintain (and improve) resolution.

Wednesday, June 25, 2014

Project CNC and Project 3D Printer - New supports for Y-Axis guide rods (CNC machine)

I originally planned on using the initial supports that I cut for my 3D Printer (Y-axis also) but they were just a bit to short.  My choices were either cut out a pocket for the stepper motor in the base board, add spacers under the supports or just cut new ones.  Well... I just decided to cut new ones, its quick and just as important it'll look a lot nicer.

Both supports (old and new-just cut) were cut from 1/2" thick HDPE kitchen cutting board.  I like the material since is cuts and drills fairly easily, is non reactive to most chemicals, not electrically conductive, and does not shrink or expand with temperature or humidity changes (at least not to any significant extent).

Here is a picture of both supports - the new one on the left and the old one (originally meant for the 3D Printer) on the right.
Both are unfinished.  They both still show the "tab's" added to hold pieces in place while cutting, as well as left over flakes from being cut out.  Even with that it is easy to see the difference in height for the guide rod holes.  In addition, I squared off how the top meets the base to make more room for the mounting scews.

Monday, June 23, 2014

Project CNC and Project 3D Printer - Pictures of current Works in Progress

Progress pictures on CNC mill:
Planning changes in configuration of CNC mill:
     A.) Secure Y-axis directly to base
          1.) designed supports in Inkscape
          2.) need to finish in Makercam and cut out the new pieces from HDPE cutting board
     B.)  Change "waste board" to Poplar board leveled to machine with T-Slot rails for securing
           work pieces, will need to route areas for the rails to fit flush to the leveled board.
T-Slot pieces with 1/4" screws and Thumb nuts for workholding
Progress on 3D-Printer Build:
Left side of Z-axis

Left side of Z-axis with stepper and linear bearings

Top is Lft, side of Z-axis, middle is X-axis shuttle, bottom is Rt. side of Z-axis
Overall Frame
Cuts made in bottom of frame to allow travel of Y-axis and Y-axis belt
Cuts in frame, in above picture were done by hand with a Pull Saw (sawdust from cuts still visible).

Left side is initial test cut, Right side is corrected dimensions
 In trying to design a direct drive feed to my printer hot end I ended up having to take an experimental approach.  Initially I designed and cut what I thought I needed (using Inkscape and my CNC machine) and after test fitting and a few redesigns I came up with the part on the right (3 separate layers fused together with M.E.K.)
With bearing attached

Showing path cut for feeding Filament
 My objective was to have a hole drilled through this piece for filament but due to clearances, stepper shaft length, length of fitting for stepper shaft, bearing size... etc, I ended up having to mill a path through the top layer of the piece deep enough for the filament and then fuze a layer of acrylic over top of the piece.

Showing thickness of piece

How PLA filament feeds through

Bolt ground down to fit against stepper motor