diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..2e1fa2d --- /dev/null +++ b/.eslintignore @@ -0,0 +1 @@ +*.md \ No newline at end of file diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..2e1fa2d --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +*.md \ No newline at end of file diff --git a/README.md b/README.md index fcb4154..9dfadc7 100644 --- a/README.md +++ b/README.md @@ -2,68 +2,85 @@ This repository contains firmware for the SV06 3D printer from Sovol. You should not use this firmware on any other printer. -Use at your own risk. I am creating these files for my personal use and cannot be held responsible for what it might do to your printer. +I am creating these files for my personal use and cannot be held responsible for what it might do to your printer. + +⚠️⚡☢️ USE AT YOUR OWN RISK! YOU HAVE BEEN WARNED! ☢️⚡⚠️ + +# Highlights + +- Minimum configuration settings for Mainsail/Fluiddpi to work. +- Mechanical gantry calibration/`G34` macro. +- SuperSlicer config bundle that contains the printer configuration, as well as what are considered by many to be the best print settings available for an FDM printer. Find the differences between the different print setting profiles [here](https://github.com/AndrewEllis93/Ellis-SuperSlicer-Profiles/tree/master/SuperSlicer). +- Bed model and texture to use in SuperSlicer/PrusaSlicer. +- Macros + - Misc macros: `PRINT_START`, `CANCEL_PRINT`, `PRINT_END`, `PAUSE`, `RESUME`. + - Parking macros (parks the printhead at various locations): `PARKFRONT`, `PARKFRONTLOW`, `PARKREAR`, `PARKCENTER`, `PARKBED`. + - Load/unload filament macros. + - Purge line macro. # Installation Steps -**Requirement**: klipper must be installed on the RPI. Easiest is to use a Fluiddpi or MailsailOS image. +💡 **Requirement**: klipper must be installed on the host Raspberry Pi for everything to work after the flash. Easiest is to use a Fluiddpi or MailsailOS image. -## Step 1 - -### Build Firmware Image - -SSH into the Raspberry Pi and run: - -``` -sudo apt install make -cd ~/klipper -make menuconfig -``` - -In the menu structure there are a number of items to be selected. - -- Ensure that the processor model is set to ‘STM32F103’ -- Ensure that the Bootloader offset is set to ‘28KiB’ -- Ensure 'Disable SWD at startup' is set -- Set communication to serial (on USART1 PA10/PA9) - -Once the configuration is selected, select “Exit” and “Yes” if asked to save the configuration. - -Run the following: - -``` -make clean -make -``` - -## Step 2 - -### Flash Firmware - -The `make` command, when completed, creates a firmware file `klipper.bin` which is stored in the folder `/home/pi/klipper/out`. - -#### Method 1 (Perhaps more straightforward) +## Flash Firmware 1. Copy `klipper.bin` to a MicroSD card and rename to `anyNewFilename.bin`. -2. Make sure printer is off. +2. Make sure the printer is off. 3. Insert MicroSD into printer. -4. Turn on printer and wait a couple of minutes (usually takes under a minute). +4. Turn on the printer and wait a minute (usually takes 10 seconds). 5. Turn off printer and remove MicroSD. -**Caveat**: flashing will only work if current firmware filename (`anyNewFilename.bin` in this example) is different from previous flashing procedure. The `.bin` is also important. +You may find this [video](https://youtu.be/p6l253OJa34) useful. -#### Method 2 (Maybe a bit advanced) +⚠️ **Caveat**: flashing will only work if current firmware filename (`anyNewFilename.bin` in this example) is different from previous flashing procedure. The `.bin` is also important. -Find port that the printer board is connected to your RPI via `ls /dev/serial/by-id/*`. It should report something similar to the following `/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0`. Run the following commands: +# Post Installation Steps -``` -sudo service klipper stop -make flash FLASH_DEVICE=/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0 -sudo service klipper start -``` +⚠️⚡☢️ **Your finger should be on the power switch for most of these steps** ☢️⚡⚠️ + +⚠️⚡☢️ **Power off if there is a collision/problem** ☢️⚡⚠️ + +💡 I would recommend searching for the word `NOTE` in this repository. There are about 6 short points amongst the various files that you should be aware of if you're using this `printer.cfg`. + +I recommend no filament be loaded for any of these steps. + +1. Do a `G28`; home all. + 1. Check to see if `X` and `Y` max positions (`G1 X223 F3000`, `G1 Y223 F3000`) can be reached, and adjust `position_max`, if necessary. You can probably go all the way up to `225` for `X` and `Y` both, however, I would not recommend it. +2. Do a `G34`; mechanical gantry calibration. After the controlled collision against the beam at the top, there will be a 10 second pause for you to verify that both sides of the gantry are pressed up agaisnt the `stoppers` at the top. You will hear a succession of beeps. + 1. Figure out your `Z` `position_max` by baby stepping your way up to the beam. The range is 250 to 261 from what I've seen, could be even higher for you. Adjust `position_max`, if necessary. I can go all the way to 258 over and over again, however, I would not print anything higher than 255 probably. +3. Pid tune the bed, but first move the printhead to the center. Ideally, all Pid tuning should occur at the temperatures that you print most at. + 1. `G28` + 2. `G1 X111 Y111 Z40 F6000` + 3. `PID_CALIBRATE HEATER=heater_bed TARGET=70` + 4. `SAVE_CONFIG` (once completed) +4. Pid tune the extruder while part cooling fan runs at 25%. + 1. `G28` + 2. `G1 X111 Y111 Z10 F6000` + 3. `M106 S64` + 4. `PID_CALIBRATE HEATER=extruder TARGET=245` + 5. `SAVE_CONFIG` (once completed) +5. Adjust `z_offset`. Make sure your nozzle if very clean. Paper test [reference](https://www.klipper3d.org/Bed_Level.html?h=probe_calibrate#the-paper-test). + 1. `SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=60` + 2. `SET_HEATER_TEMPERATURE HEATER=extruder TARGET=180` + 3. Proceed to next steps after both temperatures have been reached. + 4. `G28` + 5. `PROBE_CALIBRATE` + 6. `SAVE_CONFIG` (once completed) +6. Create a bed mesh. + 1. `SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=60` + 2. `SET_HEATER_TEMPERATURE HEATER=extruder TARGET=180` + 3. Proceed to next steps after both temperatures have been reached. + 4. `G28` + 5. `BED_MESH_CALIBRATE` + 6. `SAVE_CONFIG` (once completed) ## Sources +- https://www.klipper3d.org +- https://ellis3dp.com/Print-Tuning-Guide +- https://github.com/strayr/strayr-k-macros - https://docs.vorondesign.com/build/software/miniE3_v20_klipper.html -- https://www.klipper3d.org/Installation.html#building-and-flashing-the-micro-controller -- https://www.klipper3d.org/RPi_microcontroller.html#rpi-microcontroller +- https://github.com/spinixguy/Sovol-SV06-firmware +- https://github.com/Pr20100/SOVOL-SV06-Klipper-profile +- https://www.printables.com/model/378915-sovol-sv06-buildplate-texture-and-model-for-prusas +- https://github.com/AndrewEllis93/Ellis-SuperSlicer-Profiles diff --git a/cfgs/macros.cfg b/cfgs/macros.cfg index 7d905f2..a9211eb 100644 --- a/cfgs/macros.cfg +++ b/cfgs/macros.cfg @@ -119,7 +119,6 @@ gcode: [gcode_macro M600] gcode: - #LCDRGB R=0 G=1 B=0 ; Turn LCD green PAUSE ; Pause [gcode_macro PAUSE] diff --git a/misc/SuperSlicer_config_bundle.ini b/misc/SuperSlicer_config_bundle.ini index 5b9bb13..2a310c0 100644 --- a/misc/SuperSlicer_config_bundle.ini +++ b/misc/SuperSlicer_config_bundle.ini @@ -1,6 +1,6 @@ -# generated by SuperSlicer 2.4 on 2023-02-03 at 00:05:10 UTC +# generated by SuperSlicer 2.4 on 2023-02-15 at 02:16:55 UTC -[print:Ellis_Decorative_45_Degree_15mm3] +[print:_Ellis_Decorative_45_Degree_11mm3-SOVOL] allow_empty_layers = 0 avoid_crossing_not_first_layer = 1 avoid_crossing_perimeters = 0 @@ -8,17 +8,17 @@ avoid_crossing_perimeters_max_detour = 0 bottom_fill_pattern = monotonicgapfill bottom_solid_layers = 3 bottom_solid_min_thickness = 0.6 -bridge_acceleration = 5000 +bridge_acceleration = 3000 bridge_angle = 0 bridge_flow_ratio = 85% -bridge_internal_acceleration = 5000 +bridge_internal_acceleration = 3000 bridge_overlap = 50% bridge_overlap_min = 50% bridge_speed = 140 bridge_speed_internal = 100% bridge_type = nozzle bridged_infill_margin = 300% -brim_acceleration = 5000 +brim_acceleration = 1000 brim_ears = 0 brim_ears_detection_length = 1 brim_ears_max_angle = 120 @@ -39,7 +39,7 @@ curve_smoothing_angle_concave = 0 curve_smoothing_angle_convex = 0 curve_smoothing_cutoff_dist = 2 curve_smoothing_precision = 0 -default_acceleration = 4000 +default_acceleration = 3500 default_speed = 100 dont_support_bridges = 1 draft_shield = disabled @@ -49,7 +49,7 @@ enforce_retract_first_layer = 0 ensure_vertical_shell_thickness = 0 exact_last_layer_height = 0 external_infill_margin = 4 -external_perimeter_acceleration = 1000 +external_perimeter_acceleration = 750 external_perimeter_cut_corners = 0% external_perimeter_extrusion_spacing = external_perimeter_extrusion_width = 0 @@ -73,7 +73,7 @@ fill_pattern = monotonic fill_smooth_distribution = 10% fill_smooth_width = 50% fill_top_flow_ratio = 100% -first_layer_acceleration = 2000 +first_layer_acceleration = 1000 first_layer_acceleration_over_raft = 0 first_layer_extrusion_spacing = first_layer_extrusion_width = 125% @@ -88,7 +88,7 @@ first_layer_speed_over_raft = 30 fuzzy_skin = none fuzzy_skin_point_dist = 200% fuzzy_skin_thickness = 150% -gap_fill_acceleration = 2000 +gap_fill_acceleration = 1000 gap_fill_enabled = 1 gap_fill_flow_match_perimeter = 0% gap_fill_last = 1 @@ -99,12 +99,12 @@ gcode_comments = 0 gcode_label_objects = 1 gcode_resolution = 0 gcode_substitutions = -hole_size_compensation = 0 +hole_size_compensation = 0.1 hole_size_threshold = 100 hole_to_polyhole = 0 hole_to_polyhole_threshold = 0.01 hole_to_polyhole_twisted = 1 -infill_acceleration = 7000 +infill_acceleration = 3500 infill_anchor = 600% infill_anchor_max = 0 infill_connection = connected @@ -124,15 +124,15 @@ infill_speed = 300 inherits = interface_shells = 0 ironing = 0 -ironing_acceleration = 2000 +ironing_acceleration = 1000 ironing_angle = -1 ironing_flowrate = 15% ironing_spacing = 0.1 ironing_speed = 15 ironing_type = top layer_height = 0.2 -max_print_speed = 300 -max_volumetric_speed = 15 +max_print_speed = 200 +max_volumetric_speed = 11 milling_after_z = 200% milling_extra_size = 150% milling_post_process = 0 @@ -150,13 +150,13 @@ only_retract_when_crossing_perimeters = 1 ooze_prevention = 0 output_filename_format = [input_filename_base]-[printer_settings_id]-[filament_settings_id].gcode over_bridge_flow_ratio = 100% -overhangs_acceleration = 2000 +overhangs_acceleration = 1000 overhangs_reverse = 0 overhangs_reverse_threshold = 250% overhangs_speed = 100% overhangs_width = 75% overhangs_width_speed = 0 -perimeter_acceleration = 2000 +perimeter_acceleration = 1000 perimeter_bonding = 0% perimeter_extruder = 1 perimeter_extrusion_spacing = @@ -172,7 +172,7 @@ print_custom_variables = wall_thickness_lines = 0 print_extrusion_multiplier = 100% print_retract_length = -1 print_retract_lift = -1 -print_settings_id = Ellis - Decorative 45 Degree (15mm3/s) +print_settings_id = Ellis - Decorative 45 Degree (11mm3/s) print_temperature = 0 raft_contact_distance = 0.1 raft_expansion = 1.5 @@ -197,7 +197,7 @@ small_perimeter_max_length = 20 small_perimeter_min_length = 6 small_perimeter_speed = 30 solid_fill_pattern = monotonic -solid_infill_acceleration = 5000 +solid_infill_acceleration = 3000 solid_infill_below_area = 0 solid_infill_every_layers = 0 solid_infill_extruder = 1 @@ -209,7 +209,7 @@ solid_over_perimeters = 0 spiral_vase = 0 standby_temperature_delta = -5 support_material = 1 -support_material_acceleration = 5000 +support_material_acceleration = 3500 support_material_angle = 45 support_material_auto = 1 support_material_bottom_contact_distance = 0 @@ -221,7 +221,7 @@ support_material_contact_distance_type = filament support_material_enforce_layers = 0 support_material_extruder = 1 support_material_extrusion_width = 0 -support_material_interface_acceleration = 5000 +support_material_interface_acceleration = 3500 support_material_interface_contact_loops = 0 support_material_interface_extruder = 1 support_material_interface_layers = 2 @@ -239,7 +239,7 @@ support_material_xy_spacing = 75% thin_perimeters = 80% thin_perimeters_all = 20% thin_walls = 1 -thin_walls_acceleration = 2000 +thin_walls_acceleration = 750 thin_walls_merge = 1 thin_walls_min_width = 33% thin_walls_overlap = 50% @@ -248,13 +248,13 @@ threads = 16 top_fill_pattern = monotonicgapfill top_infill_extrusion_spacing = top_infill_extrusion_width = 100% -top_solid_infill_acceleration = 2000 +top_solid_infill_acceleration = 1000 top_solid_infill_speed = 60 top_solid_layers = 5 top_solid_min_thickness = 1 -travel_acceleration = 10000 +travel_acceleration = 3500 travel_deceleration_use_target = 1 -travel_speed = 350 +travel_speed = 200 travel_speed_z = 0 wipe_tower = 0 wipe_tower_bridging = 10 @@ -267,7 +267,7 @@ wipe_tower_y = 140 xy_inner_size_compensation = 0 xy_size_compensation = 0 -[print:Ellis_Decorative_Standard_15mm3] +[print:_Ellis_Decorative_Standard_11mm3-SOVOL] allow_empty_layers = 0 avoid_crossing_not_first_layer = 1 avoid_crossing_perimeters = 0 @@ -275,17 +275,17 @@ avoid_crossing_perimeters_max_detour = 0 bottom_fill_pattern = monotonicgapfill bottom_solid_layers = 3 bottom_solid_min_thickness = 0.6 -bridge_acceleration = 5000 +bridge_acceleration = 3000 bridge_angle = 0 bridge_flow_ratio = 85% -bridge_internal_acceleration = 5000 +bridge_internal_acceleration = 3000 bridge_overlap = 50% bridge_overlap_min = 50% bridge_speed = 140 bridge_speed_internal = 100% bridge_type = nozzle bridged_infill_margin = 300% -brim_acceleration = 5000 +brim_acceleration = 1000 brim_ears = 0 brim_ears_detection_length = 1 brim_ears_max_angle = 120 @@ -306,7 +306,7 @@ curve_smoothing_angle_concave = 0 curve_smoothing_angle_convex = 0 curve_smoothing_cutoff_dist = 2 curve_smoothing_precision = 0 -default_acceleration = 4000 +default_acceleration = 3500 default_speed = 100 dont_support_bridges = 1 draft_shield = disabled @@ -316,7 +316,7 @@ enforce_retract_first_layer = 0 ensure_vertical_shell_thickness = 0 exact_last_layer_height = 0 external_infill_margin = 4 -external_perimeter_acceleration = 1000 +external_perimeter_acceleration = 750 external_perimeter_cut_corners = 0% external_perimeter_extrusion_spacing = external_perimeter_extrusion_width = 0 @@ -340,7 +340,7 @@ fill_pattern = monotonic fill_smooth_distribution = 10% fill_smooth_width = 50% fill_top_flow_ratio = 100% -first_layer_acceleration = 2000 +first_layer_acceleration = 1000 first_layer_acceleration_over_raft = 0 first_layer_extrusion_spacing = first_layer_extrusion_width = 125% @@ -355,7 +355,7 @@ first_layer_speed_over_raft = 30 fuzzy_skin = none fuzzy_skin_point_dist = 200% fuzzy_skin_thickness = 150% -gap_fill_acceleration = 2000 +gap_fill_acceleration = 1000 gap_fill_enabled = 1 gap_fill_flow_match_perimeter = 0% gap_fill_last = 1 @@ -366,12 +366,12 @@ gcode_comments = 0 gcode_label_objects = 1 gcode_resolution = 0 gcode_substitutions = -hole_size_compensation = 0 +hole_size_compensation = 0.1 hole_size_threshold = 100 hole_to_polyhole = 0 hole_to_polyhole_threshold = 0.01 hole_to_polyhole_twisted = 1 -infill_acceleration = 7000 +infill_acceleration = 3500 infill_anchor = 600% infill_anchor_max = 0 infill_connection = connected @@ -391,15 +391,15 @@ infill_speed = 300 inherits = interface_shells = 0 ironing = 0 -ironing_acceleration = 2000 +ironing_acceleration = 1000 ironing_angle = -1 ironing_flowrate = 15% ironing_spacing = 0.1 ironing_speed = 15 ironing_type = top layer_height = 0.2 -max_print_speed = 300 -max_volumetric_speed = 15 +max_print_speed = 200 +max_volumetric_speed = 11 milling_after_z = 200% milling_extra_size = 150% milling_post_process = 0 @@ -417,13 +417,13 @@ only_retract_when_crossing_perimeters = 1 ooze_prevention = 0 output_filename_format = [input_filename_base]-[printer_settings_id]-[filament_settings_id].gcode over_bridge_flow_ratio = 100% -overhangs_acceleration = 2000 +overhangs_acceleration = 1000 overhangs_reverse = 0 overhangs_reverse_threshold = 250% overhangs_speed = 100% overhangs_width = 75% overhangs_width_speed = 0 -perimeter_acceleration = 2000 +perimeter_acceleration = 1000 perimeter_bonding = 0% perimeter_extruder = 1 perimeter_extrusion_spacing = @@ -439,7 +439,7 @@ print_custom_variables = wall_thickness_lines = 0 print_extrusion_multiplier = 100% print_retract_length = -1 print_retract_lift = -1 -print_settings_id = Ellis - Decorative Standard (15mm3/s) +print_settings_id = Ellis - Decorative Standard (11mm3/s) print_temperature = 0 raft_contact_distance = 0.1 raft_expansion = 1.5 @@ -464,7 +464,7 @@ small_perimeter_max_length = 20 small_perimeter_min_length = 6 small_perimeter_speed = 30 solid_fill_pattern = monotonic -solid_infill_acceleration = 5000 +solid_infill_acceleration = 3000 solid_infill_below_area = 0 solid_infill_every_layers = 0 solid_infill_extruder = 1 @@ -476,7 +476,7 @@ solid_over_perimeters = 0 spiral_vase = 0 standby_temperature_delta = -5 support_material = 1 -support_material_acceleration = 5000 +support_material_acceleration = 3500 support_material_angle = 0 support_material_auto = 1 support_material_bottom_contact_distance = 0 @@ -488,7 +488,7 @@ support_material_contact_distance_type = filament support_material_enforce_layers = 0 support_material_extruder = 1 support_material_extrusion_width = 0 -support_material_interface_acceleration = 5000 +support_material_interface_acceleration = 3500 support_material_interface_contact_loops = 0 support_material_interface_extruder = 1 support_material_interface_layers = 2 @@ -506,7 +506,7 @@ support_material_xy_spacing = 75% thin_perimeters = 80% thin_perimeters_all = 20% thin_walls = 1 -thin_walls_acceleration = 2000 +thin_walls_acceleration = 750 thin_walls_merge = 1 thin_walls_min_width = 33% thin_walls_overlap = 50% @@ -515,13 +515,13 @@ threads = 16 top_fill_pattern = monotonicgapfill top_infill_extrusion_spacing = top_infill_extrusion_width = 100% -top_solid_infill_acceleration = 2000 +top_solid_infill_acceleration = 1000 top_solid_infill_speed = 60 top_solid_layers = 5 top_solid_min_thickness = 1 -travel_acceleration = 10000 +travel_acceleration = 3500 travel_deceleration_use_target = 1 -travel_speed = 350 +travel_speed = 200 travel_speed_z = 0 wipe_tower = 0 wipe_tower_bridging = 10 @@ -534,7 +534,7 @@ wipe_tower_y = 140 xy_inner_size_compensation = 0 xy_size_compensation = 0 -[print:Ellis_PIF_45_Degree_15mm3] +[print:_Ellis_PIF_45_Degree_11mm3-SOVOL] allow_empty_layers = 0 avoid_crossing_not_first_layer = 1 avoid_crossing_perimeters = 0 @@ -542,17 +542,17 @@ avoid_crossing_perimeters_max_detour = 0 bottom_fill_pattern = monotonicgapfill bottom_solid_layers = 5 bottom_solid_min_thickness = 1 -bridge_acceleration = 5000 +bridge_acceleration = 3000 bridge_angle = 0 bridge_flow_ratio = 85% -bridge_internal_acceleration = 5000 +bridge_internal_acceleration = 3000 bridge_overlap = 50% bridge_overlap_min = 50% bridge_speed = 140 bridge_speed_internal = 100% bridge_type = nozzle bridged_infill_margin = 300% -brim_acceleration = 5000 +brim_acceleration = 1000 brim_ears = 0 brim_ears_detection_length = 1 brim_ears_max_angle = 120 @@ -573,7 +573,7 @@ curve_smoothing_angle_concave = 0 curve_smoothing_angle_convex = 0 curve_smoothing_cutoff_dist = 2 curve_smoothing_precision = 0 -default_acceleration = 4000 +default_acceleration = 3500 default_speed = 100 dont_support_bridges = 1 draft_shield = disabled @@ -583,7 +583,7 @@ enforce_retract_first_layer = 0 ensure_vertical_shell_thickness = 0 exact_last_layer_height = 0 external_infill_margin = 4 -external_perimeter_acceleration = 1000 +external_perimeter_acceleration = 750 external_perimeter_cut_corners = 0% external_perimeter_extrusion_spacing = external_perimeter_extrusion_width = 100% @@ -607,7 +607,7 @@ fill_pattern = grid fill_smooth_distribution = 10% fill_smooth_width = 50% fill_top_flow_ratio = 100% -first_layer_acceleration = 2000 +first_layer_acceleration = 1000 first_layer_acceleration_over_raft = 0 first_layer_extrusion_spacing = first_layer_extrusion_width = 125% @@ -622,7 +622,7 @@ first_layer_speed_over_raft = 30 fuzzy_skin = none fuzzy_skin_point_dist = 200% fuzzy_skin_thickness = 150% -gap_fill_acceleration = 2000 +gap_fill_acceleration = 1000 gap_fill_enabled = 1 gap_fill_flow_match_perimeter = 0% gap_fill_last = 1 @@ -633,12 +633,12 @@ gcode_comments = 0 gcode_label_objects = 1 gcode_resolution = 0 gcode_substitutions = -hole_size_compensation = 0 +hole_size_compensation = 0.1 hole_size_threshold = 100 hole_to_polyhole = 0 hole_to_polyhole_threshold = 0.01 hole_to_polyhole_twisted = 1 -infill_acceleration = 6500 +infill_acceleration = 3500 infill_anchor = 600% infill_anchor_max = 0 infill_connection = connected @@ -658,15 +658,15 @@ infill_speed = 300 inherits = interface_shells = 0 ironing = 0 -ironing_acceleration = 2000 +ironing_acceleration = 1000 ironing_angle = -1 ironing_flowrate = 15% ironing_spacing = 0.1 ironing_speed = 15 ironing_type = top layer_height = 0.2 -max_print_speed = 300 -max_volumetric_speed = 15 +max_print_speed = 200 +max_volumetric_speed = 11 milling_after_z = 200% milling_extra_size = 150% milling_post_process = 0 @@ -684,13 +684,13 @@ only_retract_when_crossing_perimeters = 1 ooze_prevention = 0 output_filename_format = [input_filename_base]-[printer_settings_id]-[filament_settings_id].gcode over_bridge_flow_ratio = 100% -overhangs_acceleration = 2000 +overhangs_acceleration = 1000 overhangs_reverse = 0 overhangs_reverse_threshold = 250% overhangs_speed = 100% overhangs_width = 75% overhangs_width_speed = 0 -perimeter_acceleration = 2000 +perimeter_acceleration = 1000 perimeter_bonding = 0% perimeter_extruder = 1 perimeter_extrusion_spacing = @@ -706,7 +706,7 @@ print_custom_variables = wall_thickness_lines = 0 print_extrusion_multiplier = 100% print_retract_length = -1 print_retract_lift = -1 -print_settings_id = Ellis - PIF 45 Degree (15mm3/s) +print_settings_id = Ellis - PIF 45 Degree (11mm3/s) print_temperature = 0 raft_contact_distance = 0.1 raft_expansion = 1.5 @@ -731,7 +731,7 @@ small_perimeter_max_length = 20 small_perimeter_min_length = 6 small_perimeter_speed = 30 solid_fill_pattern = monotonic -solid_infill_acceleration = 5000 +solid_infill_acceleration = 3000 solid_infill_below_area = 0 solid_infill_every_layers = 0 solid_infill_extruder = 1 @@ -743,7 +743,7 @@ solid_over_perimeters = 0 spiral_vase = 0 standby_temperature_delta = -5 support_material = 0 -support_material_acceleration = 5000 +support_material_acceleration = 3500 support_material_angle = 45 support_material_auto = 1 support_material_bottom_contact_distance = 0 @@ -755,7 +755,7 @@ support_material_contact_distance_type = filament support_material_enforce_layers = 0 support_material_extruder = 1 support_material_extrusion_width = 0 -support_material_interface_acceleration = 5000 +support_material_interface_acceleration = 3500 support_material_interface_contact_loops = 0 support_material_interface_extruder = 1 support_material_interface_layers = 2 @@ -773,7 +773,7 @@ support_material_xy_spacing = 75% thin_perimeters = 80% thin_perimeters_all = 20% thin_walls = 1 -thin_walls_acceleration = 2000 +thin_walls_acceleration = 750 thin_walls_merge = 1 thin_walls_min_width = 33% thin_walls_overlap = 50% @@ -782,13 +782,13 @@ threads = 16 top_fill_pattern = monotonicgapfill top_infill_extrusion_spacing = top_infill_extrusion_width = 100% -top_solid_infill_acceleration = 2000 +top_solid_infill_acceleration = 1000 top_solid_infill_speed = 60 top_solid_layers = 5 top_solid_min_thickness = 1 -travel_acceleration = 6500 +travel_acceleration = 3500 travel_deceleration_use_target = 1 -travel_speed = 350 +travel_speed = 200 travel_speed_z = 0 wipe_tower = 0 wipe_tower_bridging = 10 @@ -801,7 +801,7 @@ wipe_tower_y = 140 xy_inner_size_compensation = 0 xy_size_compensation = 0 -[print:Ellis_PIF_Standard_15mm3] +[print:_Ellis_PIF_Standard_11mm3-SOVOL] allow_empty_layers = 0 avoid_crossing_not_first_layer = 1 avoid_crossing_perimeters = 0 @@ -809,17 +809,17 @@ avoid_crossing_perimeters_max_detour = 0 bottom_fill_pattern = monotonicgapfill bottom_solid_layers = 5 bottom_solid_min_thickness = 1 -bridge_acceleration = 5000 +bridge_acceleration = 3000 bridge_angle = 0 bridge_flow_ratio = 85% -bridge_internal_acceleration = 5000 +bridge_internal_acceleration = 3000 bridge_overlap = 50% bridge_overlap_min = 50% bridge_speed = 140 bridge_speed_internal = 100% bridge_type = nozzle bridged_infill_margin = 300% -brim_acceleration = 5000 +brim_acceleration = 1000 brim_ears = 0 brim_ears_detection_length = 1 brim_ears_max_angle = 120 @@ -840,7 +840,7 @@ curve_smoothing_angle_concave = 0 curve_smoothing_angle_convex = 0 curve_smoothing_cutoff_dist = 2 curve_smoothing_precision = 0 -default_acceleration = 4000 +default_acceleration = 3500 default_speed = 100 dont_support_bridges = 1 draft_shield = disabled @@ -850,7 +850,7 @@ enforce_retract_first_layer = 0 ensure_vertical_shell_thickness = 0 exact_last_layer_height = 0 external_infill_margin = 4 -external_perimeter_acceleration = 1000 +external_perimeter_acceleration = 750 external_perimeter_cut_corners = 0% external_perimeter_extrusion_spacing = external_perimeter_extrusion_width = 100% @@ -874,7 +874,7 @@ fill_pattern = grid fill_smooth_distribution = 10% fill_smooth_width = 50% fill_top_flow_ratio = 100% -first_layer_acceleration = 2000 +first_layer_acceleration = 1000 first_layer_acceleration_over_raft = 0 first_layer_extrusion_spacing = first_layer_extrusion_width = 125% @@ -889,7 +889,7 @@ first_layer_speed_over_raft = 30 fuzzy_skin = none fuzzy_skin_point_dist = 200% fuzzy_skin_thickness = 150% -gap_fill_acceleration = 2000 +gap_fill_acceleration = 1000 gap_fill_enabled = 1 gap_fill_flow_match_perimeter = 0% gap_fill_last = 1 @@ -900,12 +900,12 @@ gcode_comments = 0 gcode_label_objects = 1 gcode_resolution = 0 gcode_substitutions = -hole_size_compensation = 0 +hole_size_compensation = 0.1 hole_size_threshold = 100 hole_to_polyhole = 0 hole_to_polyhole_threshold = 0.01 hole_to_polyhole_twisted = 1 -infill_acceleration = 7000 +infill_acceleration = 3500 infill_anchor = 600% infill_anchor_max = 0 infill_connection = connected @@ -925,15 +925,15 @@ infill_speed = 300 inherits = interface_shells = 0 ironing = 0 -ironing_acceleration = 2000 +ironing_acceleration = 1000 ironing_angle = -1 ironing_flowrate = 15% ironing_spacing = 0.1 ironing_speed = 15 ironing_type = top layer_height = 0.2 -max_print_speed = 300 -max_volumetric_speed = 15 +max_print_speed = 200 +max_volumetric_speed = 11 milling_after_z = 200% milling_extra_size = 150% milling_post_process = 0 @@ -951,13 +951,13 @@ only_retract_when_crossing_perimeters = 1 ooze_prevention = 0 output_filename_format = [input_filename_base]-[printer_settings_id]-[filament_settings_id].gcode over_bridge_flow_ratio = 100% -overhangs_acceleration = 2000 +overhangs_acceleration = 1000 overhangs_reverse = 0 overhangs_reverse_threshold = 250% overhangs_speed = 100% overhangs_width = 75% overhangs_width_speed = 0 -perimeter_acceleration = 2000 +perimeter_acceleration = 1000 perimeter_bonding = 0% perimeter_extruder = 1 perimeter_extrusion_spacing = @@ -973,7 +973,7 @@ print_custom_variables = wall_thickness_lines = 0 print_extrusion_multiplier = 100% print_retract_length = -1 print_retract_lift = -1 -print_settings_id = Ellis - PIF Standard (15mm3/s) +print_settings_id = Ellis - PIF Standard (11mm3/s) print_temperature = 0 raft_contact_distance = 0.1 raft_expansion = 1.5 @@ -998,7 +998,7 @@ small_perimeter_max_length = 20 small_perimeter_min_length = 6 small_perimeter_speed = 30 solid_fill_pattern = monotonic -solid_infill_acceleration = 5000 +solid_infill_acceleration = 3000 solid_infill_below_area = 0 solid_infill_every_layers = 0 solid_infill_extruder = 1 @@ -1010,7 +1010,7 @@ solid_over_perimeters = 0 spiral_vase = 0 standby_temperature_delta = -5 support_material = 0 -support_material_acceleration = 5000 +support_material_acceleration = 3500 support_material_angle = 0 support_material_auto = 1 support_material_bottom_contact_distance = 0 @@ -1022,7 +1022,7 @@ support_material_contact_distance_type = filament support_material_enforce_layers = 0 support_material_extruder = 1 support_material_extrusion_width = 0 -support_material_interface_acceleration = 5000 +support_material_interface_acceleration = 3500 support_material_interface_contact_loops = 0 support_material_interface_extruder = 1 support_material_interface_layers = 2 @@ -1040,7 +1040,7 @@ support_material_xy_spacing = 75% thin_perimeters = 80% thin_perimeters_all = 20% thin_walls = 1 -thin_walls_acceleration = 2000 +thin_walls_acceleration = 750 thin_walls_merge = 1 thin_walls_min_width = 33% thin_walls_overlap = 50% @@ -1049,13 +1049,13 @@ threads = 16 top_fill_pattern = monotonicgapfill top_infill_extrusion_spacing = top_infill_extrusion_width = 100% -top_solid_infill_acceleration = 2000 +top_solid_infill_acceleration = 1000 top_solid_infill_speed = 60 top_solid_layers = 5 top_solid_min_thickness = 1 -travel_acceleration = 10000 +travel_acceleration = 3500 travel_deceleration_use_target = 1 -travel_speed = 350 +travel_speed = 200 travel_speed_z = 0 wipe_tower = 0 wipe_tower_bridging = 10 @@ -1417,7 +1417,7 @@ temperature = 250 top_fan_speed = -1 [filament:D3d PETG - Red] -bed_temperature = 60 +bed_temperature = 70 bridge_fan_speed = 100 bridge_internal_fan_speed = -1 chamber_temperature = 30 @@ -1489,7 +1489,7 @@ filament_wipe_inside_end = nil filament_wipe_inside_start = nil filament_wipe_only_crossing = nil filament_wipe_speed = nil -first_layer_bed_temperature = 60 +first_layer_bed_temperature = 70 first_layer_temperature = 250 full_fan_speed_layer = 4 inherits = @@ -1500,7 +1500,7 @@ min_print_speed = 15 slowdown_below_layer_time = 15 start_filament_gcode = "" support_material_interface_fan_speed = -1 -temperature = 250 +temperature = 240 top_fan_speed = -1 [filament:D3d PETG - Silver] @@ -1851,8 +1851,8 @@ support_material_interface_fan_speed = -1 temperature = 235 top_fan_speed = -1 -[filament:Nuolei TPU (Light Blue)] -bed_temperature = 50 +[filament:Nuolei TPU - Light Blue] +bed_temperature = 70 bridge_fan_speed = 80 bridge_internal_fan_speed = -1 chamber_temperature = 0 @@ -1863,18 +1863,18 @@ compatible_prints_condition = disable_fan_first_layers = 3 end_filament_gcode = "; Filament-specific end gcode" external_perimeter_fan_speed = -1 -extrusion_multiplier = 1.25 +extrusion_multiplier = 1 fan_always_on = 0 fan_below_layer_time = 100 -filament_colour = #008000 +filament_colour = #6FF2EC filament_cooling_final_speed = 3.4 filament_cooling_initial_speed = 2.2 filament_cooling_moves = 4 filament_cooling_zone_pause = 0 -filament_cost = 40 +filament_cost = 18.07 filament_custom_variables = "" filament_density = 1.22 -filament_deretract_speed = 25 +filament_deretract_speed = 30 filament_diameter = 1.75 filament_dip_extraction_speed = 70 filament_dip_insertion_speed = 33 @@ -1894,18 +1894,18 @@ filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| filament_retract_before_travel = nil filament_retract_before_wipe = nil filament_retract_layer_change = nil -filament_retract_length = 0.28 +filament_retract_length = 0.3 filament_retract_lift = nil filament_retract_lift_above = nil filament_retract_lift_below = nil filament_retract_restart_extra = nil -filament_retract_speed = nil +filament_retract_speed = 30 filament_seam_gap = nil filament_settings_id = "Generic FLEX" filament_shrink = 100% filament_skinnydip_distance = 31 filament_soluble = 0 -filament_spool_weight = 0 +filament_spool_weight = 500 filament_toolchange_delay = 0 filament_toolchange_part_fan_speed = 50 filament_toolchange_temp = 200 @@ -1916,7 +1916,7 @@ filament_unloading_speed_start = 100 filament_use_fast_skinnydip = 0 filament_use_skinnydip = 0 filament_vendor = Generic -filament_wipe = 0 +filament_wipe = nil filament_wipe_advanced_pigment = 0.5 filament_wipe_extra_perimeter = nil filament_wipe_inside_depth = nil @@ -1924,8 +1924,8 @@ filament_wipe_inside_end = nil filament_wipe_inside_start = nil filament_wipe_only_crossing = nil filament_wipe_speed = nil -first_layer_bed_temperature = 50 -first_layer_temperature = 225 +first_layer_bed_temperature = 70 +first_layer_temperature = 235 full_fan_speed_layer = 0 inherits = max_fan_speed = 90 @@ -1935,11 +1935,11 @@ min_print_speed = 15 slowdown_below_layer_time = 15 start_filament_gcode = "M900 K0" support_material_interface_fan_speed = -1 -temperature = 225 +temperature = 235 top_fan_speed = -1 [filament:Sparta3D ABS @VORON - Sky Blue, Sparkle] -bed_temperature = 80 +bed_temperature = 100 bridge_fan_speed = 100 bridge_internal_fan_speed = -1 chamber_temperature = 50 @@ -1953,7 +1953,7 @@ external_perimeter_fan_speed = -1 extrusion_multiplier = 0.98 fan_always_on = 0 fan_below_layer_time = 20 -filament_colour = #3095E4 +filament_colour = #4BC1DB filament_cooling_final_speed = 3.4 filament_cooling_initial_speed = 2.2 filament_cooling_moves = 4 @@ -2011,7 +2011,7 @@ filament_wipe_inside_end = nil filament_wipe_inside_start = nil filament_wipe_only_crossing = nil filament_wipe_speed = nil -first_layer_bed_temperature = 80 +first_layer_bed_temperature = 100 first_layer_temperature = 250 full_fan_speed_layer = 4 inherits = @@ -2026,7 +2026,7 @@ temperature = 240 top_fan_speed = -1 [filament:eSun ABS @VORON - Black] -bed_temperature = 90 +bed_temperature = 100 bridge_fan_speed = 100 bridge_internal_fan_speed = -1 chamber_temperature = 50 @@ -2199,8 +2199,95 @@ support_material_interface_fan_speed = -1 temperature = 245 top_fan_speed = -1 +[filament:eSun PLA+ Blue] +bed_temperature = 60 +bridge_fan_speed = 100 +bridge_internal_fan_speed = -1 +chamber_temperature = 0 +compatible_printers = +compatible_printers_condition = +compatible_prints = +compatible_prints_condition = +disable_fan_first_layers = 1 +end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n" +external_perimeter_fan_speed = -1 +extrusion_multiplier = 1 +fan_always_on = 1 +fan_below_layer_time = 20 +filament_colour = #0E5FED +filament_cooling_final_speed = 3.4 +filament_cooling_initial_speed = 2.2 +filament_cooling_moves = 0 +filament_cooling_zone_pause = 0 +filament_cost = 19.35 +filament_custom_variables = "" +filament_density = 1.23 +filament_deretract_speed = nil +filament_diameter = 1.75 +filament_dip_extraction_speed = 70 +filament_dip_insertion_speed = 33 +filament_enable_toolchange_part_fan = 0 +filament_enable_toolchange_temp = 0 +filament_load_time = 0 +filament_loading_speed = 28 +filament_loading_speed_start = 3 +filament_max_overlap = 100% +filament_max_speed = 0 +filament_max_volumetric_speed = 0 +filament_max_wipe_tower_speed = 0 +filament_melt_zone_pause = 0 +filament_minimal_purge_on_wipe_tower = 15 +filament_notes = ";Full spool weight: 1280g" +filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" +filament_retract_before_travel = nil +filament_retract_before_wipe = nil +filament_retract_layer_change = nil +filament_retract_length = nil +filament_retract_lift = nil +filament_retract_lift_above = nil +filament_retract_lift_below = nil +filament_retract_restart_extra = nil +filament_retract_speed = nil +filament_seam_gap = nil +filament_settings_id = "ABS - KVP" +filament_shrink = 100% +filament_skinnydip_distance = 31 +filament_soluble = 0 +filament_spool_weight = 1000 +filament_toolchange_delay = 0 +filament_toolchange_part_fan_speed = 50 +filament_toolchange_temp = 200 +filament_type = PLA +filament_unload_time = 0 +filament_unloading_speed = 90 +filament_unloading_speed_start = 100 +filament_use_fast_skinnydip = 0 +filament_use_skinnydip = 0 +filament_vendor = (Unknown) +filament_wipe = nil +filament_wipe_advanced_pigment = 0.5 +filament_wipe_extra_perimeter = nil +filament_wipe_inside_depth = nil +filament_wipe_inside_end = nil +filament_wipe_inside_start = nil +filament_wipe_only_crossing = nil +filament_wipe_speed = nil +first_layer_bed_temperature = 60 +first_layer_temperature = 210 +full_fan_speed_layer = 4 +inherits = +max_fan_speed = 100 +max_speed_reduction = 90% +min_fan_speed = 100 +min_print_speed = 10 +slowdown_below_layer_time = 15 +start_filament_gcode = "; Filament gcode\n" +support_material_interface_fan_speed = -1 +temperature = 210 +top_fan_speed = -1 + [filament:eSun PLA+ Magenta] -bed_temperature = 40 +bed_temperature = 60 bridge_fan_speed = 100 bridge_internal_fan_speed = -1 chamber_temperature = 0 @@ -2272,7 +2359,7 @@ filament_wipe_inside_end = nil filament_wipe_inside_start = nil filament_wipe_only_crossing = nil filament_wipe_speed = nil -first_layer_bed_temperature = 40 +first_layer_bed_temperature = 60 first_layer_temperature = 210 full_fan_speed_layer = 4 inherits = @@ -2366,7 +2453,7 @@ retract_before_travel = 2 retract_before_wipe = 0% retract_layer_change = 1 retract_length = 0.3 -retract_length_toolchange = 4 +retract_length_toolchange = 10 retract_lift = 0 retract_lift_above = 0.2 retract_lift_below = 250 @@ -2378,7 +2465,7 @@ retract_speed = 60 seam_gap = 15% silent_mode = 0 single_extruder_multi_material = 0 -start_gcode = M104 S0 ; Stops PS/SS from sending temp waits separately\r\nM140 S0\r\nPRINT_START BED=[first_layer_bed_temperature] HOTEND={first_layer_temperature[initial_extruder]+extruder_temperature_offset[initial_extruder]}\r\nPURGE_LINE\n\n;; If you are passing variables to PRINT_START, comment out above line and uncomment the last 3 lines instead. (I already did this)\n;; Guide: https://github.com/AndrewEllis93/Print-Tuning-Guide/blob/main/articles/passing_slicer_variables.md\n;; Make sure the variable names match (for example if you use "EXTRUDER" instead of "HOTEND")\n +start_gcode = M104 S0 ; Stops PS/SS from sending temp waits separately\r\nM140 S0\r\nPRINT_START BED=[first_layer_bed_temperature] HOTEND={first_layer_temperature[initial_extruder]+extruder_temperature_offset[initial_extruder]} CHAMBER=[chamber_temperature]\r\nPURGE_LINE\n\n;; If you are passing variables to PRINT_START, comment out above line and uncomment the last 3 lines instead. (I already did this)\n;; Guide: https://github.com/AndrewEllis93/Print-Tuning-Guide/blob/main/articles/passing_slicer_variables.md\n;; Make sure the variable names match (for example if you use "EXTRUDER" instead of "HOTEND")\n start_gcode_manual = 0 template_custom_gcode = thumbnails = 32x32,400x300 @@ -2412,9 +2499,8 @@ z_offset = 0 z_step = 0.005 [presets] -print = Ellis_PIF_Standard_15mm3 +print = _Ellis_PIF_45_Degree_11mm3-SOVOL sla_print = sla_material = printer = Sovol Sv06 -filament = eSun PLA+ Magenta -physical_printer = Sv06 +filament = eSun PLA+ Blue diff --git a/printer.cfg b/printer.cfg index 2d9ff2d..c838eeb 100644 --- a/printer.cfg +++ b/printer.cfg @@ -37,7 +37,7 @@ microsteps: 32 rotation_distance: 40 endstop_pin: tmc2209_stepper_x:virtual_endstop position_endstop: 0 -position_max: 223 +position_max: 223 # NOTE You can adjust this if you have more room homing_speed: 40 homing_retract_dist: 0 @@ -59,7 +59,7 @@ microsteps: 32 rotation_distance: 40 endstop_pin: tmc2209_stepper_y:virtual_endstop position_endstop: 0 -position_max: 223 +position_max: 223 # NOTE You can adjust this if you have more room homing_speed: 40 homing_retract_dist: 0 @@ -80,8 +80,8 @@ enable_pin: !PC3 microsteps: 32 rotation_distance: 4 endstop_pin: probe:z_virtual_endstop -position_min: -3 -position_max: 258 # NOTE You may have to adjust this +position_min: -4 +position_max: 258 # NOTE You can adjust this if you have more room homing_speed: 5 [tmc2209 stepper_z] @@ -104,6 +104,10 @@ filament_diameter: 1.750 heater_pin: PA1 sensor_type: EPCOS 100K B57560G104F sensor_pin: PC5 +control: pid +pid_kd: 86.991 +pid_kp: 21.479 +pid_ki: 1.326 min_temp: 0 max_temp: 300 max_extrude_only_distance: 150.0 @@ -121,6 +125,10 @@ uart_address: 3 heater_pin: PA2 sensor_type: EPCOS 100K B57560G104F sensor_pin: PC4 +control: pid +pid_kp: 64.440 +pid_ki: 0.773 +pid_kd: 1343.571 min_temp: 0 max_temp: 110 @@ -138,7 +146,7 @@ samples_tolerance: 0.01 samples_tolerance_retries: 5 [safe_z_home] -home_xy_position: 84.50, 135 # NOTE PROBE is at the center of the bed +home_xy_position: 84.50, 135 # NOTE The probe is at the center of the bed. speed: 100.0 z_hop: 10 z_hop_speed: 15 @@ -201,19 +209,4 @@ screw_thread: CCW-M4 [exclude_object] [force_move] -enable_force_move: True - -#*# <---------------------- SAVE_CONFIG ----------------------> -#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. -#*# -#*# [extruder] -#*# control = pid -#*# pid_kp = 21.047 -#*# pid_ki = 1.477 -#*# pid_kd = 74.981 -#*# -#*# [heater_bed] -#*# control = pid -#*# pid_kp = 71.224 -#*# pid_ki = 1.341 -#*# pid_kd = 945.503 +enable_force_move: True \ No newline at end of file