Monday, August 18, 2014

3D Printed Lens Macro Adapters Reviewed

I have a couple of SLR lenses with the word 'macro' on the label but they really are not true macro.  In this post, I will share the results of my effort to get even more higher magnification with the help of the Smartrap 3D printer and some tricks used by photographers to get more out of their lenses. Specifically, I 3D printed adapters and will use them depending on what is appropriate for each of my lenses:
  • Reverse lens
  • Extension tube
  • Extension tube + reverse lens
  • Twin reverse lens



 The lenses I will play with are the following:
  • Sigma 70-300 APO DG Macro 
  • Sigma 17-70 DC Macro
  • Canon 50mm 1.8 


    As I was writing this post, things got a little too long for one post so I decided to make a dedicated post for each of the lenses.  Please follow the links above to check the individual posts.  I will however, share the summary of results and conclusion here if you want to go straight to the point. 

    I also feel the need to mention that if you plan to do any of this, you should know that there are risks on your equipment so please don't blame me for any damage you may get. 

    Results:

    • Canon 50mm 1.8  
      • Reversed - maximum magnification I got was 1:1.3
      • If you add a 50mm extension tube with the reverse lens, I was able to get magnification as high as 2.8:1 or 2.8X
    Left: 10% scale   Right: 100% crop  (View image in full scale)



     

    • Sigma 17-70 DC Macro
      • Without modifications, you can get 1:2.3 magnification
      • Using an extension tube and the lens set to the longest focal point, the highest magnification is 1:1.2 (a  40% increase)
      • With the lens reversed and set to the shortest focal length, I got up to 4.96:1 or almost 5X magnification!
      • With this lens reversed and a 50mm extension tube, it maxed at 7.4:1! More than 7X magnification! :) 
    Left: 10% scale     Right: 100% crop   (View image in full scale)

    • Sigma 70-300 APO DG Macro
      • Without modifications, maximum magnification is 1:2
      • Using an extension tube and the lens set at 300mm focal length, it is only at 1:1.6 but it is still 25% more magnification than before. 
    Left: 10% scale   Right: 100% crop of left eye (View image in full scale)

    • Sigma 70-300 + reverse Canon 50mm
      • With the Sigma mounted on the camera set to 300mm and set to macro, then the Canon mounted in reverse at the other end, maximum magnification is 6.4X.  
    Left: 10% scale  Right: 100% crop  (View image in full scale)


    Note:
    The subject is a 100 peso bill.  The magnification is calculated based on this formula:  Camera sensor width / real width of the image captured. A strobe or a flash is also required to illuminate the subjects at very small aperture (big f-stop)




    Conclusion:

    If you don't have a dedicated macro lens, as is the case with a lot of beginners or tinkerers who are just making the most of the resources they have and save money, it is possible to get decent macro shots with your existing lens using the methods described above. However, with these tricks, there is a greater chance that dust and dirt can get into your camera body.

    The reverse lens technique is best suited when in a well controlled environment like a studio and when the subject is stationary.  You lose auto-focus so focusing is very difficult especially when the subject is moving. 

    Using an extension tube is great with the 70-300mm lens and  when you don't need a very high magnification.  Using this is also best when you can't get too close to your subject (like insects that may fly away). Since the focusing distance is about a meter, you won't disturb your subject too much. 

    If extreme magnification is needed, the reversed 17mm with extension tube is best. However, since you need to set the aperture before mounting the lens backwards, the image in the viewfinder can get dim, making focusing even more difficult especially at apertures f16 and above.

    My favorite among all of the methods is the combination of the 300mm + reversed 50mm.  This allows me to keep the aperture control on the camera so the viewfinder is bright while focusing.  It also gives a 6X magnification. SWEEET! The only thing I don't like about this setup is that the images taken seem focused at the center then starts to get out of focus as it goes towards the edges.


    Try it and have fun!


    That is the tip of a 0.7mm thick pin.   That's how small this snail is! 


    Friday, July 11, 2014

    How to fix RepRapDiscount Smart Controller encoder rotation

    I really enjoy being able to control my smartrap with the LCD controller.


    But even if I've had my smartrap for about 4 months now, I still couldn't get used to the direction the knob responds in the LCD controller.  The knob (aka encoder) works in a way that when you turn it clockwise, the values gets smaller.  I just find it very unnatural.

    This caused a couple of crashes and almost broke my print bed a few times while trying to move the nozzle up.

    A new post in the smartrap forum by someone also annoyed with this made me look at it again and still could not find a good info on the net. What I'm sure of is that it is just a setting on the firmware.

    In my case, I am using a RAMPS 1.4 and Arduino Mega 2560. I traced the code backwards from the point where the LCD controller was defined in configuration.h and tried to find a trail. I ended up in pins.h of the smartrap firmware which is based on marlin.

    Here's the exact code where I needed to change it in pins.h:

    #if MOTHERBOARD == 33 || MOTHERBOARD == 34 || MOTHERBOARD == 35 || MOTHERBOARD == 77 || MOTHERBOARD == 67 || MOTHERBOARD == 68
        ----- a lot of code here in between -------

    #ifdef ULTRA_LCD

    #ifdef NEWPANEL
    #define LCD_PINS_RS 16
    #define LCD_PINS_ENABLE 17
    #define LCD_PINS_D4 23
    #define LCD_PINS_D5 25
    #define LCD_PINS_D6 27
    #define LCD_PINS_D7 29

    #ifdef REPRAP_DISCOUNT_SMART_CONTROLLER
    #define BEEPER 37
    #define BTN_EN1 33 //<---swap this

    #define BTN_EN2 31 //<---with this
    #define BTN_ENC 35

     After swapping the pins of BTN_EN1 and BTN_EN2 and re-uploading the firmware, the encoder now works the way I wanted it to =)

    Depending on what board you're using, it will just be a matter of swapping the pins, too. Give it a try! 
      


    Friday, July 4, 2014

    Having fun with 3D printed figures

    I used to paint when I was much younger and seeing a lot of great figures online begging to be 3D printed, it made me want to try painting again. 

    It's one thing to print the figures but they just look better in color.  The good thing is that I don't need a very expensive printer to put color on my prints. I just need to dust off a skill I haven't used in a long time. :)

    These prints are rough since they've been printed at a low resolution for quick prints while I try out how well it can be painted. It looks like acrylic is best for this purpose.  Water based and dries fast.

    Knight (I better get a finer brush)

    Batman bust - My nephew asked me to print a batman bust.  I took pictures before I gave it to him :)
      

     Faceless - Not bad for a small print.

    Ahhh... I really missed this.  There's something about painting that is just so relaxing and satisfying. I think I'll be doing more of this again.  :) 


    Wednesday, June 18, 2014

    Solving my 3D printing issues




    I've built my 3D printer for about 2 months now and one of the most difficult thing to get right was the extrusion.   At this point in my build, I can say that my prints are now consistent and at par (and sometimes even better) to the quality of prints I see posted online.  In this post, I will share what were the factors I changed that helped me get better prints. 


    For those who were lucky enough to afford a commercial 3D printer, this might be less of a problem but I've seen people complain about the same issues on printers they've bought so I hope this will help someone. 

    Temperature


    There's a reason why I listed this first.  Printing in the wrong temperature can cause different kinds of printing issues from clogged nozzle to ruined prints.  Since it can be a source of a lot of problems, it will be difficult to troubleshoot the other issues so it's best if you can get this out of the way first.

    Here are some signs that indicate you need to tune your temperature settings:
    • Temperature climbs quickly but slows down as the temperature gets higher and gets near the target temperature - At one point, it took my nozzle more than 10 minutes just to get to 210 degrees Celsius.  Then it takes another 3 minutes or so to get to 220 degrees. 
    • Temperature is not being maintained within the target temperature - When I start the print with the fan off, the nozzle can reach the target temperature relatively fast but when the fan turns on, it cools the nozzle down by about 10 degrees Celsius and doesn't get back near the target range.
    This problem bugged me for a long time. Initially, I thought the resistor or heating element on my hot end nozzle was just not powerful enough to reach or maintain 230 degrees.  When the resistor on my hot end failed, I experimented with different kinds of resistors.  I even used two 10-ohm resistors in parallel to heat my nozzle but it was still not able to maintain the target temperature. Then I used 5.6 ohm vitreous enamel resistor which heats faster but the temperature still drops by more than 10 degrees when the fan turns on and does not recover.

    As a last resort, I ordered a 30W heating cartridge thinking that it will be the ultimate solution to my temperature problem and I got really disappointed and frustrated when it didn't perform as well as I thought.  Even turning on autotemp in the smart controller didn't help.  It was only then that I started to suspect there could be a setting somewhere that needs to be changed.

    I knew about PID but there was no documentation on how to set them properly.  There were some guides but nobody confirmed a specific method or setting worked for them.  Finally, I discovered PID auto tuning!  Doing this step will heat the nozzle and cool it down a few times and give you an optimum PID setting you need to use for your specific hot end.  It will not change the PID settings for you though so you will need to note down the last PID values it gives out and change the PID settings yourself either via firmware, pronterface, repetier host, or whatever you use to communicate with your printer.  Don't forget to save it in EEPROM or you will lose the settings when you power down.

    Right after going through the PID autotune procedure, I immediately noticed that my nozzle can maintain the temperature within 2 degrees when the fan is off.  This allowed me to print faster, too, because I do not need to compromise speed just for the temperature to catch up.

    This, folks, is how important PID autotune is.  You may even benefit from doing it once if you've never done it before.  I had to redo PID tuning with the fan turned on so that the effects of the fan will be considered in tuning the PID settings and gave better results.

    If your temperature does not swing wildly anymore, you can skip the next step but for me, I had to do an extra step which was to change this setting in the configuration.h of the firmware:

    #define PID_FUNCTIONAL_RANGE 20
    Setting the range from 10 to 20 keeps the PID active even when the temperature drops by more than 10°C caused by the fan.  A setting of 10 was too low for my setup and this explains why the temperature could not recover after falling off the range.


    Extruder motor skipping (A.K.A. kickback or missing steps)


    Here's a video of this happening. You may need to wait for the full animation to load (6MB) for a smooth playback.


    My smartrap 3D printer originally had a direct drive configuration but I switched to a geared extruder thinking that it will solve the kickback problem.  It did help a lot in other things but there were other causes that needed to be addressed to completely get rid of the kickback.
    • Blockage in the hot end - One thing you need to make sure is that you can easily push the filament down the nozzle while it's at the right temperature for the filament you're using. Remove the bowden tube and try to push the filament. If you find it hard to push down with your hand, you may have to have it replaced or if you made it yourself, clean your nozzle. Depending on the type of hot end, you may need to take it apart and get rid of the whatever is preventing the filament from moving inside. 
    • Nozzle too cold - If your PID is tuned well and you still get kickbacks, it could be that your filament just works best at a higher temperature.  Most PLA filament works best within 180 to 200 deg. C but the filament I bought from robotdigg just works at temperatures between 230 to 240. Any lower and the filament doesn't flow well out of the nozzle.  At first, I thought there might be something wrong with my temperature sensor until I found out that there are people also printing at more than 230°C with PLA depending on where they got it from. So you need to experiment with this.  Note down what temperature every roll of filament works best at and put a label on each roll. You may get the kickback because it's harder to push out the filament when it's not completely molten.
    • Printing too fast - Commercial printers can normally print at speeds well above 100mm/s. But for my smartrap build, I couldn't print at more than 20mm/s if I wanted the quality to be even just acceptable.  20mm/s is sloooooow. But this was when I was still tweaking the settings. In my experience print speed is proportional to the temperature. To give an example, I can print with 30mm/s at 230°C but when I print at 50mm/s, I had to bump it up to 240 to get the same quality.  I now use Cura's "Tweak At Z" plugin all the time to adjust the temperature according to print speed.  Having said that, there will be a speed at which you can't go past without compromising print quality or having the kickback so you should know the limits.
    • Wrong setting on stepper driver potentiometer - As I explored ways to get rid of skipping extruder motor, I increased the setting of the potentiometer in the stepper driver to give it more power. I could hear it push the filament harder.  I had less kickbacks but still happens and just caused my extruder motor to heat up too much. It gets hot that I wasn't able to touch it for more than 5 seconds. In some instances, adjusting this just a touch can help but there's really no need to set it differently than the other motors. I wouldn't touch this until all other factors have been checked.
    • PTFE bowden tube too long - One contributing factor on a bowden extruder setup is the friction of the filament with the tube as the motor pushes it down the nozzle. The longer the tube, the harder it becomes to push especially if there are a lot of bends and loops along the line. I cut down my tube to just enough length for the hotend's full range of motion but it's hard to tell how much of it helped in making it easier for the filament to pass through.  One way to test is to try to push the filament with your hand while the nozzle is hot.  If you can pushing the filament through without much effort, it should be good enough.
    • Flow rate too high/over extrusion - Among all of the causes of extruder kickback, this was the setting that made the biggest difference.  I use Slic3r and Cura and I need to turn down the flow rate to about 70-80% to get the optimum quality. Despite setting the diameter of the filament accurately at 1.7mm, and calibrating the extruder steps per millimeter, I still need to set it within that range or get kickbacks often. Maybe it's in how the slicer program calculates how much filament it feeds but you need to experiment with this. I am now using a flow rate of 70% and what a difference it makes! One sure sign that you need to dial this down is when the filament keeps flowing out of the nozzle after a print. This means that too much pressure is building up in the nozzle.  Before changing this setting, it takes more than 10 seconds for the filament to stop flowing after a print.  At 70% flow rate, almost no filament comes out of the nozzle as soon as the print stops. This is where the flow rate can be adjusted in Cura and Slic3r.  Flow can also be adjusted using the LCD controller.  During a print, press the dial and choose Tune > Flow.  You have to commit this value to take effect. 

    • First layer height -  Whenever I get the kickback when printing the first layer, it's usually because the nozzle is too close to the glass so the filament couldn't come out. Setting the nozzle a little higher fixes it. 


    Slanting print along one axis


    I've experienced prints that have one side slanting like this:
    .
    It took me a few prints to figure out what was causing it.  Some people thought it was the stepper driver potentiometer setting that needs to be adjusted but what fixed it for me was a lose fishing line on the X axis.  I saw people having this problem as well with belts so it is not isolated to just the printers that use fishing line. Either way, this problem has to do with the drive system on one axis where the slanting happens.







    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!