Adding option to adjust for hotend variability #589
TheWebMachine
started this conversation in
Features Request
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This is going to sound strange on its face, but hear me out. haha I recently had to have Creality send me replacement heater core for my K1C because of a defect in the mounting holes that caused them to shear off. Upon installing and testing the new core, I discovered a significant temperature variation between what the thermistor was reporting and what was actually at the hot end with multiple thermal probes of my own. Of course, some temperature variation between mass-produced units is to be expected. However, I was detecting between 15°C and 20°C skew between setpoint and actual hotend temp.
This is more than enough to mess with more sensitive filaments like Colorfabb's VarioShore TPU, in which a 10°C change completely alters the Shore hardness of the print. So, I contacted Creality Support again and had a nice lengthy conversation with them about this. They revealed to me that at the present time they do not have a way to adjust the PID thermostat values in firmware to compensate for this variation and suggested I alter my slicer profiles to compensate. They have assured me that the technical team has been notified and that they plan to add this feature in a future firmware version. How long that will take remains to be seen.
However, in the meantime, I would really like to see if we could add an option to this script that would allow us to implant a macro that will take whatever the emitted G-code temperature values for the hotend are and adjust them by a static value we can control to account for that variation between units.
This would allow us to continue to use properly tuned profiles in our slicers while being able to alter on individual printers to ensure that there are no temperature variations with the actual printing process, especially if you have multiple printers. (I also suspect this won't be my last heater core, as the mounts on the K1C core are not very robust, but I digress.) Basically, hack in a fake thermister adjustment into Klipper until Creality adds a proper adjustment to the printer side of the firmware.
Does this sound like something we can do? It seems simple enough for the start of the print job, at least, since we could intercept and adjust within the
START_PRINT
macro. I just don't know if we can intercept additional temp commands once the print has started and the slicer is using M104/M109...unless we make those external macros, too?I'll admit I'm fairly new to Klipper, coming from a pure Marlin/Octoprint world, so I am still gaining an understanding of how Klipper parses gcode. So, what do the experts think?
Beta Was this translation helpful? Give feedback.
All reactions