Tools:Ditto3DPrinter
These are some instructions on how to use Tom's 3D printer (called 'ditto'). They are based on notes I took while Tom was showing me how to use the printer. I'm still in the process of writing this page at the moment. Feel free to correct any mistakes when I've finished. --Highfellow (talk) 03:14, 15 February 2016 (UTC)
Contents
Overview
To print a model, you'll need to go through the following steps:
- Create the model in a 3D design program such as FreeCAD, Blender, or OpenSCAD. Alternatively, download a model from somewhere online, like Thingiverse. You can also print from 2D bitmaps such as JPEGS, BMPs, or PNGs. This part of the process is up to you - you should be able to find help elsewhere online.
- Export it to a file format recognised by Cura, which is the program which renders the model file into a form the printer can understand, known as G-Code.
- Import the file to Cura and render it into a G-Code file.
- Start up the printer and change filament if necessary.
- Upload the G-Code file to the printer through the web interface.
- Start the print and wait for it to finish.
- Remove the print from the print bed and clean the bed.
These steps are described below. First though, you'll probably also need to install and configure Cura.
Setting up Cura
Cura is the program which renders your 3D model file into a series of detailed instructions to send to the printer, written in a language called G-Code. This tells the printer exactly what to do at the level of 'move the head 3mm along the X axis while feeding filament at 1mm/sec', as opposed to the model file which is more like 'there is a surface here which is defined by the following polygons'.
To set up Cura on your laptop, you'll first need to install it from their website. If you have a debian based system like Debian, Ubuntu, or Linux Mint, you'll get a .deb package which you can install as follows (assuming you've downloaded the Cura package to <cura-package>.deb):
dpkg -i <cura-package>.deb apt-get -f install
Next, you need to configure Cura to work with Tom's printer.
First, start up Cura. If you're running it for the first time, the 'Add new machine' dialog should open automatically; otherwise you'll need to go to the menu item [ Machine > Add new machine... ]. Click 'Next' to start the wizard, then select 'Other...' and click 'Next' and then select 'Custom...' and click 'Next'. If the 'Other' or 'Custom' radio buttons go off the end of your screen (which happened on my laptop), you can select them by clicking the button at the top of the list and pressing the up arrow key once.
Now you should be at a dialog entitled 'Custom RepRap information'. The values you need to enter are set out in the table below.
Field name | Value | Notes |
Machine Name | Ditto | A name to refer to this machine by. |
Machine Width X (mm) | 200 | Width of the printing bed (side to side). |
Machine Depth Y (mm) | 200 | Depth of the printing bed (front to back). |
Machine Height Z (mm) | 160 | Height of the printing bed (top to bottom). |
Nozzle size (mm) | 0.4 | Diameter of the extruder nozzle on the printer. |
Heated Bed | Yes | Whether the printing bed is heated |
Bed center is at 0,0,0 (Rostock) | No | How the centre of the bed is defined in the printers internal coordinates. |
Now click 'Finish'. You should now have a new entry 'Ditto' in the machine menu. Select this to use this printer.
Using Cura
Slicing settings
The next thing you need to set up are the settings which govern how the model file is rendered ('sliced'). These are settings which you might want to change from model to model, as compared with the ones above which are always the same for a given printer. You can set them using the tabs on the left hand side of the main Cura window. The only tabs we need to change for now are the Basic tab and the Start/End G-Code.
First, make sure the Basic tab is selected and fill in the fields based on the values in the following table:
Field Name | Recommended Value | Notes |
Layer Height (mm) | 0.2 | The height of each layer in the print. From 0.2 - 0.1 mm |
Shell Thickness (mm) | 0.8 | The thickness of the solid outer shell of the print. Must be a multiple of nozzle size. |
Enable Retraction | Yes | Retract the filament when not printing. |
Bottom/Top thickness (mm) | 0.6 | The thickness of the solid upper and lower layers. Must be a multiple of the layer height. |
Fill Density (%) | 20 | The percentage density of the honeycombed infill inside the print. Anywhere from 5 to 40 percent is OK, but 10 to 20 is best for most models. |
Print Speed (mm/s) | 50 | The speed at which the print head travels. This affects the quality of the print. 50 is the maximum, but reduce down towards 20 for a fine print. |
Printing Temperature (C) | 195 | 195 Degrees is right for PLA filament, which is the only filament suitable for this printer. |
Bed Temperature (C) | 70 | 70 Degrees for PLA filament. |
Support Type | - | You can choose to create supports for overhanging parts of the model when rendering. |
Platform adhesion type | - | You can choose to use some extra material to help the model stick to the bed. |
Filament Diameter (mm) | 2.85 | You should really measure this on the filament you're using in a few places using calipers and average the results. |
Flow (%) | 100 | You can change this to alter the amount of material extruded. |
Nozzle Size (mm) | 0.4 | This is the size of the extruder nozzle. |
Next, go to the 'Start/End G-Code' tab and select 'start.gcode'. Delete what is in the box at the bottom and replace it with the following:
;Sliced at: {day} {date} {time} ;Basic settings: Layer height: {layer_height} Walls: {wall_thickness} Fill: {fill_density} ;Print time: {print_time} ;Filament used: {filament_amount}m {filament_weight}g ;Filament cost: {filament_cost} ;M190 S{print_bed_temperature} ;Uncomment to add your own bed temperature line ;M109 S{print_temperature} ;Uncomment to add your own temperature line G21 ;metric values G90 ;absolute positioning M82 ;set extruder to absolute mode M107 ;start with the fan off G28 X0 Y0 ;move X/Y to min endstops G28 Z0 ;move Z to min endstops G1 Z15.0 F{travel_speed} ;move the platform down 15mm G92 E0 ;zero the extruded length G1 F50 E20 ;extrude 3mm of feed stock G92 E0 ;zero the extruded length again G1 F{travel_speed} ;Put printing message on LCD screen M117 Printing...
Then, replace 'end.gcode' with this:
M104 S0 M140 S0 ;heated bed heater off (if you have it) G91 ;relative positioning G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way M84 ;steppers off G90 ;absolute positioning ;{profile_string}
Finally, save your new slicing profile somewhere safe, by choosing the menu item [ File > Save Profile... ].