FreeDS

Derivador de excedentes

¿Qué es?

FreeDS es el resultado de la unión de un hardware y un software con el objetivo de conseguir un gestor de excedentes universal y totalmente independiente de la fuente que genere nuestros excedentes (ya sean excedentes de generación fotovoltaica y/o eólica), de esta manera se puede sacar provecho de este excedente de producción que no se este usando para consumos principales y derivarlo hacia una carga resistiva.

Aunque el objetivo principal de FreeDs es que sea universal (y de hecho lo es), además también dispone de modos de funcionamiento específicos para ciertos inversores solares (Solax, Fronius, SMA, Victron, Ingeteam, goodwe, etc.) lo que le da aún mas versatilidad al proyecto.

 

¿Cómo funciona?

El principio de funcionamiento es relativamente sencillo, se mide la cantidad de energía que no se esta consumiendo (excedente), bien de forma universal con un medidor de potencia (meter) o bien de forma especifica obteniendo los datos a través del inversor u otra fuente de datos soportada y una vez obtenida la potencia sobrante, esta se deriva con una placa de control de potencia (pwm / dimmer) hacia la carga resistiva (como por ejemplo un termo para calentar agua sanitaria, una estufa o placa de calor).

Debido a que los excedentes de producción son variables por múltiples factores, el proceso de medida de excedente y su posterior derivación se realizan cíclicamente y de forma continua en el tiempo, obteniéndose así un ajuste coordinado entre el excedente y la potencia derivada.

 

Modos de funcionamiento

La forma original y principal forma de obtención de datos de este proyecto es usando un hardware universalmente llamado "meter", en este modo la toma de datos (excedente) se realiza con un medidor de potencia (meter) que habrá que instalar en el lugar adecuado para que haga las mediciones de forma correcta (más adelante detallaremos en que lugar y la manera correcta de hacerlo).

Adicionalmente existen los modos de funcionamiento de conexión a inversor o medidores externos (que detallaremos mas adelante).

 

Hardware (partes electrónicas)

En este apartado veremos todo el hardware que es necesario ensamblar y de que manera hacer el montaje, así como cuales son las distintas configuraciones según el modo de trabajo que sea de muestra elección.


Esp32 Esp01 Meter Conversor modbus (RS4585) Placa Dimmer Relés
Solax wifi v1 & hibridos No No No Opcional
Solax wifi v2 No No Opcional
Solax wifi v2 (Modo local) No No No Opcional
MQTT Server No No No Opcional
Meter DDS238-2, DDSU666, SDM120, SDM220/230 No Opcional
Fronius No No No Opcional
SMA
(Sunny Boy / Sunny Island)
No No No Opcional
Huawei No No No Opcional
Goodwe No No No Opcional
Ingeteam No No No Opcional
SolarEdge No No No Opcional
Shelly EM No No No Opcional
Wibeee No No No Opcional
Mustsolar
(En desarrollo)
No No No Opcional
Schneider
(En desarrollo)
No No No Opcional

Habrá que seleccionar el Hardware necesario en función del modo de trabajo que deseemos implementar.

 

Presentación y enlaces orientativos de compra de todo el hardware (seleccionar los necesarios en función del modo de trabajo deseado)

Meter

Descripción: PCI:Users:juan:Desktop:dds238.jpg

Descripción: PCI:Users:juan:Desktop:ddsu666.jpg

Descripción: PCI:Users:juan:Desktop:sdm120.jpg

Descripción: PCI:Users:juan:Desktop:sdm220.jpg

DDS238-2 DDS666 SDM120 SDM220/230

AliExpress

Suministros del Sol

Ebay

Aliexpress (Pinza)

Aliexpress

Aliexpress


Conversor modbus

Descripción: PCI:Users:juan:Downloads:modbus.jpg

Aliexpress


ESP32

Descripción: PCI:Users:juan:Desktop:esp32.jpg

Amazon

Aliexpress


ESP01 y su correspondiente grabador

Descripción: PCI:Users:juan:Desktop:esp01a.jpg Descripción: PCI:Users:juan:Desktop:esp01b.jpg Descripción: PCI:Users:juan:Desktop:esp-grabador.jpg

Amazon

Aliexpress


Control de potencia PWM

Descripción: PCI:Users:juan:Downloads:2020-01-14T17-47-59.387Z-01.jpg

Tindie

Amazon

Klikplcz


Placa de relés adicionales (opcional)

Aliexpress

Software

Tan solo dos de los componentes mostrados anteriormente necesitan una programación para su correcto funcionamiento y son el esp32 y esp01, por tanto necesitamos descargar el software de programación de la siguiente dirección.

https://www.espressif.com/en/support/download/other-tools

mas concretamente el Flash Download Tools

Descripción: PCI:Users:juan:Desktop:flash download tool.jpg

una vez descargado hay que descomprimirlo.

Además del software de programación se necesita el binario, para introducirlo dentro del circuito integrado (el chip) que hay en el ESP32 y ESP01 respectivamente.

Para el ESP32 y el ESP01 los ficheros necesarios se encuentra en un archivo zip que se puede descargar desde github, en la siguiente dirección:

https://github.com/pablozg/freeds/releases

 

Grabación de integrados (los chips)


Proceso de grabación del ESP32

Conectar el ESP32 al puerto usb, y si es la primera vez que se conecta esperar que Windows lo detecte y configure, en caso que pida algún tipo de drivers, usar los que provee el fabricante o como alternativa los que puedes descargar aqui.


A partir de ese momento existen dos métodos para programar el ESP32:


1º Mediante el símbolo del sistema:

Unicamente será necesario descomprimir el archivo .zip previamente descargado, localizar haciendo uso del administrador de dispositivos del puerto COM donde se encuentra conectado el ESP32.

Se deberá entrar desde la ventana del símbolo del sistema a la carpeta con los ficheros descomprimidos y escribir lo siguiente:

ESP32: programarESP32.bat COMX

ESP01: programarESP01.bat COMX

Donde X es el número del puerto COM que hemos averiguado previamente.


2º Mediante el programa "ESP32 Download Tool":

Ejecutar el flash download tool y nos aparecerá una ventana de selección como ésta (para seleccionar el chip concreto de la serie ESP) y pulsamos en el botón “ESP32 Download Tool”, marcado en rojo

Descripción: PCI:Users:juan:Desktop:flash tool.jpg

Una vez seleccionado se abrirá la herramienta con las opciones correspondientes para el ESP32, los datos necesarios son:

- Los ficheros que forman parte del firmware y la posición de memoria de cada uno de ellos.

- SPI speed

- SPI mode

- Flash size

- COM

- BAUD

Todos y cada uno de ellos tienen que coincidir con la captura siguiente a excepción de COM (que es el puerto serial) que puede variar según la configuración del pc, cada usuario tendrá que seleccionar el puerto correspondiente donde se encuentre el ESP32.

Descripción: PCI:Users:juan:Desktop:freeds esp32base.jpg

Previamente a la grabación del ESP32 es conveniente hacer un borrado previo pulsando el botón “ERASE”, durante el proceso de borrado veremos en pantalla:

Descripción: PCI:Users:juan:Desktop:erasing.jpg

Una vez concluido correctamente el borrado veremos:

Descripción: PCI:Users:juan:Desktop:erased.jpg

Una vez asegurado el borrado podemos proceder a la grabación del firmware pulsando el botón “START”, durante el proceso observaremos una barra de progreso:

Descripción: PCI:Users:juan:Desktop:flashing.jpg

Una vez completado de forma correcta obtendremos la siguiente confirmación:

Descripción: PCI:Users:juan:Desktop:finish.jpg

Con esto queda concluida la grabación. Mas adelante veremos en la puesta en marcha como encender y configurar el ESP32.

Es posible que en algún punto del proceso (o incluso nada mas empezar) nos aparezca la siguiente pantalla:

Descripción: PCI:Users:juan:Desktop:com fail.jpg

Esto es debido a una mala configuración del puerto COM o a un fallo de comunicación, para corregir el problema seleccionar el puerto COM adecuado o bien comprobar el cable USB o incluso sustituirlo por otro (mencionar que existen cables USB - MicroUSB que no tienen línea de datos, como pueden ser cables cargadores)

 

Proceso de grabación del ESP01 (si tu configuración lo necesita)

Ejecutar el flash Download Tool y nos aparecerá una ventana de selección como esta (para seleccionar el chip concreto de la serie ESP) y pulsamos en el botón “ESP8266 DownloadTool”, marcado en rojo

Descripción: PCI:Users:juan:Desktop:flash tool esp01.jpg

una vez seleccionado se abrirá la herramienta con las opciones correspondientes para el ESP01.

Los datos necesarios son, el fichero de firmware (ESP01) y la posición de memoria, SPI speed, SPI mode, Flash size, COM y BAUD. Todos y cada uno de ellos tienen que coincidir con la captura siguiente a excepción de COM (que es el puerto serial) que puede variar según la configuración del pc, cada usuario tendrá que seleccionar el puerto correspondiente donde se encuentre el ESP01.

Descripción: PCI:Users:juan:Desktop:esp01.jpg

Una vez están todos los parámetros ajustados, seguimos el mismo procedimiento que hicimos son el esp32, previa a la grabación del ESP01 es conveniente hacer un borrado previo pulsando el botón “ERASE”, una vez asegurado el borrado podemos proceder a la grabación del firmware pulsando el botón “START”.

Una vez finalizada la grabación ya estará listo para el ensamblado. (el ESP01 no necesita de puesta en marcha).

 

Ensamblaje

A continuación mostramos el ensamblaje de todos los componentes, (Meter, Conversor Modbus, ESP32, ESP01, Dimmer y placa de relés) es importante seleccionar para el montaje solo los necesarios para el modo de trabajo que deseamos implementar incluidos los opcionales en su caso. (no es necesario montar todos los elementos de la figura, aunque si es viable hacer el montaje completo si se desea probar todos los modos).

[Ver tabla del apartado Hardware]

 

Puesta en marcha

Para la puesta en marcha no es imprescindible que este conectada la etapa de potencia (dimmer).

Alimentar el ESP32 (bien por usb o bien con la alimentación que suministre la placa dimmer)

Al inicio encontraremos en la pantalla Oled del ESP32 una pantalla de bienvenida, y seguidamente una invitación a conectarse vía wifi.


Cargando programa

Conectar a esta red (FreeDS) y cargar la IP 192.168.4.1para configurar

Descripción: PCI:Users:juan:Desktop:lcd iniciando.jpg

Descripción: PCI:Users:juan:Desktop:4.1.jpg


Debemos usar un terminal con wifi, como puede ser un móvil, una tablet o un portátil, para conectarnos a la red wifi que tendremos disponible con el nombre de FreeDS, y cargar en un navegador la dirección 192.168.4.1 si no lo hace automáticamente una vez nos conectamos.

Descripción: PCI:Users:juan:Desktop:ssid.jpg

Seguimos las indicaciones que aparecen en pantalla, seleccionando del plegable “SSID” el nombre de nuestra wifi domestica (en todos los casos excepto en el modo “Solax V2 local” donde seleccionaremos el nombre wifi de nuestro inversor) y escribiendo su clave (atención a las mayúsculas) y pulsando el botón de “Guardar” (En caso de usar el modo Solax V2 local no es necesario escribir ninguna clave).

Tras guardar los cambios el ESP32 se reiniciara automáticamente y arrancara con los nuevos parámetros.

Observación: En caso de configuración errónea del wifi o por querer hacer una conexión nueva a otro punto wifi, se podrá reiniciar el ESP32 a los valores de fabrica (vacío) manteniendo pulsado el botón "PRG” situado en la placa ESP32 en la parte superior a la izquierda de la pantalla Oled durante mas de 20 segundos.

Si la configuración ha sido exitosa, tras reiniciarse se mostraran una serie de pantallas que relacionamos a continuación (1-4):

1

2

3

4

Cargando programa

Conectado a Red

IP del dispositivo

Pantalla de Información

Descripción: PCI:Users:juan:Desktop:lcd iniciando.jpg

Descripción: PCI:Users:juan:Desktop:lcd conectando.jpg

Descripción: PCI:Users:juan:Desktop:lcd ip.jpg

Descripción: PCI:Users:juan:Desktop:lcd reposo.jpg


A partir de este punto, el resto de la configuración, la selección de modo y el ajuste de los parámetros se hará vía web en la dirección que se nos indique en la pantalla Oled.

8) Parámetros del gestor (Configuración vía WEB)

Cargar en el navegador la dirección del FreeDS, que será del tipo 192.168.x.x (o bien 5.8.8.x exclusivamente para el modo de trabajo Solax V2 local).

Nos pedirá un nombre de usuario y contraseña para poder entrar, en ambos casos hay que teclear la palabra "admin" e iniciar sesión.

Descripción: PCI:Users:juan:Desktop:login.jpg

Acto seguido cargara la pagina principal de FreeDS.

 

FreeDS

Descripción: PCI:Users:juan:Desktop:freeds.jpg

La pagina principal es la de “Monitorización”, donde estarán disponibles los datos de medida en tiempo real y los indicadores de estado de los relés, que además permiten su activación / desactivación pulsando directamente sobre el icono del numero de relé del que queramos cambiar su estado.

Como podemos apreciar en la imagen hay 3 zonas de trabajo que son:

1- Selector de Modo, donde haremos el primer y mas importante ajuste, seleccionando el modo de trabajo que mas se adapte a nuestra instalación (de este ajuste dependerán el resto de opciones de los distintos menús) (el modo de trabajo se puede cambiar en cualquier momento, y el cambio de modo puede implicar nuevos ajustes)

2- Menú lateral, donde podremos seleccionar las distintas paginas para configurar todos los ajustes de FreeDS

3- Pagina principal, donde se podrán visualizar / ajustar los parámetros disponibles de cada pagina

 

Paginas de visualización y configuración de parámetros

1 – Monitorización

Es la pagina principal y en ella estarán disponibles los datos de medida en tiempo real y los indicadores de estado de los relés, que además permiten su activación / desactivación pulsando directamente sobre el icono del numero de relé del que queramos cambiar su estado (los nombres de las variables y sus medidas se adaptaran al modo de trabajo seleccionado inicialmente)

Descripción: PCI:Users:juan:Desktop:freeds monitorizacion.jpg

 

2 – Ajustes de Red

En esta pagina habrá que hacer los ajustes referentes a la red, estando disponibles los ajustes de:

Datos de conexión wifi” que se refiere a la conexión a la red domestica (o al inversor en el caso de modo Solax v2 local).

Datos Inversor” que se refiere a la conexión para toma de datos al SSID del inversor (solo disponible para el modo solax v2)

“Conexión de Red” donde podremos hacer los ajustes específicos de la configuración IP del ESP32 y el Nombre del Host (normalmente la configuración es automática y por tanto la opción “Direccion DHCP” esta activada por defecto, si se desean hacer ajustes manuales hay que desactivar dicha opción)

 

3 – Configuración

“Datos MQTT” para poder efectuar una conexión con servidor MQTT (mosquito), hay que activar la opción y después configurar los parámetros del servidor como pueden ser IP, usuario y contraseña, también están disponible para configurar el puerto y los temas si fuera necesario

“Cambio de Password” con esta opción podemos cambiar la contraseña que nos pide cuando hacemos la entrada inicial al configurador FreeDS, para ello hay que poner la clave actual (que por defecto es admin) en la casilla “clave de acceso” y a continuación la nueva clave que deseamos y para que los cambios sean efectivos pulsamos en el botón guardar.

“Configuracion pantalla Oled” aquí podremos activar el apagado automático de la pantalla del ESP32 así como especificar el tiempo de espera antes del apagado, el tiempo hay que introducirlo en milisegundos (para 30 segundos habría que poner 30000)

“Tiempo máximo de error” aquí podremos especificar cuanto tiempo esperara el ESP32 antes de hacer un reinicio debido a la perdida de flujo de datos del equipo de medida ya sea este un meter o un inversor (u otro dispositivo opcional), con este tiempo damos margen a algún fallo puntual en el flujo de datos.

“Tiempo de adquisición de datos” aquí determinamos cada cuanto tiempo el ESP32 hace una petición de medida de datos (especificado en milisegundos), el valor por defecto es 1500ms que equivale a 1,5 segundos.

Al final de la pagina están los botones de “Guardar” para hacer efectivos los cambios de cualquier parámetros realizados en la pagina, y el botón de “Reinicializar” que nos permite descartar si hemos cambiado algún parámetro y no queremos que sea efectivo por tanto los cambios volverán a su estado original. Estos dos botones estarándisponibles también en las pagina de “Salidas”

Descripción: PCI:Users:juan:Desktop:freeds configuracion.jpg

 

4 – Salidas

En este apartado podremos configurar el comportamiento del derivador tanto en modo automático como los parámetros en modo manual,así como las salidas de relés.

Descripción: PCI:Users:juan:Desktop:freeds salidas.jpg

 

5 - Panel de control

Este menú no tiene pagina principal, el ajuste se hace directamente en la zona lateral, (este menú es ocultable) pudiendo ajustar:

- El nivel de brillo de la pantalla del ESP32 con el selector deslizante, también esta disponible la opción de apagar/encender la pantalla directamente, haciendo click sobre “Pantalla (ON)” o “Pantalla (OFF)” según corresponda y según el estado en que se encuentre la pantalla.

- Del mismo modo se puede proceder con el PWM(ON) para activar o desactivar la salida que controla la placa de potencia PWM (obteniendo como resultado un encendido o apagado de la placa de potencia).

- Y por ultimo “AUTOMÁTICO / MANUAL” nos permite cambiar entre el modo automático, donde el derivador hace los ajustes automáticamente en función del excedente y el modo manual donde el derivador queda activado permanentemente con el porcentaje de salida que tengamos ajustado en el apartado “Porcentaje PWM en modo manual” que se puede ajustar en la pagina de “Salidas”, el único ajuste que hará será disminuir la potencia entregada por el dimmer en caso de estar cerca del máximo de la potencia contratada según lo configurado en el apartado correspondiente.

Descripción: PCI:Users:juan:Desktop:freeds panel control.jpg

 

6 – Reiniciar

Como su propio nombre indica nos permite reiniciar por software y desde el control web el ESP32, nos pedirá confirmación por si hubiésemos invocado esta acción involuntariamente.

Descripción: PCI:Users:juan:Desktop:reinici confirmacion.jpg

En este punto tenemos la opción de confirmar o rechazar el reinicio.

 

7 – Actualizar

Esta opción nos permite actualizar el firmware directamente con nuestro navegador web, no siendo necesario conectar al ordenador por usb el ESP32 para cambiar de versión.

Las actualizaciones están compuestas por dos ficheros:

1º Tendremos que seleccionar en primer lugar el fichero "firmware.bin" y pulsaremos el botón de actualizar. Este fichero incluye todas las modificaciones realizadas sobre el funcionamiento del programa.

2º Tras terminar de reiniciarse deberemos volver a entrar en el apartado de actualización, pero en este caso deberemos seleccionar el fichero "spiffs.bin" debiendo pulsar a continuación el botón actualizar. Este fichero incluye todas las modificaciones realizadas sobre la web que usa el programa.

3º Tras finalizar el segundo reinicio y si se han actualizado correctamente ambos ficheros deberemos forzar la recarga del entorno web, pudiendo realizarlo en caso de estar usando windows, pulsando simultáneamente las teclas CTRL + F5.


Descripción: PCI:Users:juan:Desktop:ota.jpg

 

Desde los siguientes enlaces podremos acceder tanto a la lista para comprar la PCB oficial del proyecto como acceder a un manual online actualizado frecuentemente donde se incluyen todos los cambios realizados en el funcionamiento del programa:

Manual de usuario online

Lista para la compra de la PCB oficial