3D-Drucken
3D-Drucken | |
---|---|
Beschreibung: | 3D-Drucker |
Status: | working (Was heißt das?) |
Kontakt: | NoikK, Daniel Bohrer, teilweise auch #Druckberechtigte |
Usage Policy: | Nach Einweisung durch Druckberechtigte |
Links: | Repetier-Server auf einem Raspberry Pi |
Mittlerweile stehen im Space mehrere 3D-Drucker, die alle auf unterschiedliche Weise bedient werden können. Um die Bedienung von allen vorhandenen 3D-Druckern zu vereinheitlich und zu vereinfachen, wurde Repetier-Server auf einem Raspberry Pi installiert. Hier soll die allgemeine Bedienung und die Einrichtung erläutert werden.
Zu den einzelnen Besonderheiten der Drucker siehe RepRap, LulzBot und TinyBoy.
Im Rahmen des Studium Generale an der TU Braunschweig gab es einen Vortrag von larsan, der eine grobe Einführung bietet. Die Slides dazu finden sich unter Datei:Stratum 0 3D-Druck-Vortrag Folien Studium Generale.pdf.
Inhaltsverzeichnis
Hinweise zur Benutzung
So ein 3D-Drucker ist nicht gerade billig, deshalb müssen einige Regeln befolgt werden.
- Nur die #Druckberechtigten dürfen drucken.
- Kein Essen und Trinken am 3D-Drucker-Arbeitsplatz!
- Nicht an den Einstellungen herumspielen. Unbedachtes Ändern von Beschleunigungs- und Geschwindigkeitseinstellungen kann die Motoren und den 3D-Drucker beschädigen.
- Wenn der Drucker längere Zeit nicht druckt, stell sicher, dass die Heizung für den Extruder aus ist
- Das Filament muss ggf. per Hand nachgeführt werden, wenn es nicht von selbst abrollt.
- Hacks: entsprechend positionierter Mikrofonständer als Abrollvorrichtung für die Rolle
- Die Plattform vor dem Drucken gründlich mit Alkohol oder Pinselreiniger säubern, wenn nicht auf Papier gedruckt wird. Das ist eine häufige Ursache für Probleme.
- Nach dem Drucken etwa 1-2 Minuten warten, bis die Teile abgekühlt sind, da sie sich ansonsten verformen.
- Manche Teile (besonders bei dünnen Strukturen) benötigen Kühlung, hierfür z.B. die Lüfter verwenden (siehe gedruckte Eule)
- Den Druck zwischendrin zu unterbrechen um später weiter zu drucken – und sei es nur für 5 Sekunden – ist mit unendlich viel Problemen behaftet und sollte wenn irgendwie möglich vermieden werden.
Schritt 1: 3D-Modell erstellen
- siehe: 3D-Modell erstellen
3D-Modell als [https://de.wikipedia.org/wiki/STL-Schnittstelle .stl-Datei bereitstellen.
Hierzu kann entweder ein eigenes Design erstellt werden (z.B. mit OpenSCAD, Tinkercad) oder ein bereits vorhandenes verwendet werden (z.B. von Thingiverse). Zum Umwandeln aus anderen 3D-Formaten eignet sich z.B. Blender.
Geeignete CAD-Programme (Beispiele)
- OpenSCAD
- git clone git://github.com/openscad/openscad.git
- Online-Interface (braucht halbwegs aktuelle Webbrowser mit WebGL)
- Tinkercad)
- FreeCAD
- Autodesk Meshmixer
- RhinoCeros
- Parametrische CAD-Software mit Slicer, vergünstigte Studentenversionen
- kommerzielle industriebewehrte Software (sehr teuer) wie NX, Solid Edge, Solid Works, Catia, Creo, Inventor ...
- Blender
- Blender ist in den meisten Distributionen in den Repos
- ImplicitCAD
- oder jedes andere Program, das einen STL-Export hat
- Manchmal enthalten die STLs Fehler und Slic3r kommt durcheinander. Netfabb kann viele dieser Dateien wieder reparieren.*
Schritt 2: Slicen
Die .stl-Datei müssen in GCode umgewandelt werden, der zum Drucker gesendet werden kann. Dieser Vorgang wird Slicen genannt und benötigt ein weiteres Programm. Im Stratum0 wird der Slic3r oder RepetierHost (bringt bei der Installation den Slic3r mit) verwendet.
- Slic3r (oder über die Paketverwaltung, oder git clone git://github.com/alexrj/Slic3r.git)
Weitere Software (unsupported, YMMV):
- Cura
- Beispiel-Konfiguration ist unter Reprap/Configs/Cura zu finden
- Skeinforge
- SFACT (Fork von Skeinforge)
Slic3r-Einstellungen
Wenn Repetier-Host für das Slicen verwendet wird, sollte das eingebundene Programm Slic3r verwendet werden. Dazu den KAPUTTER LINK Download als .zip herunterladen, entpacken und anschließend im Repetier-Host unter Slicer bei Manager das Slic3r-Konfigurationsverzeichnis auf den entpackten Ordner verweisen. Jetzt sind alle .ini-Dateien, die zum Drucken notwendig sind, vorhanden.
Alternativ kann das folgende Config-Bundle in Repetier Host oder Slic3r importiert werden. In Slic3r geht das über den Menüpunkt „File“ → „Load Config Bundle“.
# generated by Slic3r Prusa Edition 1.38.5-prusa3d-win64 on 2018-01-16 at 20:47:39 [print:Kossel print] avoid_crossing_perimeters = 1 bottom_solid_layers = 3 bridge_acceleration = 0 bridge_angle = 0 bridge_flow_ratio = 1 bridge_speed = 60 brim_width = 0 clip_multipart_objects = 0 compatible_printers = compatible_printers_condition = complete_objects = 0 default_acceleration = 0 dont_support_bridges = 1 elefant_foot_compensation = 0 ensure_vertical_shell_thickness = 1 external_fill_pattern = rectilinear external_perimeter_extrusion_width = 0 external_perimeter_speed = 30 external_perimeters_first = 0 extra_perimeters = 1 extruder_clearance_height = 20 extruder_clearance_radius = 20 extrusion_width = 0 fill_angle = 45 fill_density = 20% fill_pattern = cubic first_layer_acceleration = 0 first_layer_extrusion_width = 200% first_layer_height = 0.2 first_layer_speed = 30 gap_fill_speed = 20 gcode_comments = 0 infill_acceleration = 0 infill_every_layers = 1 infill_extruder = 1 infill_extrusion_width = 0 infill_first = 0 infill_only_where_needed = 0 infill_overlap = 25% infill_speed = 80 interface_shells = 0 layer_height = 0.2 max_print_speed = 80 max_volumetric_extrusion_rate_slope_negative = 0 max_volumetric_extrusion_rate_slope_positive = 0 max_volumetric_speed = 0 min_skirt_length = 0 notes = only_retract_when_crossing_perimeters = 1 ooze_prevention = 0 output_filename_format = [input_filename_base].gcode overhangs = 1 perimeter_acceleration = 0 perimeter_extruder = 1 perimeter_extrusion_width = 0 perimeter_speed = 60 perimeters = 3 post_process = raft_layers = 0 resolution = 0 seam_position = aligned skirt_distance = 6 skirt_height = 1 skirts = 3 small_perimeter_speed = 15 solid_infill_below_area = 70 solid_infill_every_layers = 0 solid_infill_extruder = 1 solid_infill_extrusion_width = 0 solid_infill_speed = 20 spiral_vase = 0 standby_temperature_delta = -5 support_material = 0 support_material_angle = 0 support_material_buildplate_only = 0 support_material_contact_distance = 0.4 support_material_enforce_layers = 0 support_material_extruder = 1 support_material_extrusion_width = 0 support_material_interface_contact_loops = 0 support_material_interface_extruder = 1 support_material_interface_layers = 3 support_material_interface_spacing = 0 support_material_interface_speed = 100% support_material_pattern = pillars support_material_spacing = 2.5 support_material_speed = 60 support_material_synchronize_layers = 0 support_material_threshold = 40 support_material_with_sheath = 1 support_material_xy_spacing = 0.6 thin_walls = 1 threads = 2 top_infill_extrusion_width = 0 top_solid_infill_speed = 15 top_solid_layers = 3 travel_speed = 130 wipe_tower = 1 wipe_tower_per_color_wipe = 10 wipe_tower_width = 10 wipe_tower_x = 0 wipe_tower_y = 65 xy_size_compensation = 0 [print:Lulzbot print] avoid_crossing_perimeters = 1 bottom_solid_layers = 3 bridge_acceleration = 2000 bridge_angle = 0 bridge_flow_ratio = 1 bridge_speed = 72 brim_width = 0 clip_multipart_objects = 0 compatible_printers = compatible_printers_condition = complete_objects = 0 default_acceleration = 2000 dont_support_bridges = 1 elefant_foot_compensation = 0 ensure_vertical_shell_thickness = 1 external_fill_pattern = rectilinear external_perimeter_extrusion_width = 0 external_perimeter_speed = 45 external_perimeters_first = 0 extra_perimeters = 1 extruder_clearance_height = 20 extruder_clearance_radius = 20 extrusion_width = 0.42 fill_angle = 45 fill_density = 20% fill_pattern = cubic first_layer_acceleration = 2000 first_layer_extrusion_width = 0.53 first_layer_height = 100% first_layer_speed = 10 gap_fill_speed = 55 gcode_comments = 0 infill_acceleration = 2000 infill_every_layers = 1 infill_extruder = 1 infill_extrusion_width = 0.68 infill_first = 0 infill_only_where_needed = 0 infill_overlap = 55% infill_speed = 80 interface_shells = 0 layer_height = 0.2 max_print_speed = 80 max_volumetric_extrusion_rate_slope_negative = 0 max_volumetric_extrusion_rate_slope_positive = 0 max_volumetric_speed = 0 min_skirt_length = 0 notes = only_retract_when_crossing_perimeters = 0 ooze_prevention = 0 output_filename_format = [input_filename_base].gcode overhangs = 1 perimeter_acceleration = 1200 perimeter_extruder = 1 perimeter_extrusion_width = 0.38 perimeter_speed = 75 perimeters = 3 post_process = print_settings_id = raft_layers = 0 resolution = 0 seam_position = aligned skirt_distance = 5 skirt_height = 1 skirts = 3 small_perimeter_speed = 50 solid_infill_below_area = 90 solid_infill_every_layers = 0 solid_infill_extruder = 1 solid_infill_extrusion_width = 0.5 solid_infill_speed = 75 spiral_vase = 0 standby_temperature_delta = -5 support_material = 0 support_material_angle = 0 support_material_buildplate_only = 0 support_material_contact_distance = 0.3 support_material_enforce_layers = 0 support_material_extruder = 1 support_material_extrusion_width = 0 support_material_interface_contact_loops = 0 support_material_interface_extruder = 1 support_material_interface_layers = 5 support_material_interface_spacing = 0 support_material_interface_speed = 100% support_material_pattern = rectilinear-grid support_material_spacing = 7 support_material_speed = 60 support_material_synchronize_layers = 0 support_material_threshold = 30 support_material_with_sheath = 0 support_material_xy_spacing = 0.5 thin_walls = 1 threads = 2 top_infill_extrusion_width = 0.4 top_solid_infill_speed = 60 top_solid_layers = 3 travel_speed = 160 wipe_tower = 0 wipe_tower_per_color_wipe = 15 wipe_tower_width = 60 wipe_tower_x = 180 wipe_tower_y = 140 xy_size_compensation = 0 [print:Mendel print] avoid_crossing_perimeters = 0 bottom_solid_layers = 3 bridge_acceleration = 0 bridge_angle = 0 bridge_flow_ratio = 1 bridge_speed = 40 brim_width = 2 clip_multipart_objects = 0 compatible_printers = compatible_printers_condition = complete_objects = 0 default_acceleration = 0 dont_support_bridges = 1 elefant_foot_compensation = 0 ensure_vertical_shell_thickness = 1 external_fill_pattern = rectilinear external_perimeter_extrusion_width = 0 external_perimeter_speed = 30 external_perimeters_first = 0 extra_perimeters = 1 extruder_clearance_height = 20 extruder_clearance_radius = 20 extrusion_width = 0 fill_angle = 45 fill_density = 20% fill_pattern = cubic first_layer_acceleration = 0 first_layer_extrusion_width = 150% first_layer_height = 0.2 first_layer_speed = 20 gap_fill_speed = 20 gcode_comments = 0 infill_acceleration = 0 infill_every_layers = 1 infill_extruder = 1 infill_extrusion_width = 0 infill_first = 0 infill_only_where_needed = 0 infill_overlap = 15% infill_speed = 40 interface_shells = 0 layer_height = 0.2 max_print_speed = 40 max_volumetric_extrusion_rate_slope_negative = 0 max_volumetric_extrusion_rate_slope_positive = 0 max_volumetric_speed = 0 min_skirt_length = 0 notes = only_retract_when_crossing_perimeters = 1 ooze_prevention = 0 output_filename_format = [input_filename_base].gcode overhangs = 1 perimeter_acceleration = 0 perimeter_extruder = 1 perimeter_extrusion_width = 0 perimeter_speed = 40 perimeters = 3 post_process = print_settings_id = raft_layers = 0 resolution = 0 seam_position = aligned skirt_distance = 6 skirt_height = 1 skirts = 3 small_perimeter_speed = 15 solid_infill_below_area = 70 solid_infill_every_layers = 0 solid_infill_extruder = 1 solid_infill_extrusion_width = 0 solid_infill_speed = 20 spiral_vase = 0 standby_temperature_delta = -5 support_material = 1 support_material_angle = 0 support_material_buildplate_only = 0 support_material_contact_distance = 0.2 support_material_enforce_layers = 0 support_material_extruder = 1 support_material_extrusion_width = 0 support_material_interface_contact_loops = 0 support_material_interface_extruder = 1 support_material_interface_layers = 3 support_material_interface_spacing = 0 support_material_interface_speed = 30 support_material_pattern = pillars support_material_spacing = 2.5 support_material_speed = 40 support_material_synchronize_layers = 0 support_material_threshold = 0 support_material_with_sheath = 1 support_material_xy_spacing = 50% thin_walls = 1 threads = 2 top_infill_extrusion_width = 0 top_solid_infill_speed = 15 top_solid_layers = 4 travel_speed = 60 wipe_tower = 0 wipe_tower_per_color_wipe = 15 wipe_tower_width = 60 wipe_tower_x = 180 wipe_tower_y = 140 xy_size_compensation = 0 [print:Tiny print] avoid_crossing_perimeters = 1 bottom_solid_layers = 2 bridge_acceleration = 0 bridge_angle = 0 bridge_flow_ratio = 1 bridge_speed = 60 brim_width = 2 clip_multipart_objects = 0 compatible_printers = compatible_printers_condition = complete_objects = 0 default_acceleration = 0 dont_support_bridges = 1 elefant_foot_compensation = 0 ensure_vertical_shell_thickness = 1 external_fill_pattern = rectilinear external_perimeter_extrusion_width = 0 external_perimeter_speed = 30 external_perimeters_first = 0 extra_perimeters = 1 extruder_clearance_height = 20 extruder_clearance_radius = 20 extrusion_width = 0 fill_angle = 45 fill_density = 10% fill_pattern = rectilinear first_layer_acceleration = 0 first_layer_extrusion_width = 120% first_layer_height = 0.2 first_layer_speed = 20 gap_fill_speed = 20 gcode_comments = 0 infill_acceleration = 0 infill_every_layers = 1 infill_extruder = 1 infill_extrusion_width = 0 infill_first = 0 infill_only_where_needed = 0 infill_overlap = 15% infill_speed = 80 interface_shells = 0 layer_height = 0.2 max_print_speed = 100 max_volumetric_extrusion_rate_slope_negative = 0 max_volumetric_extrusion_rate_slope_positive = 0 max_volumetric_speed = 0 min_skirt_length = 0 notes = only_retract_when_crossing_perimeters = 1 ooze_prevention = 0 output_filename_format = [input_filename_base].gcode overhangs = 1 perimeter_acceleration = 0 perimeter_extruder = 1 perimeter_extrusion_width = 0 perimeter_speed = 60 perimeters = 2 post_process = print_settings_id = raft_layers = 0 resolution = 0 seam_position = nearest skirt_distance = 6 skirt_height = 1 skirts = 3 small_perimeter_speed = 15 solid_infill_below_area = 70 solid_infill_every_layers = 0 solid_infill_extruder = 1 solid_infill_extrusion_width = 0 solid_infill_speed = 20 spiral_vase = 0 standby_temperature_delta = -5 support_material = 1 support_material_angle = 0 support_material_buildplate_only = 1 support_material_contact_distance = 0.2 support_material_enforce_layers = 0 support_material_extruder = 1 support_material_extrusion_width = 0 support_material_interface_contact_loops = 0 support_material_interface_extruder = 1 support_material_interface_layers = 3 support_material_interface_spacing = 0 support_material_interface_speed = 30 support_material_pattern = pillars support_material_spacing = 2.5 support_material_speed = 60 support_material_synchronize_layers = 1 support_material_threshold = 40 support_material_with_sheath = 1 support_material_xy_spacing = 0.4 thin_walls = 1 threads = 2 top_infill_extrusion_width = 0 top_solid_infill_speed = 15 top_solid_layers = 3 travel_speed = 130 wipe_tower = 0 wipe_tower_per_color_wipe = 15 wipe_tower_width = 60 wipe_tower_x = 180 wipe_tower_y = 140 xy_size_compensation = 0 [filament:ABS 175] bed_temperature = 0 bridge_fan_speed = 100 compatible_printers = compatible_printers_condition = cooling = 0 disable_fan_first_layers = 3 end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n" extrusion_multiplier = 1 fan_always_on = 0 fan_below_layer_time = 60 filament_colour = #FFFFFF filament_cost = 0 filament_density = 0 filament_diameter = 1.75 filament_max_volumetric_speed = 0 filament_notes = "" filament_settings_id = filament_soluble = 0 filament_type = PLA first_layer_bed_temperature = 0 first_layer_temperature = 245 max_fan_speed = 100 min_fan_speed = 100 min_print_speed = 5 slowdown_below_layer_time = 20 start_filament_gcode = "; Filament gcode\n" temperature = 235 [filament:PETG 175] bed_temperature = 0 bridge_fan_speed = 100 compatible_printers = compatible_printers_condition = cooling = 0 disable_fan_first_layers = 5 end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n" extrusion_multiplier = 1 fan_always_on = 1 fan_below_layer_time = 60 filament_colour = #FFFFFF filament_cost = 27.4375 filament_density = 1.27 filament_diameter = 1.75 filament_max_volumetric_speed = 0 filament_notes = "" filament_settings_id = filament_soluble = 0 filament_type = PET first_layer_bed_temperature = 0 first_layer_temperature = 245 max_fan_speed = 100 min_fan_speed = 100 min_print_speed = 5 slowdown_below_layer_time = 20 start_filament_gcode = "; Filament gcode\n" temperature = 220 [filament:PETG 285] bed_temperature = 75 bridge_fan_speed = 100 compatible_printers = compatible_printers_condition = cooling = 1 disable_fan_first_layers = 3 end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n" extrusion_multiplier = 0.9 fan_always_on = 1 fan_below_layer_time = 60 filament_colour = #FFFFFF filament_cost = 27.4375 filament_density = 1.27 filament_diameter = 2.85 filament_max_volumetric_speed = 0 filament_notes = "" filament_settings_id = filament_soluble = 0 filament_type = PLA first_layer_bed_temperature = 75 first_layer_temperature = 250 max_fan_speed = 100 min_fan_speed = 100 min_print_speed = 5 slowdown_below_layer_time = 20 start_filament_gcode = "; Filament gcode\n" temperature = 220 [filament:PLA 175] bed_temperature = 0 bridge_fan_speed = 100 compatible_printers = compatible_printers_condition = cooling = 1 disable_fan_first_layers = 3 end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n" extrusion_multiplier = 1 fan_always_on = 1 fan_below_layer_time = 60 filament_colour = #FFFFFF filament_cost = 0 filament_density = 0 filament_diameter = 1.75 filament_max_volumetric_speed = 0 filament_notes = "" filament_settings_id = filament_soluble = 0 filament_type = PLA first_layer_bed_temperature = 0 first_layer_temperature = 230 max_fan_speed = 60 min_fan_speed = 35 min_print_speed = 5 slowdown_below_layer_time = 10 start_filament_gcode = "; Filament gcode\n" temperature = 200 [filament:PLA 285] bed_temperature = 60 bridge_fan_speed = 100 compatible_printers = compatible_printers_condition = cooling = 1 disable_fan_first_layers = 10 end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n" extrusion_multiplier = 1 fan_always_on = 1 fan_below_layer_time = 60 filament_colour = #FFFFFF filament_cost = 0 filament_density = 0 filament_diameter = 2.85 filament_max_volumetric_speed = 0 filament_notes = "" filament_settings_id = filament_soluble = 0 filament_type = PLA first_layer_bed_temperature = 75 first_layer_temperature = 230 max_fan_speed = 100 min_fan_speed = 100 min_print_speed = 5 slowdown_below_layer_time = 20 start_filament_gcode = "; Filament gcode\n" temperature = 220 [filament:WillowFlex 285] bed_temperature = 60 bridge_fan_speed = 100 compatible_printers = compatible_printers_condition = cooling = 1 disable_fan_first_layers = 0 end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n" extrusion_multiplier = 0.9 fan_always_on = 1 fan_below_layer_time = 60 filament_colour = #FFFFFF filament_cost = 27.4375 filament_density = 1.27 filament_diameter = 2.85 filament_max_volumetric_speed = 0 filament_notes = "" filament_settings_id = filament_soluble = 0 filament_type = PLA first_layer_bed_temperature = 60 first_layer_temperature = 175 max_fan_speed = 100 min_fan_speed = 100 min_print_speed = 5 slowdown_below_layer_time = 20 start_filament_gcode = "; Filament gcode\n" temperature = 175 [printer:Kossel] bed_shape = 79.5618x8.36228,78.2518x16.6329,76.0845x24.7214,73.0836x32.5389,69.282x40,64.7214x47.0228,59.4516x53.5304,53.5304x59.4516,47.0228x64.7214,40x69.282,32.5389x73.0836,24.7214x76.0845,16.6329x78.2518,8.36228x79.5618,0x80,-8.36228x79.5618,-16.6329x78.2518,-24.7214x76.0845,-32.5389x73.0836,-40x69.282,-47.0228x64.7214,-53.5304x59.4516,-59.4516x53.5304,-64.7214x47.0228,-69.282x40,-73.0836x32.5389,-76.0845x24.7214,-78.2518x16.6329,-79.5618x8.36228,-80x0,-79.5618x-8.36228,-78.2518x-16.6329,-76.0845x-24.7214,-73.0836x-32.5389,-69.282x-40,-64.7214x-47.0228,-59.4516x-53.5304,-53.5304x-59.4516,-47.0228x-64.7214,-40x-69.282,-32.5389x-73.0836,-24.7214x-76.0845,-16.6329x-78.2518,-8.36228x-79.5618,0x-80,8.36228x-79.5618,16.6329x-78.2518,24.7214x-76.0845,32.5389x-73.0836,40x-69.282,47.0228x-64.7214,53.5304x-59.4516,59.4516x-53.5304,64.7214x-47.0228,69.282x-40,73.0836x-32.5389,76.0845x-24.7214,78.2518x-16.6329,79.5618x-8.36228,80x0 before_layer_gcode = between_objects_gcode = deretract_speed = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 end_gcode = M104 S0 ; turn off nozzle temperature\nG28; Home\nM84 ; disable motors\nM82; absolute E extruder_colour = #FF0000;#FF0000;#FF0000;#FF0000;#FF0000;#FF0000;#FF0000;#FF0000;#FF0000;#FF0000;#FF0000;#FF0000;#FF0000;#FF0000;#FF0000;#FF0000 extruder_offset = 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0 gcode_flavor = reprap layer_gcode = max_layer_height = 0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3 min_layer_height = 0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07 nozzle_diameter = 0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4 octoprint_apikey = octoprint_host = printer_notes = printer_settings_id = retract_before_travel = 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 retract_before_wipe = 0%,0%,0%,0%,0%,0%,0%,0%,0%,0%,0%,0%,0%,0%,0%,0% retract_layer_change = 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 retract_length = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 retract_length_toolchange = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 retract_lift = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 retract_lift_above = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 retract_lift_below = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 retract_restart_extra = 0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01 retract_restart_extra_toolchange = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 retract_speed = 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20 serial_port = serial_speed = 250000 single_extruder_multi_material = 1 start_gcode = ;M104 S230 ;Temperatur\n;G29 S2 ;Autobed Level\n;G132 S1 ;Store Offset\n\nM83 ;relativ E \n\n; Cyan\nM163 S0 P1\nM163 S1 P0\nM163 S2 P0\nM164 S0\n\n; Ocean\nM163 S0 P5\nM163 S1 P1\nM163 S2 P0\nM164 S1\n\n; Blue\nM163 S0 P1\nM163 S1 P1\nM163 S2 P0\nM164 S2\n\n; Violet\nM163 S0 P1\nM163 S1 P5\nM163 S2 P0\nM164 S3\n\n; Magenta\nM163 S0 P0\nM163 S1 P1\nM163 S2 P0\nM164 S4\n\n; Raspberry\nM163 S0 P0\nM163 S1 P5\nM163 S2 P1\nM164 S5\n\n; Red\nM163 S0 P0\nM163 S1 P5\nM163 S2 P1\nM164 S6\n\n; Orange\nM163 S0 P0\nM163 S1 P1\nM163 S2 P1\nM164 S7\n\n; Yellow\nM163 S0 P0\nM163 S1 P0\nM163 S2 P1\nM164 S8\n\n; Spring Green\nM163 S0 P1\nM163 S1 P0\nM163 S2 P5\nM164 S9\n\n; Green\nM163 S0 P1\nM163 S1 P0\nM163 S2 P1\nM164 S10\n\n; Turquoise\nM163 S0 P5\nM163 S1 P0\nM163 S2 P1\nM164 S11\n\n\n; Cyan-Brown\nM163 S0 P2\nM163 S1 P1\nM163 S2 P1\nM164 S12\n\n; Magenta-Brown\nM163 S0 P1\nM163 S1 P2\nM163 S2 P1\nM164 S13\n\n; Yellow-Brown\nM163 S0 P1\nM163 S1 P1\nM163 S2 P2\nM164 S14\n\n; Brown\nM163 S0 P1\nM163 S1 P1\nM163 S2 P1\nM164 S15\n toolchange_gcode = use_firmware_retraction = 0 use_relative_e_distances = 1 use_volumetric_e = 0 variable_layer_height = 0 wipe = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 z_offset = 0 [printer:Lulzbot] bed_shape = 0x0,300x0,300x300,0x300 before_layer_gcode = between_objects_gcode = deretract_speed = 0 end_gcode = M104 S0 ; turn off nozzle temperature\nM140 S0 ; turn off bed temperature\nG1 Y200 ;\nG28 X0 ; home X axis\nM84 ; disable motors\n\nM355 S1;\nG4 P500;\nM355 S0;\nG4 P500;\nM355 S1;\nG4 P500;\nM355 S0;\nG4 P500;\nM355 S1;\nG4 P500;\nM355 S0;\nG4 P500;\n extruder_colour = "" extruder_offset = 0x0 gcode_flavor = reprap layer_gcode = max_layer_height = 0.3 min_layer_height = 0.07 nozzle_diameter = 0.35 octoprint_apikey = octoprint_host = printer_notes = printer_settings_id = retract_before_travel = 2 retract_before_wipe = 0% retract_layer_change = 1 retract_length = 5 retract_length_toolchange = 3 retract_lift = 0 retract_lift_above = 1 retract_lift_below = 0 retract_restart_extra = 0 retract_restart_extra_toolchange = 0 retract_speed = 60 serial_port = serial_speed = 250000 single_extruder_multi_material = 0 start_gcode = G28 ; home all axes\n toolchange_gcode = use_firmware_retraction = 0 use_relative_e_distances = 0 use_volumetric_e = 0 variable_layer_height = 0 wipe = 1 z_offset = 0 [printer:Mendel] bed_shape = 0x0,218x0,218x201,0x201 before_layer_gcode = between_objects_gcode = deretract_speed = 0 end_gcode = M104 S0 ; turn off nozzle temperature\nM140 S0 ; turn off bed temperature\nG1 Y200 ;\nG28 X0 ; home X axis\nM84 ; disable motors\n\nM355 S1;\nG4 P500;\nM355 S0;\nG4 P500;\nM355 S1;\nG4 P500;\nM355 S0;\nG4 P500;\nM355 S1;\nG4 P500;\nM355 S0;\nG4 P500;\n extruder_colour = "" extruder_offset = 0x0 gcode_flavor = reprap layer_gcode = max_layer_height = 0.3 min_layer_height = 0.07 nozzle_diameter = 0.5 octoprint_apikey = octoprint_host = printer_notes = printer_settings_id = retract_before_travel = 2 retract_before_wipe = 0% retract_layer_change = 1 retract_length = 2 retract_length_toolchange = 3 retract_lift = 0 retract_lift_above = 0 retract_lift_below = 0 retract_restart_extra = 0.01 retract_restart_extra_toolchange = 0 retract_speed = 20 serial_port = serial_speed = 250000 single_extruder_multi_material = 0 start_gcode = G28 ; home all axes\n toolchange_gcode = use_firmware_retraction = 0 use_relative_e_distances = 0 use_volumetric_e = 0 variable_layer_height = 1 wipe = 0 z_offset = 0 [printer:Tiny] bed_shape = 0x0,80x0,80x74,0x74 before_layer_gcode = between_objects_gcode = deretract_speed = 0 end_gcode = M104 S0 ; turn off nozzle temperature\nG28 X0 ; home X axis extruder_colour = "" extruder_offset = 0x0 gcode_flavor = reprap layer_gcode = max_layer_height = 0.3 min_layer_height = 0.07 nozzle_diameter = 0.4 octoprint_apikey = octoprint_host = printer_notes = printer_settings_id = retract_before_travel = 2 retract_before_wipe = 0% retract_layer_change = 1 retract_length = 2 retract_length_toolchange = 3 retract_lift = 0 retract_lift_above = 1 retract_lift_below = 0 retract_restart_extra = 0.01 retract_restart_extra_toolchange = 0 retract_speed = 40 serial_port = serial_speed = 250000 single_extruder_multi_material = 0 start_gcode = G28 ; home all axes\n toolchange_gcode = use_firmware_retraction = 0 use_relative_e_distances = 0 use_volumetric_e = 0 variable_layer_height = 1 wipe = 0 z_offset = 0 [printer:prusa i3] bed_shape = 0x0,190x0,190x160,0x160 before_layer_gcode = between_objects_gcode = deretract_speed = 0 end_gcode = M104 S0 ; turn off temperature\nM140 S0 ; turn off bed temp \nG28 X0 ; home X axis\nG0 Y190 ; präsent object\nM84 ; disable motors\nM81 ; Power off\n\n extruder_colour = "" extruder_offset = 0x0 gcode_flavor = reprap layer_gcode = max_layer_height = 0 min_layer_height = 0.07 nozzle_diameter = 0.4 octoprint_apikey = 176444E92BFF48819CE0D8F1B264A91C octoprint_host = printer_notes = retract_before_travel = 2 retract_before_wipe = 0% retract_layer_change = 1 retract_length = 4 retract_length_toolchange = 10 retract_lift = 0 retract_lift_above = 0 retract_lift_below = 0 retract_restart_extra = 0 retract_restart_extra_toolchange = 0 retract_speed = 40 serial_port = serial_speed = 250000 single_extruder_multi_material = 0 start_gcode = G28 Z ; home Z\n;G0 Z1 ; lift Z\nG28 X Y ; home X Y\nG0 Y40 ; clab move toolchange_gcode = M83 ; turn on relative movement for extruder \nG1 E-5 ; retract filament 5mm \nG1 X10 Y10 Z4.000000 ; home X and Y axis leave Z at current height \nM84 E ; release extruder stepper motor from 'holding' position \n@pause ; pause print! \nG1 E0 ; reset extruder, ready to push out plastic again \nM82 ; set extruder movement back to absolute ready for next layer use_firmware_retraction = 0 use_relative_e_distances = 0 use_volumetric_e = 0 variable_layer_height = 1 wipe = 0 z_offset = 0 [presets] print = Tiny print printer = Tiny filament = PETG 175
Hinweise
- Die Config muss nach jedem Start neu geladen werden
- Die Drucktemperatur sollte auf dem Filament stehen. Ansonsten ist 180°C-200°C eine gute Temperatur für PLA, 240°C für ABS.
- Der erste Layer sollte mit 10°C mehr gedruckt werden
- Es kann helfen, von Zeit zu Zeit die Version zu updaten
Schritt 3: GCode senden
Drucken durch senden des .gcode an den Drucker.
Bitte vor dem starten eines Drucks unbedingt die Düsenhöhe prüfen (sollte man bei der Einweisung gelernt haben). Sollte die Düsenhöhe nicht passen, bitte unbedingt jemanden fragen der sich wirklich damit auskennt.
Im Stratum0 wird Repetier-Server zur Bedienung der 3D-Drucker verwendet. Entweder wird der erstellte .gcode im Webinterface hochgeladen, oder durch RepetierHost an den Server gesendet. Anschließend kann der Druck über den das Webinterface gestartet werden.
Weboberfläche: Repetier-Server
Repetier-Server dient zum Hochladen und Verwalten von G-Code im Browser, sowie dem Starten von Drucken und das allgemeine Steuern der Drucker.
Der Webserver ist aus dem Stratum0 Netzwerk unter http://repetier.s0 (notfalls 192.168.178.147) zu erreichen:
- Benutzername:
stratum0
- Passwort:
stratum0
(you guessed it.)
Rechner: Repetier-Host
Neben der Möglichkeit, Repetier-Server über den Browser zu bedienen, kann auch Repetier-Host auf dem Rechner direkt zum Hochladen des G-Codes verwendet werden. Dies benötigt IP und API-Key:
- IP:
192.168.178.147
- API-Key:
7b47c015-8a6f-4ef9-811a-3929a335a7da
Alternativen
Rechner per USB
Schließlich gibt es noch Printrun/Pronterface/Pronsole, das zum Steuern des Druckers verwendet werden kann, wenn man ihn per USB anschließt (prinzipiell meldet sich der Drucker als serielle Konsole im System, aber du willst etwas mehr Komfort haben). Hiermit kann man insbesondere auch GCode zum Drucker schicken, was allerdings auch über die Weboberfläche kein Problem darstellt.
- Pronterface öffnen (pronterface.py), den GCode laden und mit 250000 Baud zur entsprechenden seriellen Schnittstelle (meist /dev/ttyUSB0) verbinden. Es sollte die Meldung "Printer is now online." erscheinen und die Steuerelemente, die den Drucker kontrollieren, sollten farbig werden.
- Es bietet sich an, die Temperaturüberwachung einzuschalten (Checkbox "Watch" neben dem Graphen bzw. "Monitor Printer" neben dem Reset-Button oben)
- Dann den Button "Print" drücken.
Über den Raspberry Pi und SSH
Falls der Raspberry am Drucker hängt, kann auch der zum Drucken benutzt werden, allerdings mit etwas Komforteinbußen ohne grafische Oberfläche.
- Per SSH ist der Raspberry unter dem Namen rapsberry [sic] zu erreichen (zB über mDNS: ssh pi@rapsberry.local). Zugangsdaten stehen auf der SD-Karte.
- GCode könnt ihr einfach direkt unter /home/pi abladen, zB per scp.
- Dann entweder:
- pronsole.py aus /home/pi/Printrun starten
- oder die pronsole-Instanz aus der screen-Session benutzen, die ich immer benutze (damit nix kaputtgeht, wenn die SSH-Session mal abschmiert): screen -x. Mit der Tastenfolge Ctrl-A Ctrl-D kommt man wieder aufs „normale“ Terminal.
- pronsole dokumentiert sich eigentlich mit dem Befehl help ausreichend selbst. Oft benutzte Befehle sind: connect, load, home, settemp, bedtemp, gettemp, extrude, print, monitor. GCode kann man außerdem auch direkt eingeben.
Typische Befehlreihenfolgen
Druck starten
$ screen -x
oder, falls das nicht an eine vorhandene screen-Session andockt:
$ screen Printrun/pronsole.py
Dann in pronsole:
> connect > load $filename > print
Druck abbrechen
> pause > settemp 0 > move z 20 > m84
Hinweise
- Reverse-extrude geht, indem man dem Befehl extrude eine negative Länge gibt.
- /tmp und /run sind im Arbeitsspeicher gemountet, um die SD-Karte etwas zu schonen. Dort also besser nichts wertvolles ablegen.
Filamente (outdated)
Wir haben derzeit einen Druckkopf, der eine Filamentstärke von 1,75 mm benötigt.
ABS
Erster Test von Sintox mit schwarzem 1,75 mm ABS-Filament des Händlers "Filamentworld.de": Sowohl bei großen als auch bei kleinen Teilen:
- Heatbed-Temperatur: 80 °C
- Hotend-Temperatur: 240 °C
- Hotend-Fan (mit "Luft-Kanalisierer"): dauerhaft auf 100%, da am besten keine 120 mm Lüfter verwendet werden sollten (ABS kann sich verformen, wenn der Bauraum zu stark gekühlt wird)
Geschwindigkeiten und Infill-Dichte sind scheinbar nicht Filament-abhängig und müssen je nach Zweck und Größe des Gedruckten individuell eingestellt werden. Beim verwendeten Filament war keine wirkliche ABS-Geruchsentwicklung im Raum festzustellen, lediglich leichter Geruch direkt am 3D-Drucker.
Aufheiz-Zeit des Heatbeds auf 80 °C betrug etwa 15 Minuten, zwischen nacheinander gedruckten Modellen besser Heatbed-Temperatur auf 80 °C fixieren, um nicht immer wieder hochheizen zu müssen.
Ablösen des Gedruckten ist bei großer Kontaktfläche mit dem Heatbed im geheizten Zustand recht schwer, aber mit ein wenig vorsichtiger Verwendung der "Ablöse-Werkzeuge" gut machbar.
PLA
Wir haben derzeit PLA in mehreren verschiedenen Farben.
Holz-PLA
Ortwin hat welches gekauft und Daniel Bohrer hat das mal ausprobiert. Die gedruckten Objekte sind längst nicht so stabil wie mit normalen PLA, eher so wie Hartgummi.
- grrf sagt zwar, dass Holz-PLA ab 185°C zu drucken geht, aber Temperaturen um 200°C sind anscheinend noch besser für die Festigkeit.
- Generell eher was für gröbere Arbeiten, das Filament kann anscheinend nicht sehr fein gedruckt werden. Man sollte darauf achten, dass man nicht zu feine Strukturen und nicht zu wenig Infill druckt (siehe Fotos). Beim Mate-Tags lohnt es sich durchaus, nochmal 1 mm bei der Dicke draufzuschlagen.
- Das Filament ist ziemlich flüssig, sodass es sehr leicht heraustropft. Dadurch kommen die unschönen Würste am Mate-Tag zustande, Man Müsste™ nochmal probieren, ob Cura das besser als Slic3r hinkriegt (weil es den Druckkopf nur innerhalb der Perimeter bewegt).
- Auch aus diesem Grund lohnt es sich durchaus, 3-4 Skirt-Loops zu drucken, bis das Filament wieder richtig fließt.
- Nach dem Drucken die Objekte lieber länger als zu kurz abkühlen lassen, sonst sind sie noch ziemlich weich.
- Beim Ablösen behutsam vorgehen, das Holz-PLA klebt sehr gerne am Kapton fest, und besonders die Kanten der Kapton-Klebestreifen werden gerne mal mit hochgezogen. (Den Mate-Tag habe ich schließlich mit einem Messer vorsichtig an einer Ecke durch Hebelwirkung abgelöst und mich dann schrittweise mit dem Messer vorgetastet. Das Kapton ist heile geblieben.)
Fehler und Behebung
Eine sehr gute Übersicht an Fehlern und Ratschlägen zu deren Behebnung bietet Simplify3D jedoch sind viele Lösungen nicht ohne Eingriff in die Firmware anwendbar. Falls es es jemand wirklich für Notwendig erachtet Werte in der Firmware Dauerhaft zu ändern, spricht er bitte NoikK an.
Setup und Konfiguration
Port 80 statt 3344 für RepetierServer
Der Standardport des RepetierServers ist 3344, mehr konvenient ist aber Port 80. Um den Port zu ändern:
sudo vim /usr/local/Repetier-Server/etc/RepetierServer.xml
Da Port 80 aber ein privileged Port ist, muss der RepetierServer-Binary noch die notwendige Capability gegeben werden:
sudo setcap cap_net_bind_service=+ep /usr/local/Repetier-Server/bin/RepetierServer
Ob das Binary die Capability bekommen hat, kann man mit getcap überprüfen:
sudo getcap /usr/local/Repetier-Server/bin/RepetierServer
Danach den Service (neu)starten:
sudo systemctl restart RepetierServer
Druckberechtigte
- Daniel Willmann
- Shoragan
- Daniel Bohrer
- Oni
- DooMMasteR
- DieLenaMaria
- Marylin
- Larsan
- Stew
- Chrissi^
- Hanhaiwen
- Matthis
- Emantor
- Joke
- Lulu
- tsuro
- blinry
- mjh
- mkalte666
- Pecca
- Ortwin
- Arnulf
- leonmortiba
- Kasalehlia
- bw_snaable
- Sonnenschein
- Drahflow
- Sintox
- Alex-k
- NoikK
- Tropion
- lichtfeind
- mkalte
Interessierte Entitäten
Bitte bei Bedarf eine erfahrene Druckentität ansprechen. Prinzipiell kann das aber auch jede Entität machen, die sich auskennt und schon mehrmals gedruckt hat. Es gibt keine Prüfung oder ähnliches.
Aussicht
Auf lange Sicht sollen alle 3D-Drucker vereinheitlicht werden. Dazu siehe https://pad.stratum0.org/p/3d-Drucker