Adjusting Nozzle Temperature Based on Flow Rate #5057
Replies: 23 comments 48 replies
-
I think it could work. When testing max flowrate on my printer, I can squeeze out about 15% more flow going from 220C to 240C with PLA. It would probably only be useful on prints where the flowrate is high or low all the time though, since the temperature of the hotend doesn't change very fast. |
Beta Was this translation helpful? Give feedback.
-
It will be much easier to set the temperature based on the layer printing time. In the filament settings, we need a place where we can enter, for example, that for time over 30 seconds the temperature is 230 degrees and for time less than 10 seconds it is 220. In my opinion, the algorithm should work like this: after generating all the layers, the script should set the temperature for each layer. Since the temperature change takes a relatively long time, the script should take into account the average of the next 5 layers, this will reduce the number of changes/make these changes milder. Let's take a benchy print as an example: the first several dozen layers are relatively long, at high printing speed the temperature should be slightly higher, I will assume 230 degrees. Then there is the cabin, where the printer slows down anyway, it could be 220-225 degrees. The last layers are the chimney, it is so small that the hotend moves really slowly. At this point, 210-215 would be the ideal setting. This should be easier to implement than relying on flowrate. |
Beta Was this translation helpful? Give feedback.
-
Hi, I believe that reducing the temperature based on layer duration may not be effective in all cases, especially when the object contains multiple surfaces where the layer duration wouldn’t be reduced, but the average flow would. Newer, fast printers with better acceleration reduce delays and variations in flow, where the only reduction in speed is caused by the cooling of small layers. In these cases, reducing the flow rate and adjusting the temperature would be beneficial. I think this concept could also be beneficial for slower printers with an algorithm based on an optimized flow rate according to a certain temperature that should be stabilized during printing. For me, this is the best approach for polymer extrusion to ensure better quality of the extruded filament. Calculating the average flow rate that can be achieved during the printing time should be easily provided by the slicers, as they already estimate the printing time and the amount of filament used. Then, the extrusion temperature should be adjusted by a few degrees per second, varying the maximum volumetric speed to balance everything. This allows:
|
Beta Was this translation helpful? Give feedback.
-
To carry out this project and attempt to optimize it, we would need help from an expert in G-code post-processing scripts with OrcaSlicer or one of its contributors, to get at least an indication of the time spent in the G-code, or to have the ability to modify profile parameters during G-code generation, such as the maximum volumetric speed and extrusion temperature, with the prediction of several movements in advance. |
Beta Was this translation helpful? Give feedback.
-
guys, I swear this is a game changer, this is the future of 3D printing. |
Beta Was this translation helpful? Give feedback.
-
Great work man! I admit that's way out of my league in terms of understanding how you will achieve that. But I am confident that this will be beneficial in some way. I didn't understand the quality-speed slider. The print duration is the same, isn't it? |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
I found a similar approach in orca which consists of softening sudden changes in flow rate below the original gcode with the option disabled the next is enabled with max softening (orca only) notice that flow/moves with orca softening at max, are exactly aligned with my program average flow/time with the deactivated option (green curve) !!!! Are the two options exactly the same?....................................... one is based on the sudden change in flow per second, the other on the limit not to be exceeded if the temperature is not ideal. I think both are beneficial !!!!! in orca I used a reasonable value of 10mm3/s² to soften the flow, and it gave this: after that, use the speed optimization algorithms and gave this : below a benchy without orca flow optimization Next with orca flow optimization Next is after speed optimization Next is with quality optimization quality optimization without orca softening promising result !!!!!!!!!! |
Beta Was this translation helpful? Give feedback.
-
VID20240621075903.1.mp4 |
Beta Was this translation helpful? Give feedback.
-
With alwase the same orcaslicer profil (PETG, 240°,11mm3/s) Using quality optimization, with 2minutes 22s more vlc-record-2024-06-23-04h08m01s-VID20240623033544.1.mp4-.mp4vlc-record-2024-06-23-04h09m35s-VID20240623033544.1.mp4-.mp4VID20240623040059.1.mp4With the same 0.04 PA and same PID, i get the best print Quality with a max speed, using a 2018 3D printer and old PETG Filament !!! |
Beta Was this translation helpful? Give feedback.
-
Printing PLA with auto nozzle temperature My program is used as a post-process script befor print using 70% quality based optemesation below generated gcode vlc-record-2024-07-07-02h23m19s-VID20240707010503.1.mp4-.mp4vlc-record-2024-07-07-02h24m49s-VID20240707010503.1.mp4-.mp4vlc-record-2024-07-07-02h26m29s-VID20240707010503.1.mp4-.mp4below a 13m print VID20240707003258.1.mp4next a 43m (200% last print) VID20240706235632.1.mp4The program will be shared soon ! |
Beta Was this translation helpful? Give feedback.
-
I reached my goal, have a better speed vs quality Optemization, below a print of 3h50m To Using 70% Speed optimization vs 30% Quality, the print time will increase by 20 minutes, Note that in general Klipper Estimator (Used in this script) have more acurate time than orca due to Look-ahead and Square corner vilocity calculation. https://www.klipper3d.org/Kinematics.html But Klipper Estimator d'ont take in concideration the acceleration change set by orcaslicer with Emit Limits in G-Code option It uses the max_acceleration value of the printer in config.json File, and this causes a small advance in the estimated time. below is real time VID20240708213806.1.mp4VID20240709013229.1.mp4My script will be shared for free in less than a week in my github, I just have to integrate PA adjustment, add indications and prepare a readme file |
Beta Was this translation helpful? Give feedback.
-
https://github.com/sb53systems/G-Code-Flow-Temperature-Controller GCode Flow/Temperature Controller repository
Be responsible and careful with this script by using reasonable values and controlling the behavior of your printer. |
Beta Was this translation helpful? Give feedback.
-
SLYPRO White PLA with Max Quality Optemization |
Beta Was this translation helpful? Give feedback.
-
Changing PA during printing makes small dots! to avoid this, I think that PA must be changed during sparse infill ! |
Beta Was this translation helpful? Give feedback.
-
I am delighted to announce a first release of G-Code Flow/Temperature Controller, a post-processing script for Slic3r based Slicers and Klipper Printers. Repository :https://github.com/sb53systems/G-Code-Flow-Temperature-Controller Releases :SB53 G-Code Flow/Temperature Controller V1.0 (3 Aug 2024) Happy Smart 3D Printing :-) |
Beta Was this translation helpful? Give feedback.
-
A new version of the SB53 Flox/Temperature Controller Script was released yesterday (04 Sept 2024) . https://github.com/sb53systems/G-Code-Flow-Temperature-Controller Happy Smart 3D Printing :) |
Beta Was this translation helpful? Give feedback.
-
Can I use this post-processor script with Orca If I am not using Klipper but RRF? What happens if the post-processing script finds G2/G3 commands in the gcode file? Can I use the "Klipper_Estimator.exe" program even if I am not using Klipper (probably not)? Is it then possible to rely on Orca's own time estimations without using the Klipper_Estimator.exe? |
Beta Was this translation helpful? Give feedback.
-
@Rickthebig know that time estimation is based on Klipper look ahead Kinimatics, sow all the Estimations are not the same (Flow Averages, temperature Rise/Fall).... If G2/G3 are found in the G-Code, the Script will show an Error and the print will be canceled. |
Beta Was this translation helpful? Give feedback.
-
I created a new RRF Support discussion in my repositorie |
Beta Was this translation helpful? Give feedback.
-
Let me kindly point to past posts about this same issue: Unfortunately: That's a pity considering that now we have a working proof-of-concept |
Beta Was this translation helpful? Give feedback.
-
Today, I released the V1.1 Final version.
https://github.com/sb53systems/G-Code-Flow-Temperature-Controller/releases/tag/V1.1 Happy Smart 3D Printing :-) |
Beta Was this translation helpful? Give feedback.
-
Maybe we could improve print quality by adjusting nozzle temperature based on the flow rate. You know how some prints look different in terms of surface appearance depending on the filament temperature? Well, printing at the same temperature doesn't always solve the issue, especially when the flow rate varies, you can get different artefacts on the same print. So, what if we tweak the temperature to match the flow rate? Higher flow rates get higher temps, and lower flow rates get lower temps. This might help with overhangs too, where the nozzle's slow speed at higher temps causes problems. Just throwing it out there, not sure if it makes sense though!
Beta Was this translation helpful? Give feedback.
All reactions