Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Estimación térmica de la carga activa #109

Open
IvanSanchez opened this issue Sep 16, 2024 · 1 comment
Open

Estimación térmica de la carga activa #109

IvanSanchez opened this issue Sep 16, 2024 · 1 comment

Comments

@IvanSanchez
Copy link
Contributor

Esto es un poco resucitar #83.

En solanera he estado haciendo experimentos para estimar la carga activa sin necesidad de poner pinza amperimétrica, y hay un par de algoritmos muy sencillos que funcionan de manera bastante decente.

Mi implementación está en https://gitlab.com/IvanSanchez/solanera/-/blob/main/src/load_estimator.rs?ref_type=heads , por si queréis inspiraros en código ya hecho.

El primero es lo que yo he llamado estimación térmica. Se basa en que el TRIAC disipa 40W (¿60W? ¿20W? o loquesea) cuando se deriva energía a la carga, y obviamente se calienta. Y si hay un termómetro (llámalo "sonda de temperatura", llámalo "18B20") junto al TRIAC, pues es fácil saber si estamos derivando o no.

Esto hay que unirlo al control del ventilador del disipador (relé 4) - supongo que si está ventilando y enfriando, la carga sigue activa.

Sí que es verdad que al involucrar un componente termodinámico existe un tiempo de propagación - al activar la carga se tarda un poco en empezar a calentar, y al desactivar la carga se tarda en empezar a enfriar; también al desactivar el ventilador se tarda un poco en empezar a calentar otra vez.

En esta gráfica de mi HomeAssistant se puede ver la estimación que hago de la carga (¡con electrodomésticos metiendo ruido en las mediciones!) y la relación con la temperatura:

Screenshot_20240916_184446

(nótese el retraso de ~4 minutos entre que empieza a enfriar hasta que se detecta el enfriamiento - mi algoritmo se basa en bajadas de temperatura consecutivas y debería mejorarlo, quizás haciendo estadística sobre un pequeño búffer circular).

El otro algoritmo que he probado es el de corte por no consumo. Se suma (solar + red), y si la cifra es menor que el 50% (o el 70%) de la carga teórica estimada (carga teórica × porcentaje de PWM), eso significa que en la instalación se está consumiendo en total menos del 50% (o 80%) de la carga, con lo que no puede ser que tengamos la carga activada.

El corte por no consumo funciona bien para una instalación con una carga. Con más de una carga es fácil que no discrimine bien. El algoritmo de estimación térmica también falla cuando se pasa de un porcentaje de carga alto (100%) a un porcentaje bajo (~20%), porque temperatura del TRIAC alta + porcentaje bajo = enfriamiento relativo (más lento que a cero carga, pero enfriamiento de cualquier manera). Por esto último, el algoritmo de estimación térmica funciona mejor si el umbral del ventilador es relativamente bajo.

@IvanSanchez
Copy link
Contributor Author

Acabo de darme cuenta de que el termómetro del calentador de agua (si es que lo hay) también puede usarse para estimar térmicamente la carga.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant