Este año llegó el frío… llegó tarde, pero llegó. Precisamente esa tardanza hizo que este artículo se demorase más de lo que nos hubiese gustado. Sin embargo, hemos requerido de ingentes pruebas y mucha programación para ofreceros este artículo. Antes de entrar en materia, quiero dar las gracias a nuestro compañero Antonio Maestre, que es el ideólogo de este proyecto, por todo lo que he aprendido y la paciencia que ha tenido en explicarme como actúa un regulador por PID. Nos metemos en harina.
El caso es que cuando llega el frío, todos queremos mantener el confort en casa pero sin que ello nos cueste el sueldo. A estas alturas de la película no vamos a descubrir nada si os decimos que los termostatos convencionales no son precisamente la panacea: ni ahorran dinero ni aportan un confort elevado. Por otra parte, los llamados termostatos inteligentes aportan ventajas importantes a nuestras instalaciones. Pero como en casi todo en la vida, la perfección no existe y estos termostatos tienen algunas desventajas. Vamos a tratar de darle solución a estos problemas con ingenio.

Tipos de termostatos
Vamos a tratar de explicar de una forma sencilla los diferentes tipos de termostato del mercado. Los termostatos más básicos que encontraremos son sistemas de control todo/nada. ¿Qué queremos decir con esto? Se trata de equipos que dan la orden de empezar a funcionar a nuestra calefacción (bien sea una caldera, una válvula, bomba de calor, etc…) siempre que la temperatura está por debajo de la temperatura de consigna (temperatura que deseamos alcanzar en nuestra casa).
Cuando la temperatura de la vivienda supera la temperatura de consigna, el termostato da la orden de apagar la calefacción. Como podéis suponer, este sistema no es capaz de mantener una temperatura constante en la habitación y además es muy ineficiente desde el punto de vista de nuestro bolsillo. Como una imagen vale más que mil palabras, os dejamos una imagen de este tipo de control

Posteriormente llegaron al mercado unos termostatos que presentaban una variante importante… la histéresis. Básicamente lo que hace la histéresis es establecer una banda de oscilación en torno a la temperatura de consigna. Cuanto mayor es la histéresis menor es el confort. Este tipo de termostatos aplican un control como éste:

Ahora bien, como podéis imaginar los ingenieros como Antonio siempre se las apañan para diseñar sistemas de control mucho más eficientes asociados a la industria, y como resultado desde hace décadas disponemos de lo que los ingenieros conocen como regulador PID o controlador PID. Este tipo de control se basa en control en bucle cerrado (se compara la temperatura actual con la de consigna y se toman decisiones en base a ello) mediante técnicas Proporcionales, Integrales y Derivativas.

Este tipo de control, mucho más complejo, permite eliminar los típicos dientes de sierra en torno a la temperatura de consigna, alcanzar antes esa temperatura y mantenerte muy próximo a ella de forma eficiente. Y la eficiencia en este caso se traduce en mejoras de confort y mejoras económicas.

Este tipo de control es el que implementan los llamados termostatos inteligentes. Además, los más “inteligentes” son capaces de incluir variables tan variopintas como la presencia o no en casa de personas, la detección de la apertura de puertas y/o ventanas o la temperatura exterior. Pero nada es perfecto, y he de decir que no hay un termostato que me llene. Precisamente por eso nos hemos puesto manos a la obra con objeto de programar un termostato lo más digno posible para nuestra casa.
Antes de ponernos manos a la obra, vamos a enumerar brevemente los principales defectos que le encontramos a los sistemas que están en el mercado:
- Tecnología no nativa: La mayoría de los termostatos inteligentes son WIFI, es decir, no soportan de forma nativa Z-Wave u otros protocolos domóticos. Eso hace que integrarlos en el sistema sea en algunos casos una odisea.
- Dependencia del fabricante: Derivado del punto anterior muchos de ellos requieren de servidores del fabricante para darles órdenes remotas. Esto es terrorífico porque el día que el fabricante decida dejar de prestar este servicio tendremos un pisapapeles en lugar de un termostato.
- Precio alto: No son nada baratos, especialmente los más afamados. Además, si queremos zonificar nuestra casa necesitamos varios, disparándose el coste.
- Inteligencia: Algunos no son tan inteligentes como los pintan, de modo que no son capaces de analizar todas aquellas variables que a nosotros nos pueden interesar.
- Personalización: Si programamos nuestro propio termostato podemos llegar a niveles de confort y eficiencia mayores a los comerciales.
Nos ponemos manos a la obra. Termostato PID
Lo que hemos programado es un conjunto de dos VD (dispositivo virtuales para HC2 de Fibaro) que conforman un sistema virtual de termostato. Se pueden establecer tantas zonas y termostatos como queramos, basta con instalar más VD y ubicarlos en diferentes habitaciones. El primer VD es un dispositivo de configuración que establece los parámetros de configuración del propio PID. El segundo VD es el propio termostato.

Posteriormente entraremos en la configuración del PID, ahora veamos qué puede hacer el termostato.
- Leer el panel de temperaturas de la habitación: Si establecemos un panel de temperatura en la habitación en la que ubicamos el termostato virtual, éste lo utilizará si está en modo AUTO.
- Modo Auto: En este modo la temperatura de consigna estará marcada por el panel de calefacción de nuestro controlador Fibaro HC2. Debemos por tanto crear un panel nuevo y establecer las temperaturas en función de las horas y días de la semana.
- Modo Manual: En este modo la temperatura de consigna la establecemos de forma manual gracias a los botones del propio dispositivo. Podremos subir y bajar la temperatura de consigna, así como establecer un Modo Eco de temperatura a 18ºC. Además ,podemos especificar el tiempo que debe funcionar el termostato en esa temperatura.
- Modo Off: Establecerá una temperatura de consigna de 5ºC.
- Interacción con otros VD o escenas: Gracias al botón de On/Off podemos cambiar entre el modo Auto/Off, o incluso implantar el modo manual. Esa facilidad a la hora de cambiar entre modos, hace que podamos programar cómo debe operar la calefacción en nuestra vivienda ante eventos como ventanas abiertas, puertas abiertas, temperaturas exteriores muy frías, viento, presencia o ausencia en la casa, etc.
Configuración del termostato PID
Para que el PID llegue a funcionar correctamente, es preciso establecer una serie de configuraciones mínimas. Dado que hemos preparado un manual de instalación que colgaremos en nuestro foro, no me extenderé. Sin embargo, creo que hay una serie de cosas importantes que debéis conocer.

Lo primero que todo usuario debe establecer en la configuración son los elementos físicos del sistema:
- Termostato: Indica el número de dispositivo virtual del termostato que configuraremos.
- Sonda: Se trata de la elección del sensor de temperatura que medirá la temperatura de la habitación y que será quien indique al termostato la temperatura real del sistema. Tiene la peculiaridad de que puede personalizarse el código seleccionando la sonda 0 y que ésta sea una composición o fórmula matemática. Por ejemplo, imaginemos una habitación con dos sensores de temperatura. Podríamos establecer que la temperatura real de referencia que tome el termostato sea la media de ambos. Es importante que el tiempo de actualización de datos de este sensor esté en consonancia con el número de ciclos hora que veremos más adelante.
- Actuador: Es el accionador que activa/desactiva la caldera, es decir, el relé que activa el antiguo termostato de la casa. En nuestro caso hemos empleado un actuador SSR 303 .
A continuación, debemos configurar los parámetros de funcionamiento del algoritmo PID. Sobre cómo afinar este apartado podríamos escribir tratados. Es más, ya están escritos y se estudian en las universidades como teoría del control. No vamos a entrar en grandes detalles, ni siquiera vamos a describir los métodos empíricos de sintonizado (así se llama en el argot la elección de estos parámetros) que se estudian en las universidades. Vamos a ir a lo sencillo. Entendamos lo siguiente:
El algoritmo PID debe su nombre a las tres acciones en las que se basa: Proporcional, Integral y Derivativa.
La acción Proporcional es la acción fundamental del algoritmo. La acción P es matemáticamente proporcional a la señal de error, es decir a la temperatura real menos temperatura de consigna, con objeto de lograr que el error en estado estacionario se aproxime a cero. En definitiva, lo que hará es que la caldera se encienda más tiempo cuando estamos más lejos de la temperatura de consigna que si estamos próximos a ella. ¿Lógico no?
Una acción proporcional que sea pequeña hará que nunca alcancemos la temperatura de consigna. Una acción proporcional muy grande hará que nos pasemos constantemente de ella y provoquemos sobreoscilaciones. Además, por sí sola no permite eliminar el error estacionario, es decir, no es capaz de llegar a la consigna.
El modo de control Integral tiene como propósito disminuir y eliminar el error en estado estacionario provocado por el modo proporcional. Únicamente funciona dentro de un rango final con objeto de evitar su saturación.
La acción derivativa se manifiesta cuando hay un cambio en el valor absoluto del error (si el error es constante, solamente actúan los modos proporcional e integral). Recordemos que error es la desviación existente entre el punto de medida y el valor consigna, o “Set Point“.
Para aquellos más avanzados, os diré que el PID tiene control de saturación de la acción integral y control de patada derivativa.

El VD de configuración de termostato nos permite seleccionar tres variables que controlan el comportamiento anterior Kp, Ki y Kd. A mayor valor, mayor acción. Establecer correctamente estos parámetros hará que el sistema funcione o no correctamente. Cada casa es diferente, de modo que cada usuario debe buscar los que mejor le funcionen. Os aconsejamos empezar con los siguiente valores:
Kp=350, Ki=50, Kd=75
A continuación, atendiendo a los resultados, debéis afinar los mismos. La siguiente tabla puede ser de ayuda.

Para ver cómo evolucionan los diferentes parámetros, el sistema deja registrar los datos en ThingSpeak y ver las gráficas de comportamiento del sistema. Si nos pasamos mucho de la consigna bajaremos Kp y aumentaremos Kd. Si nos quedamos habitualmente por debajo de la consigna, aumentaremos Kp. Si no conseguimos llegar a la consigna de forma estacionaria, aumentaremos Ki. En caso de que la acción de control sea muy grande en modo estacionario, bajaremos Ki.
Otro de los parámetros a seleccionar es el número de ciclos hora. Esto es algo habitual en los termostatos físicos. En sistemas con poca inercia (radiadores eléctricos) seleccionaremos 12 c/h, en sistemas con inercia media (radiadores de agua) seleccionaremos 6 c/h y en sistemas de mucha inercia (radiadores de aceite) seleccionaremos 3 c/h.
También podremos seleccionar el rango de histéresis que os recomiendo dejarlo entre 0.1 y 0.2 grados si queréis un confort elevado. Los sistemas comerciales simples están entre 0.5 y 1 grado, los inteligentes en los valores que os recomiendo.
Para evitar que la acción integral se sature podemos incluso seleccionar a partir de cuando se tendrá en cuenta. Os recomiendo un valor de wUp en torno a los 0.5 grados.
Temporalmente podemos seleccionar el tiempo mínimo de encendido. Esto es para evitar que la caldera se vuelva loca. En mi caso, únicamente se enciende la caldera si la acción mínima de control es superior a los 60 seg. Podéis personalizarlo con el parámetro mTa.
Por último, podemos seleccionar el tiempo de seguridad que apagará siempre el accionador dentro del ciclo. Este parámetro es necesario debido a que hemos detectado que algunos accionadores se bloquean con ciclos completos. Como hay accionadores de todo tipo, podremos seleccionarlo. En mi caso lo tengo a 15 segundos. Eso significa que si tengo establecidos 6 ciclos/hora, es decir, ciclos de 10 min (600 segundos), mi ciclo será de 585 segundos.
Resultados
Si habéis sido capaces de llegar hasta aquí… solo os queda probarlo. Con un poco de pericia vais a conseguir resultados como este que os presento de mi casa en el día de hoy. Basta decir que ningún termostato del mercado de los que he podido probar consigue unos resultados similares.

Para que sea sencilla la instalación, os hemos preparado un manual y hemos habilitado una entrada en el foro para hablar de ello.
Los VD los podéis descargar del foro también.
Cualquier duda estaremos en el foro para ayudaros.
Os recomiendo que os animéis a utilizarlo ya que funciona muy bien y permite un control de la temperatura mucho más apropiado. Esperemos que se note en vuestros bolsillos.
El post Termostatos inteligentes con control PID o cómo mantener tu casa caliente sin dejarte el sueldo aparece primero en Domótica Doméstica.