Introduction: First 3d Printer: Custom Prusa I3
This is yet another Instructable about getting started with 3d printing by building your 3d printer from a kit. More importantly, it's a chance for you to learn from all the mistakes that I made! (A wise man learns from the mistakes of others, the average man learns from his own mistakes, and a fool learns from neither). A variety of low budget DIY 3d printer kits for $300-$400 can be found online. I decided to go with a Prusa I3 acrylic frame model from Sintron because it came with a nicer hot plate and extruder than some of the others.
I watched a bunch of YouTube videos to acquaint myself with the assembly process while waiting for my kit to arrive. Once it showed up, it took me 2 days to get the basic mechanical assembly sorted out, and a couple more days to do the wiring and get everything nice and tidy while I gathered up the courage to turn the thing on and try to make it work.
The first picture was taken when I first felt like it was all put together. Notice the careful choice of words: there have been many cycles of together and apart now, and it's something you should get used to if you undertake a project like this.
Two things I'd like to mention for you to keep in mind while reading this: I had never used a 3d printer before this, or built any type of CNC machine, and I had no experience working with acrylic, so don't let any of this stuff intimidate you.
Step 1: Make It Better - Add a Case
One of the great things about Open Source things is that you can modify them to suit your own needs much easier than more expensive closed systems. Even before I used my printer I had a few ideas for how I wanted to change it. The basic frame has no mount for the RAMPS LCD panel, and mounting a spool is also left up to the user. My research suggested that drafts and temperature control was one of the issues limiting print quality with larger objects on other open frame printers (I didn't really understand why though). The standard i3 acrylic box frame has two triangular uprights that stabilize the X-Z frame.
I decided to replace the standard uprights with taller ones to create a rod/spool holder on top, and squared the back off so additional back and top panels could be added. For the front I decided to create a 4 sided box (3 sides and a top) that covered everything, but was also easy to remove. A slotted opening provides access for the filament feed. The disadvantage of a case type enclosure is how hard it makes getting at things. If you like to tweak the machine, which is almost a necessity if you use it much, then you'll probably be amazed at how many times you have to take some piece apart and reassemble things. The clear acrylic case looks great and also helps keep dust off the machine when it's not in use. I'm printing in a non-air conditioned room right now (July) so I'm leaving the cover off while doing most printing, but I imagine I'll use it for more prints during the winter.
I downloaded a pdf of the official i3 acrylic frame from the reprap wiki site, and used my favorite drawing program to edit the pieces I wanted to change. One of the things I hoped to do was make mounting holes for the power supply. Unfortunately I've discovered there doesn't seem to be any standard for the bottom side screw holes (I have several switching power supplies and they are all different!). It's easy enough to drill a hole after the fact but using a drill on my assembled frame makes me nervous every time. I also tried to get a proper mounting pattern for the Arduino board, but I ended up getting the asymmetry wrong. I purchased a $50 4x4 sheet of 0.22 acrylic from my local supplier and took it to the TechShop where I laser cut the new pieces. For the front cover I first went to MakerBox.com and used the free online program to generate a box of the desired dimensions. Once again I edited the pdf file to delete the bottom and back pieces, and then modified the remaining edges that no longer needed the finger joints. Adding the filament slot in the top was the last important touch.
PDF files for the front acrylic enclosure and replacement frame uprights and back/top pieces as well as an LCD mount are attached. These have my original hole placement glitches and everything so check carefully before using but I believe this is what I made work.
I only had an inkling of what the enclosure was actually needed for when I made it, I just felt that I was going to need it. Now that I've got everything sorted out, I've come to really appreciate using the enclosure to maintain print temperature when printing large ABS pieces. The enclosure reduces drafts and minimized the temperature difference between the top and bottom of the piece being printed. That temperature difference is what causes warping that lifts the piece off of the print bed, which changes the current top layer z and makes your print start looking terrible! Prudent use of the enclosure after the first couple layers, and reducing print bed temperature to around 90C
Step 2: Power Decisions
Electrical wiring is one of the areas where little specifics seem to be available as to how best to configure things. I decided to get a standard industrial On/Off/Emergency Stop switch (<$10) and a 12V control relay as well as a fuse block for DC distribution to fans and other things in addition the RAMPS board (you'll be surprised at how many different things want power). The emergency stop is very handy for those occasions where the motors are trying to run past the limits.
Despite my experience with electronics, the power supply was my first test on the project (lesson: how to debug). When I tried to heat the print bed, it never reached the proper temperature despite an hour of waiting. When I finally measured the voltage it was only about 10V instead of 12. I decided to buy a new 12V power supply as well as a 24V one to use just for heating the print bed. I eventually realized that I hadn't checked the input voltage selection switch on the power supply. Sure enough it had been set for 220V input. Oddly enough the heavy duty replacement PS fried itself out while sitting idle after about 10 hours of being powered on, and I've been using the original 10A supply ever since. I've been using a separate cheapo thermostat controller for the 24V bed heater regulation. I already had the controller and it was definitely easier and possibly safer than modifying the RAMPS board for 24V operation, which is yet another future project.
Step 3: First Print & Debugging
The RAMPS stepper motor drivers are particularly fragile items. I fried my z-axis driver when I first powered up and it took some time till I realized that it wasn't my ineptness with the software causing it to not move. Adjustment of the current-limiting potentiometer on these is both important and dangerous as I've fried more drivers while trying to adjust them then I care to admit. They are cheap - keep a supply a spares. I've learned the best way to fine tune them is by watching the temperature of the stepper motors (an infrared thermometer is handy): if your motors are getting much over 50C you might dial it down a little bit. The pot screws are tiny and should be turned in very tiny increments. A hot extruder motor has ruined many a print when the hot gears have softened the plastic too much to be able to push the filament through the extruder.
The RepRap Test Code program, which runs the x-y-z-e motors a couple seconds back and forth in each direction is very useful for initial debugging before moving on to machine control panel operation which can be confusing if your end stops and firmware configuration aren't setup correctly.
I won't go into detail about configuring the Marlin firmware, which is what I use: there are other instructables for that; however I will put my two cents in...: One of the most challenging aspects of firmware setup was getting the feed rates set optimally. One reason for this is that when you use your computer machine control panel to move things around to test them, the moves all happen at the homing feed rate. I've learned to open up a gcode file and copy and paste some of the x/y/z moves to test the actual print feed rates. The z-axis is the most challenging because it drives two motors in parallel with one driver, which means each motor only gets 1/2 as much current. You want your z-axis moves to pop so that you get minimal oozing between layers but if you try to move them too fast then one or both motors may stall -- and probably ruin your x-axis level to the bed.
My first attempts at printing were met with many very frustrating moments. I had spent an hour making sure that everything was just so, and the bed was perfectly leveled before the first print. Then when I started to print the first part I noticed that the Z axis end stop needed to be adjusted. Being a first time novice, I assumed that it was operator error. I adjusted the end stop and re-leveled the bed, before my second attempt. Once again the glass was too low when the print started and I had to try again. After re-leveling things a third time, once the print started I noticed a problem with the Y-axis: the acrylic Y-carriage frame that held the hot bed had sagged to the point that the screws mounting the hot bed were hitting the box frame when the carriage moved!
I quickly discovered the need for a) insulation under the hot bed, b) an aluminum Y-carriage, and c) lots of patience. Lots of little things can go wrong. As silly as it may sound, correctly identifying what is wrong is essential to fixing the problem! Trying to fix a part that's not broke might just make you really need to fix it.
A $20 aluminum carriage upgrade solved my print bed woes, and I applied some firewall insulation material to the backside of the hot plate, and also put a sheet of ceramic cloth insulation in between the plate and carriage.
The next issue I faced was my extruder mount. My mount clamped around the stepper motor, but the clamp was not as wide as the motor plates, and when fully tightened barely held the motor. Once the motor warmed up the mount softened enough to allow the extruder to shift back and forth - ruining X-axis alignment. I had to use some glue to hold the motor well enough to print a modified version from Thingiverse. It came out terrible but usable, so I then used that to print yet another mount that was finally a decent print and a good part!
BTW I use Slic3r/Pronterface software for printing, and other than the frequent crashes from Slic3r when slicing, I'm very happy with the software package for 99% of my printing needs.
Step 4: Printer Heal Thyself
It's an odd mix of poetic justice, and perverseness that your printer needs to make pieces for itself.
One of the things that I saw on Thingiverse was a drag-link chain that I could print. This was a fun item to print and get familiar with the printing process.
End stops are another interesting thing. I'm probably an idiot but several days of attempting to get the Marlin firmware to let me put a limit switch on the max limit instead of min, and have the unit home to that switch, were fruitless. Actually mounting your end stops, with the exception of the Z axis which at least has a built in adjustment screw, also seems to be an afterthought. The model I received had short clips for the 8mm rods that didn't fit the standard mechanical end stop boards, so that also became one of the first items to print. At first I mounted the Y end stop at the front, but then I discovered that this made my prints have the Y axis mirrored, which wasn't noticeable with my first several objects. Moving the switch to the rear required a special mount. The item I found on Thingiverse didn't quite reach where I needed it too for my print bed so I used OpenSCAD to modify it.
If you want to get the most out of your printer, you're going to need to be able to design your own 3d objects. I spent a while with Blender and FreeCAD, but was absolutely useless. Although it sounded intimidating at first, I was really pleased when I discovered OpenSCAD which uses a parametric program like language to create 3d objects from various primitive shapes. If you are designing anything for practical mechanical purposes, then it's a much more efficient way to input and edit your design parameters (with an electronics enclosure for example) than with a mouse. Many OpenSCAD designs are freely available (including all the Prusa I3 printed parts) for easy modification. Did I say it was free? I modified a limit switch clip design to make a mount for my drag-chain.
One of the other annoying problems I had was with the Y-axis bearings. one by one, each bearing slipped out of it's holder, in the middle of a print, dropping the Y-carriage and ruining several hours of work. I made a very crude fix with some wire ties that I wrapped around the bearing holder to keep the LM8UU bearings from slipping out. I tried finding a good bearing holder on Thingiverse but just got frustrated. A couple parts I tried had different hole patterns. I couldn't see the hole pattern on my y-carriage (cause of the new insulation), and I didn't want to take it apart and not have new pieces that fit, so I ended up designing my own heavy duty LM8UU holders. They are much thicker than the standard ones, and they have a stop on one end and some partial interior rings to catch in the LM8UU slots. It's safe to say my bearings won't be falling out again.
If you look closely at the pictures you'll notice that I've upgraded to a 4 bearing x-carriage and added the excellent x-tensioner mod which places the belt tension load in the axial direction on the 8mm x-axis rods instead of the middle of the z-axis rods.
You can find my i3 original and remixed part files on Thingiverse under user HotPlastic.
Step 5: Getting to Know Your Extruder
I started out working with ABS filament. The higher temperatures from the ABS probably contributed to many of the issues I had encountered like the bed frame warping. About 30 minutes into my first PLA attempt, the extruder seemed to jam. I tried increasing the temp thinking that a piece of ABS was blocking the nozzle, but nothing came out. I decided to remove the nozzle and clean it out. (Remember what I said about correctly identifying the problem?) Dissassembly was easy enough. I soaked the tip in some acetone picked most of the plastic out, and then used a guitar string to clear the nozzle. It should be noted here that the guitar high E/B strings are made from steel which is harder than the brass that the nozzle is made from. Ordinary diagonal cutters will leave a burr in the steel that can gouge the nozzle and alter the way the plastic is extruded! Although I was just reassembling things hand tight, I didn't know how fragile the stainless steel hot tube that connects the heater block to the extruder was - it snapped off leaving a threaded portion stuck in the heater block that I had to drill and tap out. I ordered 6 replacement heat tubes, an extra heater block, heater element, and thermistor just to have in my spares box.
Reassembly of the hot end is something of an art. Getting the insulation in place and neatly applying the Kapton tape is challenging. The ceramic insulation trims very easily with an knife, and is also very brittle so handle it with care. I've learned to cut the tape into 5mm strips that can easily be wrapped around the heater block wires/nozzle/tube until everything is covered. More important is installing the tip correctly (due this before insulating). Install the tip fully threaded into the heater block for proper heat transfer to the tip, then lightly tighten the heat tube against the tip in the block. The aluminum heater blocks aren't tapped very tight so Teflon tape is always recommended but make sure none can reach the filament and clog the tip. Finally (with a direct extruder) thread as much of the heat tube as possible towards the extruder gear and then tighten the lock nut with the heater/temp wires going the right direction. Doing this in any other order is a recipe for frustration. In my case I ended up oozing hot plastic from the top of the block (should've used Teflon tape), and then when I tried to print PLA, I could barely get the plastic to extrude without cranking the temperature up to ABS levels. It turned out that my ABS prints were somehow working through the brute force of the higher temperature, but the nozzle wasn't tight against the heater block so it didn't get enough heat flow for the PLA. (I gave up printing PLA for quite a while until I finally realized what I'd done wrong). As previously mentioned, I've also now realized that keeping the extruder motor cool is another contributing factor to extruder problems.
Step 6: Keep Going
I highly recommend printing spare parts for any printed parts your printer uses, as well as stocking up on other spares such as: Arduino board, LM8UU bearings, stepper driver boards, stepper motors, hot tubes, heater element, thermistor, and replacement tips. Kapton tape and ceramic cloth insulation for rebuilding your hot end are also useful. For $30-50 ahead of time you can easily resolve most issues you might face without any extended down time.
Once you've learned how to build your own printer, tuned it up, and used it to improve itself, your imagination will be unleashed. Modifying other's models and creating your own are the best way to learn. What will you make?