RepRap Tips & Tricks
EE 400D. Spring 2012. Page 2
TABLE OF CONTENTS: RepRap Terms……………………………………………………………………………………………………………………..3 Steps to Start a New Print…………………………………………………………………………………………………...4 3D Modeling Software………………………………………………………………………………………………………....5 3D Printer Programs…………………………………………………………………………………………………..………..8 Troubleshooting………………………………………………………………………………………………………………...19
Authors: Steven Peterson, Sirac Haile, Aric Smith, Sunny Bagga
EE 400D. Spring 2012. Page 3
REPRAP TERMS:
Threaded rods/smooth rods Stepper motors (5mm shaft) XL belts & pulleys Optical sensors & flags Plastic filament (PLA or ABS, 1.75mm or 3mm) Antec spot cool fan Adjustable 12V/30A power supply Heated bed/build surface PCB Thermistor Kapton & painters tape Aluminum sheet or glass panel Extruder (Wade’s) X‐carriage & “mustaches” 40mm fan & fan duct Large gear & small gear Groovemount Hot end Threaded brass barrel 0.35mm nozzle Nichrome wire Ceramic compound PTFE tape Thermistor RAMPS Circuit Board (version 1.4) Arduino Atmega 2560 Motor Drivers X, Y, Z, & E pin outs Thermistor pin outs (T0, T1) Output ports D8 – heated bed D9 – fans D10 – hot end Calibration & firmware
Authors: Steven Peterson, Sirac Haile, Aric Smith, Sunny Bagga
EE 400D. Spring 2012. Page 4
STEPS TO START A NEW PRINT: 1. 2. 3. 4. 5. 6.
Download or design a 3D model that you wish to print Make sure the file downloaded or exported is an .STL (stereo lithography) Run .STL file through NetFabb to fix any non‐manifolds to ensure a proper print Open Slic3r and adjust preferred settings for the particular print (refer to Slic3r guide) Load .STL file into Slic3r using “Slice” button to generate a GCODE file Connecting the printer Plug in power supply and connect to RAMPS Connect USB cable from computer to Arduino 7. Open PronterFace and click “Connect” to establish a connection, then click “Monitor Printer” in order to observe printer status in real time 8. Set heated bed temperature: PLA ~ 60°, ABS ~ 110° 9. Set extruder temperature: PLA: first layer ~ 185°, remaining layers ~ 180° ABS: first layer ~ 225°, remaining layers ~ 220° 10. Load GCODE file to PronterFace, check print time in feedback/command prompt 11. Home each axis separately to ensure proper alignment 12. Turn on fans by typing M106 in feedback/command prompt (GCODE language) 13. Once both temperatures reach desired levels, you are ready to print 14. Ensure plastic filament is feeding through the extruder by extruding small amounts of plastic through the hot end Extrude 20mm at 150mm/min in bottom left corner of PronterFace repeatedly until filament is flowing in a string‐like manner out of the nozzle Use a pair pliers or tweezers to continuously clear the excess plastic 15. Click “Print” and keep a close eye on your printer throughout the entire print 16. If anything seems to be going wrong, the best thing to do it kill the print by either disconnecting the printer in PronterFace or unplugging the power supply
Authors: Steven Peterson, Sirac Haile, Aric Smith, Sunny Bagga
EE 400D. Spring 2012. Page 5
3D MODELING SOFTWARE: Blender Blender is a free and open‐source 3D computer graphics software product used for creating animated films, visual effects, interactive 3D applications or video games. Blender’s features include 3D modeling, UV unwrapping, texturing, rigging and skinning, fluid and smoke simulation, particle simulation, animating, rendering, video editing and compositing. It also features a built‐in game engine. Blender download link: http://www.blender.org/download/get‐blender/ Tutorial Videos ‐Basics The link below will guide you through Blender and help give you an overall feel. http://www.youtube.com/watch?v=YV‐ncoG9Q7A&feature=related ‐Tips & Tricks Once familiar with the basics feel free to move on to a little more advanced techniques. YouTube has a vast amount of videos that will help answer any questions. http://www.youtube.com/watch?v=4xpZcaa3B0c
Authors: Steven Peterson, Sirac Haile, Aric Smith, Sunny Bagga
EE 400D. Spring 2012. Page 6 Screenshot of Blender interface. Object is 3D FoBo foot. OpenSCAD OpenSCAD is software used for creating solid 3D CAD objects. It is a free software like Blender but it does not focus on the artistic aspects of 3D modeling, instead on the CAD aspects. OpenSCAD is ideal if you are planning to create 3D models of machine parts. Unlike Blender, OpenSCAD is similar to a 3D‐ compiler that reads a script file that describes the object and renders the 3D model from this script file. For those that like the idea of 3D modeling with code, this program will appeal to you; although, learning a new language will take some time. ‐OpenSCAD download link: http://www.openscad.org/ ‐User Manual (Functions included) http://en.wikibooks.org/wiki/OpenSCAD_User_Manual Tutorial Videos ‐Basics This link shows basic modeling using OpenSCAD and covers the 3 basic Boolean operations as well as the 3 basic transformations. http://www.youtube.com/watch?v=XNghpq9sKRc ‐Creating Complex Objects This tutorial shows how to make complex objects and shows the utilization of constructive solid geometry (CSG) modeling. http://www.youtube.com/watch?v=kZN_HCtXwLU Screenshot of OpenSCAD interface. Uploaded example code found in the file drop down menu.
Authors: Steven Peterson, Sirac Haile, Aric Smith, Sunny Bagga
EE 400D. Spring 2012. Page 7 MeshLab Having already created a 3D model, MeshLab is ideal for editing and viewing. MeshLab is an open source, portable, and extensive system for the processing and editing of unstructured 3D triangular meshes. ‐MeshLab download link: http://meshlab.sourceforge.net/ *MeshLab is also available as a free iPhone & iPad app, great for viewing 3D models anytime and anywhere Tutorial Videos The following link takes you to a collection of videos made by Mister P. He provides a variety of video tutorials that will cover the basics as well as the more advanced editing techniques. http://www.youtube.com/user/MrPMeshLabTutorials Screenshot of MeshLab interface. Image in rotation is an imported FOBO foot.
Authors: Steven Peterson, Sirac Haile, Aric Smith, Sunny Bagga
EE 400D. Spring 2012. Page 8
3D PRINTER PROGRAMS:
SOFTWARE FLOW DIAGRAM
Note above, the software we will be using:
Slic3r Pronterface Marlin Firmware Blender, Solidworks, OpenSCAD , CAD tools (user preference)
Authors: Steven Peterson, Sirac Haile, Aric Smith, Sunny Bagga
EE 400D. Spring 2012. Page 9
SECTION 1: Marlin Firmware Installation and Configuration Download and Unzip: 1. Download Arduino. Software version 22 seems to work great, while some versions may not compile such as Arduino IDE v.1.0 Arduino Link: http://www.arduino.cc/ Firmware link: https://github.com/ErikZalm/Marlin 2. Unzip the Marlin Firmware and you should see all of these files:
Open Marlin in Arduino IDE environment: File‐>Open
Authors: Steven Peterson, Sirac Haile, Aric Smith, Sunny Bagga
EE 400D. Spring 2012. Page 10
Configuration of Baud rate 3. Go to configuration.h file inside of Marlin and you need to change a few things here before you can upload to the board. #define BAUDRATE 250000 //#define BAUDRATE 115200 Note: Either of these BUADRATES can be used but make sure to stay consistent inside of Pronterface, a program we will speak about in section 3. Defining your RAMPS version (Inside Configuration.h)
Note above: #define MOTHERBOARD needs to be changed to RAMPS we currently have. We have v1.4, but this is the same as RAMPS v1.3. # define MOTHERBOARD 33 as shown above Authors: Steven Peterson, Sirac Haile, Aric Smith, Sunny Bagga
EE 400D. Spring 2012. Page 11
Defining thermistor type (Inside Configuration.h)
Note above: Change the Temp_SENSOR_0 1 and TEMP_SENSOR_BED 1. We are making this change because we have a 100k thermistor. If a different type of thermistor were used we would have a different value as shown in the comments section of the code. Max Lengths for X,Y,Z (Inside Configuration.h)
Note above: Change your Z_MAX_LENGTH to 100. The default X_MAX and Y_MAX should be fine. You’re not done yet Congratulations! You are done with the initial setup. Remember these settings are just to help you move through the various programs. The goal is to calibrate the printer once you have setup Slic3r and Pronterface. Connect to your Arduino, upload the code, and move to the next section. Authors: Steven Peterson, Sirac Haile, Aric Smith, Sunny Bagga
EE 400D. Spring 2012. Page 12
SECTION 2: Slic3r ‐ Slicing Software (Converts .STL to .GCODE) Important Note: This section assumes that the user has already created an .STL file from a 3D modeling software or downloaded an .STL from online Downloading Slic3r Link: http://slic3r.org/ ‐Make sure to always keep this software up to date by frequently checking for updates Slic3r: Various Settings Explanations
Authors: Steven Peterson, Sirac Haile, Aric Smith, Sunny Bagga
EE 400D. Spring 2012. Page 13
PRINT SETTINGS: If some settings are not explained this implies they should be left at their default values. Scale: Multiplier for size. For example, you have a 2x2x2 (mm) cube and want a 10x10x10 (mm) then you would make the multiplier 5. Copy along X and Copy along Y: Copy along x will copy your print and place it in the x‐ axis of the bed. For example if you want 3 cubes along the x‐axis then you would make this value 3. For copy along y same rule applies. Distance between copies: The distance, in mm, between your copies. Accuracy: This really depends on the nozzle size. Avoid going any bigger than 0.35mm and nothing lower than 0.1mm. Leave first layer height and fill N layers set to 1. Skirt: The skirt allows you to add a perimeter of plastic around your print. This ensures your nozzle is extruding plastic smoothly before it starts to print the actual object. The amount of loops can be adjusted here but there is no real need to change this setting. Print setting: Perimeter: 3 means it will draw 3 solid outlines around the edges of the object. For general purposes this will work fine. Solid layers: number of fully filled layers built on top of each other on a flat surface, the base, and the tops of objects. 3 is good but you should never go higher than 6. Fill density: amount of infill to be used when filling the internal space of the object. 0.4 means 40% infill and 60% void/air. You do not need to go higher than infill of 50%.
Authors: Steven Peterson, Sirac Haile, Aric Smith, Sunny Bagga
EE 400D. Spring 2012. Page 14
PRINTER AND FILAMENT: Nozzle diameter: Our nozzle size is 0.35mm. Print center: This is a default setting and has worked well for our prints. You should not have to change this setting. This is where the initial prints are centered. Filament diameter: Our filament size is 1.75 mm, so this has to be changed by getting your filament and taking several measurements with a digital caliper and averaging them. The actual size is usually never 1.75mm but it should be close. Temperature settings: Turn all of these to 0’s because otherwise the printer will have a delay by waiting to reach a certain temperature for either the bed or the first layer. Not really needed because you will set this in Pronterface. *Once these are set you can save the configuration file by clicking “save config” Authors: Steven Peterson, Sirac Haile, Aric Smith, Sunny Bagga
EE 400D. Spring 2012. Page 15
.STL to .GCODE Before you Slice your .STL file it is recommended that you upload your .STL to NETFABB. Link: http://cloud.netfabb.com/ This cloud service will get your .STL file ready for .GCODE and fix any problems that the .STL contains. Once cleaned by Netfabb, create .GCODE from your .STL file by clicking Slice in Slic3r, then loading your file. Once loaded it will Slice your file and put it in the same directory where your .STL was located. Netfabb also has a free application that can be downloaded but we found that it does not perform as well as the cloud service online.
Authors: Steven Peterson, Sirac Haile, Aric Smith, Sunny Bagga
EE 400D. Spring 2012. Page 16
SECTION 3: Pronterface‐ Interface Software Downloading Pronterface Downloading Pronterface is not as easy as the other software this is because it needs python scripts, thankfully someone has already compiled it for you here: http://hackable‐devices.org/planet/user/28/‐ Go down to Pronterface section OR https://github.com/kliment/Printrun ‐ Remember you need Python to run these files.
Note above: This program is quite simple to learn. Press the connect button to connect to the printer. Use the Load File button to load your .GCODE. As mentioned before, use the same BAUD rate as in your Marlin firmware. We use the Center X,Y,Z to control movements of the steppers. The heater (hot end) and bed temperatures are displayed on the bars in the bottom left and plotted in real time to the right. We can set the temperature by clicking set on the right side. For ABS the temp is around 230 and for PLA it is 185 (refer to STEPS TO START A PRINT for exact temperature settings). The right side where the white box is displayed is for status updates and for sending any GCODE. The center graph is to show the status of the print and will show the user which layer the printer is currently working on.
Authors: Steven Peterson, Sirac Haile, Aric Smith, Sunny Bagga
EE 400D. Spring 2012. Page 17
Using Pronterface to Calibrate your Printer Calibration is the MOST IMPORTANT part of getting your printer ready to print. Calibration is needed to insure that each stepper has accurate steps in each direction as well as the rate of extrusion. The best way to do this is using Pronterface. Step 1: Make sure that you can home all axis using Home X, Home Y, and Home Z. Then go ahead and Go +10mm away (plus X direction) from home. Using a digital caliper you can measure how much the x carriage actually moved. TIP: Before telling your printer to move, setup your caliper so it is wedged between 2 surfaces, that way it takes the measurement in real time during each movement. Then use this equation to adjust your firmware: Multiplier=
Desired Actual
For example, if you told the printer to go +10mm and the x‐carriage actually moved 5, then your multiplier would be 2. You may have to do this several times to get a really accurate reading. It is recommended to get within a tenth of a mm for accurate printer (if you are going for 10mm, keep calibrating until you are reading somewhere between 9.9 ‐10.1).
Authors: Steven Peterson, Sirac Haile, Aric Smith, Sunny Bagga
EE 400D. Spring 2012. Page 18
Step 2: Using the multiplier we need to implement this in our code. This is shown below:
Note above: This is where we use our multiplier factor. The order is (X,Y,Z,E) these numbers are standard so we need to use the multiplier we created for X and multiply (2*X,Y,Z,E). Save and upload the firmware again. Then we go back to Pronterface and take more measurements and see how close we are to moving 10mm. You want to be VERY ACURATE, the more accurate the better. Do this for X,Y,Z. Step 3: Now that we are done with the X, Y, Z axis, we need to calibrate the Extruder. Same concept of the multiplier applies here except you need to extrude instead of moving in the X, Y, or Z directions. FIRST, HEAT UP THE HOT END TO THE PROPER TEMPERATURE BEFORE EXTRUDING! When the hot end is at the proper temp for either ABS or PLA, get a drinking straw and some filament. Using a marker, mark the reference point on your straw. Extrude 10mm or 30mm (the higher number the better accuracy). Using a measuring tape measure how many mm the stepper actually extruded. Do this several times and then use the multiplier equation in the MARLIN FIRMWARE just as we did before, but this time for the fourth coordinate (X,Y,Z,E). After calibration is complete, you are ready to print!
Authors: Steven Peterson, Sirac Haile, Aric Smith, Sunny Bagga
EE 400D. Spring 2012. Page 19
TROUBLESHOOTING: Problem: Print surface not level with extruder nozzle Solution: To correct this problem the build surface needs to be calibrated to ensure consistent distance from the print surface to the extruder nozzle. To calibrate the surface the four screws located on the left and right of the build plate need to be adjusted. First move the extruder to the home position manually and measure the height between the nozzle and the build surface. Then move to the next corner and adjust until all corners are equal. When calibration is complete ensure the nozzle height is suitable for the first layer (about a business card thickness in height). If not refer to first layer nozzle height. Problem: First layer height too high or too low Solution: To fix this problem you must adjust the Z‐axis flag. This flag is located on the right side of the printer hanging below the X‐axis. If the print head is too low you need to LOWER the flag in order raise the Z‐ Home position. If the print head is too high you need to raise the flag. Problem: No plastic extruding Solution: To attack this problem you must first diagnose the cause of the problem. It may be caused by a jam in the extruder or clogged up the barrel. If the extruder is jammed remove the four screws holding the idler to the hobbed bolt. Once removed the filament may appear to be noodled. This is caused by a cold ‘hot end’ or rising heat causing the filament to heat up too high and “noodle”. Cut the filament and heat the hot end to the appropriate temperature for the plastic being used. Chase the filament with a 1.5mm Allen wrench to clear the orifice but do not go too deep. Then reload the filament and continue to print. If the nozzle is clogged remove the nozzle from the barrel and clear out with a pin or strand of wire (be sure to heat the nozzle over a flame). To prevent any debris from clogging the nozzle again use a sponge mounted in line with the filament to clean particulates off the filament.
Authors: Steven Peterson, Sirac Haile, Aric Smith, Sunny Bagga
EE 400D. Spring 2012. Page 20 Problem: Too much plastic extruding during print Solution: This is caused by software not hardware. In your Slic3r settings make sure to update the filament diameter by taking sample measurements of your filament and taking an average size, then input that into Slic3r. Problem: Loud banging noise Solution: The loud banging noise is caused by the axis at the end of its travel range. This is due to a missing or inactive flag. First make sure the flag is plugged into its appropriate port on the RAMPS controller. If the previous step has been done and the symptom still occurs, make sure the flag is in contact with the sensor at the appropriate location. Problem: First layer not sticking Solution: If your print begins to peel off or completely lifts off the build surface during the print. This problem is caused by a cool build surface or a contaminated build surface. The oils in your hand can help release the plastic from the build surface; also the temperature of the build surface takes toll. To fix this problem clean the build surface with rubbing alcohol to ensure a clean surface. Also make sure the build surface is up to proper temp (65‐75°C) PLA, and (110‐120°C) ABS. To aid in the adhesion of the part you may use blue painters tape on the build surface for PLA and ABS or a mixture of ABS and Acetone painted on the Kapton tape. Problem: Stepper is getting hot Solution: When the stepper gets warm its normal, but when it’s HOT that’s not acceptable. To reduce the temp of the stepper you must reduce the current flowing to the motor. To solve the problem you can adjust the potentiometer located on the Pololu motor driver. To reduce the current rotate the potentiometer counter‐clockwise the desired setting is around a quarter turn from all the way down. Another good way to help dissipate heat is by attaching heat sinks onto each stepper motor. These can be purchased at any RadioShack. We also used the fan of a portable bubble gun to manually cool any areas that get too hot during our prints.
Authors: Steven Peterson, Sirac Haile, Aric Smith, Sunny Bagga
EE 400D. Spring 2012. Page 21 Problem: Print shifted to the right or left (stepper skipping steps) Solution: If your print seems to be shifted this is caused by either x or y stepper skipping a step or 2. To solve your problem you must increase the current to the stepper in order to generate enough torque to prevent the skipped step. To increase the current turn the potentiometer clockwise a fraction of a turn until motor stops skipping. Make sure not to increase it too much this will lead to overheating of the stepper. Problem: Sloppy prints Solution: If your printer appears to be printing rectangles instead of squares and ovals instead of circles then your calibration is off. If your printer is not calibrated to correctly move 10mm when commanded in either x, y, or z direction, it is necessary to recalibrate your printer using the calibration within this manual on page 16. Problem: Plastic components melting, Too much heat on electronics Solution: If the plastic components start to get warm they will melt; they are made of plastic. To fix this problem we not only use fans on the plastics but also on the electronics. The fan located on the x‐carriage should be ON during the print or whenever the extruder heater is ON using the M106 command. This also turns on the electronics fan to keep the motor drivers cool. Again, using the bubble gun will help redirect any heat that can be causing problems. *When creating bridges during a print it is wise to use a small amount of cooling to make sure the plastic hardens quickly. Careful though, because too much air can cool the hot end and cause the plastic to get clogged in the nozzle. Problem: Tangled filament Solution: When the filament is tangled do not try to detangle it unless you see it’s an easy task. To solve the problem, cut the filament and re‐feed the filament through the extruder and resume the print. It is possible to feed the filament through the extruder mid‐print but it is advised to stop the print and open the extruder to ensure a clean insertion of filament through the barrel. To prevent tangling use a filament spool holder and guide.
Authors: Steven Peterson, Sirac Haile, Aric Smith, Sunny Bagga