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....
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....