Making max_accel_to_decel proportional ?
I can't get max_accel_to_decel to adjust dynamically on Accel changes and couldn't find answers in previous posts.
Printer.cfg is : [include RatOS/printers/v-core-3/speed-limits-performance.cfg]
Superslicer travel_deceleration_use_target is ticked.
Any help ?
5 Replies
Should I just overide to :max_accel_to_decel = (1 / 2) * max_accel ?
You would need your slicer to set it via SET_VELOCITY_LIMIT. Only slicer i know that has support for that is OrcaSlicer.
You mean you can't just set it this way in printer.cfg ? Found here : https://klipper.discourse.group/t/proportional-acceleration-control/3970#:~:text=S%3Cpercent%3E.-,max_accel_to_decel,-Again%2C%20the%20max_
Klipper
Proportional acceleration control
This is a set modifications to the kinematics parameters that I developed on my printer. The end goal is to allow the printing time to be dynamically changed while preserving the distances over which the toolhead accelerates, cruises, and decelerates. I make this topic for judging interest and to discuss the naming, compatibility and user exper...
this is a thread discussing potential changes to the internals of klipper
this is not valid in a config
What most people do, if they don't have a slicer supporting klipper (like OrcaSlicer) is override M204 so that it sets both accel and max_accel_to_decel at some predetermined ratio.
In my case, i simply just leave it maxed out
I don't see a big value in a lower max_accel_to_decel on my printers.
Well.... you certainly have an Top Notch Ultra Super Light printhead. On a 500 with an LGX and 7530....
I had this working on my old handmade klipper on Bears, it works great now on the Ratrigs :
[gcode_macro M204]
rename_existing: M204.1
gcode:
{% set f = params.F|default(0.5)|float %}
{% if 'S' in params %}
{% set s = params.S|float %}
SET_VELOCITY_LIMIT ACCEL={s} ACCEL_TO_DECEL={ s * f }
{% else %}
{% if 'P' in params %}
{% set p = params.P|float %}
{% if 'T' in params %}
{% set t = params.T|float %}
{% if p < t %}
SET_VELOCITY_LIMIT ACCEL={p} ACCEL_TO_DECEL={ p * f }
{% else %}
SET_VELOCITY_LIMIT ACCEL={t} ACCEL_TO_DECEL={ t * f }
{% endif %}
{% else %}
SET_VELOCITY_LIMIT ACCEL={p} ACCEL_TO_DECEL={ p * f }
{% endif %}
{% elif 'T' in params %}
{% set t = params.T|float %}
SET_VELOCITY_LIMIT ACCEL={t} ACCEL_TO_DECEL={ t * f }
{% endif %}
{% endif %}