Welcome! Log In Create A New Profile

Advanced

PID autotune timeout, remove code from Temp.cpp

Posted by Colin08 
PID autotune timeout, remove code from Temp.cpp
December 10, 2016 09:02AM
Hi,

first off I have looked at the other PID autotune threads and they do not explain my problem.....so here it is.

Also, as a note, the printer works....not as well as hoped but I am still getting repetier set up....its getting better, but I can print stuff, and all temp feedback works.

The PID autotune used to work. By this I mean I had run it before performing other mods to the configuration.h file. No problem. However, I modified the printer, so I thought I would re-run it.

However, it always failed, and very quickly.

Further info;

I have PIDTEMP defined;

// PID settings:
// Comment the following line to disable PID and enable bang-bang.
#define PIDTEMP
#define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current
#define PID_MAX 255 // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current

Running a terminal and typing in the usual;

M303 E0 S200 C8

Returned with;
PID Autotune start
PID Autotune failed! timeout

Now that timeout was happening straight away.....but I know the temp sensors and so on are working, as the printer works......

Eventually I got annoyed and searched the code in the temperature.cpp and commented out the code;

if(((millis() - t1) + (millis() - t2)) > (10L*60L*1000L*2L)) {
SERIAL_PROTOCOLLNPGM("PID Autotune failed! timeout");
return;
}

So it appears, T1 and T2 get compared to a large number, and if over, then exit the PID autotune. Now that I have comment this out, the PID auto tune works...and I get my fresh values...

So why did I need to do this? Anyone out there know more about t1 and t2, and why this might be happening? Sure I got around it, but it used to work....
Sorry, only registered users may post in this forum.

Click here to login