maximum extrusion

I changed nozzle to klipper in 0.2, and when it goes to make the prime blob it comes out like this:
No description
32 Replies
afraid-scarlet
afraid-scarlet2y ago
can you post the [extruder] section of the printer.cfg?
blacksmithforlife
@elcoj if I remember correctly the prime blob doesn't account for different nozzle sizes correct?
elco
elco2y ago
indeed
Manuel Sterbizzi
Manuel SterbizziOP2y ago
Yes
elco
elco2y ago
but since we are super close to the limit of 0.2, it might make sense to decrease prime speed ever so slightly so it is also under the limit for a 0.2 nozzle from the photo, it looks like the limit and the rate are equal I use a modified version that puts the blob in the middle of the bed:
[gcode_macro PRIME_BLOB]
gcode:
SAVE_GCODE_STATE NAME=prime_blob_state
M117 Prime blob...
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
# Absolute positioning
G90
# Relative extrusion
M83
# Lift 5 mm
G1 Z5 F3000
# move to blob position
G1 X{printer.toolhead.axis_minimum.x + 5} Y{printer.toolhead.axis_maximum.y/2 + 10} Z0.5 F{speed}
# Extrude a blob
G1 F60 E20
# 40% fan
M106 S102
# Move the extruder up by 5mm while extruding, breaks away from blob
G1 Z5 F100 E5
# Move to wipe position, but keep extruding so the wipe is attached to blob
G1 F200 Y{printer.toolhead.axis_maximum.y/2 + 25} E1
# Go down diagonally while extruding
# Broken down in z moves under 2mm as a workaround for a tuning tower test.
# The tuning tower command thinks a new print has been started when z moves over 2mm and aborts.
G1 F200 Y{printer.toolhead.axis_maximum.y/2 + 30} Z3.8 E0.5
G1 F200 Y{printer.toolhead.axis_maximum.y/2 + 35} Z2.6 E0.5
G1 F200 Y{printer.toolhead.axis_maximum.y/2 + 40} Z1.4 E0.5
G1 F200 Y{printer.toolhead.axis_maximum.y/2 + 45} Z0.3 E0.5
# 0% fan
M106 S0
# small wipe line
G1 F200 Y{printer.toolhead.axis_maximum.y/2 +50} Z0.3 E0.6
# Break away wipe
G1 F{speed} Y{printer.toolhead.axis_maximum.y/2 + 70} Z0.5
# prevent hitting blob
G1 F{speed} Y{printer.toolhead.axis_maximum.y/2 + 70} X{printer.toolhead.axis_minimum.x + 50} Z0.5
RESTORE_GCODE_STATE NAME=prime_blob_state
[gcode_macro PRIME_BLOB]
gcode:
SAVE_GCODE_STATE NAME=prime_blob_state
M117 Prime blob...
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
# Absolute positioning
G90
# Relative extrusion
M83
# Lift 5 mm
G1 Z5 F3000
# move to blob position
G1 X{printer.toolhead.axis_minimum.x + 5} Y{printer.toolhead.axis_maximum.y/2 + 10} Z0.5 F{speed}
# Extrude a blob
G1 F60 E20
# 40% fan
M106 S102
# Move the extruder up by 5mm while extruding, breaks away from blob
G1 Z5 F100 E5
# Move to wipe position, but keep extruding so the wipe is attached to blob
G1 F200 Y{printer.toolhead.axis_maximum.y/2 + 25} E1
# Go down diagonally while extruding
# Broken down in z moves under 2mm as a workaround for a tuning tower test.
# The tuning tower command thinks a new print has been started when z moves over 2mm and aborts.
G1 F200 Y{printer.toolhead.axis_maximum.y/2 + 30} Z3.8 E0.5
G1 F200 Y{printer.toolhead.axis_maximum.y/2 + 35} Z2.6 E0.5
G1 F200 Y{printer.toolhead.axis_maximum.y/2 + 40} Z1.4 E0.5
G1 F200 Y{printer.toolhead.axis_maximum.y/2 + 45} Z0.3 E0.5
# 0% fan
M106 S0
# small wipe line
G1 F200 Y{printer.toolhead.axis_maximum.y/2 +50} Z0.3 E0.6
# Break away wipe
G1 F{speed} Y{printer.toolhead.axis_maximum.y/2 + 70} Z0.5
# prevent hitting blob
G1 F{speed} Y{printer.toolhead.axis_maximum.y/2 + 70} X{printer.toolhead.axis_minimum.x + 50} Z0.5
RESTORE_GCODE_STATE NAME=prime_blob_state
This is the original in (my current version of) ratos:
[gcode_macro PRIME_BLOB]
description: Prints a primeblob, used internally, if configured, as part of the START_PRINT macro. Slower than PRIME_LINE but much more effective.
gcode:
SAVE_GCODE_STATE NAME=prime_blob_state
M117 Priming nozzle with prime blob..
RESPOND MSG="Priming nozzle with prime blob.."
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
# Absolute positioning
G90
# Relative extrusion
M83
# Lift 5 mm
G1 Z5 F3000
# move to blob position
G1 X{printer.toolhead.axis_minimum.x + 5} Y{printer.toolhead.axis_minimum.y + 10} Z0.5 F{speed}
# Extrude a blob
G1 F60 E20
# 40% fan
M106 S102
# Move the extruder up by 5mm while extruding, breaks away from blob
G1 Z5 F100 E5
# Move to wipe position, but keep extruding so the wipe is attached to blob
G1 F200 Y{printer.toolhead.axis_minimum.y + 25} E1
# Go down diagonally while extruding
# Broken down in z moves under 2mm as a workaround for a tuning tower test.
# The tuning tower command thinks a new print has been started when z moves over 2mm and aborts.
G1 F200 Y{printer.toolhead.axis_minimum.y + 30} Z3.8 E0.5
G1 F200 Y{printer.toolhead.axis_minimum.y + 35} Z2.6 E0.5
G1 F200 Y{printer.toolhead.axis_minimum.y + 40} Z1.4 E0.5
G1 F200 Y{printer.toolhead.axis_minimum.y + 45} Z0.2 E0.5
# 0% fan
M106 S0
# small wipe line
G1 F200 Y{printer.toolhead.axis_minimum.y +50} Z0.2 E0.6
# Break away wipe
G1 F{speed} Y{printer.toolhead.axis_minimum.y + 100}
RESTORE_GCODE_STATE NAME=prime_blob_state
[gcode_macro PRIME_BLOB]
description: Prints a primeblob, used internally, if configured, as part of the START_PRINT macro. Slower than PRIME_LINE but much more effective.
gcode:
SAVE_GCODE_STATE NAME=prime_blob_state
M117 Priming nozzle with prime blob..
RESPOND MSG="Priming nozzle with prime blob.."
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
# Absolute positioning
G90
# Relative extrusion
M83
# Lift 5 mm
G1 Z5 F3000
# move to blob position
G1 X{printer.toolhead.axis_minimum.x + 5} Y{printer.toolhead.axis_minimum.y + 10} Z0.5 F{speed}
# Extrude a blob
G1 F60 E20
# 40% fan
M106 S102
# Move the extruder up by 5mm while extruding, breaks away from blob
G1 Z5 F100 E5
# Move to wipe position, but keep extruding so the wipe is attached to blob
G1 F200 Y{printer.toolhead.axis_minimum.y + 25} E1
# Go down diagonally while extruding
# Broken down in z moves under 2mm as a workaround for a tuning tower test.
# The tuning tower command thinks a new print has been started when z moves over 2mm and aborts.
G1 F200 Y{printer.toolhead.axis_minimum.y + 30} Z3.8 E0.5
G1 F200 Y{printer.toolhead.axis_minimum.y + 35} Z2.6 E0.5
G1 F200 Y{printer.toolhead.axis_minimum.y + 40} Z1.4 E0.5
G1 F200 Y{printer.toolhead.axis_minimum.y + 45} Z0.2 E0.5
# 0% fan
M106 S0
# small wipe line
G1 F200 Y{printer.toolhead.axis_minimum.y +50} Z0.2 E0.6
# Break away wipe
G1 F{speed} Y{printer.toolhead.axis_minimum.y + 100}
RESTORE_GCODE_STATE NAME=prime_blob_state
Depending whether you want to prime in the middle or the front, copy one of them. Change G1 F60 E20 to E19. If I'm right about being just at the limit, this should avoid the error
miklschmidt
miklschmidt2y ago
Or just set the nozzle_diameter to 0.3 or 0.4 in klipper. All it does is set a threshold for throwing that error. Probably too much extrusion for a .2 in either case. We need to calculate the extrusion from an unknown nozzle_diameter to make it work for every nozzle diameter out there.
elco
elco2y ago
yeah, true, the warning is probably valid, so the extrusion needs to be lowered more than that too bad we don't have access to the nozzle diameter
miklschmidt
miklschmidt2y ago
Really sucks that it can't be set dynamically. Doesn't make any sense, but Kevin insists that it shouldn't be a thing.
elco
elco2y ago
But what about the reverse? Read access to nozzle diameter to calculate an extrusion distance? Should have used reply:)
miklschmidt
miklschmidt2y ago
We can do that, but it requires the user sets the nozzle_diameter correctly in the config. And there are lots and lots of people who just leave it at their biggest nozzle diameter.
elco
elco2y ago
Right, so it would be possible to adjust prime blob to extrude slower based on nozzle diameter set in klipper Isn't nozzle diameter used in PA calculations too?
miklschmidt
miklschmidt2y ago
yes No Literally all it's used for is the dang extrusion warning, and that's only if you haven't set the max_extrude_cross_section or whatever it's called
miklschmidt
miklschmidt2y ago
I've actually gotten a PR for this, i just haven't have the time to check what the heck is going on 😄 https://github.com/Rat-OS/RatOS-configuration/pull/62
GitHub
Factor most of the magic-numbers out of PRIME_LINE by mmirate · Pul...
This PR allows customization of the line's origin, direction and length. Compared to the status quo, this should be a big help for the macro-customizing type of person in case they like to mind...
elco
elco2y ago
Looks nice, only changes prime line though, not blob
miklschmidt
miklschmidt2y ago
yeah but the extrusion logic should be similar
Manuel Sterbizzi
Manuel SterbizziOP2y ago
thanks to all… I was looking for a solution because sometimes it is useful to see the correct flow in the mainsail, and I think that if I deceive klipper by putting 0.3 or 0.4 of the nozzle, I have false readings @miklschmidt briefly approves an off-topic topic, I have ratos alpha 5, in the new printer.cfg I can't find how to change where to make the prime blob… but I see that you can choose… how do I change?
miklschmidt
miklschmidt2y ago
No that makes no difference, the nozzle size is not used in that calculation. IIRC it's extruder speed * filament cross section
miklschmidt
miklschmidt2y ago
GitHub
RatOS-configuration/v-core-3-printer.template.cfg at v2.x · Rat-OS/...
The RatOS modular klipper configuration. Contribute to Rat-OS/RatOS-configuration development by creating an account on GitHub.
Manuel Sterbizzi
Manuel SterbizziOP2y ago
and what is that parameter used to do?
miklschmidt
miklschmidt2y ago
What parameter?
miklschmidt
miklschmidt2y ago
Oh you replied to the wrong comment i guess. See the docs: https://rat-os.vercel.app/docs/configuration/macros#nozzle-priming
Configuring RatOS Macros | RatOS
RatOS comes with a bunch of flexible predefined macro's that can be customized via variables. In your printer.cfg at the bottom of the Macro's section, you'll notice this:
Manuel Sterbizzi
Manuel SterbizziOP2y ago
Nozzle in klipper
miklschmidt
miklschmidt2y ago
Aah, it does basically nothing. It only used to derive the maximum_extrusion_cross_section which is only used to throw an error.
Manuel Sterbizzi
Manuel SterbizziOP2y ago
variable_nozzle_prime_start_x I can't find it in my printer.cfg…. not even in the template…. will it be in ratos beta? ah… thanks… then I'll leave 0.4
miklschmidt
miklschmidt2y ago
If it's not there you can just add it. There are many variables that are not in the printer.cfg as i consider it advanced usage (and thus people should read the docs).
Manuel Sterbizzi
Manuel SterbizziOP2y ago
ah ok… I thought they were always put all… 😁
miklschmidt
miklschmidt2y ago
it would be an insanely long section 😄
Manuel Sterbizzi
Manuel SterbizziOP2y ago
actually you are right… 😅 thanks for everything
miklschmidt
miklschmidt2y ago
Any time 👍
Manuel Sterbizzi
Manuel SterbizziOP2y ago
can i bother you for some advice? Do you know where I can find a guide to manage the LEDs? Do they turn on only in certain situations etc?
miklschmidt
miklschmidt2y ago
https://www.klipper3d.org/G-Codes.html#set_led It depends on how you've wired it, and what type of leds you have. You can also configure a WLED device in moonraker for example. https://moonraker.readthedocs.io/en/latest/configuration/#wled Anyways, go to #klipper for more stuff like this so we don't clog up this support thread with off topic stuff 🙂
Manuel Sterbizzi
Manuel SterbizziOP2y ago
I have already connected them and they work, but they are only activated and deactivated manually
Want results from more Discord servers?
Add your server