Controlador de electroventilador para un Lada 2107
El termocontacto del radiador de un Lada 2107 sustituido por un STM32 que maneja el electroventilador en dos velocidades, vigila el voltaje del alternador y lo enseña todo en una pantalla a color. Hecho con Casanova, que puso lo que yo no sabía: cómo hacer que un circuito sobreviva dentro de un carro. Lleva rodando desde 2019.

El termocontacto de un Lada es un interruptor bimetálico atornillado al radiador: cierra a una temperatura de fábrica, abre unos grados más abajo, y no hay nada que ajustar ni nada que mirar. Cuando falla, falla callado, y el primer aviso es el vapor. El encargo era cambiar eso por algo que midiera, avisara y se pudiera ajustar sin cambiar la pieza.
El control es una máquina de estados de cuatro estados sobre la temperatura del refrigerante, con la temperatura de disparo T1 y la histéresis H configurables desde el equipo. En reposo el ventilador está apagado; pasando T1 entra la primera velocidad; pasando T1 + H entra la segunda; pasando T1 + 2H suena la alarma. Las bajadas no son simétricas a las subidas, y esa asimetría es el punto: se vuelve a reposo en T1 − H y se sale de la alarma en T1 + 2H − 1, de modo que el ventilador no entra y sale a cada décima de grado alrededor del umbral. Un relé que conmuta cada tres segundos en un carro dura lo que dura.

Dos entradas más fuerzan el ventilador al margen de la temperatura: la del aire acondicionado, que pide primera velocidad en cuanto se enciende el compresor, y la del presostato de alta presión, que pide la segunda directamente. El orden importa: la alta presión no espera a que el refrigerante se entere, porque para cuando el agua suba, el compresor ya sufrió.
La temperatura sale de un NTC de 10 kΩ en divisor, resuelto con la ecuación de Steinhart-Hart y promediado con una media móvil de cincuenta muestras. El firmware valida además el código del ADC contra dos límites: por debajo de 100 cuentas el sensor está abierto, por encima de 4000 está en corto, y en cualquiera de los dos casos la pantalla lo dice en lugar de inventar una temperatura. Un sensor desconectado que lee «cero grados» es peor que un sensor que avisa.
El equipo mide también el voltaje de la batería por un divisor de 4,7 kΩ y 1 kΩ, y suena por encima de 14,94 V. Eso no estaba en el encargo: es la avería de al lado. Un regulador de alternador que se va hacia arriba hierve la batería y se lleva las bombillas por delante, y el tablero de un 2107 no tiene con qué enterarse. Ya que había una pantalla y un ADC libre, la medida salía casi gratis.
La interfaz es una TFT de 1,8 pulgadas con un ST7735: temperatura grande, aguja analógica que cambia de color con la escala, icono del ventilador animado a dos velocidades según el paso en que esté, indicador de batería y tres etiquetas de estado — A.C, A.P y A.T — que se encienden cuando esa condición está activa. Todo el ajuste se hace con un solo pulsador: pulsación corta para moverse, larga para entrar y confirmar. Un botón, porque cada agujero más en la caja es una entrada de agua más.



Los cuatro parámetros — temperatura de disparo, histéresis y las dos calibraciones — se guardan en EEPROM emulada sobre las dos últimas páginas de flash del STM32. Al arrancar se validan contra sus rangos, y si no pasan — flash en blanco, primer encendido — el equipo entra solo en el menú de configuración en vez de arrancar con basura. El firmware trae además un modo de prueba que simula internamente el barrido de temperaturas, voltajes y entradas, para verificar el equipo completo en el banco sin motor, sin radiador y sin esperar a que algo se caliente.
La parte que no es mía es la que hizo que esto durara. Yo llegué con el circuito base funcionando en protoboard, que es exactamente el punto en que un proyecto de electrónica parece terminado y no lo está. Casanova, que llevaba años haciendo circuitos para carros en Santa Clara, lo rediseñó para el ambiente real: la instalación de un auto es ruido eléctrico de la bobina, transitorios del arranque, un alternador que se mueve, y un montador que tarde o temprano va a invertir dos cables. El circuito que fabricó aguanta todo eso. Él hizo el primer prototipo en Santa Clara y lo montamos en Camagüey, en el Lada 2107 de mi padre.



Esa división de trabajo es la que más me ha enseñado de todas las de esta lista. Yo sabía resolver la máquina de estados, el Steinhart-Hart y la pantalla; nada de eso evita que la placa se reinicie cuando arranca el motor. Lo que convierte un prototipo en un equipo instalado no suele ser más software, y en este caso no lo fue.

Lo que no hace
- No registra nada: no hay memoria de lo que pasó, ni puerto por donde sacarlo. Lo que no se mire en la pantalla se pierde.
- No se comunica con la computadora del carro ni con nada: es un equipo aislado que solo mira su sensor y manda sus relés.
- Un solo NTC, en el punto donde se roscó. No dice la temperatura del aceite ni la de la culata.
- La calibración es un corrimiento de ±5 °C aplicado a la lectura, no una curva. Corrige un error constante, no uno que cambie con la temperatura.
El circuito que está instalado no es el que aparece en el esquemático de Fritzing del repositorio: ese es el circuito base, el mío. El endurecimiento que hizo Casanova —protecciones de entrada y filtrado contra el ruido de la instalación— está en la placa física y no quedó documentado en un esquemático que yo pueda publicar. Quien copie el repositorio tal cual tiene el firmware completo y un circuito de banco, no el que lleva cinco años en un carro.
- STM32F103CB · Blue Pill
- C++ / Arduino · core stm32duino
- NTC 10 kΩ · Steinhart-Hart
- TFT ST7735 128×160 · SPI
- EEPROM emulada en flash
- Máquina de estados con histéresis
- Media móvil
- Relés de doble velocidad
- Fritzing
- Impresión 3D FDM