I've been wanting to build a CNC/3D Printer for a while, but have gotten distracted by various other things. I finally did a minimal amount of research and bought some stepper motors and a controller. I honestly jumped into this pretty quick, though, and didn't spend a lot of time researching what I was buying. I'll update this as I learn more about what I bought and, more than likely, what I should have bought instead.
Research
Tools, documentation, and other online resources for the various steps of the build.
Controller
- [1] - Nice instructional video for setting up a RAMPS controller
- [2] - Much more functional 32 bit controller
Software
- [3] - Recommended 3d Printing Software
- [4] - Nice web-based tool for monitoring and controlling the 3d printing process.
Plans
Lulzbot
Commercial printer, but I really like the design-- particularly the way they mounted the electronics/LCD.
Lautr3k RepRap
C-Bot by cfeniak
D-Bot by spauda
Ultimaker 2 Clone by JASONATEPAINT
Voron by mzbotreprap
Parts List (Total: $311)
Controller ($39)
I started with this controller:
It's about $39 and includes:
- 1 x 1.4 RAMPS Arduino Shield
- 1x MEGA 2560 R3 16mhz Clone
- 4x A4988 Stepper Driver rated at 1A and cooling with up to 2A, Note: this board now comes with heat sinks.
- 1x 12864 LCD Screen with board with SD card interface
I guess it was a mistake, but they actually sent me 5 drivers. I won't have extruders, so apparently I only need 3, but I guess I'll have a couple extra in case I burn one up. In retrospect, I wish I had done an all-in-one controller like this one (arduino on the board). The shield might be better for tinkering, but for a production machine it will just make the box bigger and the wiring more complicated.
Motors ($80)
For motors, I went with NEMA 23 269oz stepper motors:
I paid about $80 for 3. Most of the other CNC build I've seen go a little bigger, but hopefully they should work okay for the X and Y access. If anything, I may just need something a little heftier for the Z axis (or add a second).
Hardware/Frame - 5/2/16 ($170)
I bought about $60 worth of hardware from MrMetric and around $110 worth of extruded aluminum for the Frame from Open Builds Store.
Filament ($22)
Bought my buddy Dave a roll of filament to print my parts for me.
Setup
Controller
The RAMPS 1.4 controller setup involved:
- Join arduino/ramps.
- Add heatsinks to drivers
- Add jumpers to controller. For each stepper driver, there are 3 jumpers (6 pins). For 1/16th precision (recommended), configuration should be:
- Low end A4988 Driver: xxx (1 jumper on each set of pins)
- High end DRV8825 Driver: 00x (1 jumper on the far right pin)
- Install drivers in the XYZ positions
- Install LCD adapter and LCD
- Install 100ohm resistor on jumper T0 - this prevents a MAXTEMP error caused by a missing thermistor
- Download Marlin firmware
- Configure Marlin firmware
- Uncomment "#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER"
- Install u8glib library in Arduino IDE
- Compile and upload
- Download "Printrun-Win-Slic3r-10Mar2014" (user interface for RAMPS)
- Apply USB power and run Printrun
As you can see, I'm currently getting a temperature sensor error from the extruder (499 degrees is hot) and the compiler won't let me disable that sensor or remove the extruder. Currently researching how to work around this since I don't have an extruder (Note: temporarily fixed by adding a 100ohm resistor on T0 and setting TEMP_SENSOR_0 to -1). I suspect this firmware will work, but I may need to find a RAMPS firmware better suited to CNC. There seems to be an awful lot of stuff in the config that won't apply to me. Not to mention, my OCD kicks in when I see a non-existent extruder on the LCD.
Broken Z Axis on RAMPS board (4/21)
I was having a lot of problems with the Zaxis. It would stutter and make a lot of noise. It seemed like a power issue, but the current switch didn't seem to help and moving the same driver and motor to another position seemed to work fine. I assumed I had a bad board and even found what looked like cracked traces on the board near the Z axis. I contacted the vendor and they were nice enough to send me another one. Unfortunately it had the same issue. I toyed around with some of the settings in the firmeware and the problem seems to have gone away. Particularly I changed this line:
#define DEFAULT_AXIS_STEPS_PER_UNIT {80,80,80,500} // default steps per unit for Ultimaker
And set the steps to the same as the X and Y axis (I think it was set to 20 or 30 by default. Not sure why this had to be changed, but I'll research it more later.
Frame Construction
I was originally planning to do a CNC/3d Printer machine, but I've since decided to switch over to just 3d Printer. From what I've learned, it's difficult to make a good 3d printer that also does CNC. CNC needs to be slow, strong and heavy, and 3d needs to be light, fast, and agile. My thinking is that once I have a basic 3d printer, it will be easier to do more sophisticated projects in the future.
Build Selection: D-Bot (5/2)
I've decided to build a variation of the D-Bot build, however, I'm going to try and use my NEMA 23 motors. I'm going to try and stick with a single NEMA 23 motor for the Z-axis, unless it just doesn't seem stable enough.
Build Selection Revisited (5/13)
Well, after a lot of back and forth, I changed my mind and am building a variant of the Ultimaker 2. This is a simpler design that takes up less room and is well suited for enclosure. Unfortunately I had alreadady purchased a lot of the d-bot parts, so I'm having to tweak the design a bit. I also bought a few things that I won't really need for the ultimaker, so this is going to end up costing me at least $100 more than it should have.
The good thing about this pivot is that it's given me an opportunity to really get in the weeds with Sketchup. The V-style rails of the D-bot are different than the Ultimaker, so I'm rebuilding many of the parts to fit these rails. Here's my first 3d part. This probably took about 10 hours to get working, which is sad because it's VERY similar to the original I built it from:
Notice the rail on the back that should add more support to the frame. Also notice the red foundation. I think that's a bad thing, but I'm not sure what it means (ignorance is bliss). My buddy Dave is doing a test print now so we'll see if it matters. The good news is that I'm finally starting to feel more comfortable in Sketchup and my second part went much quicker.
I still have some work to do, but here's my plans so far:
First Sketchup Part Created
It worked! It's very cool to see something you spent hours and hours imaging as a solid, functional part. Granted, my changes were minimal, but it's still a really good feeling. Not surprisingly, Dave did have some issues with the model, but after a couple tries he was able to get it to build.
VORON Sketchup
I've swapped builds again after having found a nice build on reddit called VORON by mzbotreprap. It's a corexy with most of the parts internal to the frame. It uses two motors and two lead screws on the Z axis to raise the bed, but I'm going to try and implement a cantilever design taken mostly from the T-Bot build (more for the challenge than anything else). I'll swap out the 8mm linear rails for something a little beefier and if it doesn't work out or seems unstable, it should be simple enough to fall back to the original design (might even throw a couple t-nuts in there just in case). I'm planning on shrinking the dimensions by 40mm (370mm vs 410mm) since I'm only planning to use a 200x200 bed and I also had to make some minor changes to the frame to accommodate the aluminum rails I already have.
After many late nights (it's almost 4am), I'm really starting to enjoy working in Sketchup. I still have a ton to learn, but I'm getting there. Here's my design so far: