Saturday, May 31, 2014

Improving my RepStrap SmartRap

As I was starting to get confident to do bigger prints, it's time to print some parts for my 3D printer.

I wanted to get rid of the servo and implement the latest version of Smartrap's design of bed probing. The problem was that I had a j-head hot end and the parts for this on thingiverse were making use of a servo. Luckily, someone shared a design on thingiverse that's for a j-head. I had to make a few adjustments to his design since my hot end is a little thicker and I had to lower the nozzle a bit because it won't touch the print bed.  I used blender to make the adjustments and printed the parts.


Right after printing the parts and installing them, I noticed the arm was not able to withstand the
heat of the hot-end and started to get soft. So I decided to make the arm out of wood again.  This way, I can get rid of the servo and it will still be light and sturdy.  Here's a picture of the wooden part installed.  I also tried to direct some of the the air coming out of the fan towards the print bed.  I used a cardboard as a proof of concept.  Once it proves to be effective, I will design and print a better fan duct.


One thing that I found very useful was the hole in the arm stopper. I still do not know what it was for but I am using it to very quickly adjust the z offset without messing around with the configuration or slicer settings.  Of  course you still need to get it to around 1.5mm offset range first but once it's within that range, all it takes is a turn of the bolt to make fine adjustments very fast!  Maybe this won't be necessary if the hot end was being held by bolts but that will be something for me to try next.

Update:
I found the ducted fan to be effective in cooling the top part of my hot end enough that I can get rid of the wooden part. I changed the design of the J-head holder and added holes where I can mount the fan.  I also designed a fan duct so that the air blow only on the cold end (the top part) and not on the heating block.  Still I needed to put some insulation because the wind find its way to the hot end.  After failing to find a high temperature insulator like kapton tape, I tried teflon tape (the kind that you put on pipe threads) and it works just as well at a fraction of the cost.  Since my fan is a little too overpowered, I directed some of the air towards the print to help with overhangs and thin vertical parts.


 The next thing I tried was the airtripper extruder.  In the original Smartrap design, there was no way to adjust the pressure of the idler bearing. This is what I liked about the airtripper design.  To try it out, I printed the original airtripper design and used my spare stepper motor.  It worked okay so I printed the whole base plate with it but I had to modify the design to extend it 5mm further back because if I didn't, it would not clear the z coupling. As you can see from the pictures, extending it 5mm more gives me just enough clearance from the coupler. There's already a new coupler design from smartrap that is better and I will replace my current one soon.


 

The airtripper design could be simpler though and it was  too late when I found another design that does the same thing but with less parts and can be installed without replacing the whole plate.  I will keep it as a backup when this current extruder starts to fail. Is it any better than the original design? For me, not very much. It just makes me worry less that the bearing was pressed too hard against the hobbed gear.  I think what will really improve the extruder is a geared one. I noticed on github that smartfriendz might be trying out a geared extruder.  I just need to find a way to make the hobbed bolt so I can try it out.


The last change I made with my smartrap so far was the Y ends. The parts that I got from the ebay seller were based on the old design so I just printed an updated one.  I modified it a little bit and extended it forward just a bit more (about 8mm) so that it is closer to the middle of my glass plate. 


Now, what do I print next?

Friday, May 23, 2014

What I have 3D printed so far - and things that could go wrong during a print

Here are the things I have printed as I was playing around with the temperature and slicer settings.  On each print, I describe some flaws and possible ways to avoid them.

This twisted bottle was scaled to 60% but I think it was meant to be printed only at full scale because the threads and the the walls became too thin.  Before you scale a model down, you need to consider the width of the walls.  The print finished and works okay although the threads didn't run smoothly. You will notice the 2-tone color.  This is not a flaw but due to the white filament that was about to run out so I just spliced the beige filament.  I panicked a little since I didn't know if the splice was going to hold. Luckily, it didn't snag into anything and I finished the print. :)  I will make a separate post on how to splice the filament.

Here's the cuddling owls scaled down.  I forgot how big the original was but this is about an inch tall. This was printed hollow with 0.3mm layer height which is not recommended for my nozzle. I found out lately that for best results, you should print with a layer height that is about 80% of your nozzle diameter.  Maybe that's why it had some separation on the owl's head.  There's no question that you can get better prints on a smaller nozzle diameter but overall, I prefer a slightly bigger one to make prints faster.  By that I mean less slower :).

This is faceless scaled to about 50-60% and also printed hollow.  This is when I understood the need to put a fan or a blower directed at the print.  You need a way to cool the filament as soon as it was extruded from the nozzle so that it will be strong enough to hold the next layer.  If it is still too soft and the nozzle is already laying down another layer on top of it, it will not hold up and will ruin the details of your print.  I did not have another fan to blow on this so I blew air using a straw on the parts where it needs to be cooled while printing :).  You can bet I will install a dedicated fan someday but right now, whenever I use a fan, it cools my nozzle down too much so I'll wait until I get a better heater.



This is the stretchy bracelet. The one at the bottom was printed with 0.3mm diameter while the white one was printed recently when I was experimenting with resistors and after I drilled my nozzle to make it bigger (I will post the result of this experiment).  You will notice the gaps between layers and they were caused by bubbles which I have not totally figured out yet. The nozzle will sometimes make this popping sound and will cause the extrusion to skip. Some people suggests that the popping sound is caused by trapped air in the filament during production.  If that's the case, I don't have a way to prevent it.  When my new resistor and heater cartridge arrives, I will experiment with a higher temperature and see if the popping will disappear.

Clogged hot end nozzle

When I ordered a j-head hot-end, I was not able to specify the nozzle diameter and I got sent one with a 0.3mm diameter.  Combined with a power resistor which could not keep up, you can imagine how long each print takes. And if the heater could not keep up, there's a big chance you will get a plug.  I don't even know what kind of resistor it had in there but I already ordered a heater cartridge to replace it and see what improvement I can get to in terms of print quality and print speed.

During one of my early prints, I noticed that the extruder keeps springing back, but this time, nothing comes out of the nozzle anymore. I stopped the print and tried to push the filament but it wouldn't budge. The temperature looked okay so it must be a clogged nozzle.  When I removed the PTFE tubing and pulled the filament out, it was coiled inside. This happened when I pre-heated the nozzle and went to do other things.  Apparently, this is a common problem with j-heads and people suggests to put a fan to cool the upper end of the j-head.  This prevents it from heating the filament inside that makes it soggy.  When the filament gets soft, it will coil up and won't be able to push the filament down to the hot end.

Following their suggestions, I bought a fan.  I couldn't find a smaller one so I bought the 60mm. I'll use it until I can find a smaller one.  Here it is mounted on my printer.

The fan helped and I wasn't having a plug anymore until a few prints later, it happened again. It was for a different reason this time.  When I pulled the filament, I didn't see much of the coiling I saw before and after a closer look, I found this...


It looked like a seed or something and it was big enough to block the nozzle.  Once I cleared the clog, I was able to print again.  Too bad I couldn't continue the print and had to start over. I wish there's a way in the smart controller to go back a few steps so you won't have to start over whenever this happens.




Tuesday, May 13, 2014

Building my Repstrap Smartrap 3D Printer... and the setbacks (Part 4)

Before I can do a test print, I needed a glass of course.  I had a headed build plate but it's a little warped and arching in the middle. And I don't think I was supposed to print directly on it. I looked around the house and found an unused picture frame!  :)  I took out the glass and it fits perfectly with the length of my rods. Even if it's just 1/16 inch thick, it will do for now. When I installed it in the printer, the glass gives and bends a little during probing but not enough for it to break.

By this time, I have already gotten over some printing issues through trial and error. But not without some frustrations.  I agree that 3D printing is not for everyone because it takes a lot of troubleshooting before and during each print. One variable you change and your print will turn out differently.

Slicer Software 

Commercial printers come with the software you need to print but if you're just building from scratch reprap style, there are alternatives. You will primarily need a slicer - as the name suggests, it slices your 3D models into layers depending on the setting you provided and gives out a set of instructions for the printer to follow.  The settings can be overwhelming at first but when you get the hang of it, you will know which ones you need to adjust for every model you print. There could be times when you will forget to change something and only realize it after the print has already started. Sometimes, it would be okay to continue but there are times when you really need to stop the print and start over with the new gcode.

The first slicer I tried was slic3r but after using is for a while, I find it too slow so I tried Cura. Cura's user interface is better in the sense that you can visualize the gcodes and make adjustments immediately.  Unlike when I was using slic3r, I used to open the generated gcode file in repetier just to see if everything looks right before I print it out.


Semi-automatic bed probing



After assembly of the printer, the first problem I had was how to get servo to work. I tried to follow the guide and traced where the wires go. The RAMPS board has pins dedicated to servos but for smartrap, the servo wires go to the end stop max of z axis. I double and triple checked but the servo still doesn't work.

I happen to have a spare arduino uno board so I hooked up the servo with the sample servo sketch and still didn't work. I probably got a broken part. I am not willing to send it back to the seller in the U.S. so I needed to think of a way to manually or semi-automatically probe the bed.

My solution was to manually put the servo arm before probing the bed and remove it after the probing sequence.  To do this, I modified the slic3r start gcode so that after probing the bed, it will raise the nozzle 10mm and pause for 5 seconds.  This gave me enough time to remove the arm from the servo before it prints. It took took some effort but It works. I did this until I was able to print the parts for the mount without a servo.

Edit:
Here's how bed leveling is currently done on my smartrap with a broken servo



Z offset setting


Alright, it probes the bed, but when it prints, the nozzle was more than 5mm away from the glass. The filament comes out so I was sure it was just an adjustment somewhere. Turns out, there was a setting on the firmware to set the offset between the tip of the nozzle and the probe. X and Y were easy but I found it difficult to get the Z offset right and I didn't want to keep uploading the firmware whenever I change the value so another way to adjust the Z offset was through the slicer software. Different slicers have different ways of dealing with this.  Slic3r's Z offset setting is straightforward.  But in Cura, the only way I was able to adjust the offset was to modify the start gcode using the G92 command.

Getting the Z offset right needed a lot of patience and took a lot of trial and error. But when you get it right, you won't need to change it until you take your printer apart or make some adjustments that will affect the z offset.

First print issues


The first thing I wanted to print was the shaft adapter for the X motor. I got those motors with D shaped shaft but a little short especially on the X axis. This is the first successful print of the adapter.


 

Filament flow rate


I had the issue of the extruder motor springing back once in a while during a print. I thought the extruder was having a hard time pushing the filament because the nozzle was too cold. After some trial and error, the best thing to do in this case is to dial down the feed rate. It springs back because the extruder is giving too much filament than what can come out of the nozzle.


Print speed


No matter what I do, I couldn't print at speeds more than 20mm/sec reliably.  I guess that's just the limitation of my hotend nozzle and the heater element that came with it. If I go just about 1mm/sec faster, the heater could not keep up and the temperature quickly cools down.


Temperature


The suggested temperature for PLA was between 180 to 200 degrees but I just couldn't go lower than 230 degrees. At 220 degrees, it can still print slower but it comes out rough so I have to set it at 230.  I sometimes went too far and set it at 240 degrees.  I believe I stressed the heater too much because after just a few prints, the resistor broke.=(  I ordered the 30W heater cartridge but it will take a month to arrive. I will find fix but that will be for another post.

Right now, at least I know I can print! :)

To make it easy to follow this series, the links are here:

Thursday, May 8, 2014

Building my Repstrap Smartrap 3D Printer... and the setbacks (Part 3)

ATX Power supply to power my Smartrap 3D printer


I think there are a lot of advantages buying a complete kit when you get your first 3D printer. It will be less expensive and you will not have problems with incompatible parts as opposed to buying individual parts from all over the place (unless you can source all the parts exactly as in the BOM). You will also be able to start printing faster.  At least until you get it working reliably, you can start customizing and improving it which is not how it went for me.In my case, the customization part comes during the build since I was trying to make parts work together (again, this is because I can't source the exact parts in the BOM).

When it comes to power supply, things went smoothly.  There's a huge difference in price between the ATX and the industrial 12V power supply so I went for the ATX.  The instructions on how to use it for a 3D printer are also straightforward but unlike most people, I saved the 5V and 3.3V supply wires. I already mentioned that my Arduino Mega had a busted voltage regulator and that's what I need the 5V supply for. Then I plan to use the 3.3V supply to power some LEDs to light my build area.

I got one that is 700W. Should be more than enough for the 3D printer even for a heated bed. 
700W ATX power supply
Before I got cutting the wires and lose the warranty, it's good to test it first, of course.  I used a small piece of wire to connect the green wire to the ground wire to turn it on.
Yup, it turns on. :p  But what about the voltages?
So far, so good.  Time to open it.
All that's needed was to cut the wires coming out. They are color coded so I just combined the wires of the same color.  There were more ground wires so I bunched them into two just in case I find a need for it later on.
Finally, I used 16 gauge wire and soldered it to the 12V wires and the ground wire. The other end will go to the RAMPS board.

Improvement


The power supply is working great but after using it for a few days, I found myself always unplugging it from the mains when I needed to restart the printer. So I added a small switch which is what I should have done the first time =).

I used the same green and black wires I connected when I tested the power supply and soldered them to the switch.  Then I drilled a hole for it to go through.

Whohoooo! This part was the smoothest part of my build so far.  Time to try and print! :)

To make it easy to follow this series, the links are here:

Sunday, May 4, 2014

Building my Repstrap Smartrap 3D Printer... and the setbacks (Part 2)



Alright, it's starting to look like a 3D printer :-) Now, let's give it a brain.


This post will be about the electronics of my franken-smartrap.  I managed to take videos but I will highlight the issues I've had.

The parts:

Arduino MEGA - The part that runs the software (firmware) and controls all the components.
 RAMPS 1.4 - A shield (sort of an adapter) designed to connect all the 3D printer components like motors, temperature sensors, fans, heaters, etc. to the Arduino board.
Stepper Drivers - The part that helps drive the stepper motors 
 RAMPS LCD with SD socket - An input/output device allowing you to see the current status of the printer and allows you to print from SD card without USB connection.


When I first ordered the parts, I didn't know there were different boards that are being used for 3D printers. I believe the latest version is the Duet which combines the Arduino and RAMPS board with a chip that runs linux. As a beginner,  I followed the smartrap design and ordered the RAMPS board.

Putting them together:


I couldn't believe it took some effort to find information online about how to put these parts together. Most articles I've seen just assume that everyone knows how so here are some watch outs for those building their first printers:
  • I know you're excited to see your printer come alive but it helps to know what you're doing. I fried a few components as I was trying to make it move and it was only then that I searched for the documentation of the RAMPS board. As they say, if everything else fails, read the manual :-).  If you're the adventurous type and likes learning the hard way, make sure you have a few spare parts. Otherwise, make sure you understand what's on this page.   
  • Make sure the jumpers on the RAMPS board are set the way you want it before installing the stepper drivers.  Mine came without the jumpers installed and I spent a lot of time figuring out why the motors are not running the way they should. The jumpers under the stepper drivers controls the microstepping of the motors.  In my case, they were set such that the X, Y, and Z motors are 1/16 but I left the extruder to be at 1/8 micro-step to give it more torque.

  • If you're going to mess around with the stepper driver potentiometers, you should know that even if you could turn it around 360 degrees, there is a dead zone. They seem to be set right in the middle by default and you won't need to adjust them for X, Y and Z.  I only needed to adjust the potentiometer for the extruder motor. Don't overdo it because you will cause your motor to overheat. I think this is how I fried one of my stepper drivers. Luckily I ordered a spare. One way of increasing the torque is by reducing the micro-steps so you might want to try that, too.  
  • DO NOT try to jog the motors without connecting the RAMPS to a 12V supply.  I believe this was how I fried the 5V regulator on my Arduino board. Good thing there are different ways to power the arduino and I managed to avoid throwing the whole thing. Since the 5V regulator is busted, I can no longer power it directly from the 12V supply from the RAMPS board. My only options are either to replace the voltage regulator, power it through USB, or power it with 5V directly to pin Vin/Vcc.  Since I planned on using ATX power supply, I can get a regulated 5V to power the arduino. But before this could be done, I had to cut the D1 diode on the RAMPS board so as to cut the 12V supply going to the arduino.  

Now that I got over those quirks, wiring them up is a little more straightforward. This image from RepRap says it all:
Next part will be the power supply. Stay tuned!

To make it easy to follow this series, the links are here:

Building my Repstrap Smartrap 3D Printer... and the setbacks (Part 1)

I finally did it!  I've decided to stop waiting for a 3D printer that I can afford and just build one myself. Of course prices of 3D printers will eventually go down but I wanted one NOW! And I wanted it to be as cheap as possible.  And if you want cheap, you'd have to build it yourself - Pinoy style ;-).

So I started searching for a good base model and came across Smartrap - an open-source 3D printer designed by Smartfriendz.  I fell in love with the simplicity of the design and I thought it's a great way to get my feet wet with 3D printers.  Their price isn't actually bad but the long line of orders put me off so I thought I will just order some parts here and there so I can start building one.

This is to document how I built my Franken-SmartRap, with parts sourced from different places and share the problems I came across during the build, hoping that it will help other people avoid the mistakes I've made and inspire my fellow Filipinos to start building their own 3D printers. I will split the post in different sections like so:

Part 1 - Sourcing parts and building the base/frame
Part 2 - Electronics 
Part 3 - Power supply
Part 4 - First prints and modifications 

Ready?  Let's do it!

I was about to make this a step by step build guide but I noticed that Serge from smartfriendz.com updated their build documentation so I will stick to the parts where I had issues and how I dealt with them.

Looking at the parts, it seemed like I can source some of them locally but after visiting a few big hardware stores and home depots, I then realized how difficult it will be to find them around so I gave up the hunt. It was just sooooooo frustrating that even the biggest hardware stores like ACE do not carry bolts that are in metric system.  I eventually found a supplier that sells the bolts that I need for my build but it was far more difficult to find.  If I was having that much trouble finding bolts, I can just imagine what else will come my way.

I do not know anyone who has a 3D printer so even the printed parts were ordered online. Ordering online will cost me extra money and time but I really didn't have a choice. I ordered the printed parts from a seller in the U.S. which came with the fishing line, drive gear, and servo motor. Then, I ordered the electronics from China, along with the motors, hot end, smooth rods, bearings, LCD and some filament.

After a couple of weeks, the first to arrive were the printed parts:


After a long wait, the other parts came in...
As soon as I open the package, I immediately noticed some parts were missing.  First, there were only 4 smooth rods instead of 6.  Second, the linear bearings were missing. I immediately emailed the seller and told me to check the box if it's been opened by some 3rd party.  There was a tape on one corner of the box that says "repacked".  I took a picture of it and sent it to the seller.  They insisted that it was opened by someone. I contacted DHL's customer service and they said they just applied tape over it because they saw some damage. After a few emails with the seller, he agreed to refund the amount for the missing parts but the situation will delay my build.  Without those bearings, I wouldn't be able to build the 3D printer. I searched for some local bearing stores and spent an entire day going from store to store but linear bearings proved to be a very rare part.  I finally found a store that carries LM8UU bearings.  They are were not cheap but at least I can continue with the build.  Whew!  Knowing how hard it was to get the bearings, I ended up paying the seller to ship the missing parts to me along with some other parts I ordered as backup.

Onto the build - I am still lacking 2 smooth rods but the rods were long enough such that if I cut two of them in half, it would be enough to give me about 130mm x 150mm build area. I could live with it so I went ahead and cut them. I've got the parts that I needed, but they were not exactly the same parts used in the original design so I definitely had to make some modifications or even make some parts myself.  One of them is the X axis hot end mount.  I failed to notice that the printed parts I ordered was for a different kind of extruder and what I had was a J-head hot end.  Another setback!  The fix? I made the part out of wood! Using some scrap wood, I carved a similar shape leaving some space for the servo.  This would not have been a problem for someone who already has a 3D printer but if you're like me who is building his first 3D printer, wood is a good alternative for the printed parts in case you'd need to make one.
 I intended to use another piece of wood to hold the hot end in place but in the end, I just used cable ties. I wasn't sure if it could handle the heat but it worked surprisingly well. The head will not be carrying to much load so it didn't take much to keep it in place.
 I also didn't need the tongue so I just used it to hold the tube in place.  Now you understand why I called it the Franken-Smartrap :-) I didn't care about how it looked.  I just wanted it to work.

Now, I really must have ran out of luck because I was having one issue after the other. After the j-head mount problem, I found a few more issues because of the incompatibilities of the parts I ordered.  The BOM of the original design asks for a 5M threaded rod for the Z axis. I am hoping the world will realize how inconvenient the english unit of measurement is and scrap it altogether.  I just could not find 5mm threaded rod anywhere! I learned that I could change the steps per mm of the motor so I settled for 1/4 in threaded rod. This means that the Z axis coupler will not be even since the threaded rod is thicker but it's not a show stopper.

However, the associated issue with a thicker threaded rod is that the bolt will not fit the slot in the printed part.
 I held the nut over a flame and tried forcing it in the slot.  It softened the plastic a little and opened up a bit enough to push the nut inside.  It slides out sometimes so I just applied blue tack over it to hold it in place. I planned to print the part with the right dimensions once I get the printer running. 

One other thing is that the shaft of the stepper motors I bought were a little short. It's a little blurry but you will see in this picture that the winding of the fishing line is okay if the Y carriage is in the middle but whenever it is on the far end, there is a chance that it will slip right of the top. For now, I will limit the build area to be as small as 50mmx50mm to keep the carriage at center to prevent the fishing line from slipping off the shaft. At least until I am able to print an adapter.
One last piece to install is the servo before we wire things up. There was no way to drive a crew on the other end so I just used a cable tie again to hold it in place.


Not bad, right?  The next part will be all about the electronics. Stay tuned!