Open ahmetcemturan opened 12 years ago
I think direct temperature adjustment commands would require a lot of information in Slic3r and would likely mess with the current PID controller operation in Marlin.
One alternative solution would be to have some commands in Marlin that would allow Slic3r to tell more information about the print to it. Such as "within next y seconds (or millimeters?) x mm of filament will be extruded". These kind of commands could be inserted during the creation of g-code or possibly during post processing and Marlin would be able to use those predictions to adjust the flow similarly as it does now with autotemp.
It's not difficult to implement an algorithm for required temp prediction.
I suggest a simple solution. You need at least five new parameters:
Then you need to calculate the feed_per_second.
The required wattage needed to heat the filament at the requirement temperature is (specific weight * feed_per_second/1second) x Specific Heat x Temperature rise x 1second.
There is no need for a new PID controller.
may be it could be easier to see with the marlin dev team to increase the marlin buffer ?
This can be implemented as a post-processing script, since all needed information can be easily extracted from the file itself or comes from user anyway.
Going to close this, as it is fixable with a post-process script. If someone wants to write one and share it I'll add it, but I don't think this needs to go into the main slic3r UI either.
Reopening issue to make it easily visible to someone looking at the PR milestone.
Slic3r, knowing the layer time, has more knowledge about temperature requirements than does firmware. Just as the fan cooling is adjusted by layer time, it would be great to adjust temperature as well. Best process would be to vary cooling, extrusion temperature, and bed temperature from calculations of thermal mass and total energy deposition.
Ideally, the entire model should remain at a constant temperature throughout printing.
There is a feature called autotemp in Marlin. I played around with it and got very good results, especially with high speed prints. What it does is to check the buffer and see wheteher there is a big flow of filament coming up and increase the temperature...
The disadvantage of having it controlled by the FW is that it only sees whats in the buffer and that can be very little.. :)
The slic3r could do this much better... If You know how fast your extruder reacts to temperature changes (as in if you increase temperature 5c how many cc's of plastik do you extrude in that time..)
You could then place temperatur commands to into the Gcode depending on upcoming flowrate and your nozzle behaviour...