Ahora hay que tener en cuenta que un horno es un sistema no lineal.
A bajas temperaturas, la velocidad de subida de la temperatura es muy alta y la velocidad de bajada de la temperatura es muy baja.
Por el contrario a altas temperaturas, la velocidad de subida de la temperatura es baja y la velocidad de bajada de la temperatura es alta.
Este trabalenguas significa que la ganancia Kp debe ser baja a bajas temperaturas para evitar el sobrepulso (Ziegler-Nichols sintoniza el PID para obtener un pequeño sobrepulso)
Por el contrario a altas temperaturas Kp debe ser más alta.
Para solucionar esto te recomiendo utilizar tres técnicas:
1.- Limitar la ganancia Integral a un pequeño rango de error. Cuando el error es grande (por ejemplo mayor de 50ºC) la ganancia integral se hace cero y el valor integral también se hace cero.
2.- Utilizar alimentación Feed-Forward. Esto significa colocar en la entrada del horno la tensión que consigue la temperatura deseada (se puede hacer con una pequeña tabla) y luego añadir el control PID.
3.- Utilizar ganancia Kp variable con la temperatura de referencia, aumentando Kp a medida que aumenta la temperatura. Si sintonizas Kp para 30ºC y sintonizas Kp para 330ºC puedes hacer una simple recta para que Kp pase por los dos valores.
Creo que deberías cambiar el nombre del hilo a "PID para horno". Un RTOS es un Real Time Operating System y en este hilo no se trata.
Saludos.