Auto tune cancelled because temperature is not increasing
I have the Error "Auto tune cancelled because temperature is not increasing" when I want to tune the chamber-heating. This because, there is a big deadtime. My sensor is located in the middle of the chamber, while the heating is on the bottom. So it goes slow. The themperature rises more or less 1 degree in one or two minutes. Is there a way to tune it also with the command M301?
You may need to adjust your dead time in your default thermistor values before PID tuning.
metty last edited by metty
@Phaedrux Thanks! I just tried to adjust the dead-time constant with: M307 H5 D70 (70 was the biggest number who worked). But I got still the same error. The temperature increased from 24 Degrees to 26 Degrees until the error appeared. Is there anything else i can do?
What is the heater by the way?
@Phaedrux I have 2x 800W heating beds with a passive cooling element. The problem is that the cooling elements have a large heat capacity, which must be overcome for the first time. The System works so far, but is not optimized. The printer is still in development. Here a photo.
The sensor is mounted at the height of the tools. I want to have the sensor as close as possible to the printed part, and no ventilation in the housing. That's the reason for the inertial system. A fast chamber heating does not make sens in m opinion.
NitroFreak last edited by
@metty you have 1600 watts of heating power and it raises the temperature 1 degree every two minutes? Something is dead wrong with your setup, big heat capacity or not.
For reference, i use a 2000w heating coil and it heats the chamber to 90°C in under 30 seconds, so a little more than 2°C per second.
Also, you absolutely need active convection, preferably a duct that blows hot air directly from the heating elements on the print. The sensor should be directly in the air stream, however not have line of sight to the heating element to prevent misreads due to radiation. The hot air should be between the HDT and the Tg of the printed material.
Trying to tune the chamber temperature with no active convection will never work properly and stable because the air will be very inhomogenous without mixing. It´s luck what temperature the air will be around the sensor.
Another thing you can try is just use bang-bang for the chamber heater.
@NitroFreak Not true. The slow reaction time is partly due to the heat capacity, partly because I don't want ventilation. And no -> it's not just random what's around the sensor. That the setup already works like this is also a proof that this is not true. Also it is unnecessary to heat the chamber so fast. All I need is a control system that is adjusted. Preferably a two-stage one, so that I can still monitor the heating elements itself. So far I did not see any possibility to do this with GCodes, but that is a different problem.
PS: the 1-2 degrees are only at the beginning. As soon as the heating elements are hot, it is a lot faster.
The auto tune algorithm does the following:
- Waits for 6 seconds to check that the temperature reading is stable
- Turn the heater on (at full power unless you specified a P parameter)
- After the configured dead time plus 60 seconds (for a bed or chamber heater), checks that the temperature has risen by at least 3C, and quits if it hasn't
- Allows up to 30 minutes (for a bed or chamber heater) from turning the heater on for it to reach the target temperature, and quits if it doesn't
Thanks for the info. That explains why the automatic tuning does not work in my case. I interpret this to mean that there is no way to estimate my system using autotuning.
The funny thing is that the control is currently very stable, except for the Heater-Faults which interrupt the printing a few times during startup, which makes the whole thing useless.
I conclude that I have to estimate the PID parameters myself and set them with M301, or define the model with M307.
Am I correct in assuming that the Heaterfaults no longer interfere by creating a correct model, or setting the PID values?
Here a screenshot from the Webinterface:
metty last edited by metty
Sometimes I find time to continue working on the problem. So I found out that if I define the whole model, I can set the dead time much bigger. Unfortunately the autotuning does not give a useful result. But the basic problem is solved. I will let you know in this thread as soon as I could implement a cleaner solution. Thanks for all contributions. Here a video (time lapse) of the autotuning process:
What was the final message from auto tuning? It only flashes up for a moment in your gif.
Warning, auto tune of heater 5 failed due to bad curve fit
What are the reported A C and D values in that message?
Sorry for the late reaction. Somehow I missed the notifications. Here a better picture: