Releases: sb53systems/G-Code-Flow-Temperature-Controller
SB53 G-Code Flow/Temperature Controller V1.1
Download Link
SB53_G-Code_Flow_Temperature_Controller_V1.1.zip (Updated in Movember 03 2024).
V1.1 Addons
- Compatibility with all Firmware.
- Arcs moves support.
- Improve GCode reading and generation time with a custom Klipper_Estimator script.
Update of November 03 2024
SB53 G-Code Flow/Temperature Controller V1.1Beta
Download Link
SB53_G-Code_Flow_Temperature_Controller_V1.1Beta.zip (Updated October 08 2024).
Bug fix
- Fixed a bug in the print start macro, where the user's operating system uses a comma (,) instead of a point (.) with float values.
SB53 G-Code Flow/Temperature Controller V1.0 (3 Aug 2024)
Download Link
SB53_G-Code_Flow_Temperature_Controller_V1.0.zip
Instructions and prerequisites
-
Klipper_Estimator Script is required for time estimation using Klipper Look-Ahead kinematics, and must be in the same Folder with this Script (Included Klipper_Estimator.exe V 3.7.3).
-
The script can be used as a normal program by running the SB53-Systems.exe file and opening a GCode manually, or by adding it as a post-processing script in the Slicer.
It is recommended to add in the slicer (Klipper_Estimator.exe) path after this script to rewrite the new estimated time into the G-Code.
D:\SB53_G-Code_Flow_Temperature_Controller_V1.0\SB53-Systems.exe;
D:\SB53_G-Code_Flow_Temperature_Controller_V1.0\Klipper_Estimator.exe --config_file D:\SB53_G-Code_Flow_Temperature_Controller_V1.0\config.json post-process;
- Changing the initial layer temperature is important, and cannot be done in different print start macro, this macro must be in the form below
Example : PRINT_START (instructions) EXTRUDER_TEMP=XXX (...next instructions)
PRINT_START EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]
PRINT_START BED_TEMP=[bed_temperature_initial_layer_single] EXTRUDER_TEMP=[nozzle_temperature_initial_layer]
- To have a best Speed/Quality Optemization, the Slicer Profil must be set for Max Moves and Max Volumetric Speed, the Nozzle temperature is not important because it will be reset in the script, and the speed will be reduced (not increased) to the Recommended Flow.
Example below with my max 200mm/s Printer speed : (Same profil for PLA, PETG and ABS)
You shoold only modify the filament settings and set :
- The maximum recommended volumetric speed at the maximum temperature that your Hotend can handle.
- The Fan Cooling perdiode and the Min print speed.
Note that I prefer to heat my filament a little more to have a better Layer adhesion.
The speed of overhangs and small internal/external bridges should be set to the maximum speed, this will ensure that the filament is extruded at the recommended flow rate and that it is not too hot and falls off, or too cold and shrinks, and will avoid sudden changes in flow rate and unnecessary temperature drop. (Experimental approach)
For larger bridges, I recommend using a modifier in the slicer that changes the speed of a few lower layers to the bridge, the Script will adapt gradually the temperature and the speed to the desired value. Example bellow for 50mm/s External Bridge speed.
See my overhangs test examples.
- The initial temperature estimated by the Script depends on the speed of the first movements of the g-code, you can adjust it by fixing the speed of the purge line or the speed of the first layer perimeters.
Note that :
-
The script only reduces the speeds above the recommended speed, lower speeds will be kept as in the G-Code.
-
Hotend PID cannot be changed during print in Klipper, I recommend using PID values for a temperature between 70-90% of the maximum temperature.
-
PA can be regulated in the script according to the temperature or not by unchecking the Adjust PA option befor generating the G-Code, and use the fixed PA from the Slicer or Klipper.
-
Changing the PA during printing causes a delay in execution and forms bubbles in the walls, the Script is programed to change PA only in Sparse infill, Internal solid infill, Support and Internal Bridge.
-
This Script does not accept G2 and G3 in G-Code.
-
Time Estimation is based in Klipper Look-ahead kinematics (may not be compatible with Marlin or Others).
-
Reading or generating large G-Code files with this Script can takes up to 2 minutes, depending in your CPU.
-
Generated G-Code are 30% to 80% larger than the original one due to Temp and Speed adjustment (can be optimized).
-
This Script is currently only available for Windows OS.
Usage
The script will popup once you Print or Export the G-Code from the Slicer, ask the user whether the script will be applied or not.
If yes:
the first execution, Klipper_Estimator script requires a file containing the maximum limits of the printer (config .json), can be obtained by specifying the IP address of the printer or by choosing a file locally. If the printer is not the same you must change this file, then click the PROCEED button again.
The Filament Type and these specific parameters are chosen automatically by the script if (PLA, PETG, ABS, TPU, ASA, HIPS), You need to set the appropriate values according to your extruder limits, then save the changes for next uses.
You need to refresh the view if you make changes in the script before generating the G-Code, then Save and Close.
Below the Generated G-Code