Do you want to try a completely untested piece of code ? ... Well, i have reimplemented the PID controller loop, fixed an stupid bug and added an autotuning algorithm to the program. I have simulated it and it seems to work pretty well, but, i had no time to actually program it into the solderstation board .... But, if you are interested in trying it, i think it will be a better base to start adjusting PID.
Just flash it, then press UP+DOWN at the same time. The solderstation will
1) Open control loop
2) Set heating power to 20% of maximum
3) Wait until temperature stabilizes
4) Set heating power to 60% of maximum
5) Wait until temperature starts to rise
6) Measure temperature curve slope. When the maximum slope is found,
7) Calculate PID parameters using Open loop Ziegler-Nichols
Save those PID parameters into flash
9) Close PID loop and return control to normal
Please, tell us if it works or not!