Hot end Temperature PID + (filament volume)/time
Peter120 last edited by
This is rather esoteric math but the hot end temperature is destabilized by the varying filament flow rate. How about rather than just having the PID control loop react to temperature changes the net filament volume per time is added to the control loop.
This is a bit of a slippery slope in that varying fan speeds and other anticipatory variables could also be included in the filament temperature control loop. Ultimately this slippery slope results in a fuzzy logic filament temperature controller with much(?) faster print speeds and more consistent filament flow properties.
Apologies if this has been discussed before.
How bout you just manually push through some filament while PID tuning to simulate the thermal losses from printing.
Interesting idea, but how much is it fluctuating? If it's more than 1c or 2c there may be other problems?
deckingman last edited by
The problem with this is that the filament flow rate isn't constant. During non print moves, it even stops completely. In general, heaters are slow to react so it would be almost impossible for the heater to track the variable nature of the filament flow. I.e at the start of a long fast high flow rate move, the algorithm would try to increase the heater output but due to thermal lag, the temperature rise would be slow and so at the end of the move, where the flow rate might drop, the temperature would still be rising. You'd need to have a look ahead facility so that the demand could be adjusted at some time before the event occurs.
Peter120 last edited by
It is not a problem but an observation which I have been pondering. Typically, I slice thin layers with a wide paving width using cooler filament temperatures. Recently I Increased the layer thickness to reduce the print time which resulted in a failed print. The surprising and odd bit was the first several layers went down just fine. The thermal mass of the heater block provided lots of extrusion capability at the start but the PID servo loop was not able to keep up. Well it did catch up after the filament was ground free in the extruder and the print failed. I have done PID extruder tuning and the thermal control loop is responsive and seems critically damped but with a slow time constant. Adding the filament E steps would be and instantaneous prediction of a future pending extruder temperature change. Fuzzy logic is a very simple form of artificial intelligence that learns on the job and it is good for controlling nonlinear systems.