Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add printer definitions for Sovol SV08. #19477

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

sesse
Copy link

@sesse sesse commented Aug 4, 2024

The SV08 (or SV-08; nomenclature is not completely consistent) is a relatively new printed based on Voron 2.4, running Klipper. This adds printer, extruder and material definitions for it, based on the voron2_base definitions plus Sovol's published profiles for Orca Slicer:

https://drive.google.com/drive/folders/1KWjLxwpO_9_Xqi_f6qu84HRxZi26a_GN

Unfortunately, the included STL model for the platform does not have texture coordinates, so we cannot use the platform texture (unless someone goes to add them manually or otherwise adjusts the model).

The following settings were not carried over, mostly because I could not find any obvious equivalent in Cura:

  - Machine: "retract_before_wipe": [ "0%" ],
    "machine_max_acceleration_extruding": [ "20000" ], 
    "machine_max_acceleration_retracting": [ "5000" ]
    "retract_length_toolchange": [ "2" ],
    "wipe_distance": [ "2" ],
    "retract_lift_below": [ "343" ],
    "thumbnails_format": "PNG",
    "before_layer_change_gcode": "TIMELAPSE_TAKE_FRAME\nG92 E0",
  • Filament (using ABS as an example; the exact values differ between the four material profiles):
    "nozzle_temperature_range_low": [ "190" ],
    "nozzle_temperature_range_high": [ "250" ],
    "full_fan_speed_layer": [ "0" ],
    "slow_down_layer_time": [ "4" ],
    "slow_down_min_speed": [ "10" ],
    "overhang_fan_speed": [ "30" ],
    "overhang_fan_threshold": [ "25%" ],
    "temperature_vitrification": [ "60" ],
    "activate_air_filtration": [ "1" ],
    "close_fan_the_first_x_layers": [ "3" ],
    "complete_print_exhaust_fan_speed": [ "60" ],
    "during_print_exhaust_fan_speed": [ "100" ],
  • Process: A bunch (e.g. bridge_flow, elefant_foot_compensation, overhang_1_4_speed, etc. etc.), but it's unclear how many are printer-specific and how many are just Orca defaults where Cura wants to do things differently.

The start and end G-code are copied over verbatim, except that it leaves the printer in relative coordinate mode and Cura does not set this explicitly back to absolute, so we need an explicit G90 at the end. (Also, there seems to be a Klipper issue where G90 does not reset extrusion to absolute as well, so we need to send an explicit M82.)

Unfortunately, Cura chooses SS_ as prefix instead of SV08_. I don't know if there is a way to override this; the other Sovol printers seem to have the same issue.

I've tested this with the standard 0.4mm nozzle and ABS/PLA, using the Moonraker plugin. PETG and TPU are untested, in part because the current nozzle is said to be unsafe for PETG. The time estimates from Cura are not all that good, but klipper_estimator helps.

Future work would include supporting the 0.2mm, 0.6mm and 0.8mm nozzles. There are separate profiles for them, with different layer height, support settings, print speeds, etc. -- and then there is a specific PLA/0.2mm profile with lower printing speed and higher fan settings.

Type of change

  • Printer definition file(s)

How Has This Been Tested?

  • PLA test print
  • ABS test print
  • PETG print
  • TPU print
  • 0.4mm nozzle
  • 0.2mm, 0.6mm, 0.8mm nozzle

Test Configuration:

  • Operating System: Linux

Checklist:

@github-actions github-actions bot added the PR: Community Contribution 👑 Community Contribution PR's label Aug 4, 2024
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Clang-Tidy found issue(s) with the introduced code (1/1)

resources/definitions/sovol_sv08.def.json Outdated Show resolved Hide resolved
@github-actions github-actions bot dismissed their stale review August 5, 2024 06:41

No Clang-Tidy warnings found so I assume my comments were addressed

@sesse
Copy link
Author

sesse commented Aug 12, 2024

Perhaps someone can add the “Printer definitions” label?

The SV08 (or SV-08; nomenclature is not completely consistent)
is a relatively new printed based on Voron 2.4, running Klipper.
This adds printer, extruder and material definitions for it,
based on the voron2_base definitions plus Sovol's published profiles
for Orca Slicer:

  https://drive.google.com/drive/folders/1KWjLxwpO_9_Xqi_f6qu84HRxZi26a_GN

Unfortunately, the included STL model for the platform does not have
texture coordinates, so we cannot use the platform texture (unless someone
goes to add them manually or otherwise adjusts the model).

The following settings were not carried over, mostly because I could not
find any obvious equivalent in Cura:

  - Machine:
    "retract_before_wipe": [ "0%" ],
    "machine_max_acceleration_extruding": [ "20000" ],
    "machine_max_acceleration_retracting": [ "5000" ],
    "retract_length_toolchange": [ "2" ],
    "wipe_distance": [ "2" ],
    "retract_lift_below": [ "343" ],
    "thumbnails_format": "PNG",
    "before_layer_change_gcode": "TIMELAPSE_TAKE_FRAME\nG92 E0",

  - Filament (using ABS as an example; the exact values differ between
    the four material profiles):
    "nozzle_temperature_range_low": [ "190" ],
    "nozzle_temperature_range_high": [ "250" ],
    "overhang_fan_threshold": [ "25%" ],
    "temperature_vitrification": [ "60" ],  # Only used for arranging.
    "close_fan_the_first_x_layers": [ "3" ],
    "full_fan_speed_layer": [ "0" ],  # Inconsistent; effectively 4.
    # Enclosure fan (M106 P3 commands)
    "activate_air_filtration": [ "1" ],
    "complete_print_exhaust_fan_speed": [ "60" ],
    "during_print_exhaust_fan_speed": [ "100" ],

  - Process: A bunch (e.g. bridge_flow, elephant_foot_compensation,
    overhang_1_4_speed, etc. etc.), but it's unclear how many are
    printer-specific and how many are just Orca defaults where Cura wants
    to do things differently.

The start and end G-code are mostly copied over verbatim, except that it
leaves the printer in relative coordinate mode and Cura does not set this
explicitly back to absolute, so we need an explicit G90 at the end. (Also,
there seems to be a Klipper issue where G90 does not reset extrusion to
absolute as well, so we need to send an explicit M82.) We give
EXTRUDER_TEMP= and BED_TEMP= as parameters to the START_PRINT macro; the
Sovol stock macros ignore these, but the popular mainline Klipper
installation can use this to e.g. bed mesh at the correct temperature.

Unfortunately, Cura chooses SS_ as prefix instead of SV08_. I don't know
if there is a way to override this; the other Sovol printers seem to have
the same issue.

I've tested this with the standard 0.4mm nozzle and ABS/PLA, using the
Moonraker plugin. PETG and TPU are untested, in part because the current
nozzle is said to be unsafe for PETG. The time estimates from Cura are not
all that good, but klipper_estimator helps. (The Klipper object exclusion
plugin is also recommended, as it allows the printer to bed mesh a smaller
area.)

Future work would include supporting the 0.2mm, 0.6mm and 0.8mm nozzles.
There are separate profiles for them, with different layer height, support
settings, print speeds, etc. -- and then there is a specific PLA/0.2mm
profile with lower printing speed and higher fan settings. Also, it would
be really good to support the enclosure fan (M106 P3, known as
exhaust_fan in Orca) for printing ABS; it's possible that something could
be done using the Cura fan control plugin, but it would be better to
simply have it right in the filament settings. Similarly, the ABS/PETG
profiles want to turn off the fan entirely the first three layers
(to improve adhesion), but Cura can only ramp linearly starting from the
first layer, not hold the first few layers constant.
@sesse
Copy link
Author

sesse commented Sep 21, 2024

Update in v3: Rebased, some more fan settings have been ported over, filaments have been put in the correct directories,and the PRINT_START macro is given initial bed and nozzle temperatures for the benefit of better mainline Klipper integration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PR: Community Contribution 👑 Community Contribution PR's
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant